dsh-cross-session-approval
Cross-session task delegation for DeepSeek Harness 0.2.x, with 10 tools, an approval bridge, child-session permission clamping, and base62 session aliases.
一句话定位
Cross-session task delegation for DeepSeek Harness 0.2.x, with 10 tools, an approval bridge, child-session permission clamping, and base62 session aliases.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-cross-session-approval@0.3.12
兼容的 DSH 版本
>=0.2.0-rc.2 <0.3.0
作者与热度
zsjs110110-cpu · ★ 9 · 更新于 2026-11-07
关于这个插件
dsh-cross-session-approval(0.3.12)
DeepSeek Harness(DSH)0.2.x 的跨会话任务派发插件(bundle),提供 10 个工具:创建顶层持久会话、发送任务、回传结果、查询状态与消息、列出会话、批量投递、改名、归档及跨会话审批。
插件包含跨会话审批桥、子会话权限夹紧(A:发布前三维;F:派生入口),以及用于会话寻址的 cs_ base62 别名。创建任务后即可继续当前会话,任务结果通过回信返回。
派活登记保存在 <工作区>/.cross-session/registry.json,以临时文件加原子重命名写入。它包含任务正文和回复摘要,可能涉及敏感信息,应作为工作区本地数据保管。登记读取失败会阻止依赖该读取的操作;写入失败会告警,已完成的投递不会因此撤回。
安装与加载
需要 Node.js 18 或以上,以及已配置可用模型的 DeepSeek Harness 0.2.x profile。宿主 peer 依赖要求为 >=0.2.0-rc.2 <0.3.0;具体依赖见 package.json。本插件是宿主 bundle,不是独立运行的 MCP 服务。
以下以名为 dev 的 profile 为例;请替换为实际 profile 名。插件已发布到 npm(dsh-cross-session-approval@0.3.12),安装方式有三种。
方式一(npm,推荐):在目标 profile 目录下安装,npm 会自动解析 @deepseek-ai/* peer 依赖(0.2.0-rc.2 系)。
$profileDir = Join-Path $HOME ".dsh/profiles/dev" cd $profileDir npm install dsh-cross-session-approval@0.3.12
方式二(GitHub Release tarball):适用于通过 dsh plugin 安装的场景;awesome-dsh-plugin 市场目录也使用此 URL。
dsh plugin --profile dev add "https://github.com/zsjs110110-cpu/dsh-cross-session-approval/releases/latest/download/dsh-cross-session-approval.tgz"
方式三(源码):克隆需要具备该 GitHub 仓库的读取权限。
$profileName = 'dev' $profileDir = Join-Path $HOME ".dsh/profiles/$profileName" $bundleDir = Join-Path $profileDir 'node_modules/dsh-cross-session-approval' git clone https://github.com/zsjs110110-cpu/dsh-cross-session-approval.git $bundleDir
在该 profile 的 package.json 中,将 dsh-cross-session-approval 追加到 dsh.profile.bundles。以下仅展示相关字段,保留已有配置与其他 bundle:
{
"dsh": {
"profile": {
"bundles": ["dsh-cross-session-approval"]
}
}
}
校验组合配置,再启动宿主加载插件:
dsh --profile $profileName --dump-config dsh --profile $profileName --no-open --port 0
配置输出应包含 cross-session-approval,且无该 bundle 的 skipping;启动时应无该插件的 failed to import。进入该 profile 的会话后,确认可用工具包含下列 10 项。配置校验成功不代表审批桥已启用;还需检查启动告警及下文的服务要求。
快速使用
下面是 DSH 会话内的工具调用示例,不是 PowerShell 命令或可直接导入的 JavaScript API。cs_XXXXXXXXXX 表示工具实际返回的别名,使用时必须替换。
cross_session_spawn({ name: "检查文档", task: "阅读 README,列出安装步骤中的歧义;完成后回复结果。" })
// 保存返回的 session_id(cs_ 别名);spawn 返回后任务仍可能在执行。
cross_session_status({ session_id: "cs_XXXXXXXXXX" })
cross_session_read({ session_id: "cs_XXXXXXXXXX", tail: 10 })
cross_session_send({ session_id: "cs_XXXXXXXXXX", message: "请再核对配置示例。", interrupt: false })
默认继承调用者的模型、推理程度与 agent preset(自定义模式)。spawn 会在任务消息中自动附上回信目标;任务会话应按指引调用 cross_session_reply({ to: "<回信目标别名>", text: "结果摘要或失败原因" })。回信按用户消息投递,并唤醒目标。投递成功与任务完成是两个不同状态,请结合回信及 read 判断结果。
建议先不传 permission 和 cwd,使用默认权限夹紧与当前工作区。显式权限、跨工作区寻址和审批桥的限制见下文。
工具一览
| 工具 | 必填参数 | 可选参数与行为 |
|---|---|---|
| cross_session_spawn | name, task | reply_to, provider, model, reasoning_effort, permission, agent_preset, cwd, tags;创建顶层持久会话并投递任务,不等待完成 |
| cross_session_send | session_id, message | wake、interrupt 默认 true;reply_to 指定回信目标;未打开的顶层会话自动恢复 |
| cross_session_reply | to, text | 向指定会话回信并唤醒,目标未打开时自动恢复 |
| cross_session_status | 无 | session_id 筛选当前工作区的派活登记,省略则查看登记总览 |
| cross_session_read | session_id | tail 默认 10、最大 50;include_attempts 附带诊断事件;读取不唤醒目标 |
| cross_session_list | 无 | limit 默认 20;include_archived, cwd, all_workspaces, tag;默认列当前工作区的顶层会话 |
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| dsh-purge | kingcharleslzy-ai | 6.3K | 1.6.86 | 2026-11-08 |
| dsh-unrestricted | yexi-by | 1.1K | 0.2.8 | 2026-11-05 |
| dsh-univer-office | dream-num | 707 | 0.4.0 | 2026-11-03 |
| dsh-synapse | liangmianya | 697 | 0.5.7 | 2026-11-04 |
| dsh-qqbot | tencent-connect | 570 | 0.5.5 | 2026-11-08 |