前言¶
在 DeepSeek Harness(DSH)里写提示词,常见做法是反复改一版再发送,或把上一句复制回来微调。终端里可以用 ↑ 翻历史命令;DSH 默认输入框(Composer)没有同等能力,只能靠剪贴板或外部笔记。下面介绍社区插件 dsh-nonead-prompt-recall(维护者 NoneadChina),它在空输入框里用 ↑ / ↓ 浏览本工作区曾发送的人类提示词,历史落盘,重启后仍在。
这是什么¶
dsh-nonead-prompt-recall 是 DSH 的客户端类插件:在浏览器侧拦截 Composer 的 ↑ / ↓,在宿主侧监听会话事件并持久化「用户亲手输入、已发送」的提示词。当前版本 0.6.3(以 npm / GitHub README 为准)。包名与 npm 注册名均为 dsh-nonead-prompt-recall,许可证 MIT,引擎要求 Node ≥ 22、dsh ≥ 0.2.1-rc.1 且 < 0.3.0-0。
核心功能¶
键盘行为¶
在 Composer 为空 时:
- 按 ↑:载入最近一次发送的提示词;再按 ↑ 向更早的记录移动。
- 按 ↓:向更新的记录移动,直至回到空白草稿。
一旦你在输入框里打字或编辑,↑ / ↓ 恢复为普通光标移动,不再翻历史。无历史时,按键也不被拦截。
| 情况 | ↑ | ↓ |
|---|---|---|
| 空 Composer | 载入最新一条历史 | 不拦截 |
| 浏览历史(未编辑) | 更旧一条 | 更新一条 / 回到空草稿 |
| 已输入或已编辑草稿 | 不拦截 | 不拦截 |
| 无历史 | 不拦截 | 不拦截 |
记录范围与限制¶
- 历史按工作区隔离,写入磁盘,DSH Desktop 重启后保留。
- 仅记录 human input(
source.kind=user):插件注入、续写 ritual、工具来源消息不会入库。 - 连续两次完全相同的发送只存一条,避免一直按 ↑ 卡在同一条。
- 单条提示词上限 32,000 字符;默认每个工作区最多 500 条(可在设置里改为 1–5000)。
- Composer 可能对草稿做规范化(例如去掉
@reference目标);翻历史时按有效文本比对,规范化后仍能继续 ↑ / ↓。
设置页与斜杠命令¶
在 Settings → 提示词历史(英文界面为 Prompt History)可查看采集状态、条目数、当前工作区与存储路径,开关采集、调整上限与保留天数,并导出 / 导入 / 清空;列表展示当前工作区最近五条。
斜杠命令 /prompt-recall 管理同一套配置与历史,设置保存在与历史文件同目录的 settings.json。常用子命令包括:status / help、on / off、max <n>、keep <days>(0 表示永久)、clear confirm、export、import <file>、reset。
数据位置¶
<DSH_HOME>/plugin-data/dsh-nonead-prompt-recall/
├── history/<workspace-key>.json
├── settings.json
└── exports/<workspace-key>-<ts>.json
workspace-key 为规范化工作区路径 SHA-256 的前 24 位十六进制字符。也可直接打开:
<DSH_HOME>/plugin-data/dsh-nonead-prompt-recall/history/<workspace-key>.json
安装与启用¶
插件已发布到 npm,最简单的方式是在 DSH Desktop 的 Plugins 页选择 Add plugin,填入包名:
dsh-nonead-prompt-recall
若使用非 Electron 独占的 profile,CLI 等价命令为:
dsh plugin --profile <profile-name> add dsh-nonead-prompt-recall
desktop profile 仅由 Electron 应用管理,不能对其直接 CLI 安装,会出现:
error: profile "desktop" is managed exclusively by the Electron application
本地 checkout 可在 Desktop 的 Add plugin 框填入目录路径,或对其它 profile 使用:
dsh plugin --profile <profile-name> add "file:D:/MyProgram/GitHub/dsh-nonead-prompt-recall"
本地目录安装为链接而非复制;改代码后需刷新页面(客户端)或重启宿主(host 侧)。安装后刷新页面或重启 DSH Desktop,以便加载浏览器 bundle。
典型用法¶
README 给出的验证步骤可直接复现:
- 在当前工作区发送一条提示词,例如
test prompt 1。 - 清空 Composer,按 ↑,应出现
test prompt 1。 - 再发一条,清空后连按两次 ↑,应按时间顺序看到更早的提示词。
- 按 ↓ 逐步回到空草稿。
- 退出并重启 DSH Desktop,再按 ↑,历史应仍在。
- 打开 Settings → 提示词历史,确认导航图标、页头状态区以及导出 / 导入 / 清空是否可用。
日常使用时,把 Composer 清空后当作「只读 shell history」浏览即可;需要改字时再编辑,此时 ↑ / ↓ 只移动光标。
适用场景与注意¶
适合:在同一 DSH 工作区里频繁复用或微调提示词、希望行为接近终端 history 的开发者。
注意:
- 插件在当前 DSH 进程权限下运行,会读写
<DSH_HOME>/plugin-data/...;安装前请自行查看 GitHub 源码 与 MIT 许可证。 - 设置页导入在浏览器内解析 JSON,有 8MB / 20,000 条 限制;CLI
export写入exports/,设置页导出为浏览器下载,不写 host 文件。 - 社区目录 skillhub.cn 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」,本文事实以仓库 README 与
package.json为准。
结尾¶
dsh-nonead-prompt-recall 把 Shell 式的 ↑ / ↓ 提示词回溯带进 DSH Composer,并按工作区持久化,配合设置页与 /prompt-recall 做容量与备份管理。进一步了解可访问:
- 目录页:https://www.skillhub.cn/plugins/NoneadChina/dsh-nonead-prompt-recall
- 仓库:https://github.com/NoneadChina/dsh-nonead-prompt-recall