Skip to content

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

Open
xiaoland wants to merge 8 commits into
mainfrom
feat/heroku-self-hosting
Open

xiaoland wants to merge 8 commits into
mainfrom
feat/heroku-self-hosting

Conversation

@xiaoland

@xiaoland xiaoland commented Sep 20, 2026

Copy link
Copy Markdown
Member

目标与范围

让尚无实例的用户完成自部署,并让 Web/Agent 可以通过 Core 安装和管理第一方 Extension。本 PR 保留原 Heroku 分支,承载 Core 侧能力和第一方 Python/全局文档。

  • 提供 Heroku + Neon fork 快速部署,并保留 Render 与手动部署边界。
  • core.extension.management.v1 支持精确版本安装;安装与逐 Peer 启用仍是独立动作。
  • 修复长 worktree 下 OpenSSH control socket 超长导致一次性开发 runtime 无法启动的问题。
  • inkcre/memos@0.2.0 增加全局用户文档和 Python 运维文档;通过 Docs Hub 的统一 VitePress 模板构建,正文仍由 Core producer 维护。
  • Web Memos setup 与 Registry 静态托管实现位于各自未提交工作区,不混入本 PR。
  • Extension 发行门禁将 extensions/<name>/docs/** 排除在 Python 包 SemVer 影响之外;代码、打包和运行行为仍必须提供 fragment。

验证

  • pdm run check:14 passed、60 skipped;格式、lint、类型、迁移完整性和 runtime 数据库边界均通过。
  • 三套 Memos 文档中的 global/python 已以 INKCRE_DOCS_VERSION=0.2.0 完成生产构建;Registry Toolkit 能把真实 global 构建输出打成合法完整候选。
  • 一次性真实 Core/PostgREST 已成功安装公共 inkcre/memos@0.2.0 Python Distribution。完整 Web setup 验收另外覆盖:生成并只保存一枚 PAT、首次 enable 响应丢失后的同 PAT 重试、Memos API 创建/列出/删除、刷新后复用;验收后已撤销 PAT。
  • 既有 Heroku/Neon 验收、RSS 首次采集/304/索引检索、Twitter0.4/Mail0.3 双 Host 公开发行证据保持有效。

协同交付

  • Docs #28 承载 Getting Started、插件文档协议和第一方模板。
  • client-web 的 Memos 可视化 setup 与 ext-reg 的静态文档托管仍待用户统一复审;目前没有提交、推送、PR、生产 Registry 部署或 DNS/TLS 变更。
  • 用户指南不写临时“PR 待合并”提示;跨仓库依赖只在 PR 交付说明中记录。

风险与回滚

Extension 安装行是部署共享状态,启用仍属于各 Peer。PAT 替换会断开使用旧值的客户端;wizard 不自动轮换。代码回滚不会自动删除 Heroku/Neon 资源或数据。本 PR 保持 ready,不在本轮合并。

- 新增 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-coreinkcre-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 门禁
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