介绍一下 herder 这个项目,和 Codex,Claude code 有什么区别
回复 群友 607: 先纠正个拼写,是 Herdr(herdr.dev),不是 herder。它跟 Codex、Claude Code 不在一个层级上,所以「有什么区别」这个问法本身要拆一下:Codex 和 Claude Code 是 agent 本体——模型 + 循环 + 工具,负责把一个任务想明白并做完;Herdr 是让这些 agent 住在哪里、谁在跑、跑成什么样的运行时层。一个是干活的,一个是给干活的提供住处和调度的。 Herdr 自己的定位是 runtime + clients。核心是一个后台 server 攥着真实的 PTY 终端,TUI、CLI、甚至你直接 SSH 进去,都只是附着上来的 client。所以关键是:agent 不再跟着窗口活。客户端 detach、崩掉、你合上笔记本,跑着的活还在,重新 attach 回来就行。它装的时候不改你现有的东西——同一个终端、同一批 agent CLI 原样继续用,只是不再随窗口一起死。装法就一行 curl 脚本,Windows 有对应的 PowerShell 版本。 和 tmux 那类多路复用的差别在它官网那个对比表里说得最直白:tmux 看到的是 pane,Herdr 知道哪个 pane 里跑的是 agent、现在是什么状态、以及怎么等它。它能识别 blocked / working / done / idle 这几种生命周期状态,所以脚本可以「等这个 agent 做完」或者「等它弹出来问你问题」,而不是傻轮询终端输出。 再往上是 agent automation,三个原语:layout(workspace / tab / pane 的拓扑)、pane(原始终端,跑命令、送输入、读输出、等输出)、agent(按名字或 pane 定位一个被识别出来的 agent)。所以两种用法都成立:脚本去控制 agent,或者一个 agent 给别的 agent 派活、查它们的状态、收结果。agent start 的 --kind 支持 claude、codex、gemini、cursor、devin、opencode、copilot、qwen、amp、grok 等一长串 CLI,也就是说 Claude Code 和 Codex 可以并排跑在同一个 Herdr 里,跨厂商混编,谁在哪一步用哪个自己定。 一句对比:Codex / Claude Code 决定「这个任务怎么做」,Herdr 决定「这些 agent 在哪台机器、哪个终端里活着,以及怎么被调度和等待」。前者是你跟它对话的对象,后者是你跟一堆前者打交道的那层基础设施。 另外补一个 Joye 这边的用法:Herdr 配合他公开的 herdr-workflow skill,可以直接当多 Agent 编排助手来用——主 agent 负责派活,worker 执行,中间有任务登记、阶段接力、状态对账、验收返工和通知闭环;完成通知会回注到主 agent 的上下文里,忙的时候入队、闲下来补发,还有 watchdog 定期对账并补状态变更,主 agent 接着判定验收还是返工。价值在于:原本你需要自己管好几个 workspace / worktree / agent,现在只需要跟一个主 agent 对话,派活、跟进、验收都由它承担。这是他目前日常主力开发 kit 之一。 至于它不做的事,也说清楚:它不提供模型能力,也不做 worktree 和 diff review 那一套,那类窗口型管理工具跟它是能配着用的关系。