dsh-session-tools
让 DeepSeek Harness 中的 AI 新建会话、给其他会话派任务,并把结果带回来。
适合把独立的调查或整理工作交给另一个会话,省去手动新建、复制背景、来回转述。新会话会出现在侧边栏,你可以随时打开,直接继续对话。
会话通信
0.8.0 增加会话通信开关和原生右侧栏入口,并保留 0.7.0 的会话发现与消息回执功能。兼容范围与宿主要求见兼容说明。
打开当前对话右侧的「会话」tab,顶部可分别控制「接收其他会话消息」和「向其他会话发送」,下方保留相关对话。没有相关对话时,顶部会话入口仍可使用。左侧会话「…」菜单中的「会话通信…」也保留,与右栏使用同一状态和保存逻辑。开关保存成功后立即生效;保存失败或结果不明时不会显示已保存。两个页面同时修改时会提示冲突,并显示最新设置。同一窗口的多个入口立即同步;其他窗口通过可见页面每 3 秒一次的权威重读同步(另加请求耗时,不是实时订阅),打开面板、切换会话、恢复焦点或页面可见性时也会重读。相同会话的请求去重,保存时暂停常规刷新;读取失败显示未知并可重试。保存超过 12 秒时先提示结果尚未确认并重读,原请求未结束前禁止重复提交,不伪造回滚。
关闭发送也会阻止创建带首条消息的新会话。关闭只拒绝之后的新消息,不取消已经接收的工作,也不影响历史读取。完全访问权限不会绕过这两个开关。没有保存过设置的会话默认开启两项;损坏或无法读取的权限记录会拒绝新的投递。
这是本插件的通信控制,不是宿主安全隔离。修改入口使用宿主认证的 Remote,不注册给模型使用的权限设置工具;但宿主 operator 身份不能证明是人亲自点击,也不能阻止同进程的高权限代码调用宿主或修改文件。
发送前查看与发送后回执
找会话时,list_sessions 会顺带显示当前调用方到目标的发送/接收开关状态;每页从权威存储重新读取。正常发送不必额外查询一次。只想检查某个已知目标是否恢复接收时,可按需调用只读 session_communication_status;未知、不可访问或无法确认的目标不会显示默认允许。
查询只是当时的开关快照,不是审批或已送达承诺。session_send 在实际投递前仍重检;拒收保持错误结果,明确未送达、未排队,没有消息回执。成功投递后继续用 messageId 和 session_wait 查具体消息:已排队、已交给目标与本轮结束是不同状态,本轮结束不等于任务成功。不自动重试、补送或订阅开关变更,也不结束发送方整轮。
安装
需要已能正常使用的 DSH 和模型配置,以及 Node.js 22.19+(22 系列)或 24.x。dsh plugin 使用 pnpm 管理插件;请确保它在命令行中可用。
安装前请查看兼容说明,确认当前 DSH 和宿主配置受支持。
在终端中安装到你使用的宿主配置(profile),下面以 web 为例:
dsh plugin --profile web add @ryuu-64/dsh-session-tools@0.8.0
安装后重启对应的 DSH 宿主。插件没有额外全局配置项;自定义宿主配置还需满足服务要求。
开始使用
在 DSH 对话中直接说你想做什么,无需自己填写工具参数。例如:
> 帮我新建一个叫「方案比较」的会话,比较 SQLite 和 PostgreSQL 在本地单人记账应用中的优缺点,给出推荐和理由。等它回答后,把结果告诉我。
- AI 准备好任务,并请求新建会话的确认。
- 允许后,新会话开始处理任务。点「已创建会话」卡片上的按钮,就能打开它。
- AI 可以等待这次消息的结果,再回到当前对话中继续回答。一次等待默认 60 秒、最多 5 分钟;超时后可以接着查,不必重新派任务。
想接着做之前的任务,先找对会话:
> 先找标题含「方案比较」的会话,列出标题和状态;如果还有结果,继续列下一页。先不要发消息。
确认目标后,可以继续:
> 让刚才找到的「方案比较」会话补充数据导出的注意事项,等它回答后把结果告诉我。
把任务背景写完整。 插件不会自动把当前对话复制给目标会话;对方需要的背景、文件路径和预期结果都应写进任务。
能做什么
| 你想做的事 | AI 使用的工具 |
|---|---|
| 新建一个可独立继续对话的会话,可放入已有工作区 | session_create |
| 给另一个普通会话发送新消息 | session_send |
| 按标题或工作区筛选、按最近活动分页列出会话 | list_sessions |
| 查询某次消息的结果,或查看会话概况 | session_wait |
| 按需检查已知目标的当前通信开关 | session_communication_status |
创建时可指定标题;不指定时,从首条任务生成固定标题,不额外调用模型。之后你仍可手动改名。
权限与限制
- 新建和发送通常需要确认。 只有宿主明确同时启用完全访问权限与免审批时才跳过确认;宿主的拒绝规则仍然生效。列出和等待是只读操作。
- 等待超时不等于失败。 取消等待也不会取消目标任务。继续查询同一次消息要同时使用回执里的
sessionId和messageId,不要自动重发。轮次正常结束也不保证任务本身做成功。 - 只操作普通会话。 不能向当前会话自己发消息,也不能向子代理发消息。列表包含已归档的普通会话,并标明归档状态。
- 工作区必须已存在。 插件不会创建工作区,也不提供会话创建后跨工作区搬移的功能。
- 目标仍依赖 DSH 运行。 发送消息可重新打开已关闭的会话,但它必须保存过工作目录;只读等待不会唤醒目标。插件不提供宿主关闭后的后台执行服务。
更多参数、状态和出错处理见工具参考。
支持与交流
遇到问题或有建议,请提交 Issue。请附上 DSH、Node.js 和插件版本、安装方式,以及可复现的步骤;不要贴 API 密钥或私密对话。
QQ 交流群:1129212995。群聊用于使用交流和社区互助;需要持续跟踪的问题请先提交 Issue,再把 Issue 链接发到群里。群聊不替代 Issue 中可检索的正式记录。
由 Ryuu-64 维护,采用 MIT 许可证。