前言¶
在 DSH 裏跑智能體,上下文窗口再長也裝不下「上週看過的視頻、昨天聊定的結論」。常見做法是另起向量庫或外部筆記服務,再寫一層對接;運維和權限邊界都會變複雜。dsh-feiyu-kb(維護者 koishi-fumo-code)走另一條路:用純 Markdown 文件當知識庫,通過 DSH 工具暴露給任意模型運行時;從 0.7.0 起還附帶記憶庫,把會話往來落成可檢索的檔案。分類上屬於社區目錄裏的「記憶」類插件。下面介紹它做什麼、怎麼裝、日常怎麼用,以及接入刷視頻歸檔時的注意點。
這是什麼¶
一句話:DSH 插件,把本地一個純 Markdown 知識庫變成運行時工具(搜索、讀取、寫入、相關推薦),並支持網頁、文件、目錄、RSS 進料;帶設置頁、健康檢查與會話壓縮調參;可與刷視頻類上游插件配合自動沉澱筆記。
- 倉庫:koishi-fumo-code/dsh-feiyu-kb
- 目錄頁:https://www.skillhub.cn/plugins/koishi-fumo-code/dsh-feiyu-kb
- 當前包版本(package.json):0.7.5
- 運行要求:Node.js >= 22,DSH >= 0.1.7-rc.1,許可證 MIT
設計取向在 README 裏寫得很直白:沒有數據庫、沒有向量庫;除你主動抓網頁外不髮網絡請求。知識是「檔案」(按主題、可公開),記憶是「往來」(偏私密、按時間),兩套工具刻意分開。
核心功能¶
知識庫工具(kb_*)¶
裝好後模型側會多一組 kb_* 工具(README 快速開始寫「8 只」,與記憶庫合計爲 12 只):
| 工具 | 作用 |
|---|---|
kb_search |
搜標題 / UP / 標籤 / 正文,空格分隔多詞且需全部命中;留空則列最近 |
kb_read |
讀一條全文,默認截 8000 字,full: true 可讀全文 |
kb_add |
新增或更新;按 BV 號 → URL → 日期+標題判重,合併式更新 |
kb_related |
同主題舊筆記,標籤加權 + 中文二字組 + 英文/型號詞,每條帶理由 |
kb_ingest |
收外部內容:url / file / dir / feed(RSS·Atom) |
kb_capture |
隨手記一段話,自動起標題、抽要點 |
kb_status |
庫概況 |
kb_index |
手改 entries/ 後重建索引 |
單條筆記是一條帶 front-matter 的 .md,落在 entries/<年>/<月>/ 下;INDEX.md、index.jsonl 自動生成,不要手改。
記憶庫工具(mem_*)與自動記錄¶
| 工具 | 作用 |
|---|---|
mem_add |
記誰、什麼事、什麼時候,一兩句話 |
mem_search |
搜記憶,也可搜原始對話流水(默認最近 14 天) |
mem_read |
按 id 讀完整記憶 |
mem_status |
條數、最近一條、流水天數 |
插件訂閱 DSH 的 session/event:滿足會話名等於 brain.session(默認 dsh-feiyu)或工作目錄等於 brain.cwd 時,會把問答成對寫入 chats/YYYY-MM-DD.md,並按來源打標(qq / bili / dsh)。寫入默認一直進行;是否把記憶注入提示由 memory.read、本會話開關、memory.alwaysReadSessions 三者任一決定,默認不注入,打開時最近 5 條一句話摘要進提示(memory.inject 可調)。
進料方式¶
| 通道 | 用法要點 |
|---|---|
| 刷視頻插件 | 見下文「接上刷視頻插件」 |
| 網頁 | kb_ingest from=url,僅 http/https,拒絕內網,單頁上限 5MB |
| 本地文件 / 目錄 | from=file / from=dir |
| RSS / Atom | from=feed url=… limit=10 |
| 隨手記 | kb_capture text="…" |
| 目錄同步(兜底) | 設置頁每 10 分鐘掃指定目錄的 .md |
要點抽取規則強調「從正文如實摘」,抽不出就只留一句話,不編造。
設置頁與其它能力¶
DSH 設置裏會多一頁「知識庫」:改庫路徑(保存即生效)、開關 kb_ingest / kb_capture、調上下文壓縮閾值、目錄同步、立即健康檢查。配置落在 $DSH_HOME/feiyu-kb.config.json,卸載不污染 profile。
可選把 DSH 壓縮插件 compaction-basic 的 thresholdRatio 從 0.8 調到 0.6(中文會話更省 token),寫 profile 前備份、校驗失敗自動還原。
安裝腳本還會順帶配置搭檔:dsh-bili-whale(B 站通道)、astrbot_plugin_feiyu_bridge(QQ 轉發);已有則跳過。只要本插件可加 --no-peers;只登記不下載加 --no-network。單獨補裝:npm run peers。
QQ 側插件 POST 同包提供的 /api/feiyu-chat,與知識庫、記憶庫在同一插件內。
安裝與啓用¶
資料中的快速開始是在插件包目錄下執行安裝腳本(README 亦提到「插件庫裏的安裝」)。下面步驟不寫 clone,假定你已通過目錄或插件庫拿到包路徑。
1、進入插件根目錄,指定知識庫根路徑並執行安裝:
node scripts/install.mjs --root "D:/你的/知識庫"
若只想裝本插件、不拉搭檔:
node scripts/install.mjs --root "D:/你的/知識庫" --no-peers
2、重啓一次 DSH。
3、自檢(第二條路徑按你的 profile 調整):
node scripts/preflight.mjs --profile ~/.dsh/profiles/desktop
node scripts/selftest.mjs
selftest.mjs 爲 41 條功能斷言,在隔離的 DSH_HOME 下運行,不碰真庫。
庫路徑優先級(從高到低):設置頁路徑 → bundle patch 裏 config.root → 環境變量 FEIYU_KB_ROOT → $DSH_HOME/feiyu-kb.root → 默認 ~/dsh-feiyu-kb。命令行可對齊:
node lib/kb-cli.mjs where
常用配置默認值(README):
| 配置項 | 默認 | 說明 |
|---|---|---|
kb.root |
~/dsh-feiyu-kb |
知識庫 |
memory.root |
$DSH_HOME/feiyu-memory |
記憶庫 |
brain.session |
dsh-feiyu |
大腦會話名 |
brain.cwd |
$DSH_HOME/feiyu-brain |
大腦工作目錄 |
插件在 DSH 進程權限下運行;安裝前請自行查看源碼與 MIT 許可證,確認路徑與網絡行爲(如 kb_ingest 抓網頁)符合你的環境策略。
典型用法¶
模型側調工具¶
在會話裏讓模型調用工具即可,例如搜庫、讀條目、收網頁:
- 搜索:
kb_search(關鍵詞空格分隔) - 讀全文:
kb_read(必要時full: true) - 收網頁:
kb_ingest from=url url=https://…
沒有 DSH 插件運行時,同一套邏輯可用 CLI:node lib/kb-cli.mjs;再不行就直接讀寫 .md。
接上刷視頻插件(建議 A + B)¶
A. 會話內歸檔(推薦)
把倉庫 examples/whale-work-AGENTS.md 複製到刷視頻插件會話工作目錄下的 AGENTS.md(例如 ~/.dsh/whale-work/)。注入的指令會:有價值視頻調 kb_add(要點讀字幕,讀不到只寫一句);歸檔後調 kb_related;每輪往 notes/YYYY-MM-DD.md 追加幾行作落盤錨點。
B. 目錄同步(兜底)
設置頁打開目錄同步,默認掃 ~/.dsh/whale-work。注意:若目錄裏只有 AGENTS.md 會被跳過,可能「掃 0、收 0」;需配合 A 寫 notes/,或把目錄指向上游真實落盤位置。設置頁會顯示上次同步時間與告警。
接 B 站插件時不必改會話名,把工作目錄指到 brain.cwd 即可收記憶。
QQ 通道¶
部署 bridge/ 內 AstrBot 插件:
npm run bridge:install
橋接 POST /api/feiyu-chat;sessionId 省略則用 brain.session。
卸載¶
node scripts/uninstall.mjs --yes
node scripts/uninstall.mjs --yes --purge-data
前者保留知識庫數據,後者連數據刪除。
適用場景與注意¶
適合誰:希望長期筆記留在本地 Markdown、任意 DSH 模型都能搜讀寫;需要 B 站/QQ/DSH 多通道對話進同一記憶賬;不想維護向量庫與額外數據庫的開發者。
邊界(README 已知):
- 啓動期致命崩潰時插件可能來不及寫診斷,需下次成功啓動補報。
- 網頁正文抽取是啓發式,結構怪異的站可能抽歪,可改用
kb_add手寫。 - 目錄同步默認關,單次最多 20 篇
.md,不會自動去別處找文件。 kb_related是字面相似而非語義向量,標籤打準才準。
相關推薦低於默認 3 分不返回,寧可空也不硬湊。
穩定性腳本還有 scripts/doctor.mjs、scripts/compose-check.mjs;插件內置看門狗會掃崩潰日誌與 profile 回滾,報告在 $DSH_HOME/diagnostics/。
結尾¶
dsh-feiyu-kb 把「存、找、留得住」收進一套文件型知識庫與記憶庫,用工具暴露給 DSH 裏任意模型,並預留網頁/RSS/目錄進料與刷視頻歸檔銜接。細節與更新以倉庫 README 爲準。
- 社區目錄:https://www.skillhub.cn/plugins/koishi-fumo-code/dsh-feiyu-kb
- GitHub:https://github.com/koishi-fumo-code/dsh-feiyu-kb