Files
memind/docs/architecture/remote-dev-sync.md
T
2026-07-07 10:01:32 +08:00

2.6 KiB

Remote Dev Sync Runbook

更新时间: 2026-07-02

目标

让远程开发电脑和当前生产主机的 Memind 代码版本保持一致,同时避免覆盖生产数据、密钥、用户文件和本机脏改动。

当前基线

  • 生产运行目录: /Users/john/Project/Memind
  • 生产 release manifest: release_id=20260701-220548-4fc5972
  • 生产来源提交: 4fc59729ee222734628dca001e172c127c84488f
  • 干净同步分支: memind-streaming-runtime-20260702
  • 干净分支目录: /Users/john/Project/memind-clean-main-20260702
  • 远端仓库: https://git.tkmind.cn/tkmind/memind.git

硬约束

  • 不在生产运行目录执行 git reset --hardgit clean -fdxrm -rf、数据库清理或数据目录同步删除。
  • 不提交生产 .env、数据库、MindSpace/data/users/.tailscale/logs/、证书、密钥和运行缓存。
  • 本次 H5 public base 临时切到 https://m.tkmind.cn
  • 后续公网 H5 不再依赖 105 转发链路;105 只保留 legacy/rollback 说明。

远程开发机拉取方式

git clone https://git.tkmind.cn/tkmind/memind.git memind
cd memind
git fetch origin
git switch memind-streaming-runtime-20260702

如果远程开发机已有仓库:

cd /path/to/memind
git fetch origin
git switch memind-streaming-runtime-20260702
git pull --ff-only

配置方式

.env.example 复制生成本机 .env,然后只在本机填入密钥和数据库连接:

cp .env.example .env

生产关键项:

H5_PUBLIC_BASE_URL=https://m.tkmind.cn
VITE_MINDSPACE_BASE=https://m.tkmind.cn
MEMIND_RUNTIME_REDIS_URL=redis://127.0.0.1:6379/0
MEMIND_RUNTIME_REDIS_NAMESPACE=memind:runtime

本分支包含的改造

  • StreamController v1: SSE headers、flush、abort propagation、backpressure-aware pipeline。
  • Redis Runtime Router v1: session pointer、worker score、active stream、drain。
  • Runtime status: /api/runtime/status
  • Gateway SSE 示例: m.tkmind.cn 对应的 nginx SSE 配置。
  • H5 public base: m.tkmind.cn
  • 普通用户默认不暴露 Aider/OpenHands,显式白名单保留。

验证命令

node --check server.mjs
node --check scripts/wechat-mp-menu.mjs
curl -sk https://m.tkmind.cn/api/status
curl -sk https://m.tkmind.cn/api/runtime/status

回滚思路

  • 代码回滚: 切回 origin/main 对应提交 4fc59729ee222734628dca001e172c127c84488f
  • 配置回滚: 恢复生产主机 /Users/john/Project/Memind/.env.bak-mm-domain-20260702-0633
  • Worker drain 回滚: 删除 Redis drain key,例如 DEL memind:runtime:worker:goosed-3:drain