nrslib/takt

TAKT Agent Koordination Topology - Define how AI agents coordinate, where humans intervene, and what gets recorded — in YAML

📦 项目:TAKT – AI 代理协调 CLI

它是什么

  • 一个 Node‑JS 命令行工具,允许您使用简单的 YAML 描述为 AI 编码代理(Claude、OpenAI Codex、DeepSeek、Cursor、GitHub Copilot 等)定义可重复的开发工作流。
  • CLI 在隔离的 Git worktree 中运行每个步骤,记录所有内容,并在工作流完成时自动打开 PR。

为什么重要

  • AI 代理往往会忘记先前的指令,混合实现和审查,并产生不可审计的更改。TAKT 将过程从模型的提示中移出,放入 CLI 强制执行的声明式工作流中。
  • 每个步骤都有自己的角色、权限、知识和输出契约,因此模型只看到它需要的上下文。
  • 内置支持审查/修复循环、人工检查点和逐步输出验证。

核心概念

概念 角色
工作流 有序的步骤列表(计划 → 实现 → 审查 → 修复 …)。定义在 workflows/*.yaml 中。
步骤 一次代理执行,具有特定的角色、权限和决定下一步的规则。
提供者 底层 AI 服务(Claude SDK、Codex SDK、OpenCode CLI 等)。TAKT 通过 SDK 或外部 CLI 与提供者通信。
隔离 worktree 代理进行更改的临时 Git 检出,保持主仓库干净。
日志与报告 每个步骤后,TAKT 写入详细日志和摘要报告,使从任务到 PR 的路径可审计。

主要功能

  • YAML 驱动的工作流 – 声明角色、权限和转换规则。
  • 多个提供者 – Claude、Codex、OpenCode、DeepSeek Harness、Cursor、Copilot、Kiro 等。
  • 自动 SDK 安装(takt install <provider>)和更新。
  • 审查循环 – 显式的修复和重新审查周期;可选的人工批准。
  • 任务队列 – takt add 创建任务,takt run 执行任务,takt watch 用于常驻执行器。
  • Web UI – 可选的查看器优先 UI,位于 http://127.0.0.1:20525,用于实时日志和报告。
  • 集成钩子 – 可用作 Agent Client Protocol (ACP) 或 MCP 服务器,供其他工具使用。
  • 内置工作流 – default、maintenance、pure、review 等,以及角色目录。
  • 支持形式验证 – 可选 Quint/Alloy 检查规范。

典型工作流

  1. 使用 takt(或 takt exec)与 AI 对话,描述任务。
  2. 使用 /go 生成工作流 YAML 并保存为任务。
  3. 运行 takt run – TAKT 创建隔离的 worktree,执行每个步骤,记录结果,并提供打开 PR 的选项。
  4. 使用 takt list、takt merge、takt retry 等管理任务。

安装与快速开始

# 全局安装(需要 Node ≥22.22)
npm install -g takt
# 安装提供者 SDK(示例:Claude)
takt install claude-sdk

# 初始化仓库(必须至少有一个提交)
takt   # 与 AI 对话,然后 /go → 保存为任务

takt run   # 执行排队的任务

您也可以通过 Nix 安装:

nix run github:nrslib/takt
nix profile install github:nrslib/takt

使用场景

  • 自动化功能开发 – 规划、编码、审查和修复新功能,无需手动 PR 循环。
  • Bug 分类 – 将 GitHub 问题转化为任务,让 AI 提出修复,运行审查循环,并自动合并。
  • 团队级编排 – 定义团队范围的工作流(takt-default-team),在多个代理之间分解工作。
  • 形式验证 – 插入 Quint 规范以在合并前验证生成的代码。

限制 / 注意事项

  • 需要 Node 22+ 以及相应的提供者 SDK 或外部 CLI 已安装。
  • 结果质量取决于底层 AI 模型;复杂领域可能仍需要人工监督。
  • 审查循环是显式的,但如果模型反复无法满足契约,可能会变得很长。
  • 某些提供者需要额外的系统依赖(例如,claude-terminal 需要 tmux,Quint 验证需要 Java 17)。
  • 默认 Web UI 是实验性的,目前以日语优先。

了解更多

  • 完整文档:docs/README.md(英文)和 docs/ 中的翻译。
  • 视频教程:README 中链接的第 1 章和第 2 章。
  • CLI 参考:docs/cli-reference.md。
  • 工作流指南和内置目录:docs/workflows.md 和 docs/builtin-catalog.md。

TAKT 本身是用 TAKT 构建的(dog‑fooding),展示了该工具的自托管特性。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目