Skip to content

feat(onboarding): 打通自部署与来源接入的 Core 支持 - #110

Merged
xiaoland merged 10 commits into
mainfrom
feat/heroku-self-hosting
Sep 21, 2026
Merged

xiaoland merged 10 commits into
mainfrom
feat/heroku-self-hosting

Conversation

@xiaoland

@xiaoland xiaoland commented Sep 20, 2026 •

Copy link
Copy Markdown
Member

目标与范围

让尚无实例的用户完成自部署,并让 Web/Agent 可以通过 Core 安装和管理第一方 Extension。沿用 Heroku 分支,不混入其它仓库源码。

  • Heroku + Neon fork 快速部署,保留 Render 与手动部署边界。
  • core.extension.management.v1 支持精确版本安装;安装与逐 Peer 启用保持独立。
  • 修复长 worktree 下 OpenSSH control socket 路径过长。
  • Core 提供进程内公共 HTTP 基址;Memos 自有 memos.connection.v1 返回完整服务 URL,不返回 PAT,Web 不再解释 Peer 配置。
  • Memos 受保护请求通过既有 Extension Host 读取已保存配置,使普通 Web Config 的 PAT 替换/撤销无需重启。
  • Memos global/python 作者文档使用统一 VitePress 模板;文档独立修订不推动代码 SemVer。
  • 不新增 running 字段、原子 PAT prepare、锁或同步系统;在线 + enabled 是正常 best-effort 假设。

验证

  • pdm run check:14 passed、62 skipped;数据库项目另在 disposable PostgreSQL/pgvector 17 执行,Memos 集成 16 passed。
  • release fragment、Python wheel、global/python VitePress 构建通过;本次 Core 远端 checks 通过。
  • 真实候选 Core/Web/PostgREST/Registry 完成首次准备、部分失败与未知结果恢复、PAT 复用、真实 memo CRUD。
  • 普通 Web Config 直接保存 PAT A→B:A 401/B 200;撤销后均 401;无重启、无重复 enable。
  • 原 Heroku/Neon、RSS 采集/304/索引检索、Twitter/Mail 公开发行验收保持原证据,不扩大为本轮重新验收。

交付阻塞

用户已授权纳入 SDK 0.3 兼容调整。c215705 显式推进 app/version.py;GitHub、Learn English、Mail、RSS、Telegram、Twitter 支持 >=0.2 <0.4,Memos 使用新接口要求 >=0.3 <0.4。六个插件新增 patch intent,未更改功能、生成版本或已发布产物。Core 服务包版本仍独立。隔离候选完成七个真实 wheel 的 HTTP 下载、依赖预检、安装、标准入口及文件归属检查;预检证明旧插件仍接受0.2,Memos拒绝0.2。配套 Twitter0.4.1/Mail0.3.1 的 MF intent 位于 Web d5949f5,两个 combined exact Release 已通过双 Host 预检。

Web Runtime 新 API 还须正式发布;MF 版本亦须与 Python 0.3 对齐。正式发行、合并和生产部署不在本轮执行范围。

协同与回滚

  • Docs #28:Getting Started、插件文档协议/模板与实施计划。
  • Web #115:Memos 轻量连接准备、帮助外链。
  • Registry #41:静态文档托管与共用管理/文档消费接口。

本轮不增加数据库迁移;按任务提交回退代码,不删除实例资源或用户数据。PAT 替换会断开旧客户端,setup 不自动轮换。PR 保持 ready,不合并。

SDK 0.3 追加验证:远端仓库/数据库运行35588938949与隔离预览35588937286均通过;Docs教程同步69a0511的35589485106通过。没有正式发布或生产部署。

- 新增 Heroku 与 Neon 的浏览器内自部署工作流
- 复用并参数化现有 Heroku 交付机制
- 补充凭据边界、接入步骤与部署验证说明
- 保存首次部署与重跑的真实供应商验收记录
- 记录公开探测与 Eco formation 结果
@xiaoland

Copy link
Copy Markdown
Member Author

真实供应商验收

已使用部署所有者的 Heroku 与 Neon 帐号完成两次精确提交验收:

  • 首次部署:run 35494310828,成功,5m13s。
  • 同配置重跑:run 35494557546,成功,5m18s。
  • 两次均通过镜像构建、Neon 数据库契约、已有/新建 Heroku app 身份处理、容器发布、Peer advertisement 与 PostgREST 读写/拒绝契约。
  • 独立直连确认:Core /livez 200、/readyz 200;PostgREST 匿名访问 401;两个 Eco web dyno 均为 up。

验收使用隔离 app inkcre-self-xia-core 与 inkcre-self-xia-postgrest,未修改 canonical production、Render 或 PR preview app。fork 默认分支已恢复为 main。

@xiaoland
xiaoland marked this pull request as ready for review September 20, 2026 07:51
@xiaoland xiaoland changed the title feat(deploy): 支持 Heroku 自部署 feat(onboarding): 打通自部署与来源接入的 Core 支持 Sep 20, 2026
- 复用既有 Host 安装与兼容性校验,安装不隐式启用
- 保留认证、共享版本约束和明确的 Peer 路由边界
- 从 socket 父目录执行 OpenSSH,保留绝对路径描述与实例归属
- 验证真实 tunnel 的创建、探测和精确关闭
- 固定到支持跨工作区构建的 Hub 提交
- 提供全局用户流程与 Python 运维说明\n- 复用共享静态站点模板构建精确发行文档
- 合入 Agent Query Sink 主线变更\n- 保留 Heroku、自部署安装与 Memos 文档切片
- 将独立托管的 Extension docs 排除在 Python 包版本影响外\n- 保留其他 Extension 交付变更的 fragment 门禁
@xiaoland
xiaoland merged commit 94d7f11 into main Sep 21, 2026
7 checks passed

This branch was successfully deployed

1 active deployment
preview — c2157052 Deployed Sep 21, 2026 by xiaoland via Retire preview resources #336
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant