前言¶
在 DeepSeek Harness(DSH)裏做本地記憶,常見路徑是:網頁端留下大量對話,再用自己寫的腳本同步到知識庫,偶爾還要跑體檢和「讓模型做判斷」的整理步驟。這幾件事往往分散在終端、定時任務和不同目錄裏,狀態要自己拼。
dsh-kb-sync 是社區插件(分類:記憶),維護者相關信息見 SkillHub 目錄頁 與 GitHub 倉庫。源碼 README 中的安裝命令指向 github:284022719/dsh-kb-sync,與目錄頁展示的倉庫路徑可能不一致,安裝與查閱文檔時以你實際選用的倉庫與 README 爲準。
下面介紹它做什麼、怎麼裝、怎麼配,以及控制頁上的典型操作。
這是什麼¶
dsh-kb-sync 是標準 dsh.bundle 插件:把你自己已有的同步流水線搬到一個同源控制頁——一鍵運行、看狀態、看日誌、跑完整性體檢。典型流水線是「網頁端對話歷史 → 本地知識庫」,但插件本身不綁定你必須同步什麼內容。
README 用三塊能力概括:
- 自己拉取:用 DSH 憑據服務裏的網頁端
userToken調chat.deepseek.com,把對話規範化落到本地知識庫,並在插件內檢索。這一塊讀憑據值、會出網。 - 編排:啓動你配置的同步/體檢命令,讀狀態與日誌。不讀憑據、不出網。
- 整理(模型判斷):把管線裏「讓模型做判斷」那一步搬進進程內(準備輸入 → 調宿主
llm服務拿 JSON → 校驗通過才落盤/重建)。不讀憑據;出網走宿主llm適配器,域名由你配置的提供方決定。
當前 package.json 記錄版本爲 0.2.0,許可證 MIT,要求 Node ≥ 20、DSH ≥ 0.2.0-rc.2,並提供 webServer 與 subprocess 服務。
核心功能¶
編排半:接管你已有的命令¶
插件對你現有腳本的核心要求是:一個可執行的同步命令。其餘項可選,缺失時對應功能降級,不會因爲缺項而整體崩潰。
| 你提供的內容 | 插件用途 | 缺失時 |
|---|---|---|
同步命令(默認發現 sync/sync-daily.{cmd,ps1,sh},或 syncScript 指定) |
控制頁「運行」 | /run 返回 sync-script-missing,其餘照常 |
日誌目錄(默認 sync/logs/) |
日誌與「最新日誌」 | 狀態裏不顯示日誌 |
進度文件(默認 sync/LAST-SYNC.txt) |
「最近幾次結果」 | 跳過該欄 |
憑據文件(默認 .token) |
只讀 mtime,顯示年齡/是否偏舊 | 跳過該欄 |
體檢命令(默認 <kbDir>/tools/kb.mjs doctor) |
/doctor |
找不到腳本時返回 doctor-script-missing |
拉取半:網頁對話進本地知識庫¶
拉取流程(README 描述):用憑據服務中的 userToken 訪問 chat.deepseek.com → 拉會話列表 → 只處理新增/續聊線程(以 chat_session.current_message_id 定位末端)→ 落盤爲 conversations/*.md、conversations.jsonl、catalog.json → 支持插件內檢索。
默認知識庫目錄在插件包內:<插件目錄>/data/kb/。可用 outDir 改到其他路徑或複用已有庫。插件不把 token 寫入文件、日誌或響應;拉取半不訪問 chat.deepseek.com 以外的地址。
整理半:進程內跑判斷步驟¶
整理步驟:準備輸入 → 調宿主 llm 服務 → 用管線的 apply-extraction.mjs 校驗 JSON → 通過才落盤並重建;默認行爲側重校驗。可通過 processProvider、processModel、processMaxTokens、pipelineDir 等配置對接宿主模型。
控制頁與設置入口¶
同源控制頁地址:
http://127.0.0.1:<你的 DSH Web 端口>/__dsh-kb-sync/
首屏按任務分塊:結論條、收新對話、找內容、整理;較重操作收在「運行詳情與診斷」摺疊區。應用內 設置 → dsh-kb-sync 另有狀態摘要與「抓取新對話 / 更新知識庫」動作,但不提供配置編輯(配置在加載時解析一次,改完需重啓)。
收新對話支持增量抓取;補齊全量歷史走官方導出包(export_all 等),後臺運行、頁面定期刷新進度。另有 chainMinIntervalMs(默認 6 小時)作爲更新新鮮度閘門,頁面可用 force 繞過。
安裝與啓用¶
README 給出的安裝方式爲 profile web 下添加 GitHub 源(裝完需重啓 DSH):
dsh plugin --profile web add github:284022719/dsh-kb-sync
插件爲零依賴 bundle,無客戶端構建步驟。安裝前建議自行閱讀倉庫源碼與 LICENSE,確認在以當前 DSH 進程權限運行時可接受的行爲邊界(見倉庫內 docs/CAPABILITY-DISCLOSURE.md)。
配置¶
未配置時插件仍可加載,控制頁會提示缺少項。改完配置必須重啓 DSH;resolveSettings() 僅在加載時執行,內存中的配置不會隨文件修改即時更新。
配置優先級(README):loader config → 環境變量 → 用戶設置文件 ~/.dsh/.dsh-kb-sync.json(或 $DSH_HOME 下同名文件)→ 插件目錄內 config.json → 內置默認。
方式一:profile patch(節選)
- id: dsh-kb-sync
name: 'dsh-kb-sync'
config:
root: 'D:\path\to\pipeline'
# tokenOldDays: 21
# chainMinIntervalMs: 21600000
方式二:插件目錄 config.json(可複製同目錄 config.example.json)
{ "root": "D:\\path\\to\\pipeline", "outDir": "data/kb", "tokenOldDays": 21 }
環境變量:DSH_KB_SYNC_ROOT、DSH_KB_SYNC_OUT_DIR、DSH_PIPELINE_DIR。
POSIX 示例(顯式指定 shell 腳本同步入口):
{ "root": "/srv/kb-pipeline", "syncScript": "/srv/kb-pipeline/sync/daily.sh", "logDir": "/srv/kb-pipeline/sync/logs" }
/status 的 configFile 字段會報告實際使用了哪份配置文件(used / localUsed)。
典型用法¶
- 在 DSH 憑據服務中準備好網頁端
userToken(拉取半需要;編排半不需要)。 - 配置
root指向你的流水線根目錄,必要時改syncScript、logDir、doctorScript等。 - 重啓 DSH,打開控制頁或設置頁查看結論條與關鍵數字(會話數、最近更新、登錄態年齡)。
- 需要新內容時點「抓取新對話(增量)」;需要與自有
sync-daily腳本對齊時,用「更新知識庫」或/run走編排路徑。 - 在「找內容」使用插件內檢索;在「整理」跑管線判斷步驟(出網經宿主
llm配置)。
適用場景與注意¶
適合誰:已經在本機維護「DeepSeek 網頁對話 → markdown/JSONL 知識庫」或類似流水線,希望用 DSH 統一看狀態、拉增量、檢索,並可選地把「模型判斷」收進進程內的開發者。
邊界與注意:
- 拉取半屬於能力披露中的紅線類行爲(讀憑據、訪問
chat.deepseek.com);編排半與整理半的出網範圍不同,整理走你配置的 LLM 提供方。 - 插件不註冊提示詞段落、不改核心 bundle、無安裝腳本;不以插件替你做「該同步什麼」的業務決策,只編排你已有的命令與內置拉取/整理鏈路。
- 社區目錄 SkillHub 與 GitHub 爲獨立信息源,與 DeepSeek / 幻方無官方從屬關係。
- 星標與用戶規模等目錄統計會變動,本文不引用未在 README 中核實的數字。
結尾¶
dsh-kb-sync 把拉取、編排、整理三塊能力收進一個本地控制頁:網頁對話可規範化爲 conversations/*.md + conversations.jsonl + catalog.json,自有同步與體檢命令仍由你掌握,判斷步驟可經宿主 llm 在校驗後落盤。
- 目錄頁:https://www.skillhub.cn/plugins/xinming-chenniang/dsh-kb-sync
- GitHub:https://github.com/xinming-chenniang/dsh-kb-sync(README 安裝示例:
github:284022719/dsh-kb-sync)
更完整的 API、路由表與分步說明見倉庫內 docs/USAGE.md 與 README.md。