herdr 深度研究:让编码智能体自己管自己的终端

设想你牧着十只羊(十个编码智能体),散在十片草场(十个终端)。旧日的做法,是亲自逐片巡视:哪只羊在吃草、哪只羊掉进了坑(卡在权限询问上,等你拍板),全凭两条腿。

the runtime your coding agents live on —— 编码智能体栖身的运行时
> 研究对象:herdrdev/herdr(本地克隆 c:/github/herdr)
研究时间:2026-08-13 | 一手仓库深读 + 多源交叉核证(官网/博客/GitHub API/独立媒体)

〇、费曼视角 · 一句话讲清

设想你牧着十只羊(十个编码智能体),散在十片草场(十个终端)。旧日的做法,是亲自逐片巡视:哪只羊在吃草、哪只羊掉进了坑(卡在权限询问上,等你拍板),全凭两条腿。

herdr 就是那位住在草场中央的牧人。 羊群住进他的围栏(后台服务器),他替你盯着:working(在吃草)、blocked(掉坑了,喊你)、done(吃完了,等你验收)。你合上笔记本走人,羊一只不丢;回来时从任意终端「归队」即可。更有意思的是——牧人的哨子(socket API)羊自己也会吹:一只羊能给另一只羊开新草场、派活计、等它卡住再去搭手。羊管羊,人只管拍板。

一句话:tmux 是终端的客栈(留宿进程),herdr 是客栈加前台——既留宿,又懂状态,还给住客(智能体)彼此通信的电话。


一、它到底是什么(侦察结论 + 事实校正)

1.1 基本档案

项内容
定位编码智能体的终端运行时(agent-native terminal multiplexer)。官方中文自称「智能体复用器」
作者Can Celik(GitHub 账号 Ogulcan Celik,土耳其,提交时区 +0300),单人开发起步
首发2026-03-27(v0.1.0,initial release 仅一行 changelog)
当前版本v0.8.0(2026-08-03);本地 HEAD 已领先 90 个提交(2026-08-13)
实现单个 Rust 二进制,无 Electron。~22.4 万行 Rust,245 个 .rs 文件;ratatui + crossterm + 自家补丁版 portable-pty
平台Linux / macOS 稳定;Windows 为 beta/preview(捆绑 ConPTY 运行时)
GitHub28,337 星、2,009 fork、156 open issues、79 个 release、累计下载 380,624(GitHub API,2026-08-13 实测)
许可Apache-2.0(2026-07-22 由 AGPL-3.0-or-later 改许可,早于融资宣布)
融资Y Combinator F26 批次(2026-08-06 官宣),公开承诺运行时永保 Apache-2.0 开源免费
官网herdr.dev | 仓库 github.com/herdrdev/herdr(2026-07-29 从个人仓库迁入组织)

1.2 关键事实校正

常见说法核证结论
「herdr 是 tmux 的封装/Rust 重写版」误。herdr 是独立实现:自带终端模拟(VT 解析、Kitty graphics、滚动回溯),运行在你已有的终端里(WezTerm/iTerm2/Kitty 皆可),不取代你的终端。它甚至可以跑在 tmux 里,但不解析 herdr 窗格内部的 tmux 会话。
「herdr 包装或替代你的编码智能体」恰恰相反。README 明言:*herdr doesn't wrap or replace them; it owns their terminals.* Claude Code、Codex、Cursor 照旧是它们自己,herdr 只「拥有它们的终端」——提供持久、状态感知与互操作。
「AGPL 双许可,企业需买商业授权」过时。2026-07-22 提交 cd5ea1be 已改许可 Apache-2.0,且赶在 8 月 6 日 YC 公告之前——官方称此举正是为「让所有人自由使用,融资不改初心」。
「代码/会话经 herdr.dev 云端」无此架构。local-first:无账号、无遥测、无云同步,会话以纯 JSON 存于 ~/.config/herdr。与 herdr.dev 的联络仅限检测 manifest 的热更新(可一行配置关闭)。
「Windows 已全平台支持」尚为 beta。0.8.0 起 Windows 预览版捆绑应用级 ConPTY 运行时;changelog 中 Windows 修复密度极高(Escape 键、Shift+Enter、命名管道……),可见其「补课」之勤,亦见其尚未毕业。
「团队项目」至今主体仍是一人。git shortlog:Ogulcan Celik 1,179 提交 + Can Celik 73,其余为 bot 与社区贡献者。YC 公告中才首次表态要「组小团队」。

1.3 时间线速览

时间事件
2026-03-27v0.1.0 首发(作者彼时还在找工作,自觉「我即瓶颈」,遂自建)
2026-06-10博客《Coding agents are becoming runtimes》——提出「智能体 CLI 正在变成开发者基础设施」之论
2026-07-02登上 Hacker News;7 月 8 日已达 13.6k 星
2026-07-22AGPL → Apache-2.0 改许可
2026-07-29仓库迁入 herdrdev 组织
2026-08-03v0.8.0 发布 + 性能博客《Ten agents, three clients, 95% less CPU》
2026-08-06官宣加入 YC F26
2026-08-09 起DHH(Rails 之父 David Heinemeier Hansson)开始提交代码(tab bar、窗口标题同步等 9 笔)

二、架构鸟瞰(技术深拆)

2.1 第一性设计:服务器拥有终端,UI 只是访客

   你的任意终端(WezTerm / iTerm2 / Kitty / Windows Terminal)
        │  herdr(TUI 客户端,可随时 detach)
        ▼
┌─────────────────── herdr 后台服务器 ───────────────────┐
│  拥有:PTY 进程 · 窗格状态 · 工作区布局 · 智能体身份      │
│                                                        │
│   workspace(项目)→ tab(视图)→ pane(真终端)         │
│        └─ 侧边栏状态逐级上卷:一羊 blocked,全场可见      │
│                                                        │
│  检测引擎:前台进程识别 → 每窗格唯一 status authority     │
│  socket API:Unix socket / Windows 命名管道             │
└────────────────────────────────────────────────────────┘
        ▲            ▲              ▲
   CLI 包装层    agent skill     原始 socket(JSON Schema 可导出)
   (脚本/人)  (智能体自用)      (自建工具/事件订阅)

要点在「状态与运行时分离」:AppState 是纯数据(可脱离 PTY 单测),渲染是纯函数(render() 只读不写)。这是 herdr 仓库 AGENTS.md 立的第一条军规,也是它能做到「客户端断了、服务器照跑;机器重启、布局与智能体会话随快照归来」的根。

2.2 状态检测:herdr 的看家本领

五态语义(此乃 herdr 之于 tmux 的分水岭):

状态含义
blocked需要你拍板:权限批准、提问、决策
working正在干活
done干完了,你还没看(看过即转 idle;CLI 读取不算「看过」)
idle空闲待命
unknown在场但无法确信分类——不等于完成
判定机制,双轨并行:

1. Lifecycle hooks(官方集成已装者):Pi、OMP、Kimi、OpenCode、Kilo、MastraCode 等直接向 herdr 报告生命周期——此为「自报家门」。 2. Screen manifest(其余智能体):Claude Code、Codex、Cursor Agent CLI、Copilot、Devin、Grok、Qwen Code 等走「看相」——读取底部缓冲区实时快照(注意:不是你滚动看到的视口),与 TOML 规则比对。

试看 src/detect/manifests/claude.toml 真迹(2026-08-12 版):

[[rules]]
id = "osc_title_working"
state = "working"
priority = 1100
region = "osc_title"
# Braille 覆盖 <= 2.1.227;半圆是 2.1.228 的忙碌转轮
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D1}] ']

[[rules]]
id = "live_blocked_form"
state = "blocked"
region = "after_last_horizontal_rule"
contains = ["esc to cancel"]
any = [ { contains = ["enter to confirm"] }, ... ]

规则之细,令人莞尔:连 Claude Code 转轮符号从盲文点换成半圆(2.1.228 版)这种上游鸡毛蒜皮,都须 herdr 跟进打补丁——changelog 里满是这类猫鼠游戏(fix: detect claude 2.1.228 half-circle busy spinner)。

三条军规值得记取:

  • 每窗格只有一个 status authority,避免「两个真理源」打架;
  • blocked 判定故意保守:不认识的 UI 宁落 idle,不误报——误判只影响显示与等待,不会诱发任何输入或破坏性动作;
  • manifest 可热更新:herdr.dev 远程下发规则补丁(不必升级二进制),本地 ~/.config/herdr/agent-detection/.toml 覆盖永远优先;调试有 herdr agent explain 逐条亮证据。
自动检测覆盖 20 员:Pi、OMP、Copilot CLI、Devin CLI、Kimi Code、Hermes、Qoder、Qwen Code、Droid、OpenCode、Kilo Code、MastraCode、Claude Code、Codex、Cursor Agent CLI、Amp、Grok CLI、Antigravity、Kiro、Maki;Gemini CLI 与 Cline 检测但测试稍浅。不支持的智能体照常当普通终端跑。

2.3 控制平面:人、脚本、智能体三层同源

层用途
CLIshell 脚本、人肉调试(herdr pane split / agent prompt / agent wait)
agent skill智能体自用(herdr --skill 打印,随二进制捆绑;要求 HERDR_ENV=1 方可动手)
原始 socket API自建工具、事件订阅;herdr api schema --json 导出完整 JSON Schema
智能体被注入 HERDR_WORKSPACE_ID / TAB_ID / PANE_ID 环境变量,由此「知道自己住哪间房」,可用 --current 精确操作自家窗格,不碰别人的焦点。智能体名字是别名,随占用者走——agent 退出即释放,不留僵尸身份。

一份典型「羊管羊」脚本(官方 agent-automation 文档):

split=$(herdr pane split --current --direction right --no-focus)
review_pane=$(printf '%s\n' "$split" | jq -r '.result.pane.pane_id')
herdr agent start reviewer --kind codex --pane "$review_pane"
herdr agent prompt reviewer "Review the current diff" --wait --timeout 120000
herdr agent read reviewer --source recent-unwrapped --lines 120

agent prompt --wait 有个防呆设计:提交后 5 秒内观察不到生命周期变化,即返回 agent_prompt_stalled,绝不傻等——这是被真实事故喂出来的细节。

2.4 持久化分四档,强弱分明

情形进程存活布局归来屏幕内容智能体会话续接
detach/reattach✓✓✓(活终端)✓(进程未停)
服务器重启✗✓仅 pane 历史(默认关)靠原生 resume
更新(无 handoff)视情况✓同上同上
update --handoff(实验)尽力保活✓✓✓
原生 resume 已覆盖 17 家(Claude --resume、Codex resume、Grok、Cursor、Devin、Kimi、Qwen、OpenCode、Kilo……),集成版本号逐一登记在案。pane 历史回放默认关闭,官方理由很直白:终端输出里可能有密钥与 token——把会话目录当终端历史一样看管。这份隐私自觉,值得点赞。


三、工程实录:95% less CPU 的故事

v0.8.0 配套的性能博客,是本研究读到的最诚实的工程写作之一——不吹「快了多少倍」,而是逐条交代「省掉的是哪一次渲染」:

三刀砍向「无谓渲染」(总 CPU 降 89–95%,客户端越多省越多):

1. 删转轮:侧边栏每个 working 智能体原先各顶一个 8fps 动画转轮——20 个智能体就是 20 个东西一起转,说的都是同一句话「我活着」,却没人指出谁需要你。改为静态色点后,定时器、动画帧、逐客户端序列化全部蒸发。设计决策在先,CPU 节省只是副产品——此语大可玩味。 2. 隐藏窗格的输出不触发渲染:渲染请求从此携带来源窗格身份;后台 tab 里写日志的 agent,不再让三个客户端各画一帧给它看。字节照旧解析(切回去时屏幕是新的),只是不画。 3. 鼠标移动不重绘:每秒 60 个移动事件,原先触发 60 次「画同一幅画」。现在只在全局菜单等真正响应悬停的模式下才重绘。

实测数字(服务器+全部客户端总 CPU):

场景0.7.50.8.0
1 个静默 working 窗格(Linux)1.467%0.133%
10 窗格 9 隐藏写入 × 3 客户端(Linux)13.014%0.617%
被动鼠标移动 60Hz(Linux)9.450%0.667%
隐藏输出场景(macOS)22.958%1.673%
且博客主动交代「哪里不灵」:50 窗格 49 个狂写时,瓶颈回到 PTY 读取与终端解析本身,仅省 23.6%——优化针对无谓渲染,不冒充终端仿真的魔法。每个 CPU 数字都配一个机制计数器(调度帧数、跳过次数、鼠标包精确计数 1,680/1,680),「裸 CPU 数字可以有十种解释,配了机制计数器的数字就很难辩驳」。

仓库军规(AGENTS.md)同样值得抄送所有 Rust 项目:状态与运行时分离、渲染纯函数、禁 god object、平台代码隔离、检测器只读快照不碰解析器,以及「乘法性能路径」——凡渲染/解析/检测路径上的新工作,先报「频率 × 基数」(每字节 × 窗格数 × 客户端数),再谈实现。


四、开源、许可与 YC(最该细读的一节)

4.1 改许可的时间点,是态度

2026-07-22 改 Apache-2.0,两周后(08-06)才官宣 YC F26。顺序很重要:若是拿了钱再改,可解读为「为融资清障」;先改再融,则近乎公开宣誓。博文原话:

*The runtime, what you use right now, stays free. Apache-2.0. That's why I recently switched it from AGPL: I want everyone to use Herdr freely.*

商业化的边界画得清楚:运行时开源免费,公司建在运行时之上——多机协同(笔记本 + 跑长活的 VPS + 跑险代码的沙箱)、多客户端(TUI 之外)。作者的立场亦颇倔强:

*You know how every company releases their own agent these days? No, don't do that. Let my agent integrate with your product, don't offer me another agent.*

——不做智能体,只做智能体的地基。

4.2 一人军团与豪华访客

  • git shortlog:Ogulcan Celik 1,179 笔 + Can Celik 73 笔(同一人两个身份),贡献者长尾里有 72/66 笔的两个 bot(kangal-bot / akbash-bot,皆牧羊犬品种名——连 bot 都姓羊犬,趣味可见);
  • DHH(David Heinemeier Hansson)2026-08-09 起提交 9 笔:tab 居中、移动 tab 快捷键、pane 边框可配、窗口标题同步……皆是日常自用者的手感打磨。Rails 之父亲自下场提 PR,是比任何 star 数都硬的「用脚投票」;
  • 赞助已关门(SPONSORS.md 列名永志,金主 Terminal Trove),企业洽谈走 hey@herdr.dev。

4.3 插件生态:核心守瘦,外围任长

插件即「一个目录 + herdr-plugin.toml 清单 + 任意可执行命令」——Bash、JS、Lua、Rust 皆可,整个 herdr CLI 就是插件 SDK,无独立 SDK、无受限指令集。市场(marketplace)上线一个月,500+ 插件(独立媒体计 531),含 Raycast 扩展、Stream Deck 面板、社区 iOS 客户端——皆非作者手笔。

但须正视:插件无沙箱,以你的用户权限跑你的机器,官方文档直言「Treat a plugin like any extension you add to an editor」,安装前自行审清单与脚本(herdr plugin install 交互模式下先预览后确认)。这是「核心小、信任外移」的架构取舍,用者不可不察。


五、横向对比:runtime vs 多路复用器 vs 管理应用

官方 compare 页开宗明义:Apps manage the herd. Herdr runs it.——多数被拿来对比的工具是「应用」:开一个窗口管理智能体,窗口一关,工作悬于一线;herdr 是「运行时」:服务器在机器上握着真终端,一切 UI(含自家 TUI)都只是挂上去的客户端。

维度tmux / zellijcmux / Warp / Solo / Conductor 等herdr
物种终端多路复用器智能体管理应用(桌面/Web)运行时 + 客户端
懂智能体状态✗(只见进程)各自封装转述✓ blocked/working/done/idle/unknown
进程持久✓随窗口/应用存亡✓(服务器持有)
智能体互操作 API✗各家私有✓ socket API + agent skill
Windows✗(tmux)/部分视产品beta(捆绑 ConPTY)
鼠标键盘为主鼠标为主双一等公民(前缀键 + 点击拖拽)
代码去向本地视产品(多有云端)本地,无遥测无账号
许可BSD/MIT多为闭源Apache-2.0
与 tmux 的关系不妨一言蔽之:tmux 持久化终端,herdr 持久化「智能体的工作」并理解其状态。不用智能体时,herdr 亦是称职的通用多路复用器——智能体功能是加法,不是门槛。


六、诚实的边界

1. 看相术的脆弱性:screen manifest 是对上游 UI 的猫鼠追逐。Claude 换个转轮、Codex 挪个标题,herdr 就得跟一刀(changelog 可证)。远程 manifest 热更新是缓冲,但新 UI 初来乍到会被误判 idle——好在误判只影响显示与等待,不诱发危险动作。 2. 检测即信任面:远程 manifest 自 herdr.dev 下发,虽可关闭([update] manifest_check = false)、本地覆盖优先,且未发布版已加 SHA-256 校验,但「二进制之外还有规则源」这一事实,苛刻的安全审计场景须纳入考量。 3. Windows 未毕业:beta 二字非谦辞。changelog 密度可证投入之巨,亦可证欠账之多。步子哥的 Windows 主力机若要尝鲜,宜以「预览版心态」待之。 4. 多机协同尚在路上:笔记本 + VPS + 沙箱「该连起来」是 YC 公告里的愿景,今日仍靠 SSH 单机作战。 5. 插件无沙箱、tmux-in-pane 不解析、pane 历史默认关——皆是明示的取舍,非隐瞒的缺陷。 6. 单人项目 → 初创公司的过渡风险:核心团队尚未成形,商业化形态未落地;Apache-2.0 的公开承诺是当下最好的保险,但「YC 会不会改变算计」仍是社区正当的追问。


七、结论

herdr 押中的,是 2026 年多智能体时代的真实空隙:智能体越来越多,看管智能体的工具却没人做。它给出的答案朴素得近乎古典——不做智能体,做羊圈与牧人:

  • 对:一个 Rust 二进制,本地优先,无账号无遥测,Apache-2.0;
  • 硬:架构军规严明(状态/运行时分离、渲染纯函数、证据式检测),性能博客连「哪里不灵」都如实招供;
  • 准:五态语义 + socket API,把人从「逐屏巡视」中解放,把智能体从「孤岛」变成「可互相派活的邻居」;
  • 险:看相检测的长期维护税、Windows 欠账、多机愿景未兑现、初创转型未定。
四个月,28,337 星,38 万下载,DHH 亲自提 PR,YC 入场而许可不改——夫工具之兴,乘时也;其可信,在诚也。 herdr 的时运与诚意,目前都经得起细看。值得装来一试;若你整日与三五个智能体周旋,它多半就是你在找的那座瞭望塔。


附:资料来源(均 2026-08-13 核证)

一手(本地仓库 c:/github/herdr,HEAD 952729ee):

  • README.md / README.zh-CN.md、Cargo.toml、CHANGELOG.md(v0.1.0–0.8.0 全文)
  • AGENTS.md(架构军规)、skills/herdr/SKILL.md(agent skill 全文)
  • src/detect/manifests/claude.toml(检测规则实例);src 模块结构(detect / integration / api / server / remote / persist / app)
  • git 历史:首发提交、改许可提交 cd5ea1be、组织迁移、shortlog、DHH 提交
  • docs/next/website/src/content/docs/:concepts / agents / agent-automation / session-state / socket-api / plugins 六篇文档;docs/next/CHANGELOG.md(未发布条目)
  • website/src/pages/compare.astro(官方对比页)
GitHub API(实时):
  • api.github.com/repos/herdrdev/herdr:28,337 stars / 2,009 forks / 156 issues / Apache-2.0
  • releases 汇总:79 个 release,累计下载 380,624
官方站:
  • herdr.dev/blog/herdr-is-joining-y-combinator/(2026-08-06,YC 公告原文)
  • herdr.dev/blog/ten-agents-three-clients-95-percent-less-cpu/(2026-08-03,性能实录)
  • herdr.dev/blog/coding-agents-are-becoming-runtimes/(2026-06-10)
独立来源:
  • byteiota.com:YC 报道(25,976 星 / 363,843 下载之 08-06 时点数据、531 插件)
  • runtimewire.com:HN 推举复盘(07-08 时点 13.6k 星、作者背景 oddbit.ai)
  • dev.to 评测(andrew-ooo,一日实操)、chaseai.io 介绍、toutiao.com 中文综述
*注:星数与下载量随日增长,本报告数字以核证时点为准。*

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

✨
文本版 · 供搜索与朗读

herdr 深度研究

herdr 深度研究▊

the runtime your coding agents live on —— 编码智能体栖身的运行时

研究对象:herdrdev/herdr(本地克隆 c:/github/herdr)

研究时间:2026-08-13 | 一手仓库深读 + 多源交叉核证(官网 / 博客 / GitHub API / 独立媒体)

目录

〇、费曼视角 · 一句话讲清
一、它到底是什么(含事实校正)
二、架构鸟瞰(技术深拆)
三、工程实录:95% less CPU
四、开源、许可与 YC(最该细读)
五、横向对比:runtime vs 诸工具
六、诚实的边界
七、结论
附:资料来源

〇、费曼视角 · 一句话讲清

设想你牧着十只羊(十个编码智能体),散在十片草场(十个终端)。旧日做法是亲自逐片巡视:哪只在吃草、哪只掉进了坑(卡在权限询问上,等你拍板),全凭两条腿。

herdr 就是那位住在草场中央的牧人。羊群住进他的围栏(后台服务器),他替你盯着:working(在吃草)、blocked(掉坑了,喊你)、done(吃完了,等你验收)。你合上笔记本走人,羊一只不丢;回来时从任意终端「归队」即可。更有意思的是——牧人的哨子(socket API)羊自己也会吹:一只羊能给另一只羊开新草场、派活计、等它卡住再去搭手。羊管羊,人只管拍板。

一句话:tmux 是终端的客栈(留宿进程),herdr 是客栈加前台——既留宿,又懂状态,还给住客彼此通信的电话。

一、它到底是什么(侦察结论 + 事实校正)

1.1 基本档案

项内容

定位编码智能体的终端运行时(agent-native terminal multiplexer),官方中文自称「智能体复用器」

作者Can Celik(GitHub: Ogulcan Celik,土耳其,提交时区 +0300),单人开发起步

首发2026-03-27(v0.1.0,changelog 仅一行「Initial release」)

当前版本v0.8.0(2026-08-03);本地 HEAD 已领先 90 个提交(08-13)

实现单个 Rust 二进制,无 Electron。约 22.4 万行 Rust、245 个 .rs 文件;ratatui + crossterm + 自家补丁版 portable-pty

平台Linux / macOS 稳定;Windows 为 beta(捆绑应用级 ConPTY 运行时)

许可Apache-2.0(2026-07-22 由 AGPL-3.0-or-later 改许可,早于融资宣布)

融资Y Combinator F26 批次(2026-08-06 官宣),公开承诺运行时永保 Apache-2.0 免费开源

28,337GitHub stars

380,624release 累计下载

79发布版本

500+插件(市场上线一月)

20自动检测的智能体

数字来源:GitHub API + releases 汇总,2026-08-13 实测核证。

1.2 关键事实校正

常见说法核证结论

「herdr 是 tmux 的封装 / Rust 重写版」误。独立实现:自带终端模拟(VT 解析、Kitty graphics、滚动回溯),运行在你已有的终端里。它甚至可以跑在 tmux 里,但不解析 herdr 窗格内部的 tmux 会话。

「herdr 包装或替代编码智能体」恰恰相反。README 明言:herdr doesn't wrap or replace them; it owns their terminals. Claude Code、Codex 照旧是它们自己,herdr 只「拥有它们的终端」。

「AGPL 双许可,企业须买商业授权」过时。2026-07-22 提交 cd5ea1be 已改 Apache-2.0,且赶在 08-06 YC 公告之前——官方称此举正是为「让所有人自由使用,融资不改初心」。

「代码/会话经 herdr.dev 云端」无此架构。local-first:无账号、无遥测、无云同步,会话以纯 JSON 存于 ~/.config/herdr。与官网的联络仅限检测 manifest 热更新(可一行配置关闭)。

「Windows 已全平台支持」尚为 beta。0.8.0 起预览版捆绑 ConPTY;changelog 中 Windows 修复密度极高(Escape、Shift+Enter、命名管道……),补课之勤可见,尚未毕业亦可见。

「团队项目」至今主体仍是一人。git shortlog:Ogulcan Celik 1,179 提交 + Can Celik 73,其余为 bot 与社区贡献者;YC 公告才首次表态要组小团队。

1.3 时间线速览

时间事件

2026-03-27v0.1.0 首发(作者彼时还在找工作,自觉「我即瓶颈」,遂自建)

2026-06-10博客《Coding agents are becoming runtimes》:智能体 CLI 正在变成开发者基础设施

2026-07-02登上 Hacker News;7 月 8 日已达 13.6k 星

2026-07-22AGPL → Apache-2.0 改许可

2026-07-29仓库迁入 herdrdev 组织

2026-08-03v0.8.0 发布 + 性能博客《Ten agents, three clients, 95% less CPU》

2026-08-06官宣加入 YC F26

2026-08-09 起DHH(Rails 之父)开始提交代码:tab bar、窗口标题同步等 9 笔

二、架构鸟瞰(技术深拆)

2.1 第一性设计:服务器拥有终端,UI 只是访客

你的任意终端(WezTerm / iTerm2 / Kitty / Windows Terminal)
│ herdr(TUI 客户端,可随时 detach)
▼
┌─────────────────── herdr 后台服务器 ───────────────────┐
│ 拥有:PTY 进程 · 窗格状态 · 工作区布局 · 智能体身份 │
│ │
│ workspace(项目)→ tab(视图)→ pane(真终端) │
│ └─ 侧边栏状态逐级上卷:一羊 blocked,全场可见 │
│ │
│ 检测引擎:前台进程识别 → 每窗格唯一 status authority │
│ socket API:Unix socket / Windows 命名管道 │
└────────────────────────────────────────────────────────┘
▲ ▲ ▲
CLI 包装层 agent skill 原始 socket(JSON Schema 可导出)
(脚本/人) (智能体自用) (自建工具/事件订阅)

要点在「状态与运行时分离」:AppState 是纯数据(可脱离 PTY 单测),渲染是纯函数(render() 只读不写)。这是仓库 AGENTS.md 立的第一条军规,也是「客户端断了服务器照跑、机器重启布局与会话随快照归来」的根。

2.2 状态检测:herdr 的看家本领

五态语义——此乃 herdr 之于 tmux 的分水岭:

状态含义

blocked需要你拍板:权限批准、提问、决策

working正在干活

done干完了,你还没看(看过即转 idle;CLI 读取不算「看过」)

idle空闲待命

unknown在场但无法确信分类——不等于完成

判定机制,双轨并行:

Lifecycle hooks(官方集成已装者):Pi、OMP、Kimi、OpenCode、Kilo、MastraCode 等直接向 herdr 报告生命周期——「自报家门」。

Screen manifest(其余智能体):Claude Code、Codex、Cursor Agent CLI、Copilot、Devin、Grok、Qwen Code 等走「看相」——读取底部缓冲区实时快照(不是滚动视口),与 TOML 规则比对。

试看 src/detect/manifests/claude.toml 真迹(2026-08-12 版):

[[rules]]
id = "osc_title_working"
state = "working"
priority = 1100
region = "osc_title"
# Braille 覆盖 <= 2.1.227;半圆是 2.1.228 的忙碌转轮
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D1}] ']

[[rules]]
id = "live_blocked_form"
state = "blocked"
region = "after_last_horizontal_rule"
contains = ["esc to cancel"]
any = [ { contains = ["enter to confirm"] }, ... ]

规则之细令人莞尔:连 Claude Code 转轮符号从盲文点换成半圆(2.1.228)这类上游鸡毛蒜皮,都须 herdr 跟进打补丁——changelog 里满是这类猫鼠游戏(fix: detect claude 2.1.228 half-circle busy spinner)。三条军规值得记取:

每窗格只有一个 status authority,避免「两个真理源」打架;

blocked 判定故意保守:不认识的 UI 宁落 idle 不误报——误判只影响显示与等待,不诱发任何输入或破坏性动作;

manifest 可热更新:herdr.dev 远程下发规则补丁(免升级二进制),本地覆盖永远优先;调试有 herdr agent explain 逐条亮证据。

自动检测覆盖 20 员:Pi、OMP、Copilot CLI、Devin CLI、Kimi Code、Hermes、Qoder、Qwen Code、Droid、OpenCode、Kilo Code、MastraCode、Claude Code、Codex、Cursor Agent CLI、Amp、Grok CLI、Antigravity、Kiro、Maki;Gemini CLI 与 Cline 检测但测试稍浅。不支持的智能体照常当普通终端跑。

2.3 控制平面:人、脚本、智能体三层同源

层用途

CLIshell 脚本、人肉调试(pane split / agent prompt / agent wait)

agent skill智能体自用(herdr --skill 打印、随二进制捆绑;须 HERDR_ENV=1 方可动手)

原始 socket API自建工具、事件订阅;herdr api schema --json 导出完整 JSON Schema

智能体被注入 HERDR_WORKSPACE_ID / TAB_ID / PANE_ID 环境变量,由此「知道自己住哪间房」,可用 --current 精确操作自家窗格,不碰别人的焦点。智能体名字是别名,随占用者走——退出即释放,不留僵尸身份。

一份典型「羊管羊」脚本(官方 agent-automation 文档):

split=$(herdr pane split --current --direction right --no-focus)
review_pane=$(printf '%s\n' "$split" | jq -r '.result.pane.pane_id')
herdr agent start reviewer --kind codex --pane "$review_pane"
herdr agent prompt reviewer "Review the current diff" --wait --timeout 120000
herdr agent read reviewer --source recent-unwrapped --lines 120

agent prompt --wait 有防呆设计:提交后 5 秒内观察不到生命周期变化即返回 agent_prompt_stalled,绝不傻等——被真实事故喂出来的细节。

2.4 持久化分四档,强弱分明

情形进程存活布局归来屏幕内容智能体会话续接

detach / reattach✓✓✓(活终端)✓(进程未停)

服务器重启✗✓仅 pane 历史(默认关)靠原生 resume

更新(无 handoff)视情况✓同上同上

update --handoff(实验)尽力保活✓✓✓

原生 resume 已覆盖 17 家(Claude --resume、Codex resume、Grok、Cursor、Devin、Kimi、Qwen、OpenCode、Kilo……),集成版本号逐一登记在案。pane 历史回放默认关闭,官方理由很直白:终端输出里可能有密钥与 token——把会话目录当终端历史一样看管。这份隐私自觉,值得点赞。

三、工程实录:95% less CPU

v0.8.0 配套的性能博客,是本研究读到的最诚实的工程写作之一——不吹「快了多少倍」,而是逐条交代「省掉的是哪一次渲染」:三刀砍向「无谓渲染」,总 CPU 降 89–95%,客户端越多省越多。

删转轮:侧边栏每个 working 智能体原先各顶一个 8fps 动画转轮——20 个智能体就是 20 个东西一起转,说的都是同一句「我活着」,却没人指出谁需要你。改为静态色点后,定时器、动画帧、逐客户端序列化全部蒸发。设计决策在先,CPU 节省只是副产品——此语大可玩味。

隐藏窗格的输出不触发渲染:渲染请求从此携带来源窗格身份;后台 tab 里写日志的 agent,不再让三个客户端各画一帧给它看。字节照旧解析(切回去时屏幕是新的),只是不画。

鼠标移动不重绘:每秒 60 个移动事件,原先触发 60 次「画同一幅画」。现在只在全局菜单等真正响应悬停的模式下才重绘。

实测数字(服务器 + 全部客户端总 CPU):

场景0.7.50.8.0

1 个静默 working 窗格(Linux)1.467%0.133%

10 窗格 9 隐藏写入 × 3 客户端(Linux)13.014%0.617%

被动鼠标移动 60Hz(Linux)9.450%0.667%

隐藏输出场景(macOS)22.958%1.673%

博客主动交代「哪里不灵」:50 窗格 49 个狂写时,瓶颈回到 PTY 读取与终端解析本身,仅省 23.6%——优化针对无谓渲染,不冒充终端仿真的魔法。每个 CPU 数字都配机制计数器(调度帧数、跳过次数、鼠标包精确计数 1,680/1,680):「裸 CPU 数字可以有十种解释,配了机制计数器的数字就很难辩驳」。

仓库军规(AGENTS.md)同样值得抄送所有 Rust 项目:状态与运行时分离、渲染纯函数、禁 god object、平台代码隔离、检测器只读快照不碰解析器,以及「乘法性能路径」——凡渲染/解析/检测路径上的新工作,先报「频率 × 基数」(每字节 × 窗格数 × 客户端数),再谈实现。

四、开源、许可与 YC(最该细读)

4.1 改许可的时间点,是态度

2026-07-22 改 Apache-2.0,两周后(08-06)才官宣 YC F26。顺序很重要:若是拿了钱再改,可解读为「为融资清障」;先改再融,则近乎公开宣誓。博文原话:

The runtime, what you use right now, stays free. Apache-2.0. That's why I recently switched it from AGPL: I want everyone to use Herdr freely.

商业化的边界画得清楚:运行时开源免费,公司建在运行时之上——多机协同(笔记本 + 跑长活的 VPS + 跑险代码的沙箱)、多客户端(TUI 之外)。作者的立场亦颇倔强:

You know how every company releases their own agent these days? No, don't do that. Let my agent integrate with your product, don't offer me another agent.

——不做智能体,只做智能体的地基。

4.2 一人军团与豪华访客

git shortlog:Ogulcan Celik 1,179 笔 + Can Celik 73 笔(同一人两个身份),贡献者长尾里还有两个 bot(kangal-bot / akbash-bot,皆牧羊犬品种名——连 bot 都姓羊犬,趣味可见);

DHH(David Heinemeier Hansson)2026-08-09 起提交 9 笔:tab 居中、移动 tab 快捷键、pane 边框可配、窗口标题同步……皆是日常自用者的手感打磨。Rails 之父亲自下场提 PR,是比任何 star 数都硬的「用脚投票」;

赞助已关门(SPONSORS.md 列名永志,金主 Terminal Trove),企业洽谈走 hey@herdr.dev。

4.3 插件生态:核心守瘦,外围任长

插件即「一个目录 + herdr-plugin.toml 清单 + 任意可执行命令」——Bash、JS、Lua、Rust 皆可,整个 herdr CLI 就是插件 SDK,无独立 SDK、无受限指令集。市场上线一个月 500+ 插件(独立媒体计 531),含 Raycast 扩展、Stream Deck 面板、社区 iOS 客户端——皆非作者手笔。

须正视:插件无沙箱。以你的用户权限跑你的机器,官方文档直言「Treat a plugin like any extension you add to an editor」,安装前自行审清单与脚本(交互模式下先预览后确认)。这是「核心小、信任外移」的架构取舍,用者不可不察。

五、横向对比:runtime vs 诸工具

官方 compare 页开宗明义:Apps manage the herd. Herdr runs it.——多数被拿来对比的工具是「应用」:开一个窗口管理智能体,窗口一关,工作悬于一线;herdr 是「运行时」:服务器在机器上握着真终端,一切 UI(含自家 TUI)都只是挂上去的客户端。

维度tmux / zellijcmux / Warp / Solo / Conductor 等herdr

物种终端多路复用器智能体管理应用(桌面/Web)运行时 + 客户端

懂智能体状态✗(只见进程)各自封装转述✓ 五态语义

进程持久✓随窗口/应用存亡✓(服务器持有)

智能体互操作 API✗各家私有✓ socket API + agent skill

Windows✗(tmux)/部分视产品beta(捆绑 ConPTY)

鼠标键盘为主鼠标为主双一等公民

代码去向本地视产品(多有云端)本地,无遥测无账号

许可BSD/MIT多为闭源Apache-2.0

与 tmux 的关系一言蔽之:tmux 持久化终端,herdr 持久化「智能体的工作」并理解其状态。不用智能体时,herdr 亦是称职的通用多路复用器——智能体功能是加法,不是门槛。

六、诚实的边界

看相术的脆弱性:screen manifest 是对上游 UI 的猫鼠追逐。Claude 换个转轮、Codex 挪个标题,herdr 就得跟一刀。远程 manifest 热更新是缓冲,但新 UI 初来乍到会被误判 idle——好在误判只影响显示与等待,不诱发危险动作。

检测即信任面:远程 manifest 自 herdr.dev 下发,虽可关闭、本地覆盖优先、未发布版已加 SHA-256 校验,但「二进制之外还有规则源」这一事实,苛刻的安全审计场景须纳入考量。

Windows 未毕业:beta 二字非谦辞。changelog 密度可证投入之巨,亦可证欠账之多。Windows 主力机若要尝鲜,宜以「预览版心态」待之。

多机协同尚在路上:笔记本 + VPS + 沙箱「该连起来」是 YC 公告里的愿景,今日仍靠 SSH 单机作战。

插件无沙箱、tmux-in-pane 不解析、pane 历史默认关——皆是明示的取舍,非隐瞒的缺陷。

单人项目 → 初创公司的过渡风险:核心团队尚未成形,商业化形态未落地;Apache-2.0 的公开承诺是当下最好的保险,但「YC 会不会改变算计」仍是社区正当的追问。

七、结论

herdr 押中的,是 2026 年多智能体时代的真实空隙:智能体越来越多,看管智能体的工具却没人做。它给出的答案朴素得近乎古典——不做智能体,做羊圈与牧人:

对:一个 Rust 二进制,本地优先,无账号无遥测,Apache-2.0;

硬:架构军规严明(状态/运行时分离、渲染纯函数、证据式检测),性能博客连「哪里不灵」都如实招供;

准:五态语义 + socket API,把人从「逐屏巡视」中解放,把智能体从「孤岛」变成「可互相派活的邻居」;

险:看相检测的长期维护税、Windows 欠账、多机愿景未兑现、初创转型未定。

四个月,28,337 星,38 万下载,DHH 亲自提 PR,YC 入场而许可不改——夫工具之兴,乘时也;其可信,在诚也。 herdr 的时运与诚意,目前都经得起细看。值得装来一试;若你整日与三五个智能体周旋,它多半就是你在找的那座瞭望塔。

附:资料来源(均 2026-08-13 核证)

一手(本地仓库 c:/github/herdr,HEAD 952729ee)

README.md / README.zh-CN.md · Cargo.toml · CHANGELOG.md(v0.1.0–0.8.0 全文)· AGENTS.md(架构军规)· skills/herdr/SKILL.md(agent skill 全文)· src/detect/manifests/claude.toml(检测规则实例)· src 模块结构(detect / integration / api / server / remote / persist / app)· git 历史(首发提交、改许可 cd5ea1be、组织迁移、shortlog、DHH 提交)· docs/next 六篇文档与未发布 changelog · website/src/pages/compare.astro

GitHub API(实时)

api.github.com/repos/herdrdev/herdr → 28,337 stars / 2,009 forks / 156 issues / Apache-2.0;releases 汇总 → 79 个 release、累计下载 380,624

官方站

herdr.dev/blog/herdr-is-joining-y-combinator/(2026-08-06,YC 公告原文)· herdr.dev/blog/ten-agents-three-clients-95-percent-less-cpu/(2026-08-03,性能实录)· herdr.dev/blog/coding-agents-are-becoming-runtimes/(2026-06-10)

独立来源

byteiota.com YC 报道(08-06 时点 25,976 星 / 363,843 下载、531 插件)· runtimewire.com HN 复盘(07-08 时点 13.6k 星、作者背景 oddbit.ai)· dev.to 一日实操评测 · chaseai.io 介绍 · toutiao.com 中文综述

注:星数与下载量随日增长,本报告数字以核证时点为准。

herdr 深度研究 · 2026-08-13 · 千寻综研 · 文白相间,术语必释

👍 1❤️ 1
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens