跨工作区发现会话并互发消息、管理会话
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kx2398/dsh-session-mesh该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-session-mesh · 会话网格
让 DeepSeek Harness(dsh)里所有工作区的普通会话互相发现、互相发消息、互相建会话/改标题/归档的 Host 插件。无任务板、无新增会话事件、不依赖 experimental-agent-team 或 subagent。
English: a DeepSeek Harness (dsh) host plugin that turns every root session in every workspace into a peer: list sessions, message any session as a real agent-message, create/rename/archive/cancel sessions, and wait for session changes. No task board, no new session event types.
- License: MIT
- 要求:DSH >=0.2.1-rc.3 <0.3.0(engines.dsh);desktop / web-app 这类包含标准 Host 服务的 profile
- 零运行时依赖、无构建步骤、纯 ESM
- 7 个 mesh_ 工具 + 两段模型可见提示(policy / identity)
展开完整文档(README 剩余 1 节)
dsh-session-mesh · 会话网格
让 DeepSeek Harness(dsh)里所有工作区的普通会话互相发现、互相发消息、互相建会话/改标题/归档的 Host 插件。无任务板、无新增会话事件、不依赖 experimental-agent-team 或 subagent。
English: a DeepSeek Harness (dsh) host plugin that turns every root session in every workspace into a peer: list sessions, message any session as a real agent-message, create/rename/archive/cancel sessions, and wait for session changes. No task board, no new session event types.
- License: MIT
- 要求:DSH >=0.2.1-rc.3 <0.3.0(engines.dsh);desktop / web-app 这类包含标准 Host 服务的 profile
- 零运行时依赖、无构建步骤、纯 ESM
- 7 个 mesh_ 工具 + 两段模型可见提示(policy / identity)
- 分发方式:GitHub tag / Release tarball(不发布到 npm)
1. 安装
从 GitHub 按 tag 安装 plugin_manager install_bundle target = github:kx2398/dsh-session-mesh#v0.2.1
或下载 Release 里的 tgz 后本地安装 plugin_manager install_bundle target = file:C:/.../dsh-session-mesh-0.2.1.tgz
2. 它做什么
| 工具 | 能力 |
| mesh_list_sessions | 列出所有工作区的会话:sessionId、标题、所属工作区(id/title/path)、cwd、running、archived、agent 可用性、是否 subagent、更新时间。支持工作区/运行态/归档/subagent/ID或标题子串过滤 + 游标分页(nextCursor) |
| mesh_send_message | 给任意会话发一条自包含消息,以真实 agent-message/relay 消息投递(source 带 senderSessionId,不伪装成人类消息)。运行中目标 queue(回合后)或 steer(步边界,默认禁用);空闲目标被唤醒;冷会话自动恢复。有速率限制与重复抑制 |
| mesh_create_session | 新建根会话:可指定工作区(id/路径/标题)、标题、初始 prompt、agent preset;不指定工作区时默认为调用方所在工作区 |
| mesh_rename_session | 改任意会话标题(pin 住,不被自动标题覆盖) |
| mesh_archive_session | 归档/取消归档任意会话;运行中的会话默认拒绝并说明有哪些工作,stop_activity: true 时先停止再归档 |
| mesh_cancel_session | 停止某个会话当前正在跑的回合(保留待处理 inbox),用于止损 |
| mesh_wait_for_change | 等待下一次会话状态/活动/新建/移除事件(1s–1h),返回第一个变化;替代轮询 |
模型可见文本两段:
- session-mesh:policy(system prompt 段,可用 policy: full|short|off 配置):协作纪律——peer 消息是另一个 agent 的请求、只回复决策/结果、不要回执、不要乒乓、不共享对话历史、不要给自己发消息。
- session-mesh:identity(required runtime context):You are session "" (<id>) in workspace "" (<path>)。非根会话不注入;生成失败时退化为最小一行,不阻断 prompt 组装。
3. 实现方式
全部状态复用宿主既有服务,不新增会话事件类型、不落自定义文件:
mesh_ 工具 ├─ 列会话 sessionController.list() + workspaceRegistry.list()(一次建 session→workspace 索引) │ + workspaceRegistry.archivedSessionIds + sessionQuery.readTitleSnapshots()(30s 标题缓存,只取当页) ├─ 发消息 sessionController.resolveAgent(target) │ → agent.followup(relayUserMessage) / agent.steer(relayUserMessage) │ (消息 source = {kind:'agent-message', form:'relay', senderSessionId}; │ 消息对象按 dsh-llm createUserMessage 的同一形态手工构造并深冻结,避免 import 依赖) ├─ 新建 sessionController.create({workspaceId|cwd, agentPreset}) → rename → prompt ├─ 改名 sessionController.rename({sessionId, title}) ├─ 归档 workspaceRegistry.archiveSession(id, {stopActivity}) / unarchiveSession(id) ├─ 取消 sessionController.cancel({sessionId}) └─ 等待 ctx.on('api-session/status|activity|added|removed') 一次性 waiter
- 性能:列表先做不需要标题的过滤 → 排序 → 分页 → 只给当页读标题;带 query 时才读候选集标题。工作区映射一次 O(工作区×会话) 建索引,不再每行遍历。
- 安全:默认 allowSteer: false、maxSendsPerMinute: 30、同目标同内容 60s 内重复抑制;可选 allowedPeers/blockedPeers(精确 sessionId)白/黑名单;发送写 ctx.logger.info 审计。
- 可靠:消息投递失败时错误信息带目标与错误码;resolveAgent 失败不会静默。
- 工作区引用解析:精确 id → 精确路径 → 精确标题 → 唯一子串;多命中报歧义并列出候选。
4. 配置(cordis.patch.yml 的 config)
| 字段 | 默认 | 含义 |
| defaultMode | queue | 发消息默认投递模式 |
| maxMessageBytes | 65536 | 含 mesh 信封的单条消息 UTF-8 字节上限 |
| allowCreate | true | 允许创建会话 |
| allowArchive | true | 允许归档/取消归档 |
| allowCancel | true | 允许停止他人回合 |
| allowSteer | false | 允许 steer 投递(可能打断人类正在跑的回合) |
| maxSendsPerMinute | 30 | 每个发送方每分钟发送上限 |
| allowArchivedSend | false | 允许向已归档会话发消息 |
| identityContext | true | 注入身份 runtime context |
| policy | short | full / short / off,控制 system prompt 段长度 |
| allowedPeers | [] | 非空时仅允许给这些 sessionId 发消息 |
| blockedPeers | [] | 禁止给这些 sessionId 发消息 |
改配置:编辑本目录 cordis.patch.yml → Plugin Manager 里 disable → enable,或重启 DSH。
5. 重载与卸载
- 改代码后重载:先运行 npm test(离线 mock 自检),再在 Plugin Manager 里把 session-mesh 关一次再开。模块热替换会触发 Host 重新组合,进行中的回合可能被中断,重要操作不要和重载放在同一回合。
- 卸载:plugin_manager remove_bundle 目标 dsh-session-mesh。
6. 验证
离线自检(无需 DSH)
git clone https://github.com/kx2398/dsh-session-mesh.git
cd dsh-session-mesh
npm test # node test/mock-apply.mjs,21 项
覆盖:7 个工具注册、policy/identity 注入(含身份文本渲染)、列表过滤/游标分页、agent-message 投递形态、重复抑制、steer 禁用、自消息拒绝、速率限制、归档目标拒绝、创建(含工作区推断/改名 warning)、改名、归档运行中会话的错误格式化、归档/取消归档、取消自拒绝、wait 成功/超时、policy: off。
在线验证
- mesh_list_sessions 跨多个工作区返回全部会话,标题/运行态/归档态正确;游标分页可用。
- mesh_create_session / mesh_rename_session / mesh_archive_session / 取消归档正常。
- mesh_send_message 向空闲空白会话投递 → 目标被唤醒并跑完回合;目标会话日志中该消息的 source 为 {"kind":"agent-message","form":"relay","senderSessionId":...}。
7. 已知限制
1. agent.followup/steer 是 Host 内部 Agent 接口:绕过 sessionController.prompt 的入站准入(文本消息无影响;图片/附件不走此路径)。若未来宿主改变消息形态,需要同步调整 relayUserMessage。
2. 成功 ≠ 已处理:投递只保证进入目标 inbox;需要结果时让对方向你的 sessionId 回消息,或用 mesh_wait_for_change 观察变化后 mesh_list_sessions 复查。
3. 无 Web UI:只有工具面。可选后续:会话网格面板(列表/跳转/发消息/归档),复用 ui-workspace 的导航。
4. 归档会话不可唤醒:宿主 ArchivedSessionGate 会拒绝其 pre-step;必须先 unarchive。
5. 消息不进入发送方日志:发送记录落在目标会话;发送方只能在回复到达时看到 [mesh] 消息。
6. 没有强制文件隔离:不同工作区的会话可能共享同一文件系统路径;写冲突仍需自行协调。
8. 与生态现有插件的关系
调研结论(基于 npm registry / unpkg 对同类插件的逐包核查):没有现成插件同时覆盖「全工作区列表 + 任意会话发消息 + 互建会话 + 改标题 + 归档/取消归档 + 无任务板」。最接近的是两个互补半成品:dsh-cross-session-agent-pre(列表+发消息)与 dsh-cross-session-approval(建会话/改名/仅归档),以及已 deprecated 的 dsh-team-rooms。本插件刻意只做薄层:直接依赖宿主 sessionController / workspaceRegistry / sessionQuery。
9. 开发
- 入口:index.js(Host 插件,apply 形态);装配:cordis.patch.yml 以 insert 方式插入一行 id: session-mesh。
- 测试:test/mock-apply.mjs 用假 Host context 启动插件并跑通全部工具与注入文本,npm test 即可。
- 设计原则:状态只放宿主既有域(Session / Workspace),不新增事件类型;prompt 注入失败必须降级而不是中断回合;对模型暴露的每个限制都给出可行动的错误信息。
- 发布与维护流程见 docs/RELEASING.zh.md。
10. 许可证
MIT。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kx2398/dsh-session-mesh
跨工作区发现会话并互发消息、管理会话
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。