前言¶
用 DeepSeek Harness(DSH)做智能体或日常对话时,新开会话往往要重复同一套话:回复语言、提交前跑测试、不要动某个目录。这些约定写在项目 README 或某次对话里,换会话就丢。DSH 生态里插件可以扩展宿主能力;dsh-pins(记忆钉)把这类信息钉在一块共享便签板上,用户和 Agent 读写同一份数据,并在 Agent 请求时按需注入系统提示。
这是什么¶
dsh-pins 是维护者 yanliao66 发布的 DSH 插件,分类为「记忆」。当前 GitHub 星标为 0,许可证 MIT,版本 1.0.0(见仓库 package.json)。定位是跨会话共享便签板:钉一次偏好后,后续会话可通过系统提示、memory_pins 工具,以及 Web 输入区底部的徽章面板持续生效。
核心功能¶
系统提示注入¶
板子非空且开启「注入系统提示」时,宿主在组装系统提示时通过变量段 {{memory_pins}} 注入当前钉子内容;空板或关闭注入时不占 token。注入预算 2400 字,超出时按钉入顺序截断,并提示还有未展示条目,可让 Agent 用 memory_pins 读取。
Agent 工具 memory_pins¶
| action | 作用 |
|---|---|
list |
列出 id、文本、标签及注入开关 |
add |
钉一条(text、可选 tag;重复文本返回已有条目) |
update |
按 id 改文本或标签 |
remove |
按 id 移除 |
set_inject |
开关是否注入系统提示 |
工具说明要求只钉持久的偏好、约定与提醒,不钉瞬时任务状态。
Web 界面¶
浏览器端在 conversation.composer.dock 显示紧凑徽章(例如「记忆钉 · 3」),与上下文计量器等并排;点击后在输入框上方浮出面板,可查看、编辑、新增钉子并切换注入开关,不遮挡底部 Token 与会话统计行。
数据与限制¶
数据文件:$DSH_HOME/dsh-pins/pins.json($DSH_HOME 默认 ~/.dsh)。最多 24 条,单条 400 字,标签 24 字;相同文本不会重复钉。写盘为原子操作;文件损坏时会备份为 pins.json.corrupt-<时间戳> 并以空板启动。
本机 HTTP API¶
路由仅接受本机信任围栏(回环地址、同源等),否则 403。主要路径:GET/POST/PATCH/DELETE /api/dsh-pins/pins、POST /api/dsh-pins/settings、GET /api/dsh-pins/health。
插件由 Host 侧 index.js、store.js 与 Client 侧 client.js 组成,通过 cordis.patch.yml 以 bundle 形式挂载;需 Node >= 22。
安装与启用¶
在 DSH Web GUI 中打开 插件 → 添加插件,填写插件目录的绝对路径,或填写 Releases 中的 dsh-pins-1.0.0.tgz,安装后启用。宿主会以 link: 依赖写入 profile,并把 dsh-pins 追加进 dsh.profile.bundles。
其它 profile 可用 CLI(Desktop 的 profile 由应用托管,建议走 GUI):
dsh plugin --profile web add link:/absolute/path/to/dsh-pins
卸载在插件页 移除;pins.json 会保留,重装后钉子仍在。若移动已安装目录,需先移除再从新路径安装,否则下次启动可能加载失败。
典型用法¶
- 在 Web 面板或让 Agent 调用
memory_pins的add,写入例如「回复用简体中文」「提交前先跑node --test」等长期约定。 - 保持「注入系统提示」开启,新开 Agent 会话时无需重复口述,系统提示段会带上板子内容(在预算内)。
- 临时任务不要钉在板上;需要 Agent 自行维护时,说明可用
list/update/remove/set_inject。 - 关闭注入后,板子与工具仍可用,只是不再进入提示词。
适用场景与注意¶
适合需要跨会话稳定上下文的 DSH 用户:语言偏好、仓库约定、安全边界提醒等。不适合把单次任务进度、临时调试状态当钉子长期堆在板上。
插件以当前 DSH 进程权限运行,Host 不 import @deepseek-ai/* 内部包,但安装前仍应阅读源码与 MIT 许可证。社区目录 skillhub.cn 上的 dsh-pins 页 为独立站点收录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
记忆钉把「每次会话都要重复交代的话」收敛到一块板子上,用户面板、同源 API 与 memory_pins 共用校验与 revision,避免人和 Agent 各记各的。进一步了解可查看 GitHub 仓库 与 插件目录页。