前言¶
在 DeepSeek Harness(DSH)里,Composer 输入框里的内容会挂在当前这一轮上:Agent 还在跑的时候,你在框里敲的字往往会进当前 turn 的队列。实际对话里却常出现另一种需求——你已经想到下一步要说什么,但还不确定这一轮会不会继续改 bug、要不要立刻发出去;写进 Composer 容易误排到本轮,记在脑子里或临时记事本又容易丢,也和当前 Session 对不上。
@voltarenyah/dsh-prompt-note 是维护者 voltarenyah 发布的客户端类 DSH 插件:在右侧边栏开一个与 Session 绑定的「待发送提示」列表,Agent 仍在工作时可以先记下文案,等合适再逐条发送。社区目录页见 skillhub.cn 上的插件条目,源码与说明在 GitHub:voltarenyah/dsh-prompt-note。
这是什么¶
插件 npm 包名为 @voltarenyah/dsh-prompt-note(资料中版本 0.1.2),一句话定位是:Session 维度的 pending prompts 列表,渲染为 DSH 右侧边栏里的一个 Tab;你在当前 turn 进行期间写下「下一轮」要说的内容,准备好后再发送,且一次发送一条。
Host 侧通过 engines.dsh 声明依赖 DSH ≥ 0.2.1-rc.2——该版本起提供右侧 Tab 注册能力(ctx.sidebarRightTabs)。版本过低时 Host 会拒绝安装,而不是运行时才报错。
核心功能¶
下面介绍 README 中已写明的行为,不扩展未在资料出现的能力。
与 Session 绑定的列表与持久化¶
每个 Session 一份列表,按 Session id 存储;Host 半部分数据落在 profile 数据目录下的 <profile>/dsh-prompt-note/notes.json,因此刷新页面、重启或其它客户端重连后,同 profile 下的笔记仍在。
编写、编辑、删除¶
面板顶部有编写区:Ctrl+Enter 添加一条;单条支持行内编辑,Escape 取消编辑。可删除单条或清空当前 Session 列表(资料中的 API 含 remove、clear)。
就绪后再 Send¶
Send 会把选中的笔记作为该 Session 的下一条 prompt,经 Host 的 Session 控制器以 mode: 'queue' 提交——与你在 Composer 里输入后被排队的行为一致;发送成功后会消费该条笔记。从面板发送不会改动 Composer 里你正在打的草稿。
界面与语言¶
插件注册右侧边栏 Tab 类型并渲染面板;文案支持英文与中文,跟随应用当前 locale(locale/en.json、locale/zh.json)。
限制¶
单条笔记最多 20 000 字符;每个 Session 最多 200 条。列表不会实时推送到其它已打开的客户端;若多端编辑,需在面板标题栏使用 reload 控件刷新。
安装与启用¶
安装粒度是 profile:装在该 profile 上的 Session 都会看到此 Tab。若包管理器指向的镜像尚未同步发布,可在应用内插件管理器里选 npm 官方 registry,或 CLI 加 --registry https://registry.npmjs.org/。
应用内: 侧栏 → Plugins → Add plugin,输入包名 @voltarenyah/dsh-prompt-note(或固定版本 @voltarenyah/dsh-prompt-note@0.1.2)后安装。
CLI:
dsh plugin --profile <profile> add @voltarenyah/dsh-prompt-note
通过 Agent: 可让 Agent 安装 bundle @voltarenyah/dsh-prompt-note(与 README「With an agent」表述一致)。
资料中许可证为 MIT;Node 引擎要求 ≥ 20。插件在 DSH 进程权限下运行,安装前建议自行查看仓库源码与许可证。
典型用法¶
- 确认 DSH 版本满足 ≥ 0.2.1-rc.2,并按上一节为目标 profile 安装插件。
- 打开右上角面板开关,展开右侧边栏;在空状态列表里选 Pending prompts,或用侧栏 + 新建 Tab。Tab 随 Session 切换,换对话即换列表。
- Agent 仍在处理当前 turn 时,在面板顶部输入框写好「下一轮」要说的话,
Ctrl+Enter入列;可继续追加、编辑或删除,不必占用 Composer 队列。 - 当前 turn 结束或你确认可以进入下一步时,对某条笔记点 Send,该条会按 queue 模式进入 Session;成功后该条从列表移除。
- 若在另一浏览器或窗口也开着同 Session,改列表后另一端不会自动同步,在面板头使用 reload 再拉取。
适用场景与注意¶
适合: 长对话、调试轮次不确定是否还要继续时,先把后续指令草稿挂在对话旁边;需要多条备选 prompt、逐条放行而不是一次性堆进 Composer 的场景。
注意:
- 与 Composer「当前 turn 队列」分工不同:本插件存的是后续 turn 的待发清单,避免和正在执行的 turn 抢队列。
- 单 Session 200 条、单条 2 万字符的上限写死在插件逻辑里,超长内容应拆条或改用其它存储方式。
- DSH 生态强调「一切皆插件」;skillhub.cn 为社区目录站点,与 DeepSeek / 幻方无官方从属关系,本文仅作插件能力说明。
实现结构(供查阅)¶
维护者在 README 中给出的模块分工如下,便于排查问题或二次开发时对照:
| 文件 | 作用 |
|---|---|
index.js |
Host:笔记存储与围栏路由 /prompt-note/api/*(list、add、update、remove、consume、clear、send) |
client.js |
Client:注册右侧 Tab 并渲染面板 |
cordis.patch.yml |
Bundle patch,插入 prompt-note 行 |
locale/en.json、locale/zh.json |
插件展示文案 |
icon.svg |
图标 |
路由均为 POST + JSON body,响应 { ok: true, value } 或 { ok: false, error: { code, message } },并受 Host 浏览器信任检查(connection.requestRejection)约束。
结尾¶
dsh-prompt-note 把「下一轮要说的话」从 Composer 队列里拆出来,放在与 Session 同屏的右侧栏里写、改、再按需 Send,减少误排队和草稿丢失。目录页:https://www.skillhub.cn/plugins/voltarenyah/dsh-prompt-note;仓库:https://github.com/voltarenyah/dsh-prompt-note。