如何驯服一个项目中十几个 AI Agent 的混乱局面
最近我尝试同时运行 Claude Code 重构一个模块,以及用 GitHub Copilot CLI 重写测试。我很快就在一堆终端标签页中迷失了方向,本地分支意外地相互覆盖了对方的更改。Kandev 项目的创建者似乎也遇到了同样的问题,于是决定构建自己的工具来管理 AI 开发者。
Kandev 是一个开放的平台,提供 Web 界面和看板,将与自主编码 Agent 的混乱工作转化为清晰可控的流程。
核心思路是什么
过去一年间,涌现了许多用于编程的 CLI 工具:Claude Code、Codex、Copilot CLI、Gemini、Cursor agent、Devin,以及数十个其他替代方案。每个都有各自的优势,但当你在笔记本电脑的终端中直接运行它们时,标准问题就会出现:
- 通过控制台输出查看更改很不方便。
- 在同一个文件夹中并行运行多个 Agent 会导致 Git 冲突。
- 每新增一个进程,本地 CPU 和内存负载就会增加。
Kandev 开发者提出了不同的方案:人负责设定任务、在看板上分配任务,以及审查最终的 diff,而所有常规的代码生成工作则交给神经网络处理。
该项目不依赖任何特定供应商的云服务,采用 AGPL-3.0 许可证分发。不收集遥测数据,你可以将服务器部署在自己的硬件或隔离的 VPS 上。
并行任务,无分支冲突
为了防止 Agent 相互干扰并破坏工作目录,Kandev 积极利用 Git worktree 机制。每个卡片都有自己独立的环境和分支。你可以同时运行三个不同的神经网络:一个修复布局,一个重写 SQL 查询,第三个处理文档。
Kandev 内的工作区界面布局类似熟悉的 IDE。一个窗口包含:
- 与 Agent 的聊天或直接 CLI 终端;
- 内置代码编辑器,支持 LSP;
- 文件树和 Git 变更面板;
- 浏览器中的结果预览窗口。
得益于这种布局,你可以在常规的视觉编辑器中查看完成的结果和 diff,而不必在控制台中费力解析无尽的文本行。
从不同提供商构建链式调用
Kandev 的一个有趣特性是能够从多个神经网络创建管道。该工具支持开放的 ACP(Agent Client Protocol),通过它可以连接二十多个不同的 Agent。
如果需要,你可以设置逐步任务处理:
- Claude Code 设计架构并制定计划。
- GitHub Copilot 根据已编制的计划生成代码。
- Codex 检查收到的更改是否存在错误和漏洞。
如果该工具尚未直接支持 ACP,Kandev 会在内置的 PTY 终端模拟器中以 TUI 模式运行它。这意味着你可以通过配置文件在几分钟内添加任何控制台脚本。
处理多个仓库和子任务
通常一个任务会同时影响后端和前端。Kandev 可以将一张卡片链接到多个仓库。系统会为每个项目创建独立的工作树,生成分支,并在单个审查窗口中收集分组的更改。
如果任务变得太大,Agent 可以生成继承父会话上下文的子任务。这在需要将大型重构拆分为多个独立的 pull request 时很有帮助。
该项目还内置支持 MCP(Model Context Protocol)。Kandev 内部的 Agent 可以访问工具:它们可以创建子任务、向相邻的卡片发送消息,以及读取其他 Agent 的对话历史记录。
在哪里运行 Agent 本身
大型代码库需要大量资源。如果你在笔记本电脑上运行三个自主 Agent,风扇会立即开始最大转速运转。Kandev 通过灵活的运行时选择来解决这个问题。
服务器将任务发送到不同的环境执行:
- 本地计算机上的进程;
- 隔离的 Docker 容器;
- 通过 SSH 连接到远程服务器;
- 云模拟器如 sprites. dev。
你可以在办公室或家中的强大服务器上部署 Kandev,甚至可以通过智能手机的浏览器管理卡片和审查 diff。对于外部网络的安全连接,作者建议使用 Tailscale 或任何熟悉的 VPN。
底层技术架构
Kandev 的架构相当简洁。后端使用 Go 编写,负责进程编排、任务生命周期管理和 WebSocket 网关。整个数据库和会话历史记录都存储在本地 SQLite 中,位于 ~/.kandev。
前端使用 React 构建,采用 Vite 和 Zustand 进行状态管理。代码编辑使用 Monaco Editor,终端使用 xterm.js,灵活的窗口网格基于 dockview 库构建。
团队还在开发基于 Tauri 的桌面应用程序,面向那些喜欢独立窗口而非浏览器标签页的用户。
目前正在开发一个名为 Office 模式的自主层。这是一个面向永久性 Agent 团队的模式,具有各自的角色、预算限制、记忆和 Agent 之间的自动任务交接功能。
快速开始
你可以通过几条命令安装该工具。对于 macOS 和 Linux,有 Homebrew 包可用:
brew install kdlbs/kandev/kandev
kandev
如果你更喜欢 Node.js,通过 npx 启动可以一步完成所有操作:
npx kandev@latest
对于 Windows 用户,有 Scoop:
scoop bucket add kandev https://github.com/kdlbs/scoop-kandev
scoop install kandev
kandev
启动后,服务器会启动 Web 界面,准备 SQLite,并允许你立即附加本地或远程仓库。
这个项目适合谁
对于那些只是偶尔让聊天机器人生成一个简短脚本的人来说,Kandev 可能不太需要。但如果你符合以下条件,它会节省大量精力:
- 在日常开发中积极使用 CLI Agent;
- 希望并行运行任务而不失去对提交的控制;
- 倾向于将源代码和会话数据保存在自己的服务器上;
- 正在寻找一种将重型代码生成从笔记本电脑转移到远程机器的方法。
这个项目还很年轻,GitHub 上只有 500 多颗星,但将看板、Git worktree 和不同的神经网络整合到一个界面的想法看起来已经相当成熟可用。
相关项目