- Home
- Plugin
- Sessioni e messaggi
- dsh-session-nexus
dsh-session-nexus
qiushi-dev/dsh-session-nexus
Unofficial DeepSeek Harness plugin — sessions as addressable, first-class citizens: lifecycle controls (/resume, /unarchive, opt-in /rm-session) plus session-addressed messaging (/send-to, /notify, /address, session_send_message tool). Working companion t
Installazione
dsh plugin --profile web add github:qiushi-dev/dsh-session-nexusREADME
dsh-session-nexus
Unofficial community plugin for DeepSeek Harness. Not reviewed or endorsed by DeepSeek. 非官方社区插件,未经 DeepSeek 审查或背书。
One install, the whole session toolkit — working companion to the community session RFCs.
一次安装获得完整的会话工具套件:生命周期控制 + 跨会话消息。
Install / 安装
dsh plugin --profile web add dsh-session-nexus # or a github/tarball spec
Commands / 命令
| 命令 | 功能 |
|---|---|
/resume <id> | 按 id 显式挂载冷会话(不发消息;从日志解析 preset) |
/unarchive <id> | best-effort 取消归档(注册表缓存限制见下) |
/rm-session <id> --yes | 降级两步删除(默认关闭,lifecycle.allowDelete: true 开启) |
/send-to <地址> <消息> | wakeup 投递:成为目标的下一个 turn;冷会话自动 resume |
/notify <地址> <消息> | quiet 投递:目标下一步的模型上下文,不唤醒 |
/address [地址] | 输出会话的规范地址(URI + mention)供复制;无参数=当前会话 |
模型工具(mailbox.enableTool: true 默认开启):session_send_message(向其他会话投递消息)、session_overview(一次调用获取任意会话的标题/时间线/最近消息摘要——让"这个会话干了什么"这类问题一步得到答案,不再需要模型翻磁盘日志)。
地址格式(按推荐顺序):composer @ 选择器产生的 @[标题](dsh-session:…) mention、dsh-session: URI、session id、"含空格的标题"(直引号或「」)、裸标题(贪心匹配,仅活会话)。
With mailbox.enableTool: true (default) models get a session_send_message tool — an orchestrator session can drive other sessions.
Presentation / 呈现
Wakeup mail shows as a clean chat bubble (just the message, Codex-like); sender attribution and the untrusted-content notice ride a separate collapsed context row the same turn claims (mailbox.presentation: 'context' keeps everything in one collapsed row instead). Quiet mail is always a context row with a visible one-line summary.
Safety / 安全
- Sender attribution includes the live session title: 会话「标题」(id).
- Untrusted-content notice on every delivery; self-delivery refused; size cap (
maxMessageChars, 16384). - Loop breaker: per sender→target sliding window (default 10 messages / 300 s).
Config
- id: session-nexus
name: dsh-session-nexus
config:
lifecycle:
allowDelete: false
mailbox:
enableTool: true
allowColdWakeup: true
maxMessageChars: 16384
presentation: bubble # bubble | context
rateLimitCount: 10
rateLimitWindowSeconds: 300
Known limitations (upstream territory) / 已知限制(需上游支持)
/unarchivewrites durable state and pushes the UI frame, but the workspace registry's private in-memory cache cannot be invalidated from outside — a later workspace write may roll it back until restart. The clean fix is the upstreamunarchiveSession()the archive design note reserved./rm-sessionremoves the JSONL session directory only; derived indexes/caches/accounting reconcile lazily. Correct deletion needs adeleteoperation on the upstream persistence seam.- Quiet delivery to a cold session is impossible from a plugin — durable
queued → deliveredmailbox events belong to the upstream seam the RFC proposes. - No session-row "copy address" menu item: the sidebar row menu has no plugin slot.
/addressand the composer mention picker are the plugin-level substitutes.
These gaps are the RFCs' argument: the plugin proves the UX on public seams; the seams belong upstream.
License
MIT
Web UI 增强(客户端插件)
- 会话头部 ID 芯片:每个会话标题栏右侧显示该会话的 session id,点击即复制(悬停提示说明用途)。
/address专属结果卡片:不再是折叠截断的文本行——地址逐条整行展示,点击任意一条直接复制。
RFC 提案(proposed Agent Note 三件套)
本插件是两份社区 RFC 的伴生实现,提案原文见 rfc/(官方 .agents/notes/proposed/feature 格式,中英双语 + i18n sidecar):会话生命周期控制 · 会话邮箱。讨论串:deepseek-harness#3640。
Plugin correlati
dsh-synapse
liangmianya/dsh-synapse
dsh-turn-rewind
anionex/dsh-turn-rewind
dsh-chat-import
nwflower/dsh-chat-import
dsh-suite (plugin-session-export)
whyihaveyou/dsh-suite