Vesna-Strivozha/DSH-LLM-wiki-plugin--packages-dsh-client-ui-llm-wiki ↗★ 1
@vesna-strivozha-2026/dsh-client-ui-llm-wiki
LLM Wiki panel: right-column file tree, knowledge graph, markdown/PDF reader, and upload flow for the DeepSeek Harness wiki
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗LLM Wiki
包名:
@vesna-strivozha-2026/dsh-client-ui-llm-wiki(DeepSeek Harness 的「个人知识库」右侧面板) 面向读者:不需要会写代码。你只要会用文件夹、会拖文件、会在聊天框打字,就能用起来。
LLM Wiki 把 DeepSeek Harness 变成一本会自动整理、会自动更新、可以直接提问的个人知识库。你把资料(文章、论文、笔记、PDF……)丢进去,AI 帮你把内容读一遍、写成互相链接的知识页,之后你随时在聊天框提问,它就从知识库里找答案并告诉你出处。
目录
1. 这是什么(大白话)
普通的「检索问答(RAG)」是:每次提问时,临时去翻原始文档、临时拼一个答案,用完就丢,什么也不沉淀。
LLM Wiki 不一样,它学的是 Karpathy 的「Wiki 方法论」:AI 持续维护一本会累积、会交叉引用、会自我检查的维基。
- 你只负责两件事:把资料丢进去、向它提问。
- AI 负责剩下的所有事:读资料、写摘要、建页面、互相链接、维护目录、发现矛盾。
打个比方:你请了一个不知疲倦的知识管理员,帮你把一堆散乱的资料整理成一本有条理、能交叉查询的活页笔记。
2. 它能帮你做什么
| 功能 | 一句话说明 |
|---|---|
| 🗂 一键建库 | 选一个文件夹,自动生成知识库骨架,不用你手动建目录 |
| 📥 拖拽上传 | 把文件拖进面板(或点击选择),上传前会让你确认 |
| 🧠 自动摄取(Ingest) | AI 读你的原始文件,自动生成/更新知识页,并维护索引和日志 |
| 📚 文件树浏览 | 像看文件夹一样浏览知识库,点文件即可阅读 |
| 🕸 知识星图(Graph) | 把知识页之间的关系画成一张可缩放、可拖拽的网状图 |
| 🩺 自动自检(Lint) | 检查「孤儿页」「孤立页」等问题,告诉你知识库哪里不完整 |
| 📖 原地阅读 | 面板里直接看 Markdown 排版和 PDF 文件 |
| 💬 聊天即问即答 | 直接在聊天框提问,AI 基于知识库回答并附上出处路径 |
3. 界面长什么样
启用后,Harness 会变成三栏:
┌──────────┐ ┌────────────────────────┐ ┌─────────────────┐
│ 左侧栏 │ │ 中间:对话窗口 │ │ 右侧:LLM Wiki │
│ 工作区/ │ │ (你平时聊天的地方) │ │ 面板(本插件) │
│ 会话列表 │ │ │ │ │
│ │ │ │ │ 工具栏/文件树/ │
│ ┌─────┐ │ │ │ │ 星图/阅读区 │
│ │Wiki │ │ │ │ │ │
│ └─────┘ │ │ │ │ │
└──────────┘ └────────────────────────┘ └─────────────────┘
右侧面板从上到下是:
- 标题栏:
LLM Wiki+ 关闭按钮。 - 工具栏:
选工作区 / 工作区、建库、摄取、自检四个按钮。 - 工作区路径:显示当前选中的文件夹。
- 标签页:
文件树/星图切换。 - 上传区:虚线框(拖文件到这里)+
上传按钮。 - 进度条:摄取时显示进度。
- 主区域:文件树 / 星图。
- 阅读区:点一个文件,在这里看内容(含 PDF 阅读器)。
打开方式:左下角有一个 LLM Wiki(收起时显示 Wiki)按钮,点一下打开右侧面板;再点右上角 × 或再按一次按钮关闭。
4. 从零上手:5 分钟教程
第 1 步:打开面板
点左下角的 LLM Wiki 按钮,右侧弹出面板。
第 2 步:选一个工作区
点面板里的 选工作区 按钮 → 系统弹出目录选择器 → 选一个你专门用来放知识库的文件夹(建议新建一个空文件夹)。
💡 工作区就是「知识库要放在哪个文件夹」。选好后,插件会在该文件夹下自动创建一个
llm-wiki/子目录来存放所有内容,不会污染你原来的文件。
第 3 步:一键建库
点 建库 按钮。插件会自动生成目录骨架(raw/、wiki/、index.md、log.md、schema.md)。如果这个工作区之前已经建过库,它会直接复用,不会覆盖。
第 4 步:上传资料
把文件(.md、.txt、.pdf 等)拖进虚线框,或点击虚线框选择多个文件 → 点 上传 → 弹出确认窗口,核对文件清单后点 确认上传。
文件会写入知识库的 raw/ 目录(原始来源区,只读,AI 不会改它)。
第 5 步:自动摄取
上传确认后,插件会自动开始摄取(也可以之后手动点 摄取 按钮)。你会看到进度条:AI 正在读你的文件,并把它整理成知识页。
⏳ 摄取需要调用大模型,处理一个大文件或 PDF 可能要几十秒到几分钟,请耐心等进度条走完。不要关面板。
第 6 步:浏览 / 看星图 / 自检
- 文件树标签:像资源管理器一样点开文件夹、点文件阅读。
- 星图标签:看到知识页之间的关系网(滚轮缩放、拖拽平移、点节点打开)。
- 点
自检:生成一份体检报告,列出「孤儿页」「孤立页」。
第 7 步:在聊天框提问
回到中间的聊天框,直接问知识库相关的问题(见下一节)。
5. 聊天问答:怎么用它提问
这是 LLM Wiki 的核心价值:你不必自己翻文件,直接在聊天框提问即可。
示例:
“我导入的那篇关于 agent 的论文里,agentic misalignment 是什么意思?”
AI 会先调用知识库检索工具 wiki_query,找到相关页面,然后基于知识库内容作答,并在回答里附上页面路径(例如 wiki/concepts/agentic-misalignment.md),方便你去核对原文。
注意三点:
- 要先建库并摄取,知识库里才有内容可查;否则会提示「知识库尚未初始化 / 请先选择工作区并建库」。
- 每次重启 Harness 后,插件会自动去已注册的工作区里找已建好的知识库并接上;如果它没自动找到,就回面板点一下
选工作区+建库即可。 - 如果问的内容和知识库无关,AI 会照常按通用知识回答,不会硬扯。
6. 你的知识库长什么样(目录结构)
建库后,/llm-wiki/ 下是:
llm-wiki/
├── raw/ # 原始来源(你上传的文件放这里,只读,AI 不改)
│ ├── assets/ # 附件(可选)
│ └── .ingested.json # 记录哪些文件已被摄取(去重,别手动删)
├── wiki/ # AI 生成的知识页(AI 独占维护)
│ ├── entities/ # 实体页(人物/模型/产品/机构……)
│ ├── concepts/ # 概念页(方法/思想/现象……)
│ └── sources/ # 来源摘要页(每篇原始文件对应一页)
├── index.md # 全库索引(自动重建,每页一行摘要)
├── log.md # 时间线日志(append-only,记录每次摄取)
└── schema.md # 知识库约定(目录规则、链接规则)
⚠️ 一般情况下,你只碰
raw/(往里放原始文件)。wiki/、index.md、log.md由 AI 维护,手动乱改可能导致检索或自检结果不准。
7. 名词解释
| 词 | 含义 |
|---|---|
| 工作区(Workspace) | 放知识库的那个文件夹 |
| raw | 原始来源层:你丢进去的原始文件,只读、不可变 |
| wiki | AI 生成的知识页层,AI 独占维护 |
| schema | 约定文档:目录结构、页面格式、链接规则 |
| index.md | 全库目录,每页一行摘要,按分类组织 |
| log.md | 只追加的时间线日志 |
| 摄取(Ingest) | AI 读 raw 源 → 写摘要页 → 更新实体/概念页 → 更新索引 → 追加日志的整个过程 |
| 自检(Lint) | 体检:找矛盾、过时断言、孤儿页、缺失交叉引用、数据缺口 |
| 星图(Graph) | 把页面与页面之间的 [[链接]] 画成关系网 |
| wikilink | Obsidian 风格的 [[页面名]] 链接写法 |
8. 常见问题 FAQ
Q1:聊天问知识库问题,提示「知识库尚未初始化」?
说明当前会话还没连上某个知识库。去右侧面板点 选工作区 选好文件夹、点 建库,再回来问。
Q2:摄取失败了怎么办?
面板会显示失败的文件和原因。常见原因:PDF 无法提取文字(需要 Python 的 pypdf 库)、文件太大被截断、大模型调用失败。修好后点 摄取 重试;失败的文件不会被标记为已摄取,所以会重试。
Q3:同一个文件上传了两次,会重复摄取吗?
不会。raw/.ingested.json 记录了哪些文件已摄取,重名上传会自动加序号 -1、-2 区分。
Q4:PDF 在面板里能直接看吗? 能。点 PDF 文件会在阅读区用内置 PDF 查看器打开(走浏览器原生 PDF 渲染)。大文件也能看,因为是用路由直出字节流,不是 base64 塞内存。
Q5:我的原始文件会被改吗?数据安全吗?
插件只写 raw/、wiki/、index.md、log.md、schema.md 这几个位置;raw/ 里的原始文件永远只读,AI 不会改写。文件树、上传、阅读、打开等操作也被限制在当前知识库根目录内。
Q6:为什么「用 XX 打开」菜单在 Windows/Linux 上没有?
「用默认应用打开」和「在文件管理器中显示」已经跨平台(macOS open / Windows Invoke-Item / Linux xdg-open)。只有「用 XX 打开」(列出预览 Preview/Adobe/Skim 等 PDF 应用)是 macOS 专属——它依赖 macOS 的 .app 应用包,其它平台没有等价概念,所以只在 macOS 显示。
Q7:星图里两个页面重名了会怎样?
插件会给重复标题自动加后缀(如 Foo (2))以避免节点冲突。更好的做法是摄取时保证页面标题唯一。
9. 给开发者
本包是 LLM Wiki 的浏览器面板(client 半身),通过 details 槽渲染右侧面板,并在 sidebar.footer.action 注册左下角开关;它挂载 host 包 @vesna-strivozha-2026/dsh-llm-wiki 的 Remote 贡献(remote.llmWiki.*),通过 Typert RPC 调用 host 的建库/文件树/上传/摄取/星图/自检/阅读等方法。目录选择走 ctx.workspaces.pickDirectory()。
Model Experience
Indirectly, through the host llmWiki Remote: the panel's ingest/lint/search actions route to @vesna-strivozha-2026/dsh-llm-wiki, which owns the wiki_query tool, the prompt section, and the ingest engine.
KV Cache effect
None; this package neither assembles nor sends a provider request.
Known Limitations and Deferred Work
- 「用指定应用打开」仅 macOS:PDF 应用列表(预览 Preview / Adobe / Skim)与「用 XX 打开」只在 macOS 提供;「用默认应用打开」「在文件管理器中显示」已跨平台(macOS
open/ WindowsInvoke-Item/ Linuxxdg-open)。 - PDF 文本提取依赖外部
pypdf:摄取 PDF 需在任意平台安装 Python +pypdf(面板内 PDF 阅读不需要)。 - 面板占用
details槽:会替换 Harness 自带的「工具详情」面板(工具结果仍在对话卡片内可见)。 - 无第三方 markdown 渲染库:阅读区用的是轻量 markdown 子集渲染 + 纯文本兜底。
- 星图布局为手写力导向:大规模知识库(数百页)可能变慢,且仅支持缩放/平移/点击,无搜索。
- 上传二进制走 base64 + shell:大文件上传可能较慢;RPC 走 JSON,无流式上传。