Runtime Self-Learning Harness:DSH 本地自學習與長期記憶

前言

在 DeepSeek Harness(DSH)裏做多輪 Agent 協作時,常見情況是:每一輪新會話都要重新說明輸出習慣、項目約定,以及已經排查過的故障線索。把信息寫進筆記或 RULES 文件能緩解一部分問題,但召回、過期、跨項目誤用和「這條經驗到底靠不靠譜」往往仍要人工維護。

Runtime Self-Learning Harness 是面向 DSH 的原生 bundle 插件,在本地觀察任務中的糾正、重複工作流和工具錯誤,把經驗整理成可檢索、可審覈、可修訂的記憶,並在後續模型調用前按項目範圍與 Token 預算注入相關提示。下面介紹它的定位、能力與安裝用法。

這是什麼

插件全名 Runtime Self-Learning Harness,當前版本 v6.2.8,由維護者 326sun 發佈在 GitHub(326sun/runtime-self-learning-harness),在 SkillHub 目錄中歸類爲「記憶」。簡介爲:Native DeepSeek Harness bundle for standalone long-term memory and provenance tools.

它解決的核心問題是:讓反覆確認的偏好、項目事實和任務經驗,成爲 Agent 下一次工作時可用的上下文,同時保留來源追溯與人工治理環節,而不是把整段對話原樣堆進上下文。

核心功能

從協作中自動積累經驗

原生模式下,插件通過 session/event 觀察用戶消息、工具調用、工具結果和助手回合,識別重複工作流、糾正與失敗模式;正常使用無需每個回合手動提交學習記錄。學習結果仍受重複次數、評分、審覈狀態和項目範圍約束;注入的提示與真實用戶輸入區分,避免把插件自己的提示誤學成用戶偏好。

記憶可查看、修改與撤回

長期記憶支持偏好、事實、項目狀態、工作流、錯誤和事件等類別。可通過工具搜索、讀取正文、查看修訂歷史與來源,也可顯式新增、修改或邏輯刪除。事實保留有效起止時間、獲知時間與新舊替代關係。

分層存儲與按項目召回

層級 主要內容 使用方式
core 穩定偏好、有效事實、項目狀態 符合審覈與治理條件的相關條目,可在 Token 預算內參與自動提示
archive 過程經驗、歷史信息、低頻知識 通過顯式檢索按需調用

項目範圍從當前工作目錄推導;檢索與自動提示遵循項目範圍與治理門檻,減少不同項目之間的經驗混用。

中文友好的本地檢索

檢索融合 CJK BM25、多查詢 RRF、顯式實體與別名、字符 n-gram 等信號,支持中文、英文和混合表達。默認在本機完成,無需額外部署向量庫或 embedding 服務。

來源可追溯與可遷移備份

學習回合生成受限的 episode 來源記錄(任務與工具摘要、項目範圍、結果信號與會話哈希,不保存原始對話正文)。備份爲版本化 JSON;導入流程爲「預覽 → 檢查衝突 → 導入 → 逐條批准」,同 ID 內容不直接覆蓋。

技能按驗證證據晉升

重複失敗可形成技能候選;候選需經執行試驗和獨立檢查後才能累計晉升證據。默認 5 次可信成功進入暫存(staged),7 次進入激活(active);已驗證的迴歸會觸發降級。工具未報錯、技能被注入或調用者自報 verified: true 都不會直接增加成功計數。驗證契約由維護者配置,詳見倉庫內 技能驗證說明。

宿主接入方式

插件在 agent/created 初始化上下文,通過 agent/pre-step 在模型調用前加入記憶和已激活技能。bundle 格式由 package.json 中的 dsh.bundle.patch 指向 cordis.patch.yml,由宿主加載。

安裝與啓用

環境要求:Node.js 24.9+;package.json 聲明的 DeepSeek Harness 版本範圍爲 >=0.1.0-rc.6 <0.3.0。

使用原生插件命令安裝(將 web 換成你實際使用的 profile):

dsh plugin --profile web add github:326sun/runtime-self-learning-harness
  1. 安裝完成後重啓對應 profile。
  2. 調用 learning_status,確認插件可用並查看實際 dataDir、觀察回合、模式和技能數量。
  3. 正常使用 Agent;原生模式會自動觀察與注入,無需首次手動激活。
  4. 需要技能驗證時,由維護者先配置候選驗收條件,再運行候選試驗。

數據目錄優先使用宿主分配的 ctx.dataDir;回退爲 <HARNESS_HOME>/self-learning-harness/,未設置 HARNESS_HOME 時爲 ~/.harness/self-learning-harness/。具體路徑以 learning_status 返回爲準。

典型用法

原生 bundle 註冊 18 個工具(12 個記憶工具、6 個學習工具)。常用記憶工具包括 memory_search、memory_list、memory_get、memory_provenance、memory_upsert、memory_export 等;學習工具包括 learning_status、learning_inject、learning_skill_evolve、learning_skill_feedback 等。

列出當前範圍內的核心記憶:

{ "memoryLayer": "core", "limit": 20 }

搜索歷史處理經驗:

{ "query": "權限錯誤的處理經驗", "memoryLayer": "all", "limit": 5 }

查看某條記憶的來源(將 ID 替換爲實際值):

{ "id": "<實際記憶 ID>" }

預覽技能候選晉級判斷(會產生派生模式與技能文件的寫入,使用前需知曉):

{ "options": { "dryRun": true } }

插件默認在本機存儲與檢索,不調用外部模型、不上傳原始對話;進入上下文的經驗會隨正常模型請求交給宿主配置的模型。

MCP 兼容入口(可選)

倉庫中的 server.js 可作爲獨立 MCP stdio 服務使用,提供 12 個記憶工具。自動觀察、自動注入及技能演化依賴原生 Harness 的事件與 Agent 接口;完整自學習能力請安裝原生 bundle。

在源碼目錄:

npm ci
node server.js

可用環境變量 HARNESS_DATA_DIR 指定數據目錄、HARNESS_PROJECT 指定項目。

適用場景與注意

適合需要在 DSH 中長期維護項目約定、錯誤處理線索和可審覈偏好的開發者;多倉庫、多項目並行時,按目錄推導的項目範圍有助於隔離私有記憶。

安裝前建議閱讀 GitHub 源碼 與 MIT License。插件以當前 DSH 進程權限讀寫本地數據;擁有本地文件寫權限的主體仍可修改配置和數據,機制不提供文件系統權限之外的隔離。README 註明:真實 Harness 安裝、多輪模型對話、項目切換和長期運行的端到端驗收尚未完成;聲明的版本兼容範圍與 CI 自動化結果不代表這些場景已經驗收。

SkillHub 目錄頁:runtime-self-learning-harness。社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

Runtime Self-Learning Harness 把「觀察 → 審覈與分層 → 項目內檢索 → 預算內提示 → 可選技能驗證」放在同一條可檢查的鏈路上,適合作爲 DSH 的本地長期記憶與來源追溯組件。Release 與校驗和見 v6.2.8。

羽毛球分组比赛记分
小程序二维码

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

小夜