dsh-explain:把 DSH 工作會話變成本地優先的學習循環

前言

用 DeepSeek Harness(DSH)做開發時,主會話裏往往堆滿命令、報錯和臨時結論,但真正值得記住的概念很少被單獨整理。常見做法是另開筆記或靠記憶,和當時的工作上下文容易脫節,也很難在後續會話裏複用。

下面介紹 dsh-explain(維護者 yuezengwu)。它是 DSH 的學習模式插件,從已完成的工作回合裏提取概念,生成結構化講解卡片,並寫入跨會話的全局學習線程;主智能體不受影響,Explain 使用獨立的模型調用、調度器、上下文和本地 SQLite 數據庫。

這是什麼

dsh-explain 面向 DSH 0.1.0-rc.8,在 SkillHub 插件目錄 中歸類爲「記憶」。插件當前版本爲 v0.1.0,採用 MIT 許可證。

它解決的核心問題是:如何把日常 DSH 工作裏出現的概念,轉成可回顧、可反饋、可跨會話延續的私人學習記錄,而不是散落在各次對話裏。

核心功能

按來源講解與學習卡片

Explain 支持多種入口,均圍繞當前或選定的來源材料生成講解:

入口 行爲
/explain <request> 以當前會話爲有限來源上下文請求講解
Explain selected text 從可見文本生成可編輯的 /explain --selection … 草稿,不會自動提交
Learn from this answer 綁定到已完成的 assistant 回合,生成可編輯草稿
自動評估 符合條件的已完成回合後,Explain 可能在配置預算內自動添加一條有用講解

每張學習卡片回答三個問題:What is it?(概念是什麼)、Why does it matter?(在工作中的實際意義)、What is the common pitfall?(常見誤區)。可選擇 Got it 關閉卡片,或 Not yet 請求換一種講法;即使來源會話後來被刪除,仍可對已有講解進行 rephrase。

跨會話全局學習線程

每個 $DSH_HOME 只擁有一條 Explain 學習線程。各工作會話貢獻材料,但 resume 和 fork 不會複製學習狀態:

  • 每個來源會話最多有一條待反饋的講解
  • 所有工作會話在 DSH 原生的 Learning 標籤頁展示同一份全局歷史
  • 全局調度器串行處理手動講解、自動評估、rephrase 和壓縮
  • 默認自動評估預算爲滾動 24 小時內 50 次請求,重啓後仍保留
  • 私有 ExplainContext 跟蹤講解偏好、知識水平和學習進度

本地優先與上下文隔離

數據 存儲與行爲
學習線程 $DSH_HOME/dsh-explain/v1/thread.sqlite
啓用與模型設置 通過 DSH 設置寫入 $DSH_HOME/settings.yaml
來源材料 壓縮爲有界 capsule;rephrase 時保留最多 2,000 字符的受限來源摘要
全局學習上下文 僅發送給 Explain 輔助模型,不進入主智能體
主會話 不接收 Explain 事件、提示或學習上下文;主回合不被阻塞

當結構化觀察或已關閉講解處於 pending 狀態時,若 30 分鐘內無 Explain 操作,或某次請求將超過所選模型上下文窗口的 50%,輔助歷史會自動壓縮。

可診斷的設置界面

在 DSH Web 中打開 Settings → Learning,選擇輔助 provider 與模型,啓用學習模式並保存。Explain 只觀察啓用之後新完成的頂層回合,不會掃描已有歷史。Composer 內可用 /explain on/explain off/explain status 控制或查看運行時狀態。

安裝與啓用

Explain 當前兼容 DSH 0.1.0-rc.8。安裝命令如下:

npx @deepseek-ai/dsh@0.1.0-rc.8 plugin --profile web add github:yuezengwu/dsh-explain
npx @deepseek-ai/dsh@0.1.0-rc.8 web

Git 託管插件在安裝時會構建。若 pnpm 請求 build 批准,需將打印出的 dsh-explain 條目加入 profile 的 pnpm-workspace.yaml,然後重複安裝命令。

啓動 Web 後,進入 Settings → Learning 配置輔助模型並啓用學習模式。經過上面的步驟,Explain 即開始監聽後續完成的工作回合。

典型用法

從回答中學習

  1. 在 DSH Web 中完成一次有意義的主智能體回答。
  2. 選擇 Learn from this answer,或在選中文本後使用 Explain selected text
  3. 檢查並編輯生成的 /explain 草稿,確認後提交。
  4. Learning 標籤頁查看生成的學習卡片,選擇 Got itNot yet

手動請求講解

在 Composer 中直接輸入:

/explain <你的問題或概念>

當前會話內容作爲有界來源上下文參與生成。可用 /explain status 查看當前狀態。

控制學習模式

/explain on
/explain off
/explain status

無需離開 Composer 即可開關或檢查 Explain 運行時。

適用場景與注意

適合誰: 長期用 DSH 做開發、希望把會話裏出現的概念沉澱爲可回顧學習記錄的用戶;需要主智能體保持獨立、學習邏輯由輔助模型承擔的場景。

兼容性: 插件跟隨 DSH 公開 API 線(當前爲 0.1.0-rc.8),不爲更早的 private-preview 包保留兼容層。倉庫包含 64 個單元測試、4 個 assembled DSH Web 驗收場景和 3 個 Explain 自有快捷方式驗收場景;詳細矩陣見 docs/ACCEPTANCE.md

安裝前注意: 插件以當前 DSH 進程權限運行,會讀寫 $DSH_HOME 下的 SQLite 與設置文件。安裝前應閱讀 源碼倉庫MIT 許可證,確認數據落盤位置與模型調用方式符合你的預期。SkillHub 是社區插件目錄,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-explain 把 DSH 日常工作中值得記住的概念,轉成本地存儲、跨會話共享的學習線程,主智能體路徑保持乾淨。若你在 DSH 生態裏尋找「記憶」類插件,可從目錄頁或 GitHub 進一步瞭解:

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

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

小夜