DeepSeek Harness 插件

dsh-session-collaboration

Bidirectional cross-session collaboration bundle for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
w210548735-art/dsh-session-collaboration
最近更新
2026年8月18日
分类
记忆
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/w210548735-art/dsh-session-collaboration
插件名:dsh-session-collaboration
作者:w210548735-art

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-session-collaboration

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 可以覆盖 allowCrossWorkspacewaitTimeoutMs

行为

模型只有在用户明确提供 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_idprompt 和可选的 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 只包含可运行产物和文档。

许可证

[MIT](LICENSE)