DeepSeek Harness plugin

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

Jump to install

Source facts

Repository
qiushi-dev/dsh-session-nexus
Latest update
Aug 21, 2026
Category
Memory
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-21

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/qiushi-dev/dsh-session-nexus
Plugin: dsh-session-nexus
Author: qiushi-dev

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

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) / 已知限制(需上游支持)

  • /unarchive writes 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 upstream unarchiveSession() the archive design note reserved.
  • /rm-session removes the JSONL session directory only; derived indexes/caches/accounting reconcile lazily. Correct deletion needs a delete operation on the upstream persistence seam.
  • Quiet delivery to a cold session is impossible from a plugin — durable queued → delivered mailbox events belong to the upstream seam the RFC proposes.
  • No session-row "copy address" menu item: the sidebar row menu has no plugin slot. /address and 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/](rfc/)(官方 .agents/notes/proposed/feature 格式,中英双语 + i18n sidecar):[会话生命周期控制](rfc/2026-08-20-session-lifecycle-controls.md) · [会话邮箱](rfc/2026-08-20-session-mailbox.md)。讨论串:deepseek-harness#3640