前言¶
在 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