【随时随地想工作?】herdr+异地组网 支撑Agent时代的无缝工作流
你在做项目的时候,是不是也遇到过这些问题?
- 每次都开一堆终端,写代码的、跑服务的、看日志的,窗口顺序一乱,就得挨个点开找。
- 远程连接的窗口关了,里面的终端和 Agent 也跟着断了。再连上去,又要找目录、启动 Agent、找回之前的对话。
- 在一台电脑上开的终端,换到另一台电脑就接不上,还得重新打开一遍。
- 想同时用几个模型、让多个 Agent 分工,结果自己先忙着在窗口之间来回切。
- 服务器放在家里或者办公室,没有公网 IP,出了局域网就不知道怎么连。
- 手边没有电脑,只有手机,想看看任务跑到哪了,或者补一句要求,也不方便。
单独看,每个问题都能找到办法。放到一起,就会发现:光能远程连接还不够,终端得留得住,任务得找得到,换设备以后还得接得上。
你可能已经想到 tmux 了。确实,会话保持和多终端管理,它早就能做。这里我想分享的是另一套组合:herdr + Tailscale + Termius,需要远程桌面时再用 ToDesk。重点聊这些工具怎么配合,以及用它们可以怎样安排工作。
先让任务有个固定的地方
这套方法里,代码、环境和 Agent 都放在服务器上。家里的一台主机、办公室的工作站,或者云服务器都可以,前提是它能保持在线。
这样一来,电脑和手机只负责连接、查看和输入。换设备时,项目还在原来的目录,Agent 还在原来的终端里,不用在每台设备上重新准备一套环境。
flowchart LR
PC["电脑 / 笔记本"] --> T["Termius"]
MOBILE["手机 / 平板"] --> T
T --> N["局域网 / Tailscale"]
N --> H["服务器上的 herdr"]
H --> W["项目、Agent、服务与日志"]
herdr 管终端和任务,Tailscale 解决不同网络之间的连接,Termius 用来登录服务器。下面分别说说。
herdr:终端多了,也能找得到,Agent时代的Tmux
一个项目里往往就有好几个终端:Agent 在改代码,旁边跑着服务,还要留一个窗口看日志。再多开两个项目,桌面很快就乱了。
herdr 可以把这些终端放在一个界面里,按工作空间、标签页和窗格整理。比如一个项目放一个工作空间,里面再放 Agent、测试和日志。切换项目的时候,相关终端也都在一起。

Termius 里运行的 herdr,当前标签页显示 GPU 状态。
看这张图,顶部有 Dify、vLLM、nvidia-smi、nvtop,左侧列着工作空间和 Agent。模型服务、应用和机器监控都可以放进来,不必为每件事单独开一个窗口。
相比只看终端标题,Agent 状态也很有用:哪些还在执行,哪些需要输入,可以先看列表,再点进对应终端。状态识别取决于 Agent 的支持情况,任务到底完成得怎么样,还是得看输出和代码。
另一个关键点是会话保持。客户端断开以后,只要服务器上的 herdr 后台会话还在,任务就可以继续。重新连接时,接回原来的会话即可。服务器关机或重启就不同了,原进程会停止,之后的布局或对话恢复不能当作任务一直在跑。
tmux 也能保留会话。herdr 值得尝试的地方,是把项目组织和 Agent 状态放在了同一处。终端里同时跑的事情越多,这个区别越容易感受到。
Tailscale:出了局域网,还能连回去
在家里连服务器,一般用局域网地址就行。到了外面,手机连的是移动网络,笔记本连的是另一处 Wi-Fi,原来的局域网地址通常就访问不到了。
Tailscale 用来做异地组网。服务器、电脑、手机加入同一个私有网络之后,就可以通过分配的地址互相连接,通常不用专门申请公网 IP,也不用在路由器上做端口映射。
它会尝试直连,连不通时可以通过中继,所以实际速度还是要看网络。对这篇文章里的工作流来说,先能从外面连回服务器,就解决了很大一部分麻烦。
接下来用 SSH 登录,进入服务器上的 herdr。换了网络,接入的仍然是那台机器上的终端和任务。
Termius:电脑和手机用同一个连接工具
Termius 是 SSH 客户端,电脑和移动端都有。把常用服务器保存下来,需要时选一个连接即可。

桌面端 Termius 的主机列表,可以保存连接,也可以按组整理。
有多台机器时,这样的列表比临时翻地址方便。先在 Termius 里选机器,再到 herdr 里选项目和任务,找起来也比较顺。
这里的跨设备接续,主要靠服务器上的会话。即使在电脑和手机上分别保存连接,只要登录的是同一台机器、同一个账户下的同一个会话,也能回到原来的任务。Termius 的配置同步是额外的便利。
手机能做什么?随时随地工作!
有时候你在挤地铁或者不方便拿出来电脑,又不想刷视频,怎么办?我的答案是:远程连上服务器开始干活!
手机上写长段代码不太舒服,但很多时候,我们只想知道 Agent 有没有卡住,或者它是不是在等一个回答。
比如它给出了两个方案,等你选;跑完一轮测试,想确认结果;做到一半,你想补一句“先别改接口,保持兼容”。这些都可以通过手机上的 Termius 处理。

手机横屏接入 herd
这张图里,左侧能看到 Codex、OpenCode 和相关任务,右侧就是终端输出。横屏能多显示一些内容,特殊键工具栏也能补上手机键盘缺少的按键。
可以在电脑上启动任务,出门以后用手机看一眼、补充要求,回到电脑前再检查改动。任务执行的这段时间,不必一直守着原来的电脑。
当然,手机适合短操作。要对照多个文件、仔细审查代码,还是电脑方便。手机应用切到后台后,连接也可能暂停,需要时重新连上,查看远端任务就好。
要操作桌面,就用 ToDesk
有些事情还是得看图形界面:打开浏览器检查页面,查看可视化结果,或者操作桌面编辑器。
这时可以用 ToDesk 连接有桌面环境的机器。被控端需要安装并运行 ToDesk,它有自己的远程连接方式。平时通过 Termius 管终端,遇到桌面操作再切过去,两种方式搭配使用。这个方法就很大众了,作为Todesk深度充值用户,在这里提一嘴。
为什么我不推荐用Todesk开终端呢?你们自己用用就知道了,难用的一。
多个 Agent,也可以放在一起安排
最初的问题里,还有多模型和多 Agent 的协作。
终端整理好以后,可以让不同 Agent 承担实现、检查和验证,再通过 herdr 看它们的状态。手机截图里就有启动另一个 Agent 的输出,这类操作也可以进一步接进脚本或任务编排。
不过,开了多个 Agent,还得考虑它们各自做什么。尤其是同时修改同一个项目时,最好划清范围,使用独立分支或工作目录,免得互相覆盖。模型选择和任务分配,也仍然由各 Agent 的配置及你的安排决定。
我自己写了一个论文研究用的 skill:human-in-the-loop-paper,就是一个具体例子。
它把计划、论文和代码分别放在 plan、latex、code 三个仓库里。先和主 Agent 商量任务、拆好阶段,再通过 herdr 启动子 Agent:有的负责论文写作,有的负责代码实现,另一个独立审查结果。审查发现问题,就让原来的实现 Agent 继续改,再重新审查。
比如论文里需要补一个实验,就可以把实验代码、结果检查和论文修改放进同一项任务,按依赖逐阶段推进。每个阶段做完,由人确认是否接受、是否继续;提交和推送也要经过批准。计划里会记下进度,几个仓库的改动通过同一个任务 ID 关联,方便之后回头看。
这也和前面的跨设备接入搭得上:子 Agent 在服务器上执行,你可以换台电脑,或者用手机看看输出、回复需要确认的问题。比较复杂的结果,还是回到电脑前仔细检查。
如果你也在做论文和实验,经常要在计划、代码、LaTeX 之间来回切,可以试试这个 skill。论文写作、编码和审查用什么模型都可以自己配置。我的想法是先把分工、审查和人工确认约定好,再让多个 Agent 按这个约定做事。
这套组合给我的思路很简单:终端和任务留在服务器上,设备根据需要换。电脑做完整的开发,手机处理临时的查看和回复,需要桌面时用 ToDesk。
至于“随时随地想工作”,也不用真的随时都工作。Agent 能继续跑,就先让它跑;等想看进度,或者需要给个回答的时候,再接回去。
相关链接:herdr · Tailscale · Termius · ToDesk。herdr 的会话保持与重启恢复说明见官方文档。








