Terminal 不只是偏好,而是可迁移的 agent control surface
00:05:45–00:10:55Insight
- terminal workflow 的初期 learning curve 会造成短期 productivity loss,但 keyboard-first 操作帮助维持 flow。
- 与传统 tmux/Zellij 只理解 panes 不同,Herder 显式展示 agent session 和等待状态。
- 跨设备访问的价值来自 session continuity,而不是单纯追求复古工具。
I just have a frameless terminal window here. Uh this is using uh western. I I like western because it's really highly customizable. I can just like change everything about it. Uh what I have here is a herder session. Herder is kind of like a modern version of T-Max. I was using T-Max for like over 10 years and only recently discovered Herder and I just really like it. It's a more modern take how you manage multiple sessions in your terminal window. 我这里是一个无边框 terminal window,用的是 WezTerm。我喜欢 WezTerm,因为它高度可定制,几乎什么都能改。这里运行的是一个 Herder session。 Herder 有点像现代版 tmux。我用了十多年 tmux,直到最近才发现 Herder,非常喜欢。它用更现代的方式管理 terminal window 中的多个 sessions。
This is running on my Mac Mini and I can connect to this same session from my phone. Um, so I I can take my phone, I do a SSH connection, I can get this exact same terminal window and that's a good thing about Herder uh which is that it understands what agents are. In order to get more work done, people have to manage multiple uh parallel agent sessions. Yeah. Right. Because one agent uh can take a while to get work done. Uh so people start to spin up more sessions 它运行在… …我的 Mac Mini 上,我也能从手机连接到同一个 session。拿出手机,通过 SSH connection,就能看到完全相同的 terminal window。 Herder 的一个优点是,它理解 agents 是什么。为了完成更多工作,人们必须管理多个 parallel agent sessions,因为一个 agent 完成任务可能需要一段时间,于是大家会启动更多 sessions。
主持人 and sometimes I see people have like 20 30 sessions but then I kind of like uh was going crazy because uh 20 sessions you have to keep that in your head right. Exactly. Yeah. So that pain caused me to develop first mate because I I I just don't think that's going to be the end game. Like I don't want to spend all day just juggling between the tabs right and remembering what was what. 我有时会看到别人同时开 20、30 个 sessions,但这快把我逼疯了,因为你必须把 20 个 session 全记在脑子里。主持人:没错。 Kun:这个痛点促使我开发 FirstMate,因为我不认为这会是最终形态。我不想整天在 tabs 之间来回切换、记住每个 tab 是什么。
I developed first mate because I think uh the agents as they become more capable should be able to juggle all those things for me and I started experimenting with this setup since a few months ago and it actually works. Uh so now this is like the only agent I talk to most of the time. Right. Kun so you were elite engineer at some elite companies like Meta, Microsoft, Atlasian. What does your current AI coding setup look like? 我开发 FirstMate,是因为随着 agents 变得更强,它们应该能替我协调这一切。我几个月前开始试验这套 setup,结果真的可行。现在多数时候,它是我唯一直接交谈的 agent。主持人:Kun,你曾在 Meta、Microsoft、Atlassian 等一流公司担任高级工程师。你现在的 AI coding setup 是什么样?
I have been using AI uh to pretty much like write everything I want to build. I very rarely would manually write any code now. And when did that change by the way? I think it was a gradual process. Kun:我已经用 AI 编写几乎所有想构建的东西。现在我极少手写 code。主持人:这个变化是什么时候发生的? Kun:我认为是一个渐进过程。
Uh so initially I think 3 years ago we had uh GitHub copilot right code completion. uh and we started with just like taking uh the code suggestions one line after uh another and then it evolved it uh started to give us like multiple lines a whole function at a time right and then I think uh like one inflection point that changed that status quo was when sonnet 3.5 v2 was introduced that was a gamechanging moment uh so that was the first time I think an agent can take a task and start to do things for us right and come back with like a complete set of results So I started working with agents around that time. 大约三年前,我们有 GitHub Copilot,也就是 code completion。一开始只是逐行接受 code suggestion,后来它能一次给出多行,甚至整段 function。我认为其中一个 inflection point… …是 Sonnet 3.5 v2 发布。那是改变游戏规则的时刻,也是我第一次认为 agent 可以接下一个 task,替我们采取行动,最后带着完整结果回来。我从那时开始与 agents 合作。
It was also very interesting because I was working at Atlassian at the time and my job was to develop coding agents. So I played with the model a lot. I tried various kind of models uh starting from GPT 3.5 it was just not working asking it to edit a file. It's already a lot of trouble. GP4 was a little bit better but still not quite there. It was really solid 3.5 V2 that's really changed the game. So that was another I think inflection point. 有趣的是,我当时正好在 Atlassian,工作就是开发 coding agents,所以大量试用 models。我从 GPT-3.5 开始尝试各种 models。那时让它编辑一个 file 都非常困难。 GPT-4 好一点,但仍然不到位。真正改变局面的是 Sonnet 3.5 v2。这是又一个 inflection point。过去三年里的几个转折点极大改变了我的 workflow。
A few of these inflection points really like changed my workflow a lot through the past three years. So, can you screen share and show us your current setup? Yeah. Yeah, sure. David, are you a terminal person or a GUI? I'm actually both. Like literally, there's there's weeks where I'm only using the terminal like CMAX. And there's weeks where I'm like either the Codex app or the cursor agents window. So, I'm a hybrid. Okay, cool, cool, cool. I'm more on the terminal side. 主持人:可以 screen share,给我们看看当前 setup 吗? Kun:当然。 David,你更喜欢 terminal 还是 GUI?主持人:两者都会。有些星期只用 terminal,比如 cmux;有些星期主要用 Codex app 或 Cursor agents window,所以我是 hybrid。
So, I try to use the terminal as my primary uh development experience. I have just built so much muscle memory with it. Uh I have been using my setup for like over two decades writing codes in terminal. I I think the habit it creates for me is just to have my hands on the keyboards pretty much at all times. What would you tell to people who like are afraid of the terminal? You know, maybe there were not developers, they're not that technical. What would you say to those? Kun:很好。我更偏 terminal,把它当作主要 development experience,因为已经形成了大量 muscle memory。我在 terminal 里写 code 已超过二十年。它养成的习惯是让双手几乎始终放在 keyboard 上。主持人:对于害怕 terminal 的人,你会说什么?他们也许不是 developer,技术背景没那么强。
there is a learning curve initially to get used to a different kind of workflow uh where you are using your keyboard to control like all the movements and everything uh in the terminal. Kun:一开始确实有 learning curve,需要适应一种用 keyboard 控制 terminal 内所有移动和操作的不同 workflow。
So initially I think you will feel there is like a productivity loss uh because you are not comfortable and you are uh just you're not sure how to get everything done right so there is the initial phase but once you get past that it keeps you in the flow because you can just have your hands on the keyboard like control everything from here uh using keyboard shortcuts and everything your thoughts uh is like the only thing that's flowing awesome so walk us through it we have pi agent here what's happening the bottleneck isn't coding anymore. 最初你会… …感到 productivity loss,因为还不舒服,也不确定怎样完成所有操作。但跨过这个阶段后,它会让你保持 flow:双手一直留在 keyboard 上,用 shortcuts 控制一切,只有思路本身在流动。主持人:太好了,请带我们看看。这里有 Pi agent,发生了什么?旁白广告:现在 bottleneck 已经不是 coding,而是 review 数千行 AI 写出的 code,确保不会发布 slop。
The bottleneck is reviewing thousands of lines of AI written code to make sure you're not shipping slop. And a lot of you already use cloth code, cursor, or codeex to write code. But what you don't have yet is something that reviews your code as carefully as a human would. That is what code rabbit is. And code rabbit doesn't just take one look at your code through an LLM. Instead, you connect code rabbit to your repo and it understands your entire codebase. 很多人已经用 Claude Code、Cursor 或 Codex 写 code,但缺少像人一样仔细 review 的工具,这就是 CodeRabbit。 CodeRabbit 不只是让一个 LLM 看一次 code;连接 repo 后… …它会理解整个 codebase,提取 Linear issues 和 documentation 等外部 context,并运行 40 多种 linters 与 security scanners。
It pulls in external context like link issues and documentation. And on top of that, it runs 40 plus different llinters and security scanners. Then it surfaces it in one digestible format so you can act on it. And the feedback Code Radbit gives you isn't just add more tests. It's clear, specific, and actionable. It shows you what changed, why it matters, and how to fix it. 然后把结果汇总成可消化格式,方便采取行动。 CodeRabbit 不会只说“多加测试”,而会给出清晰、具体、可执行的 feedback,解释改了什么、为什么重要、怎样修复。发现 bug 时,还有 Fix with AI 按钮可一键解决。
And when it finds something like a bug, there's a easy fix with AI button that solves the issue with one click. And what's nice about Code Rabbit is that it meets you where you already work. Whether that is during PR review, in your IDE, in the CLI, in Slack or Discord, so you can review where is the most convenient for you. And it's not a static checklist either. Give it feedback once in plain English, and it remembers your standards and preferences every review after that. CodeRabbit 还能在你原本的工作场所提供帮助,无论是 PR review、IDE、CLI、Slack 还是 Discord。它也不是静态 checklist;只需用自然语言反馈一次,之后每次 review 都会记住你的 standards 和 preferences。
Even today, Code Rabbit is already reviewing over 3 million unique pull requests every single week, which makes it the most installed AI app on both GitHub and GitLab. And if you're building a public open source repository, Code Rabbit is free forever. All of us are shipping more code than ever before and it has never been more important to understand and review your pull requests properly. That is what code rabbit solves. 目前 CodeRabbit 每周已 review 超过 300 万个独立 pull requests,是 GitHub 和 GitLab 上安装量最高的 AI app。如果构建 public open source repository,CodeRabbit 永久免费。大家发布的 code 比过去任何时候都多,正确理解和 review pull request 也从未如此重要,这正是 CodeRabbit 解决的问题。
If you want to try code rabbit yourself, it's going to be the first link in the description. I just have a frameless terminal window here. Uh this is using uh western. I I like western because it's really highly customizable. I can just like change everything about it. Uh and here I made it frameless. So there is no window border, there is no nothing like it's just a pure terminal window and with like background blur and everything. I like it to um to look good. 想试用可点击 description 第一条链接。 Kun:我这里只有一个无边框 terminal window,用的是 WezTerm。我喜欢它,因为高度可定制,几乎什么都能改。我把它做成无边框:没有 window border,什么都没有,只有纯 terminal window,再加 background blur 等。
Um so when I work I I can look at a pleasing experience. Uh what I have here is a Herder session. Herder is kind of like a modern version of T-Max. I was using T-Max for like over 10 years and only recently discovered Herder and I just really like it. It's a more modern take how you manage multiple sessions in your terminal window. So have you tried like Cmax and what's the difference between like CMAX and Herder? Yeah, so Herder is even more in the terminal, right? 我希望它看起来舒服,让工作时拥有愉悦体验。这里运行的是 Herder session。 Herder 类似现代版 tmux。我用了十多年 tmux,最近才发现 Herder,非常喜欢。它以更现代方式… …管理 terminal window 里的多个 sessions。主持人:你用过 cmux 吗?它与 Herder 有何不同? Kun:Herder 更彻底地位于 terminal 内。
CMAX has a GUI frame and uh within the frame there's like some PES that are terminals, right? But Herder is like entirely in the terminal. So the good thing about this is like this terminal window is just a program running, right? This is running on my Mac Mini and I can connect to this same session from my phone. Um, so I I can take my phone, I do a SSH connection, I can get this exact same terminal window. So everything stays the same. cmux 有 GUI frame,里面是一些 terminal panes;Herder 则完全处于 terminal。好处是,这个 terminal window 本质上只是一个运行中的 program。它运行在 Mac Mini 上,我也能连接到同一个 session。
With other GUI applications, it's harder, right? Um, because you can't quite just like remove desktop. Uh, and that's not going to be a good experience either. So this is like the main difference for me. I see. Real quick, if you want to implement Coon's entire setup for yourself, it's going to be available in the second link below the video completely for free. This includes his first mate setup herder westerm and everything else uses to actually build with AI agents. 我可以拿出手机,通过 SSH connection 获得完全相同的 terminal window,一切状态都不变。其他 GUI application 就困难得多,因为不太可能直接 remote desktop,而且体验也不好。这是对我来说最主要的差异。主持人:如果想完整复刻 Kun 的 setup,视频下方第二条链接免费提供,包括 FirstMate、Herder、WezTerm,以及他用 AI agents 构建产品的其他全部工具。
Again, grab it completely for free. Second link below the video. So here I have a herder uh session running and this in this herder session you can see on the top left there are spaces and I'll talk about that in a bit. It's basically like workspaces in her. You can use that to organize your work your different projects and uh etc etc. And on the bottom left there's agents. And that's a good thing about Herder uh which is that it understands what agents are. 再次说明,完全免费,链接在 description 第二项。 Kun:这里运行着一个 Herder session。左上方可以看到 spaces,稍后会讲,它们基本类似 Herder 中的 workspaces,用于组织不同 projects 等。左下方则是 agents。 Herder 的优点在于…
The previous like terminal multiplexers uh like T-Mox and uh Zelage they don't quite understand agents right they understand your terminal windows your tabs and uh PES they don't know what a session uh what agents are but Herder knows that I have a PI agent working here. The working status basically tells me that I don't need to like look at it. uh it's still working. It's not waiting on me. Uh so that's a very useful thing. …它理解 agents。以往的 terminal multiplexers,比如 tmux 和 Zellij,只理解 terminal windows、tabs 和 panes,并不知道 agent session 是什么。 Herder 则知道这里有一个 Pi agent 正在工作。 working status 告诉我无需查看它,因为它仍在运行,没有等待我。
Yeah, in this herder um I use herder to organize my agents and allow me to navigate across all the sessions I'm working on. Uh so that's the the thing I uh like about it. But most of the time I only work on one session which is this first mate. So this is a workflow that uh that was developed like maybe since a few months ago uh when I realized that I'm managing so many sessions all the time. 这非常有用。我用 Herder 组织 agents,并在所有工作 sessions 之间导航,这是我喜欢它的地方。但多数时间我只待在一个 session,也就是 FirstMate。这套 workflow 是几个月前开始形成的,当时我意识到自己一直在管理太多 sessions。
Similarly, I think uh when people use CMOX and other uh kind of orchestration uh apps, in order to get more work done, people have to manage multiple uh parallel agent sessions. Yeah. Right. Because one agent uh can take a while to get work done. Uh so people start to spin up more sessions and sometimes I see people have like 20 20 30 sessions. 同样,使用 cmux 等 orchestration apps 时,为完成更多工作,人们必须管理多个 parallel agent sessions。因为一个 agent 可能要很久才能完成,大家会开启更多 session,有人甚至同时开 20、30 个。
But then I kind of like uh was going crazy because yeah 20 sessions you have to keep that in your head right you need to remember oh what is this session what is it doing yeah so that pain caused me to develop first mate because I I I just don't think that's going to be the end game like I don't want to spend all day just juggling between the tabs right and remembering what was what I develop first mate because I think uh the agents as they become more capable should be able to juggle all those things for me. 但这快把我逼疯了。 20 个 session 都得记在脑中:这个 session 是什么,在做什么?这个痛点促使我开发 FirstMate。我不认为整天切 tabs、记住每个 tab 是什么会是最终形态。随着 agents 更 capable,它们应该能替我协调这些事情。我从几个月前开始试验这套 setup,结果真的可行。
And I started experimenting with this setup since a few months ago and it actually works. Uh so now this is like the only agent I talk to most of the time. Uh I just talk to first mates and let first mate manage all the other sessions for me. So I can maybe like walk through some examples here. Um so this is already hap something is already happening, right? It's doing some work. It's telling me no actions needed. 现在多数时间,我唯一直接交谈的 agent 就是 FirstMate,由它管理其他 sessions。我可以展示几个例子。这里已经有事情在进行,它告诉我“无需采取行动”。现在我想到一项之前开始的工作。我直接问:“Apple 是否已经批准这个 app 的 review?
Um and now I'm wondering about some some work that was uh happening a while ago. So I can just ask, hey, did Apple approve our app review for this app? So that's an iOS app uh I I was building and I submitted for app store uh review and um I'm not sure whether that's approved. So I can just check uh with first mate and first mate is not going to do that by itself. It's going to delegate the task to another um crewmate. ”那是我构建并提交 App Store review 的 iOS app,不确定是否批准,所以可以让 FirstMate 检查。 FirstMate 不会自己做,而是把 task 委派给另一个 crewmate。原因是如果 FirstMate 自己处理,就会变忙。
The reason is that if first mate does this for me, then first mate will get busy, right? And I cannot uh talk to first mate again. So now you can see uh captain I'm checking this now it's asked another crew mate to check it for me. The benefit is that I can talk to first mate now uh without it's like blocking on something else right I can just ask for something else. Uh I remember there are some good PRs uh sitting on me uh for review in treehouse. Can you check? 那样我就暂时无法继续与它交谈。现在可以看到它说:“Captain,我正在检查。 ”它已经让另一个 crewmate 去查。好处是我仍可继续与 FirstMate 对话,不会被其他任务 block。我还能问:“我记得 Treehouse 里有些不错的 PR 等我 review,可以检查一下吗? ”