dsh-engram:DSH 經驗庫與記憶痕跡插件

前言

在 DSH(DeepSeek Harness)裏跑智能體時,經驗往往散落在對話、筆記或各自爲政的腳本里:能記下來,卻不好按類型檢索、按簇召回,也難以在控制台裏統一查看與調參。純手搓 JSON 或外掛筆記應用,又很難和 Harness 的工具面、側欄契約對齊。

dsh-engram(Engram,記憶痕跡)由維護者 yhPrime 發佈,歸類爲「記憶」類標準 DSH 插件。當前資料中的版本爲 0.11.0,倉庫星標爲 0。它把「經驗與技能引擎」和「經驗庫控制台」打進同一個插件包:重啓 DSH 後只增加一行插件「dsh-engram」,左側欄出現「經驗庫」,工具面與 /exp-ui/api 一併生效。下文按安裝、結構、配置與典型用法說明,事實均來自 GitHub 倉庫 README 與 package 信息。

這是什麼

Engram 的定位可以概括爲:經驗與技能引擎 + 經驗庫控制台,一個標準 DSH 插件。

0.11.0 起,原先拆成的「引擎」與「控制台外殼」已合併爲一個插件(plugin.js 爲唯一入口),與 dsh-mnemon 等記憶插件在依賴上解耦。

核心功能

控制台與側欄

安裝並重啓 DSH 後,控制台包含這些頁面(README 原文列舉):概覽 / 關係圖 / 經驗 / 檢索 / 記錄 / 技能 / 類型 / 使用記錄 / 設置。

工具面

同包內對 kernel 暴露的工具包括:exp_record、exp_recall、exp_feedback、exp_consolidate、exp_type,與控制台 API 路徑 /exp-ui/api 一起生效。

引擎側能力

kernel/ 目錄承擔存儲、檢索、簇路由、沉澱、反饋、技能等邏輯;經驗庫主數據落在配置指定的目錄下的 exp-lib.json 等結構中(詳見配置一節)。

關係圖與主題

「關係圖」頁借鑑了社區中星海式三維關係圖等交互思路(README「借鑑與致謝」表中有具體來源與版本說明)。配色默認讀取 DSH 運行時主題 token(如 --dsw-alias-brand-primary),隨當前主題變化;僅在手動選擇預設時纔會用固定配色。

Git 備份(可選)

在控制台「設置 → Git 倉庫備份」可將經驗庫目錄(<dataDir>/.git)當作普通 git 倉庫管理:支持初始化、提交推送、僅 fast-forward 拉取,以及 autoBackupMinutes 間隔自動備份(最小 15 分鐘,無改動會跳過)。GitHub 可走 OAuth 設備碼登錄,HTTPS 推送可用單獨 token 字段;亦提供 GET/POST /exp-ui/api/sync 與 POST /exp-ui/api/github 等 API。TLS 攔截代理環境下,插件會嘗試導出系統 CA 並重試(見 README「Git 備份」小節)。

安裝與啓用

官方 README 給出的安裝步驟如下,不要憑插件名自行拼接 dsh plugin add github:owner/repo。

先在插件包目錄執行打包,再按 profile 安裝本地 tgz:

npm pack
dsh plugin --profile <profile> add ./dsh-engram-0.11.0.tgz

完成後重啓 DSH。預期現象:插件列表中只有一行「dsh-engram」;側欄出現「經驗庫」,控制台與工具面如上節所述。

安裝前建議自行通讀倉庫源碼與 MIT 許可證;插件以當前 DSH 進程權限運行,經驗庫目錄與 Git 憑據會落在本機配置與數據路徑中。

倉庫結構(便於讀源碼)

路徑 作用
plugin.js 唯一入口:kernel 工具面 + 控制台 API
cordis.patch.yml 只插一條 engram 行
kernel/ 引擎:存儲、檢索、簇路由、沉澱、反饋、技能
ui/ 控制台:client.js(界面)、shell.js(API)、live.js/mock.js(數據源)
icon.svg 插件圖標

package.json 還通過 exports 暴露了 engine、store、retrieval、skills 等子路徑,便於在其他模塊中按需引用(仍以倉庫實際導出爲準)。

配置

可在 DSH 插件行配置,或寫入 ~/.dsh/engram/settings.json:

  • dataDir / currentRoot:經驗庫目錄(含 exp-lib.json)
  • source:live(默認)或 mock(僅演示)
  • 內核參數:hint、usageLog、feedbackEta、routing、maxTypes 等,可在控制台「設置」頁修改

Git 備份相關字段(遠端地址、token、autoBackupMinutes 等)同樣在設置頁或 settings.json 中維護;HTTPS token 僅存本機,推送時經 http.extraHeader 使用。

典型用法

1. 用控制台管理經驗庫

  1. 安裝 tgz 並重啓 DSH。
  2. 打開側欄「經驗庫」,在「設置」中確認 dataDir 與 source(演示可用 mock)。
  3. 在「記錄 / 經驗 / 檢索 / 技能 / 類型」等頁完成日常維護;需要可視化關聯時在「關係圖」中查看。

2. 在智能體流程中調用工具面

智能體側通過 DSH 已註冊的 exp_record、exp_recall、exp_feedback、exp_consolidate、exp_type 與經驗庫交互;具體參數與返回形態以倉庫內 kernel/tools.js 及 ui/API.md 爲準。

3. 同步與備份

  • 在 UI「設置 → Git 倉庫備份」完成遠端與(可選)GitHub OAuth。
  • 或用 HTTP API:GET /exp-ui/api/sync 查看狀態;POST /exp-ui/api/sync 攜帶 { "action": "init" | "push" | "pull" | "status" }。

適用場景與注意

適合誰: 已在 DSH 上開發智能體、希望把「經驗記錄—檢索—技能分層—類型與簇路由」收攏到同一插件與控制台內的開發者。

生態說明: DSH 的理念是「一切皆插件」;skillhub.cn 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文不將其表述爲官方應用商店。

注意:

  • 版本 0.11.0 要求 Node 22+;peer 依賴中含 @deepseek-ai/dsh-client-ui-primitives、@deepseek-ai/dsh-tools 等,部分標記爲 optional,實際環境以你的 DSH 發行版爲準。
  • mock 數據源僅作演示,生產應使用默認 live。
  • Git 拉取僅 --ff-only,遠端與本地分叉時需人工處理。
  • 關係圖與存儲格式吸收了多個開源項目的思路,詳見 README「借鑑與致謝」;使用與二次開發時請保留相應聲明。

結尾

dsh-engram 把經驗庫引擎和控制台收成一個標準插件:側欄「經驗庫」、多 Tab 控制台、五條 exp_* 工具面,以及可選的 Git 備份與 GitHub OAuth。若你要在 Harness 里長期積累可檢索、可反饋、可技能化的經驗,可按 README 打包安裝 0.11.0 tgz,再從「設置」定好 dataDir 與內核參數。

  • 目錄頁:https://www.skillhub.cn/plugins/yhPrime/dsh-Engram
  • GitHub:https://github.com/yhPrime/dsh-Engram
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜