news 2026/9/12 7:34:37

Herdr 命名会话实战:session attach/stop/delete 隔离多个独立运行时

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Herdr 命名会话实战:session attach/stop/delete 隔离多个独立运行时

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 work

session list用于查看当前机器上已存在的会话:

herdr session list

验证会话是否按预期运行

三条检查手段,均来自 persistence-remote 文档:

  1. herdr session list --json输出 JSON,适合脚本判断会话是否存在;
  2. socket 路径不同,是最直接的隔离证据。默认会话与命名会话的 socket 分别位于:
~/.config/herdr/herdr.sock ~/.config/herdr/sessions/<name>/herdr.sock
  1. 在会话内执行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 文档)是:

  1. 显式 CLI--session <name>
  2. HERDR_SOCKET_PATH
  3. HERDR_SESSION=<name>
  4. 默认会话 socket

所以脚本开头一次性设置即可让后续所有 herdr CLI 命令都指向目标会话:

export HERDR_SESSION=work herdr workspace create --cwd ~/project --label api --no-focus herdr session list

HERDR_SOCKET_PATH属于低层覆盖手段,正常隔离场景用--sessionHERDR_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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 7:34:26

Leaflet与Cesium渲染层选型本质:二维映射 vs 三维模拟

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 7:30:42

Python数据类型转换与运算符实战指南

1. Python数据类型转换全解析在Python开发中&#xff0c;数据类型转换是最基础却最容易出错的环节。作为动态类型语言&#xff0c;Python虽然不需要显式声明变量类型&#xff0c;但在实际业务逻辑中&#xff0c;我们经常需要在str、int、float、list等类型间进行转换。以下是Py…

作者头像 李华
网站建设 2026/9/12 7:28:00

从零跑通LunaTranslator:视觉小说翻译工具3步配置教程

从零跑通LunaTranslator&#xff1a;视觉小说翻译工具3步配置教程 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator 对着满屏外文对话看不懂&#xff1f;LunaTranslator 是…

作者头像 李华
网站建设 2026/9/12 7:27:28

灰狼优化算法与SVM分类器:基于Python的参数搜索与实现

简介&#xff1a;灰狼优化算法&#xff08;GWO&#xff09;与支持向量机&#xff08;SVM&#xff09;结合的MATLAB分类实现&#xff0c;面向机器学习初学者及需要优化分类器参数的开发者&#xff0c;解决SVM参数人工调优耗时、易陷局部最优的问题&#xff0c;可直接用于二分类或…

作者头像 李华
网站建设 2026/9/12 7:27:09

MATLAB实现时序蒙特卡洛概率潮流计算与电网风险评估

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华