DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-crosssession

T

dsh-crosssession

Manifest valid

Cross-session messaging, persistent session team, approval gates and a per-session task board for DeepSeek Harness (DSH).

UI (client)hasBundlePatch

dsh-crosssession

给 DeepSeek Harness (DSH) 的跨会话协作插件:持久会话团队、任务派发与排序队列、审批门、会话级任务板,以及输入框 @ 提及。

让多个持久会话像团队成员一样互相派活、汇报进度,人和 agent 都能在右侧栏看到任务状态。

  • 包名:dsh-crosssession · 版本:0.1.0 · License:MIT
  • 运行位置:DSH Host 插件(index.js)+ Web Client 插件(client.js)+ 独立看板页面(board.html)

功能

  • 跨会话 / 跨工作区消息:session_send 把消息或任务投递给任意会话;目标空闲会自动唤醒,运行中则排队到下一轮
  • 持久会话团队:session_create 在指定工作区创建持久会话,支持别名、花名册与团队状态查询
  • 任务板:每个任务有 queued / running / blocked / done / failed / cancelled / awaiting-approval 状态;完成结果自动结算
  • 串行队列:同一成员同时只跑一个任务,其余排队,当前任务结束后自动派发下一个
  • 审批门:命中 policy.json 的敏感工作区,任务/消息先挂起为「待批准」,由用户批准后才投递
  • 会话级看板:在 DSH 原生右侧栏打开「任务板」标签,只显示当前会话参与过的任务、消息与对端成员
  • @ 提及成员:输入框里 @ 可呼出成员候选,选中插入可编辑的 tag 样式提到的会话
  • 安静模式:报告/通知压成单行,可改为只写看板(deliverReports: board),用 session_inbox 后台读取
  • 持久化:别名、成员、任务、消息、投递台帐全部落盘,DSH 重启后恢复

环境要求

  • DeepSeek Harness >= 0.2.0(DSH Desktop 或 Web profile 均可)
  • 看板与 @ 提及需要 Web Client 环境(Desktop 默认满足)

安装

从 GitHub 仓库安装(无需 npm 包)

DSH 插件管理器支持直接从 Git 地址安装。打开 插件市场 → 添加插件,填入:

https://github.com/TobiichiOrigamii/dsh-crosssession

或命令行:

dsh plugin add https://github.com/TobiichiOrigamii/dsh-crosssession

安装后暂不支持自动更新:升级时先卸载再安装新版。插件以你的本机权限运行,请只安装可信来源。

从 npm 安装(npm 包发布后)

dsh plugin add dsh-crosssession

或在插件市场搜索 dsh-crosssession 安装。

本地开发加载(file://)

在 profiles/web/cordis.patch.yml 里加入:

- insert:
    - id: dsh-crosssession
      name: 'file:///absolute/path/to/dsh-crosssession/index.js'
      config:
        quietMode: true
        approvalTimeoutSeconds: 300

保存后 DSH 会热加载;修改 index.js 后需改 id 与 ?build=N 触发重新加载(或重启 DSH)。

快速开始

# 创建持久会话并派任务(目标空闲会自动唤醒)
session_create({ workspace: "D:\\Code\\my-project", alias: "backend", title: "后端任务机" })
session_send({ target: "backend", message: "实现登录接口并跑通测试", kind: "task", taskTitle: "登录接口" })

# worker 完成后(无需传 id,插件按投递台帐自动对应任务)
session_report({ status: "done", summary: "登录接口已实现,测试通过" })

# 查看团队与任务板
session_team_status()
session_board()

输入框 @ 提及

输入 @ 会呼出成员候选;选中后插入 @别名,并渲染为可编辑的 tag 样式(本质仍是文本,可继续编辑/删除;未匹配的 @ 保持普通字符)。

触发边界遵循 DSH 输入语法:@ 需要位于行首、空格或标点之后。让 @backend 发送1 ✅;让@backend发送1(中文紧贴)不会触发候选。

会话级看板

  • 右侧栏标签:任务板(类型 sessionHubBoard)
  • 只显示当前会话参与的任务/消息与相关成员,2 秒刷新、只读
  • 打开方式:会话页头「任务板」按钮;或每个浏览器会话首次加载自动打开一次
  • 样式源文件:board.html(浅/深色、可折叠区块、tag 筛选、消息正文展示)

工具(18 个)

工具说明
session_list列出工作区/会话(只读,不唤醒)
session_create创建持久会话(自动注册工作区,继承调用方 preset/模型)
session_send发消息/派任务;空闲唤醒、运行中排队、urgent 插步
session_reply回复收到的跨会话消息(messageId 可省略)
session_report上报任务结果 done/blocked/failed(taskId 可省略)
session_task_status查看任务(单个或全部)
session_team_status成员花名册 + 任务板概览
session_alias绑定/清除会话别名
session_bridge_log最近跨会话消息时间线
session_board返回看板地址与统计
session_broadcast群发消息/任务(同样受审批策略约束)
session_inbox后台读取发给本会话的跨会话消息(不写入对话)
session_export_log导出任务板/时间线 Markdown(限 harness\dsh-crosssession\)
session_purge_log清理消息账本/已结束任务
session_task_approve批准/拒绝「待批准」任务(仅调度方)
session_task_cancel取消任务(调度方或执行方)
session_delete删除会话(可选注销空工作区,文件不动)
session_workspace_delete注销工作区登记(文件不动)

配置

- id: dsh-crosssession
  config:
    completionNotify: true      # 任务结束时发送完成通知
    deliverReports: chat        # chat=进对话;board=只写任务板/收件箱
    quietMode: true             # 紧凑格式(会话名:正文 / 单行报告)
    noticeTextLimit: 160        # 通知/报告截断长度
    maxHops: 8                  # 回复链上限
    maxMessagesPerMinute: 20    # 每目标限流
    approvalWorkspaces: []      # 需审批的 workspace 路径模式
    approvalTimeoutSeconds: 300

审批策略 policy.json

数据目录 harness\dsh-crosssession\policy.json(热读取,改完立即生效):

{
  "approvalWorkspaces": ["production", "正式", "/prod/i"],
  "approvalTimeoutSeconds": 300
}
  • 匹配目标会话 cwd(不区分大小写包含;/.../ 为正则)
  • 空数组表示不启用审批;超时任务自动置为 cancelled

消息格式与后台投递

对话里只显示 会话名:正文,不显示任何 id。后台 state.deliveries 记录每个接收方最近的 messageId / taskId / kind / from,因此:

  • session_report({status, summary}) 自动对应「最近派给该会话的任务」
  • session_reply({message}) 自动对应「最近发给该会话、未回复的消息」
  • 需要精确定位时仍可显式传 taskId / messageId

文件结构

index.js            Host 插件:工具、队列、审批、持久化、投递、看板服务
client.js           Client 插件:右侧栏「任务板」标签 + @ 提及来源
board.html          看板页面(独立样式文件,随 Host 路由提供)
policy.example.json 审批策略示例
LICENSE             MIT

运行时数据位于 $DSH_HOME/dsh-crosssession/(state.json / policy.json),不随包发布。

安全

  • 看板服务仅监听 loopback,响应带 CSP(default-src 'none',frame-ancestors 限定 DSH origin)、nosniff、no-referrer
  • session_export_log 仅允许写入 harness\dsh-crosssession\
  • state.json 损坏时先备份为 state.json.corrupt-*
  • 跨会话消息本质是发给另一个 agent 的 prompt,安全性依赖审批策略、hop 上限与接收方自身沙箱

开发

node --check index.js
node --check client.js

修改 Host 插件后在 patch 中改 id 和 ?build=N 以绕过 ESM 缓存;client.js 由 DSH client-modules 自动扫描。

License

MIT

Comments

Loading…

Similar plugins

dsh-session-messaging

by XBXyftx

Cross-session messaging plugin for DeepSeek Harness: let user-launched sessions in one workspace message each other and coordinate tasks, write scopes, and conflicts.

Manifest valid

★ 0

MIT

TypeScript

Oct 18, 2026

dsh plugin --profile web add dsh-session-messaging

by PerryLink

Persistent, cross-session multi-agent team rooms for DeepSeek Harness — members, a message bus, a shared task board, and a shared timeline that survive restarts.

Workflow & AutomationManifest valid

★ 3

↓ 470/wk

Apache-2.0

JavaScript

Oct 7, 2026

dsh plugin --profile web add dsh-team-rooms

by popu2do

In-process cross-session communication, peer session creation, and shared blackboard for DeepSeek Harness.

Sessions & MessagesManifest valid

★ 4

↓ 650/wk

MIT

JavaScript

Oct 23, 2026

dsh plugin --profile web add dsh-call-session

by happyren

Cross-session verification, claims and a decision ledger for DeepSeek Harness — so two agent sessions don't repeat, contradict or deadlock each other.

Sessions & MessagesManifest valid

★ 7

↓ 41/wk

MIT

TypeScript

Sep 12, 2026

dsh plugin --profile web add dsh-agent-messaging

by shenhuanageshei

Session deep links + full session export (markdown/JSON) + approved cross-session messaging with pairing for DeepSeek Harness (dsh).

Sessions & MessagesManifest valid

★ 6

MIT

JavaScript

Oct 18, 2026

dsh plugin --profile web add dsh-team-link

by Wha1eChai

Same-runtime cross-Session discovery and communication for DeepSeek Harness

Sessions & MessagesManifest valid

★ 2

↓ 6/wk

MIT

TypeScript

Aug 14, 2026

dsh plugin --profile web add @wha1echai/dsh-cross-session