给 AI 四个会话工具:新建会话、给别的会话发消息、列出会话及其状态,以及等另一个会话这一轮跑完并把它的回答取回来。
安装
# npm 包(预构建)
dsh plugin --profile web add @ryuu-64/dsh-session-tools
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Ryuu-64/dsh-session-tools
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
让 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 中可检索的正式记录。
链接
同类插件
ranxianglei/billion-context★ 4316
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
Minglink/dsh-infinite-gen-4★ 3977
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
liangmianya/dsh-synapse★ 676
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
MichengAI/dsh-archive-manager★ 304
在设置里增加已归档会话页,可按工作区搜索、恢复和删除已归档会话。
Nwflower/dsh-chat-import★ 287
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
SiriLee/dsh-rewind★ 242
对话回退:一键回到任意更早的用户消息,同窗口内完成,不新建分支、不残留副本;目标消息自动填回输入框,可一并还原工作区文件——即完整的 Claude Code /rewind 语义。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。