使用 Cookbook
这份 cookbook 把 AgentHub 的架构、API、Desktop、Hub/Edge 和发布文档转成任务配方。你已经知道要做什么时,从这里找最短且安全的执行路径。
当前范围
下面的配方是公开安全的操作模式。Local Desktop + Local Edge + mock runtime 已可预览。Hub-backed Web、飞书/Lark、Remote/Cloud Edge 和稳定第三方 adapter 包装仍然处于进行中或开发中,除非所属仓库已经给出更新的发布证据。
配方地图
| 目标 | 从这里开始 | 必要界面/组件 | 状态 |
|---|---|---|---|
| 验证工作站 | 安装与本地环境 | Git、Go、Node.js、pnpm、mock runtime | 当前 |
| 运行只读 Agent 任务 | 快速上手 | Desktop、Local Edge、mock 或真实 runtime | 可预览 |
| 生成可审查 diff | Desktop 使用手册 | Desktop、Local Edge、diff/artifact 面板、approval policy | 可预览 |
| 对比 runtime adapter | Agent Profile | Mock、Claude Code、Codex、OpenCode profile | 契约已定 |
| 排查失败 run | 排障指南 | Edge health、run event、runtime 状态、error code | 当前 |
| 准备团队可见任务 | Hub 与 Edge | Hub session、project、target Edge、audit | 进行中 |
| 规划飞书/Lark 入口 | 飞书/Lark 集成 | Integration Gateway、TokenDance ID 绑定、Hub task | 开发中 |
| 发布 docs/site 改动 | 发布检查 | build、test、lint、sitemap、llms、视觉 QA | 当前 |
本地只读审查
新机器或新 runtime profile 的第一条任务,用这个配方。
- 用 mock runtime 在 loopback 上启动 Local Edge。
- 启动 Desktop,并连接到同一个 Local Edge URL。
- 选择 allowlist 内的 workspace。
- 发起只读审查,例如:
Review the README and suggest the smallest documentation improvement.
期望证据:
| 证据 | 健康状态 |
|---|---|
| Edge health | 进程可访问,runtime inventory 包含 mock runtime |
| Desktop 连接 | Local Edge 显示在线,workspace 被允许 |
| Event stream | run.started、run.message.delta、run.artifact.ready、run.completed 顺序出现 |
| Transcript | 用户 prompt 和 Agent 输出没有溢出 |
| Safety | 未经明确 approval 不发生文件写入 |
公开截图要把私有绝对路径替换成 workspace/app 这类短占位。
可审查 Diff
当 Agent 可以提出改动,但是否应用必须由人决定时,用这个配方。
- 从干净或已明确审查的 Git 状态开始。
- 发起聚焦任务,明确目标文件或行为。
- 在 diff 面板渲染前,保持写入处于 proposal mode。
- 审查 changed files、生成的 artifact 和 event timeline。
- apply、commit 和 publish 必须作为单独动作审批。
界面需要把边界显示清楚:
| 步骤 | Owner | UI 期望 |
|---|---|---|
| Runtime 输出 | Runtime adapter | 标准化的 message、tool、file event |
| 文件变更检测 | Edge | 相对路径和 diff metadata |
| 审查 | Desktop/Web | approval 前 diff 只读 |
| 应用 | Edge + 用户 approval | 明确 approval id 和最终结果 event |
| 审计 | 经 Hub 路由时由 Hub 负责 | actor、project、run id、action、result、request id |
不要把模型回复完成当成改动已经应用。完成只代表 run 到达 terminal state;仓库仍然由 diff review、approval、commit 和 CI 管理。
Runtime Adapter 对比
比较 Claude Code、Codex、OpenCode 或自定义 adapter 时,用这个配方。
保持任务、workspace、approval policy 和预期输出一致:
Inspect the docs navigation and report one missing consistency check. Do not edit files.
对比维度:
| 维度 | 看什么 |
|---|---|
| 可用性 | installed 或 authenticated、ready、unavailable 或 timeout |
| Event 质量 | message delta、tool call、file read、error、terminal state |
| Diff 纪律 | proposed change 是否进入可审查 diff |
| Cancellation | 取消后是否留下清晰的 terminal event |
| 隐私 | path、prompt、provider output 是否能脱敏成公开证据 |
这些文档里的 adapter 示例是契约预览。所属 SDK 或 package 发布并版本化前,不要把占位 import path 复制进生产代码。
失败 Run 排查
任务失败或卡住时,用这个配方。
- 记录 run id 和最后一个 event type。
- 检查 Local Edge health 和 runtime inventory。
- 用 mock runtime 复现。
- 如果 mock 通过,检查真实 runtime CLI 安装、登录、quota 和 adapter profile。
- 如果涉及 Hub/Web,先查 Hub authorization 和 target Edge presence,再考虑改 UI。
- 如果涉及飞书/Lark,检查 gateway verification、idempotency、queue handoff、TokenDance ID binding 和 Hub task creation。
优先看的 error code:
| Code | 第一 owner |
|---|---|
runtime_unavailable | runtime CLI 和 Edge adapter profile |
workspace_outside_allowlist | Edge workspace policy |
permission_denied | Hub permission 或 Edge approval policy |
unauthorized_target | Hub project 或 device target authorization |
target_offline | Hub target presence 和 Edge heartbeat |
schema_validation_failed | API 或 event schema 和 adapter normalization |
公开 issue 只放 route class、error code、request id 或 run id 占位、最后一个安全的 event type。私有日志、原始 prompt、真实文件内容、provider key 和 callback payload 留在私有运维证据里。
团队任务准备
把本地任务推进到团队可见 workflow 前,用这个配方。
最低 readiness 清单:
- TokenDance ID login 和 Hub product session 是两层边界,并且都被正确理解。
- queue 工作前检查 project membership 和 target Edge authorization。
- 任务用 project 或 workspace target id,不用私有绝对路径。
- apply 或 publish 前能看到可审查 diff 和 artifact。
- audit 同时记录被拒绝和成功的动作。
- Web 渲染 Hub-owned state,不直接访问 Local Edge 或本地文件。
如果任何一项缺失,就保持在本地预览或受控集成测试,不要写成一般可用。
飞书/Lark 任务准备
规划 bot message、card action 和 H5/workbench 入口时,用这个配方。
耐久形态是:
- Integration Gateway 验证并解密 provider event。
- Gateway 快速 ack。
- 慢任务进入异步队列。
- TokenDance ID binding 把飞书/Lark actor 映射到产品身份。
- Hub 在产品授权下创建或更新 AgentHub task。
- 进度通过 card、message、H5 或 Web 返回,但不泄露完整 workspace context。
不要把 verification token、app secret、tenant token、完整 prompt、原始 provider payload 或本地绝对路径放进卡片、前端代码或公开文档。
Docs 和站点发布
新增或修改公开文档时,用这个配方。
每个新增 docs route 都需要:
| Surface | 必须更新 |
|---|---|
| MDX | 同 slug 的英文和中文页面 |
| Navigation | docs sidebar label 和 prev/next 顺序 |
| TOC | 英文和中文 headings |
| Metadata | 本地化 title 和 description |
| Search | 英文和中文 search body text |
| Discovery | sitemap.xml 和 llms.txt |
| Reader map | README docs inventory 和 docs landing page |
| Verification | tests、build、lint、public-surface 和 i18n checks |
公开 release note 应该说明改了什么、读者如何验证。不要写生产 web-root、SSH alias、rollback command、日志或 secret。
证据模板
私有 PR、内部 issue 或 handoff note 可用这个模板:
goal:
route_or_surface:
language:
theme:
viewport:
edge:
runtime:
run_id:
last_event:
artifact_or_diff:
checks:
result:
private_evidence_location:
公开 docs 只保留脱敏状态和稳定边界。真实本地路径、原始日志、provider output 和部署路径留在私有证据里。