前言¶
用 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 倉庫 與 插件目錄頁。