feat: add streaming runtime router
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# 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 --hard`、`git clean -fdx`、`rm -rf`、数据库清理或数据目录同步删除。
|
||||
- 不提交生产 `.env`、数据库、`MindSpace/`、`data/`、`users/`、`.tailscale/`、`logs/`、证书、密钥和运行缓存。
|
||||
- 本次 H5 public base 临时切到 `https://mm.tkmind.cn`。
|
||||
- 后续公网 H5 不再依赖 105 转发链路;105 只保留 legacy/rollback 说明。
|
||||
|
||||
## 远程开发机拉取方式
|
||||
|
||||
```bash
|
||||
git clone https://git.tkmind.cn/tkmind/memind.git memind
|
||||
cd memind
|
||||
git fetch origin
|
||||
git switch memind-streaming-runtime-20260702
|
||||
```
|
||||
|
||||
如果远程开发机已有仓库:
|
||||
|
||||
```bash
|
||||
cd /path/to/memind
|
||||
git fetch origin
|
||||
git switch memind-streaming-runtime-20260702
|
||||
git pull --ff-only
|
||||
```
|
||||
|
||||
## 配置方式
|
||||
|
||||
从 `.env.example` 复制生成本机 `.env`,然后只在本机填入密钥和数据库连接:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
生产关键项:
|
||||
|
||||
```text
|
||||
H5_PUBLIC_BASE_URL=https://mm.tkmind.cn
|
||||
VITE_MINDSPACE_BASE=https://mm.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 示例: `deploy/nginx/mm.tkmind.cn.conf`。
|
||||
- H5 public base: `mm.tkmind.cn`。
|
||||
- 普通用户默认不暴露 Aider/OpenHands,显式白名单保留。
|
||||
|
||||
## 验证命令
|
||||
|
||||
```bash
|
||||
node --check server.mjs
|
||||
node --check scripts/wechat-mp-menu.mjs
|
||||
curl -sk https://mm.tkmind.cn/api/status
|
||||
curl -sk https://mm.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`。
|
||||
Reference in New Issue
Block a user