Vesna-Strivozha/DSH-LLM-wiki-plugin--packages-dsh-client-ui-llm-wiki1

@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

包名
@vesna-strivozha-2026/dsh-client-ui-llm-wiki
版本
1.0.2
许可证
MIT
最近更新
2026年8月23日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

LLM Wiki

包名:@vesna-strivozha-2026/dsh-client-ui-llm-wiki(DeepSeek Harness 的「个人知识库」右侧面板) 面向读者:不需要会写代码。你只要会用文件夹、会拖文件、会在聊天框打字,就能用起来。

LLM Wiki 把 DeepSeek Harness 变成一本会自动整理、会自动更新、可以直接提问的个人知识库。你把资料(文章、论文、笔记、PDF……)丢进去,AI 帮你把内容读一遍、写成互相链接的知识页,之后你随时在聊天框提问,它就从知识库里找答案并告诉你出处。


目录

  1. 这是什么(大白话)
  2. 它能帮你做什么
  3. 界面长什么样
  4. 从零上手:5 分钟教程
  5. 聊天问答:怎么用它提问
  6. 你的知识库长什么样(目录结构)
  7. 名词解释
  8. 常见问题 FAQ
  9. 给开发者

1. 这是什么(大白话)

普通的「检索问答(RAG)」是:每次提问时,临时去翻原始文档、临时拼一个答案,用完就丢,什么也不沉淀

LLM Wiki 不一样,它学的是 Karpathy 的「Wiki 方法论」:AI 持续维护一本会累积、会交叉引用、会自我检查的维基

  • 只负责两件事:把资料丢进去、向它提问。
  • AI 负责剩下的所有事:读资料、写摘要、建页面、互相链接、维护目录、发现矛盾。

打个比方:你请了一个不知疲倦的知识管理员,帮你把一堆散乱的资料整理成一本有条理、能交叉查询的活页笔记。


2. 它能帮你做什么

功能一句话说明
🗂 一键建库选一个文件夹,自动生成知识库骨架,不用你手动建目录
📥 拖拽上传把文件拖进面板(或点击选择),上传前会让你确认
🧠 自动摄取(Ingest)AI 读你的原始文件,自动生成/更新知识页,并维护索引和日志
📚 文件树浏览像看文件夹一样浏览知识库,点文件即可阅读
🕸 知识星图(Graph)把知识页之间的关系画成一张可缩放、可拖拽的网状图
🩺 自动自检(Lint)检查「孤儿页」「孤立页」等问题,告诉你知识库哪里不完整
📖 原地阅读面板里直接看 Markdown 排版和 PDF 文件
💬 聊天即问即答直接在聊天框提问,AI 基于知识库回答并附上出处路径

3. 界面长什么样

启用后,Harness 会变成三栏:

┌──────────┐  ┌────────────────────────┐  ┌─────────────────┐
│ 左侧栏   │  │  中间:对话窗口         │  │  右侧:LLM Wiki │
│ 工作区/  │  │  (你平时聊天的地方)   │  │  面板(本插件) │
│ 会话列表 │  │                        │  │                 │
│          │  │                        │  │  工具栏/文件树/  │
│  ┌─────┐ │  │                        │  │  星图/阅读区     │
│  │Wiki │ │  │                        │  │                 │
│  └─────┘ │  │                        │  │                 │
└──────────┘  └────────────────────────┘  └─────────────────┘

右侧面板从上到下是:

  1. 标题栏LLM Wiki + 关闭按钮。
  2. 工具栏选工作区 / 工作区建库摄取自检 四个按钮。
  3. 工作区路径:显示当前选中的文件夹。
  4. 标签页文件树 / 星图 切换。
  5. 上传区:虚线框(拖文件到这里)+ 上传 按钮。
  6. 进度条:摄取时显示进度。
  7. 主区域:文件树 / 星图。
  8. 阅读区:点一个文件,在这里看内容(含 PDF 阅读器)。

打开方式:左下角有一个 LLM Wiki(收起时显示 Wiki)按钮,点一下打开右侧面板;再点右上角 × 或再按一次按钮关闭。


4. 从零上手:5 分钟教程

第 1 步:打开面板

点左下角的 LLM Wiki 按钮,右侧弹出面板。

第 2 步:选一个工作区

点面板里的 选工作区 按钮 → 系统弹出目录选择器 → 选一个你专门用来放知识库的文件夹(建议新建一个空文件夹)。

💡 工作区就是「知识库要放在哪个文件夹」。选好后,插件会在该文件夹下自动创建一个 llm-wiki/ 子目录来存放所有内容,不会污染你原来的文件。

第 3 步:一键建库

建库 按钮。插件会自动生成目录骨架(raw/wiki/index.mdlog.mdschema.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),方便你去核对原文。

注意三点:

  1. 要先建库并摄取,知识库里才有内容可查;否则会提示「知识库尚未初始化 / 请先选择工作区并建库」。
  2. 每次重启 Harness 后,插件会自动去已注册的工作区里找已建好的知识库并接上;如果它没自动找到,就回面板点一下 选工作区 + 建库 即可。
  3. 如果问的内容和知识库无关,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.mdlog.md 由 AI 维护,手动乱改可能导致检索或自检结果不准。


7. 名词解释

含义
工作区(Workspace)放知识库的那个文件夹
raw原始来源层:你丢进去的原始文件,只读、不可变
wikiAI 生成的知识页层,AI 独占维护
schema约定文档:目录结构、页面格式、链接规则
index.md全库目录,每页一行摘要,按分类组织
log.md只追加的时间线日志
摄取(Ingest)AI 读 raw 源 → 写摘要页 → 更新实体/概念页 → 更新索引 → 追加日志的整个过程
自检(Lint)体检:找矛盾、过时断言、孤儿页、缺失交叉引用、数据缺口
星图(Graph)把页面与页面之间的 [[链接]] 画成关系网
wikilinkObsidian 风格的 [[页面名]] 链接写法

8. 常见问题 FAQ

Q1:聊天问知识库问题,提示「知识库尚未初始化」? 说明当前会话还没连上某个知识库。去右侧面板点 选工作区 选好文件夹、点 建库,再回来问。

Q2:摄取失败了怎么办? 面板会显示失败的文件和原因。常见原因:PDF 无法提取文字(需要 Python 的 pypdf 库)、文件太大被截断、大模型调用失败。修好后点 摄取 重试;失败的文件不会被标记为已摄取,所以会重试。

Q3:同一个文件上传了两次,会重复摄取吗? 不会。raw/.ingested.json 记录了哪些文件已摄取,重名上传会自动加序号 -1-2 区分。

Q4:PDF 在面板里能直接看吗? 能。点 PDF 文件会在阅读区用内置 PDF 查看器打开(走浏览器原生 PDF 渲染)。大文件也能看,因为是用路由直出字节流,不是 base64 塞内存。

Q5:我的原始文件会被改吗?数据安全吗? 插件只写 raw/wiki/index.mdlog.mdschema.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 / Windows Invoke-Item / Linux xdg-open)。
  • PDF 文本提取依赖外部 pypdf:摄取 PDF 需在任意平台安装 Python + pypdf(面板内 PDF 阅读不需要)。
  • 面板占用 details:会替换 Harness 自带的「工具详情」面板(工具结果仍在对话卡片内可见)。
  • 无第三方 markdown 渲染库:阅读区用的是轻量 markdown 子集渲染 + 纯文本兜底。
  • 星图布局为手写力导向:大规模知识库(数百页)可能变慢,且仅支持缩放/平移/点击,无搜索。
  • 上传二进制走 base64 + shell:大文件上传可能较慢;RPC 走 JSON,无流式上传。