Herdr 命名会话实战:session attach/stop/delete 隔离多个独立运行时
【免费下载链接】herdrthe runtime your coding agents live on项目地址: https://gitcode.com/GitHub_Trending/her/herdr
当你在一台机器上同时跑多个互不干扰的 Herdr 运行时——比如一边跑主力项目的 agent 群,一边开一个副项目实验环境——默认共享同一个后台服务器就会互相影响。Herdr 的命名会话(named sessions)把每个会话变成独立的运行时命名空间:各自拥有独立的 panes、tabs、workspaces、socket 和持久化运行时状态,只共享同一个全局配置文件。这篇文章按"创建/附加 → 验证 → 停止/删除"的完整路径,讲怎么用herdr session attach/stop/delete管理多个隔离运行时。
什么时候用命名会话,而不是 workspace
Herdr 的层级是先 workspace、后 session:一个 workspace 是同一个会话内部的项目容器,而命名会话是"完全独立的 panes、sockets 和持久化运行时状态"。所以:
- 同一批项目、不同任务视图 → 用 workspace/tab 隔离即可;
- 需要两套互不影响的服务端运行时(独立的 socket、独立的持久化状态)→ 用命名会话。
默认herdr命令附加到默认会话;命名会话通过--session <name>启动参数或herdr session attach <name>使用。
创建与附加:session attach
在终端直接执行:
herdr session attach work herdr session attach side-project每个<name>对应一个独立的后台服务器。附加后,该会话内的 workspace、tab、pane 操作都只作用于这个命名空间,不会碰到其他会话的内容。也可以用启动参数直接指定:
herdr --session worksession list用于查看当前机器上已存在的会话:
herdr session list验证会话是否按预期运行
三条检查手段,均来自 persistence-remote 文档:
herdr session list --json输出 JSON,适合脚本判断会话是否存在;- socket 路径不同,是最直接的隔离证据。默认会话与命名会话的 socket 分别位于:
~/.config/herdr/herdr.sock ~/.config/herdr/sessions/<name>/herdr.sock- 在会话内执行
herdr workspace list等命令,返回的 ID 只属于本会话。文档明确说明:workspace、tab、pane ID 和 agent 名字属于单个服务器,对远程或另一个会话做自动化时,要在那一端执行 CLI 并在该端发现 ID。
停止与删除:session stop / delete
停止某个会话及其中的 pane 进程:
herdr session stop work--json输出适合脚本消费:
herdr session stop work --json herdr session delete side-project --json注意两条边界:
- 要停止默认会话时,必须显式写
default作为会话名:herdr session stop default。 stop会终止该会话的服务器和其中的 pane 进程;delete用于移除会话记录。只 detach 客户端(ctrl+b q)时 pane 和 agent 会继续运行,stop才是真正结束。
脚本中固定目标会话:HERDR_SESSION
在脚本里逐条写--session很啰嗦。CLI 命令的会话解析顺序(见 socket-api 文档)是:
- 显式 CLI
--session <name> HERDR_SOCKET_PATHHERDR_SESSION=<name>- 默认会话 socket
所以脚本开头一次性设置即可让后续所有 herdr CLI 命令都指向目标会话:
export HERDR_SESSION=work herdr workspace create --cwd ~/project --label api --no-focus herdr session listHERDR_SOCKET_PATH属于低层覆盖手段,正常隔离场景用--session或HERDR_SESSION即可。
可选分支:连接远程主机上的命名会话
如果命名会话跑在另一台机器上,用--session搭配--remote:
herdr --remote workbox --session agents远程附加走标准 OpenSSH 认证;认证失败时先ssh workbox验证普通 SSH 可达,再重试herdr --remote workbox。
限制与下一步
- 所有会话共享同一个全局配置文件,配置不是隔离的;
- 命名会话在 0.7.3 之前是会话级安装的插件场景下需要注意安装状态(见 plugins 文档 的说明);
- 关于服务器重启后哪些状态会恢复、agent 原生会话如何续接,见 session-state 文档。
常用命令汇总见 cli-reference 文档 的 Sessions 一节,概念背景见 concepts 文档 的 Session 一节。
【免费下载链接】herdrthe runtime your coding agents live on项目地址: https://gitcode.com/GitHub_Trending/her/herdr
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考