dsh-session-collaboration
by w210548735-art
DeepSeek Harness 的双向跨会话协作 bundle
Bidirectional cross-session collaboration bundle for DeepSeek Harness
安装
dsh plugin --profile web add github:w210548735-art/dsh-session-collaborationGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
这是一个可安装的 DeepSeek Harness bundle,为显式指定的会话提供双向协作。它增加 session_delegate 模型工具、使用 Agent.steer() 将转发上下文插入目标下一步的 Host 运行时,以及能够记录目标会话并在当前视图中打开目标的 Web 卡片。
安装
安装已发布的包:
dsh plugin --profile web add dsh-session-collaboration
从 GitHub 安装源码时请固定提交:
dsh plugin --profile web add github:w210548735-art/dsh-session-collaboration#<commit>
GitHub 安装会运行包的 prepare 构建。pnpm 可能要求在 profile 的 pnpm-workspace.yaml 中显式允许构建:
allowBuilds:
dsh-session-collaboration: true
允许 GitHub 包构建意味着安装时会执行该包的源码。请固定提交,并只允许信任的源码执行。已发布的 npm 包和本地 tarball 已包含 lib/,不需要这项构建权限。
该 bundle 自带配置 patch,不需要修改 profile 自己的 cordis.patch.yml;由于 bundle patch 先于 profile patch 应用,用户 patch 可以覆盖 allowCrossWorkspace 和 waitTimeoutMs。
行为
模型只有在用户明确提供 session_id,或可信的协作转发已经同步该 id 时,才能调用 session_delegate。每条转发都会记录发送方和目标方会话 id,因此目标会话可以使用发送方 id 反向发送消息,而不需要猜测调用方。
session_delegate 使用 Agent.steer() 投递消息。消息通过目标下一步的插队路径被接收,不进入普通 FIFO 队列。目标会话把转发当作模型上下文而不是新的人工输入,因此发送方不需要再在另一个输入框中重复输入任务。
wait 默认是 true。启用时,工具等待目标回合结束,提取目标 assistant 文本,将回复转发注入调用方会话,并返回回执。当另一会话已经在等待时,可以设置 wait: false 发送单向或反向消息;冷目标必须使用 wait: true,这样恢复出的 Agent 才能安全释放。
Web 卡片显示目标 id 和任务,使用“跳转到目标会话”按钮,并通过现有会话服务切换当前视图。工具调用的持久记录仍保留在调用方会话中,目标回复会以协作转发记录。
配置
bundle patch 的默认值如下:
allowCrossWorkspace: false
waitTimeoutMs: 120000
allowCrossWorkspace 只有在目标 id 来自用户消息或可信反向转发时,才允许访问另一个工作目录中的目标。waitTimeoutMs 限制一次等待目标回合的时间,必须是正的安全整数。
失败和限制
- 会话不能向自己发送消息;未知或不可用的目标会返回可判断的协作错误。
- 同一目标会话同时只能有一个等待回复的协作请求;双向交流的反向一跳使用
wait: false。 - 目标回复从 assistant 文本块中提取;没有产生文本回复的回合会报告
TARGET_REPLY_MISSING。 - 跨工作区投递默认关闭,同时需要部署配置和显式目标授权。
- bundle 不会按内容或标题搜索会话;调用方必须提供不透明的会话 id。
- Web profile 提供协作卡片;只要具备所需 DSH 服务,Host 服务和模型工具也能在 headless 组合中工作。
Model Experience
session_delegate 请求上下文和启用条件
模型看到的内容
工具 schema 暴露 session_id、prompt 和可选的 wait。系统指令说明目标接收的是插入的模型上下文,双方会话 id 会同步,等待目标回复时结果会通过调用方上下文返回。
Token effect
启用工具时会增加固定 prompt section。每次工具调用会把序列化参数和回执加入正常工具记录;等待回复时,目标 assistant 文本会作为持久化协作转发加入调用方上下文。
KV Cache effect
工具挂载后的固定指令保持前缀稳定。单次调用和返回的回复追加到既有会话前缀之后,不会替换之前的请求 token;重新挂载或关闭工具会改变 prompt 前缀,可能使缓存复用失效。
开发
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
pnpm pack --dry-run
本项目遵循 DSH 的插件发布指南:根 manifest 声明 dsh.bundle,patch 引用包入口,prepare 构建 GitHub checkout,files 只包含可运行产物和文档。
许可证
原始 README: https://github.com/w210548735-art/dsh-session-collaboration/blob/main/README.zh.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥