文档

运维 Runbook

本 Runbook 覆盖 AgentHub 公开站点、文档、本地预览和集成证据。它刻意保持 secret-free:生产主机路径、回滚命令、key 和私有日志属于私有运维 workspace。

日常检查

检查命令或路由预期结果
公开首页https://hub.vectorcontrol.tech/zh/en当前首页,无旧 hero 文案,无旧紫色强调
文档入口/zh/docs/en/docs有样式的 docs 页面,包含 sidebar、TOC 和正文
深层文档/zh/docs/workflows/en/docs/desktop/zh/docs/hub-edge正文正确、本地化导航正确、无 404
公开发现/robots.txt/sitemap.xml/llms.txt新路由存在且不含 secret
登录入口/zh/login 或 nav 登录按钮跳转 TokenDance ID,不自行实现独立产品登录

验证近期部署时使用 cache-busting:

powershell
curl.exe -I "https://hub.vectorcontrol.tech/zh/docs/desktop?v=YYYYMMDDTHHMMSS"
curl.exe "https://hub.vectorcontrol.tech/llms.txt?v=YYYYMMDDTHHMMSS"

本地构建门禁

在登记的发布源 worktree 中运行:

powershell
pnpm build
pnpm test
pnpm lint

预期结果:

  • out/ 中存在 static export;
  • 本地化 docs 同时导出到 out/en/docs/...out/zh/docs/...
  • tests 覆盖 docs registry、i18n routes、search index、nav、footer 和 hero 行为;
  • lint 没有新增 warning。

Docs 发布门禁

每个新增 docs route 必须更新:

文件或系统必须更新
英文 MDXsrc/content/docs/<slug>.mdx
中文 MDXsrc/content/docs/zh/<slug>.mdx
导航src/lib/docs-data.ts 的 group 和 label
TOCPAGE_HEADINGSPAGE_HEADINGS_ZH
搜索src/lib/search-index.ts 正文文本
公开发现public/sitemap.xmlpublic/llms.txt
读者文档README Documentation IA 和 changelog
测试必要时补 docs registry/search 断言

漏掉任一项都可能导致页面能渲染,但 search、sidebar、prev/next、crawler discovery 或 zh/en parity 出现漂移。

视觉 QA 门禁

UI 或 docs layout 改动后检查:

  • 桌面视口约 1440 x 900;
  • 移动视口约 390 x 844;
  • /zh/en/zh/docs/en/docs
  • 本次变更的 docs route;
  • 页面包含 Desktop mock 时的主题切换状态;
  • mock 文案可见时的语言切换状态。

重点观察:

  • pill、button、nav、footer 内文字是否换行或溢出;
  • 是否残留旧紫色强调,而不是 TokenDance Blue;
  • 是否出现纯黑 footer 背景;
  • Desktop mock 的 hover 阴影是否过重;
  • 非交互 mock preview 内是否出现浏览器默认 focus 框;
  • docs 正文是否回退成无样式文本。

产品运行信号

验证 AgentHub 产品行为时,记录公开安全的信号,不要复制私有日志:

区域信号健康形状
Hub sessionauth/session checkTokenDance ID subject 映射到 Hub 本地 session;被拒绝动作带 request id
Project routingtask target selectionwork 入队前先确认目标 Edge 已授权
Edge presenceheartbeat 或 health shapeEdge 报告 reachable state、version、workspace policy 和 runtime inventory
Run lifecycleevent streamcreated -> preparing -> running -> completed/failed/cancelled,event 单调推进
Runtime adapteradapter readiness先验证 mock;真实 CLI 报告 installed/authenticated/available 或明确 runtime_unavailable
Artifact 与 diffreview surfaces使用相对路径、base/target metadata、approval id,且无私有绝对路径
Queue/integrationasync workwebhook/card 路径快速确认,耗时工作进入 queue/retry 状态
Auditaction recordactor、project、target、run id、action、result、timestamp 和脱敏失败原因

Smoke 报告和 issue 分流可使用这张表。不要把完整 prompt、raw provider output、私有文件内容、access token 或 host-specific log 粘进公开文档。

线上 Smoke 形状

一条线上 smoke 记录应包含:

Text
site: hub.vectorcontrol.tech
version: cache-busting timestamp
routes: /zh, /en, /zh/docs, /en/docs, changed deep docs route
checks: body keyword, status code, discovery files, no stale old hero
result: pass/fail

公开 changelog 只写变化内容,不写服务器文件位置。

故障分流

故障第一动作
仍看到旧首页检查发布源、CDN/浏览器缓存,以及是否从错误 worktree 构建
Docs 空白或像纯文本检查 MDX export、static route、CSS assets 和浏览器缓存
新 docs 页面不在 sidebar更新 src/lib/docs-data.ts 和测试
Search 搜不到新页面更新 src/lib/search-index.ts
Sitemap 缺路由更新 public/sitemap.xml 并重跑 public-surface 检查
llms.txt 过期更新关键链接和当前状态文案
Login page 像独立登录页静态站登录只能作为 TokenDance ID redirect shell
Web route 无法访问 Edge target先检查 Hub 授权、Edge presence、target id 和 audit denial,再改 Web UI
Event stream 中途停止检查 run state、queue backlog、adapter process state 和 schema validation failure
unauthorized_target确认 user/project membership 和 device target binding
workspace_outside_allowlist确认 workspace 已登记到选中的 Edge
runtime_unavailable先验证 mock runtime,再查本地 CLI install/auth/profile compatibility
真实 runtime 失败先用 mock 复现,再检查本地 CLI auth 和 Edge adapter 日志

Runtime 事故分流

公开站点本身健康、但产品行为失败时,使用这张表分流:

症状严重度第一检查Owner公开安全证据私有证据
Edge 不可达High选中 target 的 Edge health URLEdge Serverstatus code、request id、target id本地进程日志和 host 细节
Web target 未授权High该 target route 的 Hub audit/request idHub Servererror code、request id、project id placeholder授权 trace 和成员记录
Workspace 被拒绝Mediumselected workspace 是否在 Edge allowlist 内Edge Serverworkspace_outside_allowlist、target id本地 allowlist 和 path 细节
Runtime 不可用Medium先查 mock runtime,再查 CLI install/auth stateEdge adapterruntime_unavailable、adapter id本地 CLI 输出和 credential 状态
Event stream 卡住Medium最后一个单调 event 和 queue/run stateEdge + Hubrun id、last event type、request idadapter log 和 queue trace
飞书/Lark callback 过慢Highcallback ack latencyIntegration Gatewayevent type、action id、latency bucketraw provider payload 和 retry log
Audit 缺失Hightask/run 对应 Hub action recordHub Serveractor placeholder、run id、action、result完整 audit row 和内部 correlation id

公开 issue 只记录 error code、request id、route class 和脱敏 id。local log、host path、queue name、callback payload、raw runtime output 只能留在私有 operator workspace。

状态词

使用保守状态词:

含义
Live / 已上线公开站点或路由可访问
Preview-ready / 可预览本地或受控预览有明确证据
Contract shaped / 契约已定接口已文档化,但公开 SDK/package 仍可能变化
In progress / 进行中已有实现或正在集成
In development / 开发中规划或部分实现;不要写成可用

不确定时使用更保守的词,并链接到 roadmap 或 changelog。