在 DeepSeek Harness (DSH) 中开发智能体时,开发者经常需要在不同的会话间保持上下文,或临时记录思路。直接在聊天框中记录不仅容易打断流式输出,且难以管理。dsh-notepad 插件通过嵌入 Web GUI,提供了一个常驻的记事本窗口,解决了环境割裂与上下文丢失的问题。
这是一个由 43456-awa 维护的客户端插件,核心价值在于提供“双作用域”的持久化笔记系统,并打通了 Agent 工具链,使其成为智能体可访问的本地知识库。
核心功能¶
双作用域与持久化¶
插件提供两种作用域模式:
* 全局页:所有会话共享内容。
* 本会话隔离页:内容仅当前会话可见。
两者可切换或分屏同看。
输入内容自动保存至 ~/.dsh/notepad/notes.md(UTF-8 BOM、原子写、revision 乐观锁)。当保存失败时,系统会自动重试;若刷新页面时检测到未保存内容,支持一键恢复。
同步与历史¶
采用 SSE 实时推送 + 轮询兜底的机制确保同步可靠性。每次保存前,系统会自动存档 20 份历史快照,可通过 /api/notepad/history 接口检索或回溯。
Agent 工具集成¶
插件暴露了三个工具接口,Agent 可直接调用:
* notepad_read:读取笔记内容。
* notepad_write:写入笔记内容(支持 append 按行去重、可选时间戳)。
* notepad_search:跨作用域搜索笔记。
界面交互¶
- 窗口可拖动到任意位置、可锁定固定、宽度可调,窄屏时自动收起。
- 支持 Markdown 预览(勾选框可点击)。
- 纯客户端样式,跟随 DSH 的明暗主题。
- 快捷键:
Ctrl+Enter立即保存,Esc收起。
安装与启用¶
使用官方命令安装:
dsh plugin --profile web add dsh-notepad
安装完成后,重启 dsh web 并刷新页面,记事本面板将出现在界面右侧。
典型用法与开发¶
常规使用¶
重启并刷新页面后,即可在右侧面板进行笔记记录。若需卸载,使用:
dsh plugin --profile web remove dsh-notepad
(注:卸载后便签文件默认保留在本地)。
本地开发¶
若需修改源码,源码必须放置在 ~/.dsh/profiles/ 树内。使用 link: 安装方式可以确保源码路径被正确解析,从而访问 profiles/node_modules 中宿主自带的依赖:
# <yourProfileDir> 为 ~/.dsh/profiles/ 下的实际路径
dsh plugin --profile web add link:<yourProfileDir>/dsh-notepad
注意事项¶
- 源码位置:源码必须放在
~/.dsh/profiles/树内。若放在树外,将无法访问宿主的profiles/node_modules中的@deepseek-ai/*依赖。 - 冲突处理:当并发保存导致版本冲突时,接口将返回 409 状态码。
参考资料¶
- 插件目录:dsh-notepad - SkillHub
- 源码仓库:43456-awa/dsh-notepad