前言¶
在 DeepSeek Harness(DSH)里跑 agent,全局规则和单次对话的补充说明往往分散在配置文件、项目里的 AGENTS.md 或手工粘贴的 system 片段里;踩过的坑也很难沉淀成「下一条对话还能看见」的短规则,要么重新讲一遍,要么把长日志塞进上下文。社区插件 dsh-prompt-ErrorNotes-desk(界面显示名 Prompt Desk,维护者 1015677515)把两件事收进对话标题栏的两个小面板:编辑跨对话全局提示词与本次对话提示词,并按分类维护错误经验库,把最近若干条「教训」以较低 token 成本注入系统提示词。下面介绍它做什么、怎么装、典型用法和注意事项。
这是什么¶
dsh-prompt-ErrorNotes-desk 是 DSH 的 host + web 双端插件:在会话标题栏注册「提示词」「错误库」两个面板,读写 $DSH_HOME 下的状态,并通过 systemPrompt:section 向模型注入本次对话提示词与错误经验摘要。全局提示词与官方 dsh-agent-instructions 共用同一个 $DSH_HOME/AGENTS.md,不另存副本。
- 仓库:https://github.com/1015677515/dsh-prompt-ErrorNotes-desk
- 社区目录页:https://www.skillhub.cn/plugins/1015677515/dsh-prompt-ErrorNotes-desk(SkillHub 为社区站点,与 DeepSeek / 幻方无官方从属关系)
- 当前 package 版本:1.2.1(MIT)
- 环境:DSH
>=0.2.0-rc.1等系列 rc />=1.0.0-rc.1;Node^22.19.0 || >=24.0.0;profile 需启用 HTTP 服务(宿主注册GET|POST /prompt-desk/state)
核心功能¶
提示词面板¶
- 编辑跨对话全局提示词(即
$DSH_HOME/AGENTS.md)与本次对话提示词(新对话会延续)。 - 面板顶部标明当前哪一半正在生效;支持「临时暂停注入」、安装自检(宿主是否加载、HTTP 是否可达、注入条数、待确认草稿数、界面与宿主版本是否一致)。
- 底部提供注入预览:与真实注入同一构建函数,可看到插件对系统提示词的完整贡献。
错误经验库面板¶
- 按一级分类折叠展示条目:每条含简短类型 + 一句教训;二级分类用于区分补救手段(如验证缺位、语法生成等)。
- 默认将最近 10 条(仅含「教训」的条目)注入系统提示词;
detail(错误经过)与type留在面板,不注入以省 token。 - 开启导出时,系统提示词会附带固定的「自我认错」引导;agent 按指定单行格式汇报时,宿主从输出流捕获待确认草稿,需用户在面板点「采纳」才入库。
- 点面板外空白或按 Esc 关闭面板。
注入顺序值为 10200(DEPLOYMENT_PERSONA_SUFFIX),排在工具文档之后;text 为函数,保存后下一轮对话即生效,无需重启(改宿主模块或新装插件仍须重启 DSH 宿主半边)。
安装与启用¶
推荐在 DSH 设置 → 插件 → 安装 中填写 GitHub 短地址(勿自行拼接 #HEAD,以免装上后版本栏为空):
github:1015677515/dsh-prompt-ErrorNotes-desk
也可填完整 URL:
https://github.com/1015677515/dsh-prompt-ErrorNotes-desk
已克隆到本地时,可在安装界面填本地目录路径。完整步骤与排错见仓库 INSTALL.md。
也可在 profile 的 cordis.patch.yml 中写入:
- insert:
- id: prompt-desk
name: dsh-prompt-ErrorNotes-desk
装好后需重启 DSH:浏览器侧可热重载,负责注入的宿主半边需重启才会加载新模块。
可选默认配置(面板未覆盖时使用)示例:
- id: prompt-desk
name: dsh-prompt-ErrorNotes-desk
config:
injectLimit: 20
injectLimit 为非负整数,默认 10;0 表示不注入错误经验(会话提示词不受影响);上限 200。
典型用法¶
维护全局与本次对话规则¶
- 打开对话标题栏的「提示词」面板。
- 在全局框编辑
$DSH_HOME/AGENTS.md内容,在本次对话框写仅对本会话有效的补充;点保存(写入为原子操作:先.tmp再改名)。 - 查看底部注入预览,确认模型将看到的措辞与条数。
安装插件不会写入你的 AGENTS.md;仓库中的 AGENTS.example.md 仅为写法参考,不会被 DSH 自动加载。
沉淀错误经验¶
- 在错误库面板确认底部「错误库导出到系统提示词」已开启(长期开关,写入
state.json)。 - 让 agent 在发现错误时用同一行汇报(行首为标记,且含
错误经过:与教训:):
我犯了个错误:错误经过:<当时实际发生了什么> 教训:<以后怎么做,一句可执行的规则>
也接受行首标记 我发现了个错误。采纳面板顶部草稿前可改措辞、选分类(三档一级分类 + 部分二级分类)。
3. 在面板调整「注入条数上限」并保存;下一轮对话生效。
临时不想被旧教训打扰时,可用面板顶部「临时暂停注入」,或对话内命令(重载后复位):
/lessons off
/lessons on
/lessons
/lessons 为全局、非持久开关;要长期关闭错误库注入,应使用面板底部导出开关。
数据落盘位置¶
| 数据 | 路径 |
|---|---|
| 全局提示词 | $DSH_HOME/AGENTS.md(未设置 DSH_HOME 时多为 ~/.dsh) |
| 本次对话提示词、错误库、面板开关 | $DSH_HOME/prompt-desk/state.json |
浏览器端不直接写文件系统,读写经宿主 HTTP 路由完成。
适用场景与注意¶
适合谁:需要在一个界面里统一改全局 agent 指令、给当前会话加临时约束,并希望把重复性失误收成短规则、自动提醒后续对话的 DSH 用户。
使用前请知悉:
- 插件以当前 DSH 进程权限运行,安装前请自行查看源码与 MIT 许可证。
- 无 HTTP 服务的 profile 会加载插件但保持不活动,不会报错。
- 认错格式须满足 README 中的解析规则(同一行、标签顺序、行首标记等);旧版
|分隔格式不再自动捕获。 - 社区目录分类可能为「模型推理」;package 的 dshhub 标签还包含「提示词」「Web UI」「效率」等,以仓库说明为准。
结尾¶
dsh-prompt-ErrorNotes-desk 把全局提示词、会话提示词和可注入的错误教训收进标题栏两个面板,并用预览与自检降低「不知道模型到底看到了什么」的不确定性。若要安装或查看更新,可访问社区目录 SkillHub 插件页 或 GitHub 仓库 1015677515/dsh-prompt-ErrorNotes-desk。