docs(ops): 同步 103 生产 goosed 扩容为 9 实例

确认 goosed-prod-1..9 映射 18006-18014,更新 topology、发包必看、
发布 skill 与 release 脚本的动态 pool 校验。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-07-07 09:22:40 +08:00
parent 5485cc563b
commit cf04e73f51
9 changed files with 74 additions and 39 deletions
@@ -688,7 +688,7 @@ Data boundary:
- LaunchAgent 参数包含 `--prune --retention-days 30`
- 只清理 `reports/runtime-slo` 顶层过期 `.json/.md`
- 最新报告 `reportPrune.errors=[]`
- P5.14 已给四个 goosed worker 增加常驻 sidecar heartbeat:
- P5.14 已给全部 goosed worker(当前 9 个,`18006..18014`增加常驻 sidecar heartbeat:
- `goosed-1`: `statusCode=200`, `latencyMs=62`
- `goosed-2`: `statusCode=200`, `latencyMs=46`
- `goosed-3`: `statusCode=200`, `latencyMs=46`
@@ -54,8 +54,8 @@
- Memind Portal: `/Users/john/Project/Memind/server.mjs`,本机 `:8081`
- H5 public base: `https://mm.tkmind.cn``m.tkmind.cn` 暂时不再作为 H5 public base。
- goosed worker pool: Docker/Colima 内 `goosed-prod-1..4`,宿主机 `18006..18009`,当前健康
- H5 上游配置: `TKMIND_API_TARGETS=https://127.0.0.1:18006,...,18009`
- goosed worker pool: Docker/Colima 内 `goosed-prod-1..9`,宿主机 `18006..18014`2026-07-07 确认 9 个 healthy
- H5 上游配置: `TKMIND_API_TARGETS=https://127.0.0.1:18006,...,18014`(须与 compose 容器数一致)
- 当前已有 session affinity: start 时分配 worker,后续 reply/events 回到同一 worker。
- imgproxy: 原生 `127.0.0.1:20082`,兼容代理 `10.10.0.2:20081`
- 风险点: SSE 代理尚未完整处理 `flushHeaders``X-Accel-Buffering`、客户端断开 abort、写入 backpressure 和统一 pipeline 收尾。
@@ -113,7 +113,7 @@ flowchart LR
- `node --check /Users/john/Project/Memind/server.mjs` 通过。
- 本机 `http://127.0.0.1:8081/api/status` 仍返回 `ok`
- 四个 `https://127.0.0.1:18006..18009/status` 仍返回 `ok`
- 全部 `https://127.0.0.1:18006..18014/status` 仍返回 `ok`
### P1: Gateway SSE 配置
@@ -296,7 +296,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
- Portal 新 PID: `94324`,监听 `*:8081`
- 运行环境确认: `H5_PUBLIC_BASE_URL=https://mm.tkmind.cn``VITE_MINDSPACE_BASE=https://mm.tkmind.cn`
- 本机 `http://127.0.0.1:8081/api/status` 返回 `ok`
- 个 goosed worker `18006..18009` 均返回 `ok`
- 个 goosed worker `18006..18014` 均返回 `ok`
- 公网 `https://mm.tkmind.cn/api/status` 当前返回 nginx `502 Bad Gateway`,说明域名侧入口尚未接到当前 Portal;该问题纳入 P1 新入口修复,不再回到 105 转发链路处理。
### 2026-07-02 P1 Gateway SSE 配置
@@ -376,7 +376,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
- `memind:runtime:worker:goosed-3:heartbeat=<timestamp>`
- `memind:runtime:stream:20260701_24:status=active`
- `https://mm.tkmind.cn/api/status` 返回 `ok`
- 个 goosed worker `18006..18009` 均返回 `ok`
- 个 goosed worker `18006..18014` 均返回 `ok`
### 2026-07-02 P3 Observability v1
@@ -400,7 +400,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
- `/opt/homebrew/opt/node@24/bin/node --check /Users/john/Project/Memind/server.mjs` 通过。
- `https://mm.tkmind.cn/api/runtime/status` 返回 `ok: true`
- 返回中 `router.enabled=true`namespace 为 `memind:runtime`
- 返回中个目标 `18006..18009``healthy: true`
- 返回中个目标 `18006..18014``healthy: true`
- `https://mm.tkmind.cn/api/status` 返回 `ok`
- 未登录访问 `https://mm.tkmind.cn/api/sessions/test-session/events` 返回 `401`,且响应头包含 `x-accel-buffering: no`
@@ -577,7 +577,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
生产验证:
- `https://mm.tkmind.cn/api/status` 返回 `ok`
- `https://mm.tkmind.cn/api/runtime/status` 返回 router enabled四个 goosed target healthy。
- `https://mm.tkmind.cn/api/runtime/status` 返回 router enabled全部 goosed target healthy。
- `scripts/check-stream-runtime.mjs` 返回 `ok=true`
- `scripts/check-tool-runtime.mjs` 返回 `ok=true`,普通 chat 不注入 Aider/OpenHandscode mode 对白名单用户可注入。
- `scripts/runtime-worker-drain.mjs status` 返回 `ok=true`,四个 worker drain=false。
@@ -678,7 +678,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
- `https://mm.tkmind.cn/api/status` 返回 `ok`
- `/api/runtime/status.toolRuntime.codeRunsEnabled=false`
- 四个 goosed target healthy。
- 全部 goosed target healthy。
- `scripts/check-agent-code-run-entry.mjs` 返回 `ok=true`
- `scripts/check-stream-runtime.mjs` 返回 `ok=true`
- `scripts/runtime-worker-drain.mjs status` 返回 `ok=true`,四个 worker drain=false。
@@ -752,7 +752,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
- `status`:采样但不写 Redis。
- `sample`:采样并写入 Redis。
- `--dry-run`:强制只读。
- 对 Docker worker `goosed-prod-1..4` 采集:
- 对 Docker worker `goosed-prod-1..9` 采集:
- `cpuLoad`
- `memoryPressure`
- `fdPressure`
@@ -789,7 +789,7 @@ docker exec memind-runtime-redis redis-cli DEL memind:runtime:worker:goosed-3:dr
生产验证:
- `node scripts/runtime-worker-metrics.mjs sample` 返回 `ok=true`四个 `goosed-prod-*``healthy`
- `node scripts/runtime-worker-metrics.mjs sample` 返回 `ok=true`全部 `goosed-prod-*``healthy`
- `/api/runtime/status.router.workers[]` 已显示:
- `cpuLoad`
- `memoryPressure`