Missher DSH Session Bridge:会话 ID、跨会话投递与临时工作区

前言

在 DeepSeek Harness(DSH)里同时开多个会话时,常见问题是:完整会话 ID 不好找、不好复制;想读另一个会话最近说了什么,或往指定会话塞一条 user 消息,往往只能手动切窗口。临时试代码又不想污染正式项目目录时,也需要和 Host 工作区模型对齐的入口。

Session Bridge(@missher/dsh-session-bridge)是 Missher12 维护的独立 Cordis Bundle,面向客户端侧:在侧栏会话菜单里提供 ID 与引用复制,并注册跨会话模型工具与人类命令,以及「不在工作区」与 /scratch 一类临时目录能力。它不是 DeepSeek 官方产品;社区目录见 SkillHub 插件页,源码与安装包见 GitHub 仓库。

这是什么

一句话:为 DSH 显示与复制完整会话 ID,并提供跨会话查询、读取、投递,以及临时工作区相关能力。

  • 包名:@missher/dsh-session-bridge
  • 当前资料版本:0.1.4(README 注明顶部 ID 已移至侧栏菜单)
  • 形态:独立、可卸载的 Cordis Bundle,不需要另装兼容插件
  • 分类:客户端(含 Web 注入与侧栏 UI)

0.1.4 起,会话 ID 收在左侧会话行的三点菜单里;顶部标题栏不再显示额外 ID 控件。菜单可复制完整 ID、工作目录或 /bridge 引用;归档行另有带二次确认的「删除会话…」(是否可用取决于宿主是否提供 deleteArchivedSession)。

核心功能

会话 ID 与侧栏菜单

在左侧找到目标会话,点击该行三点菜单:

  1. 复制会话 ID:结果保留完整 session- 前缀。
  2. 也可复制工作目录或 /bridge <session-id> 引用。

操作针对被点击的会话(含归档行),不切换当前会话;目录未加载或复制失败会有提示。顶部只保留会话标题等 Host 原有操作,不再重复 ID 控件。

「不在工作区」与 scratch

新会话选择器末尾有 「不在工作区(临时目录)…」。选择后复用配置根目录下的 dsh-scratch 工作区,默认标题为「不在工作区」;macOS 默认规范路径为 /private/tmp/dsh-scratch。这是正式注册的工作区,并非真正无工作区会话——宿主 blank 会话流程仍需要工作区。

只打开选择器不会创建目录或会话;重复选择会复用规范路径及真实工作区 ID。固定路径若是符号链接、非当前用户所有,或可被组/其他用户写入,创建会失败。

与 UI 不同,模型工具 session_scratch 和命令 /scratch 在每次调用时可建立独立的一次性目录;临时目录可能被系统清理,不宜作为重要文件的唯一存放处。

模型工具

工具 作用
session_list 列出会话 ID、标题、目录和运行状态;默认排除子代理会话。
session_read 读取目标最近的用户/助手文本(不含思维链和工具结果);只读,不唤醒目标。
session_send 向目标投递真实 user-role 消息;steer 在步骤边界送达,turn 排队为独立回合。
session_scratch session 模式在独立临时目录创建会话;directory 模式不创建会话,默认仍注册工作区,可用 registerScratchWorkspace: false 关闭。

目标接受精确 ID、忽略大小写的精确标题或唯一 ID 前缀;有歧义则拒绝,不猜测。

人类命令

命令 作用
/sessions [过滤词] 列出会话 ID 与标题。
/bridge <ID或标题> <消息> 给指定会话投递消息;含空格标题按可唯一解析的最长前缀识别。
/scratch [标签] 新建临时目录会话。
/scratch-clean 预览可清理的一次性临时项目。
/scratch-clean yes 注销符合条件的项目并删除其目录。

/scratch-clean 按规范化 scratchRoot、目录名以 dsh- 开头、且无非空白会话等条件筛选已注册工作区,始终排除固定 dsh-scratch。不检查插件创建标记;其他符合条件的 dsh-* 工作区也可能入选。目录内自行保存的文件也会删除——先跑预览,再执行 yes。

安装与启用

安装包从 Releases 页面 获取。以页面为准选择 0.1.4,下载 missher-dsh-session-bridge-0.1.4.tgz 与 SHA256SUMS。不要把 GitHub 自动生成的源码压缩包当作插件安装包;运行包已含 lib,无需本地构建。

下载后在同一目录校验完整性:

# macOS
shasum -a 256 -c SHA256SUMS

# Linux
sha256sum -c SHA256SUMS

Desktop:打开「插件 → 添加插件」,选择本地 .tgz 或填写 Release 固定地址(标签以 Release 页为准):

https://github.com/Missher12/Missher-DSH-Session-Bridge/releases/download/<tag>/missher-dsh-session-bridge-0.1.4.tgz

确认版本及组件 session-bridge 已启用;按 Host 提示重新加载,必要时完全退出后重开。Desktop 的 desktop profile 由应用内入口管理。

已有 DSH CLI 的 Web 用户:在自己的 Web profile 安装(不修改 Desktop profile):

dsh plugin --profile web add /absolute/path/to/missher-dsh-session-bridge-0.1.4.tgz

发布后可将本地路径换成上述 Release URL。首次测试建议使用独立 DSH_HOME / DSH_AGENTS_HOME。不要同时启用旧包 dsh-session-bridge、开发别名 session-bridge-dev 与当前 scoped 包——会重复注册 session_list 等工具。升级前保留旧包与配置,等当前任务结束再重新加载。

典型用法

复制 ID 并跨会话投递

  1. 在侧栏目标会话的三点菜单选「复制会话 ID」。
  2. 在当前会话输入(示例格式以 README 为准):
/bridge session-xxxxxxxx 请总结你刚才的结论

也可用唯一标题前缀替代完整 ID;标题含空格时,/bridge 会按可唯一解析的最长前缀识别。

列举与只读查看

/sessions

模型侧可调用 session_list、session_read 做自动化编排;session_read 不会唤醒冷会话(与 session_send 的 wakeColdSessions 配置相关行为不同,发送默认可唤醒,见配置表)。

临时目录

界面:新会话选择器末尾选「不在工作区(临时目录)…」,复用 dsh-scratch。

命令或工具: /scratch my-tag 或 session_scratch,在 scratchRoot 下创建带前缀的一次性目录(默认前缀 dsh-session-)。

配置

所有字段可选。Bundle 已声明正式实例,不要在 profile 里再插第二个同名插件行;需要覆盖时在目标 profile patch 中按既有 id: session-bridge 更新:

- id: session-bridge
  config:
    scratchRoot: /tmp
    scratchPrefix: dsh-session-
字段 默认值 含义
scratchRoot POSIX /tmp;Windows 系统临时目录 临时目录的父目录。
scratchPrefix dsh-session- 一次性目录前缀。
registerScratchWorkspace true 工具创建的临时目录是否注册为工作区。
maxListedSessions 40 单次列举上限。
maxTranscriptTurns 20 最近转写回合上限。
maxMessageChars 8000 单条跨会话消息字符上限。
wakeColdSessions true 是否允许唤醒冷会话投递。
announceSessionId true 系统提示中是否声明自身 ID 与跨会话工具。

适用场景与注意

适合谁

  • 需要在侧栏快速复制完整会话 ID、工作目录或 /bridge 引用的 DSH 用户。
  • 用多会话协作:一个会话编排,向另一个会话 session_send 或 /bridge 投递任务。
  • 需要与 Host 工作区模型一致的 scratch /「不在工作区」入口,又不想手改目录。

权限与隐私

插件以当前 DSH 进程权限运行,无独立遥测或外部上传;界面走 Host 受鉴权 HTTP。它能通过 Host 读取会话目录与用户/助手文本,并向其他会话发送真实 user 消息;目标模型仍遵循目标会话的供应商、权限与费用。跨会话信封会标注来源,但没有额外人工审批队列——投递前先确认目标会话。安装前建议自行查看 LICENSE 与源码。

Host 能力边界

  • 归档「删除会话…」依赖 sessionController.deleteArchivedSession;缺失时入口隐藏,插件不读 Host 私有日志。
  • 将「不在工作区」组排在侧栏末尾依赖 uiWorkspace.registerTrailingWorkspace;缺失时保留普通排序。
  • README 说明兼容判定按能力而非宿主版本号硬限制;具体验证层次见仓库内 COMPATIBILITY.json 与官方 alpha.5 增量记录。

停用与卸载

在插件管理关闭 Bundle 并重新加载即可停用;Web CLI 也可:

dsh plugin --profile web remove @missher/dsh-session-bridge

停用/卸载不会删除已有聊天记录、工作区或临时目录文件,也不会撤销已在目标会话开始的任务。

结尾

Session Bridge 把会话 ID 管理、跨会话只读/投递和 scratch 工作区收进一个可卸载的客户端 Bundle,适合多会话并行时的日常操作与轻量编排。桌面安装包与文档见 Missher DeepseekHarness Desktop 相关链接;插件目录页:SkillHub · Missher-DSH-Session-Bridge;源码与 Release:GitHub · Missher-DSH-Session-Bridge。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye