TAKT 工作流编排器
用 YAML 把多代理编码流程变成可执行、可审查且可追溯的开发工作流。
按维度查看评分与理由
证据显示:工作流步骤可配置权限(如edit: false),任务在隔离的worktree中运行,且需要用户确认(如/queue as task)。数据流透明度:日志和报告记录在.takt/runs/下,路由决策本地记录。敏感数据处理:API密钥通过环境变量管理,但未明确说明加密存储。依赖安全:依赖众多,但未提供安全审计或漏洞扫描证据。外部影响:可创建PR、发布到Discord等,但需用户配置。回滚:任务分支可删除,但未明确回滚机制。来源归属:作者信息在package.json中,但发布者未验证。扣分:敏感数据处理和依赖安全证据不足。
证据显示:README和package.json一致,版本号明确。依赖可用性:依赖列表完整,但未验证所有依赖的可用性。失败消息:文档提到错误处理,但未提供具体失败消息示例。扣分:失败消息证据不足。
证据显示:面向AI编码工作流,提供多种工作流和自定义选项。能力边界:通过权限和输出契约定义。触发精度:规则条件明确。环境适配:支持多种提供商和Node.js版本。扣分:无重大扣分。
证据显示:信息架构清晰,有文档目录。安装说明详细。命名稳定:命令和术语一致。示例和FAQ:有教程和示例。已知限制:未明确列出。许可证:MIT许可证明确。版本变更日志:未提供CHANGELOG。维护责任:有GitHub Actions和发布流程。扣分:已知限制和版本变更日志缺失。
证据显示:输出可用性:生成报告和日志。边际价值:相比普通AI代理有明确优势。成本效益:需要Node.js和外部CLI,但未提供性能基准。扣分:成本效益证据不足。
证据显示:README中的声明与代码部分一致,但未提供独立验证。跨来源佐证:有CI和测试脚本,但未提供测试结果。事实与推断分离:文档区分了功能描述和推荐,但未明确标注。扣分:缺乏独立验证和测试结果。
- 发布者身份未验证,需谨慎评估供应链风险。
- 依赖众多且未提供安全审计,建议检查依赖漏洞。
- 敏感数据处理细节不足,API密钥存储方式需确认。
- 未提供已知限制和变更日志,可能影响长期维护。
这个 Agent 能做什么,适合哪些场景?
TAKT 是面向 AI 编码工作的开源命令行编排器,以 YAML 工作流定义规划、实现、评审、修复和人工检查点。工作流由带 persona、编辑权限、规则和输出契约的步骤构成,规则可转入 COMPLETE、ABORT 或前序修复步骤。任务可先写入 .takt/tasks/,再由 takt run 在隔离 Git worktree 中执行,并将日志、报告、会话和追踪信息保留在 .takt/runs/<run>/。它支持 Claude Code、Claude SDK、Codex SDK、OpenCode SDK、Cursor、GitHub Copilot CLI 和 Kiro 等提供方,也提供 takt-acp 的 Agent Client Protocol stdio JSON-RPC 入口及 takt-mcp stdio MCP 服务器。除编码外,其工作流模型也适用于需要多代理协调、评审和反馈闭环的任务。
用户通过 takt 或 takt add 与助手澄清需求,使用 /go 生成任务后选择 Queue as task;TAKT 将任务保存到 .takt/tasks/。执行 takt run 时,它为待办任务创建隔离 worktree,按 YAML 中 steps、initial_step、max_steps、persona、edit、required_permission_mode 和 rules 运行步骤。步骤规则将任务推进到后续步骤、COMPLETE、ABORT,或从评审返回实现步骤形成修复循环;运行产物写入 .takt/runs/<run>/,包括日志、报告、会话、追踪及相关元数据。takt list 可管理任务分支,支持合并、重试、重新排队、强制失败、下达指令和删除;takt watch 可常驻监测并执行待办队列。
- 需要把“规划—实现—评审—修复”固定为可复用流程的软件团队,可用 default 工作流及其并行评审和收敛式修复循环。
- 维护 CLI 或后端服务的开发者,可为每个步骤设置不同 persona、知识、策略和编辑权限,避免实现与评审职责混在同一长对话中。
- 希望将多个待办改动与当前工作目录隔离的 Git 项目,可先排队任务,再由 takt run 在独立 worktree 中处理。
- 使用 Codex SDK、Claude SDK 或 OpenCode SDK 的团队,可通过配置中的 provider、model 和 API 密钥让步骤调用所选提供方。
- 希望从 GitHub Issue 创建任务并在完成后创建 PR 的项目,可用 takt add #6 或 takt #N,并可选安装 gh。
- 需要将任务队列接入 MCP 客户端或 Agent Client Protocol 客户端的工程,可运行 takt-mcp 或 takt-acp,通过 stdio 进行集成。
这个 Agent 有哪些优点和局限?
- 用 YAML 的步骤和转换规则显式表达评审及修复循环,流程不依赖单个代理记住提示词。
- 每个步骤可拥有独立 persona、策略、知识、指令和输出契约,且可配置编辑权限与 required_permission_mode。
- 默认排队执行会创建隔离 Git worktree,并把运行日志、报告和追踪保留为本地文件,便于追溯任务到 PR 的路径。
- 同时覆盖 SDK 型和外部 CLI 型提供方,并提供 MCP、ACP、GitHub Actions 与流水线模式的集成入口。
- 运行环境要求 Node.js >=24.15.0、Git 和至少一个已配置的提供方;部分提供方还必须另装外部 CLI。
- 工作流、facets、权限和路由的配置采用 YAML,团队需要设计并维护自己的步骤、规则和提示资产。
- “Execute now”会直接修改当前工作目录,失去默认 worktree 隔离。
- GitHub Issue 功能需要可选的 gh;GitLab 集成依赖 glab 且按远程 URL 自动检测。
- OAuth 是否可用取决于各提供方及使用场景,使用前需要自行核对其服务条款。
如何安装或部署这个 Agent?
前提是当前目录为至少有一个提交的 Git 仓库,并安装 Node.js >=24.15.0 与 Git。安装:npm install -g takt。以 Codex SDK 为例,配置 ~/.takt/config.yaml:provider: codex、model: gpt-5.6-sol、language: en,并设置 export TAKT_OPENAI_API_KEY=sk-...。也可用 nix run github:nrslib/takt 运行,或用 nix profile install github:nrslib/takt 安装。
如何使用这个 Agent?
运行 takt,描述任务;在对话中输入 /go 后选择 “Queue as task”。随后运行 takt run,让 TAKT 在隔离 worktree 中执行已排队任务。使用 takt list 检查任务分支并进行合并、重试或重新排队;如需持续处理队列,运行 takt watch。在改写工作流前可用 takt workflow init my-flow 创建脚手架,并用 takt workflow doctor my-flow 验证定义。
这个 Agent 与同类方案有什么区别?
与直接使用 AI 编码代理相比,TAKT 把流程控制放入 YAML:评审和修复循环由规则显式驱动,每一步只接收所需上下文,并保留日志与报告;直接使用代理时,这些过程主要依赖提示词和代理自身遵循。
常见问题
TAKT 会替代我的编码代理吗?
能否不用外部 CLI?
哪些内容会保存在本地?
.takt/runs/<run>/;自动路由决策默认写入 .takt/events/ 的 NDJSON,README 说明不会上传这些路由决策。