onesvm-browser-server/docs/impl-20260901.md
chii 854ffcb2b1 docs: 补实现交付记录并同步 inventory 专项
记下 W6 怎么跑与国内/MCP 冒烟结果;联调入口改为 mgr1 :8640。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:08:59 +08:00

2.1 KiB
Raw Permalink Blame History

type status created
receipt active 2026-09-01

控制面实现交付记录

对应 contract-20260901-browser-impl / plan-20260901-03(实现)+ plan-20260901-04(W6 热修)。 机制细节仍以 design-arch-20260901.md 为准;决策以 plan-final-20260901.md 为准。

交付了什么

块 路径
单二进制三角色 server/cmd/browser-server(-role=gateway|scheduler|proxymanager)
公共包 server/internal/{contract,store,auth,policy,safetyscan,httpx,config}
五 Dock 适配器 server/internal/dock(searxng-cn/global、trafilatura、lightpanda、headless-shell)
Swarm stack stacks/browser-server.yml(10 服务;shell replicas=0)
本机冒烟 / 部署脚本 scripts/smoke-local.sh · scripts/deploy-mgr1.sh
镜像 onesvm/browser-server:dev · onesvm/trafilatura-http:dev(日常复用 tag)

怎么跑

# 单测
make test

# 本机 compose 冒烟(stub 引擎)
make smoke

# mgr1 部署(须用户 🟡 确认;读 gitignore deploy.env)
bash scripts/deploy-mgr1.sh          # dry-run
bash scripts/deploy-mgr1.sh --apply

入口:http://192.168.1.51:8640(MCP POST /mcp,HTTP POST /v1/search /v1/read)。认证头 X-Service-Token。

验收链

  • 实现轮:V1 verify → ITER-3 → V2 reverify PASS → V3 arch-review PASS-with-debt → ITER-4(D-1/D-2)
  • 部署轮 W6:stack 已在 mgr1;海外订阅经 central-proxy bootstrap;探活 alive=41/52(2026-09-02)
  • 国内/MCP 冒烟(同日):401 / 签发 / tools/list=[search,read] / MCP tools/call 200;/v1/search /v1/read 信封 200 但 error=upstream(searxng-cn 上游超时/空结果,网关未崩)
  • 产物(gitignore):.dsh/artifacts/run-20260901-browser-impl/

W6 热修(已入镜像)

  • BROWSER_SERVER_SUB_FETCH_PROXY:仅订阅拉取走 .53:7890
  • mihomo 卷 nonroot 可写;热载路径用容器内 /root/.config/mihomo/config.yaml
  • 生成配置剥离 dns/geosite;mihomo limit 128m
  • NewManager 接线 mihomo delay 探针(修全池探活 nil panic)