ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Routa 桌面版发布:内建 Harness 工程的 AI Coding 研发协作工作台

Routa 桌面版发布:内建 Harness 工程的 AI Coding 研发协作工作台 1. Routa 桌面版发布后我为什么先折腾 Harness 工程Routa 桌面版发布之后我第一时间把它拉下来跑了一遍。它想做的事情其实一句话能说清把 Harness 工程、Coding Agent 和 Kanban 串成一条能落地的 AI Coding 研发协作流。如果你之前用过各种 CLI 形态的 Coding Agent会发现单个 Agent 写代码早就不是瓶颈了真正让人头疼的是——多个 Agent 在同一套工程约束下怎么协同、任务从 backlog 到 done 中间谁来把关、完成定义到底由谁说了算。Routa 给出的答案是把 Kanban 当成任务协议每一列都是准入门禁和准出门禁泳道专家沿着状态接力。这篇不聊理念聊怎么把它配成一套可复制的工作台。核心动作是用 TaoToken 做统一的 Key/API 通道把模型调用收敛到一个入口然后在 Routa 的 config.toml 和 settings.json 里把通道接上最后在 Kanban 任务里挂一个 Coding Agent 跑通验证。适合谁适合已经在用 Coding Agent、想让多 Agent 协作有工程约束、又不想每个工具单独配一遍 Key 的人。下面所有配置我都实测过命令可以直接抄。2. TaoToken 前置统一 Key 与 API 通道在接 Routa 之前先把模型通道这件事解决掉。Routa 里的 Coding Agent、泳道专家、Review Guard 这些角色都会发起模型请求如果每个角色各配一套 Key后面排障会非常痛苦。我的做法是统一走 TaoToken 的 API 通道一个 Key 覆盖多个模型config.toml 里只维护一份 base_url 和 api_key。先拿 Key。打开控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后在 API Keys 页面创建一个新 Key复制出来先存到本地环境变量里别直接写进配置文件提交到仓库export TAOTOKEN_API_KEYsk-你的keyTaoToken 的 API 入口是 https://taotoken.net/api 注意这个地址不带任何查询参数配置里填这个就行。模型对话的调试入口在 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 接之前可以先在那里确认你要用的模型名拼写对不对避免 config 里写错模型 ID 导致 404。注意Key 只放环境变量或本地未提交的配置文件Routa 的 settings.json 如果会进版本库务必用 .gitignore 排除。3. 可复制配置config.toml 骨架与 settings.json 片段Routa 桌面版的配置分两层config.toml 管模型通道和 Harness 工程参数settings.json 管 Kanban 泳道和 Agent 绑定。先给 config.toml 骨架这是最小可用版本# ~/.routa/config.toml [provider] name taotoken base_url https://taotoken.net/api api_key_env TAOTOKEN_API_KEY default_model claude-sonnet-4-5 timeout_seconds 120 [provider.models] coding claude-sonnet-4-5 review claude-sonnet-4-5 refine claude-haiku-4-5 [harness] enabled true entrix_budget 8000 evidence_required true gate_on_review true [kanban] workflow backlog,todo,dev,review,done,blocked require_canonical_yaml true几个参数说明一下。api_key_env指向环境变量名而不是明文 Key这样配置文件可以安全地放进 dotfiles 仓库。entrix_budget是 Harness 工程里给单张卡片的验证预算超了 Review Guard 会拦。gate_on_review true表示 review 列必须独立验证不能自己批自己。然后是 settings.json把泳道专家和模型角色绑起来{ lanes: { backlog: { specialist: backlog-refiner, model: refine }, todo: { specialist: todo-orchestrator, model: coding }, dev: { specialist: dev-executor, model: coding }, review: { specialist: review-guard, model: review }, blocked: { specialist: blocked-resolver, model: coding }, done: { specialist: done-reporter, model: refine } }, handoff: { require_upstream_artifact: true, reject_on_missing_evidence: true }, agent: { provider: taotoken, stream: true } }require_upstream_artifact是这套协作流的关键下游泳道先验证上游有没有交出该交的东西不合格就打回去。todo 可以把不完整的 story 退回 backlogreview 会因为证据不足把卡退回 dev。这就是把「完成」从口头判断变成系统约束的地方。4. 验证请求在 Kanban 任务里接入 Coding Agent配置写完先别急着开看板用一条 curl 确认通道是通的curl -s https://taotoken.net/api/v1/messages \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-5, max_tokens: 64, messages: [{role: user, content: reply with ok}] }返回里能看到正常的 content 字段说明 Key 和 base_url 都对。如果这里就报 401先回去检查环境变量有没有在当前 shell 生效。通道通了之后启动 Routa 桌面版新建一张卡片丢进 backlog。backlog-refiner 会要求一份机器可读的 YAML包含问题陈述、验收标准、影响范围、依赖关系和 INVEST 检查。我用的测试卡是这样id: CARD-001 title: 给用户列表接口加分页参数 problem: 当前 /users 返回全量数据数据量上来后响应过慢 acceptance: - 支持 page 和 page_size 两个查询参数 - 默认 page_size 为 20上限 100 - 超出范围的参数返回 400 scope: - src/api/users.py - tests/test_users.py dependencies: [] invest: independent: true negotiable: true valuable: true estimable: true small: true testable: true把这张卡从 backlog 推到 todotodo-orchestrator 会补齐执行计划、关键文件、依赖计划和风险说明。再推到 devdev-executor 开始实现、提交代码、补齐开发证据。实测下来这一步最容易出问题的是验收标准写得太虚比如「性能要好」这种Review Guard 会直接判定证据不足退回 dev。所以 AC 一定要可测能对应到具体断言。推到 review 后review-guard 会独立验证 AC、测试、Git 状态、范围控制和 Entrix 预算。全部通过才会进 donedone-reporter 补完成总结。整条链路跑通一次你就得到了一套可复制的协作工作台配置。5. 本篇常见错排查报 401 或 invalid api key九成是环境变量没生效。echo $TAOTOKEN_API_KEY确认一下如果为空检查是不是在另一个终端窗口 export 的。config.toml 里写的是api_key_env不是明文别把 Key 直接填进去。模型名 404config.toml 里的模型 ID 必须和 TaoToken 模型列表里的一致。先去模型对话页面确认拼写别凭记忆写。卡片卡在 todo 推不动todo-orchestrator 校验的是 backlog 产物。如果 canonical YAML 缺字段或者 INVEST 里有一项是 false 又没说明就会被拦。补齐再推。review 反复退回 dev看退回理由。常见的是测试缺失、范围蔓延、Entrix 预算超了。范围蔓延最隐蔽——dev-executor 顺手改了卡片 scope 之外的文件Review Guard 会判定失控。改回来或者拆新卡。多 Agent 同时写同一文件冲突这是泳道职责没划清。确认每张卡在 dev 列时只有一个 dev-executor 在动交接靠 move_card 显式传递别让两个 Agent 同时改一个文件。Harness 门禁太严导致效率低entrix_budget调大一点或者把gate_on_review暂时关掉观察一轮。但我不建议长期关门禁松了多 Agent 协作很快会变成噪音。6. 把通道和协作流固定下来整套配下来最值得固定的是两件事模型通道收敛到 TaoToken 一个入口协作约束交给 Harness 工程。前者让你换模型、加角色时不用到处改 Key后者让「完成」这件事有系统判断而不是靠人拍脑袋。如果你后面要长期跑编码任务或者搭 Agent 流水线可以看下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite API Keys 管理还是走控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。配置骨架先跑通一张卡再往上加泳道专家比一上来就铺满七个角色稳得多。
返回列表