English | 中文
东方编辑部 × 数字山水风交互式知识图谱 — 双击 HTML 文件即可在浏览器中探索。搜索、社区图例、聚焦筛选、节点视觉分层、社区轻量地图、统一社区抽屉、悬停预览、轻量摘要、明确进入阅读、Shift 多选、画布缩放拖拽和小地图定位,全部离线运行,不依赖服务器。
本仓库是 llm-wiki 的 monorepo,包含两种使用形态,读写同一份知识库格式:
- Skill 形态(成熟稳定):把仓库链接丢给 Claude Code / Codex / OpenClaw / Hermes 一键安装,在你的 AI CLI 里维护知识库。
- agent 工作台(
workbench/,开发中):本地运行的知识库工作台,以对话为中心、内置交互式数字山水知识图谱。当前面向开发者(npm run dev),成熟后提供桌面应用。
交互式图谱引擎(packages/graph-engine/)由两种形态共享:Skill 的离线 HTML 和工作台的图谱视图,是同一个引擎的两个出口。
隐私边界:知识库文件和离线图谱产物保存在本机;当你让 agent 回答、消化或生成内容时,prompt、选中的引用、检索片段、工具输出和生成产物可能会发送给你配置的模型提供商。API key 不写入 llm-wiki 自己的配置;第三方 Skill 只有显式安装并启用后才作为受信任本地代码运行。
把仓库链接扔给你正在用的 agent,让它自己完成安装。
# Claude Code
bash install.sh --platform claude
# Codex
bash install.sh --platform codex
# OpenClaw
bash install.sh --platform openclaw
# Hermes
bash install.sh --platform hermes然后说:
"帮我初始化一个知识库" "帮我消化这篇:<链接>"
核心区别:知识被编译一次,持续维护,而不是每次查询都从原始文档重新推导。
| 功能 | 说明 | |
|---|---|---|
| 🗺️ | 数字山水知识图谱 | 自包含 HTML,双击即可浏览;三栏国风布局、山水底图、可拖拽缩放画布、小地图定位和左右阅读区全部离线运行 |
| ✨ | 图谱阅读体验打磨 | 节点按地名、索引签条、朱砂批注分层;默认画面更轻,悬停可预览,点击先看摘要,再通过明确动作进入阅读 |
| 🎓 | 本地阅读动线 | 社区图例、聚焦筛选、图谱搜索、右侧摘要/阅读抽屉和选区抽屉保持联动;社区阅读内搜索和类型筛选只作用于当前社区 |
| 📦 | 零配置初始化 | 一句话创建完整知识库,自动生成目录结构、模板和研究方向页 |
| 🔗 | 结构化 Wiki | 自动生成实体页、主题页、素材摘要,用 [[双向链接]] 互相关联 |
| 🏷️ | 置信度标注 | EXTRACTED / INFERRED / AMBIGUOUS / UNVERIFIED,一眼看出哪些需要核实 |
| 🔄 | 智能缓存 | SHA256 去重 + 写入即更新 + 自愈安全网,弱模型也不会漏缓存 |
| 🧠 | 对话结晶 | 把有价值的对话内容直接沉淀为知识库页面 |
| 📡 | 自动上下文注入 | SessionStart hook 让 agent 每次会话自动感知知识库 |
| 📊 | 多格式分析 | 深度报告、对比表、时间线三种综合分析格式 |
| 功能 | 说明 | |
|---|---|---|
| 🧮 | 共享绘制策略 | 密度、节点显示、标签与关系预算、稳定骨架和社区层级由一份规则产出;旧工具箱与早期 wash 模板已退休,Sigma 主路线与 DOM/SVG 故障回退使用同一份准备结果,每次更新只计算一次 |
| 🧯 | 图谱故障恢复 | 共享结果失败时,工作台和离线图谱都会清掉旧内容并显示明确提示;只有 Sigma 自身故障才进入 DOM/SVG 回退,不会留下可操作的半成品 |
| 图谱身份与告警 | 同名页面按知识库内相对路径分别保留;歧义、断链、待创建和路径冲突会集中提示,图谱仍可阅读,详情只读并按页加载;无效详情也不会把本机绝对路径带入离线文件;只有迁移提示的刷新不会卡在待播放状态 | |
| 📝 | 图谱安全改名与恢复 | 可从可处理的告警或页面阅读区选择同目录安全改名;提交前查看完整影响并确认全部歧义,外部编辑、意外中断或图谱更新失败后都有明确恢复和重试入口,排队中的图谱更新完成后会自动显示最终结果 |
| 🗺️ | 图谱位置与视野连续 | 初始布局、Pin 和实时拖动共同维护同一张地图;远端节点仍在完整内容范围内,社区取景、缩放、平移、重置、窗口变化和小地图保持一致 |
| 🧭 | 社区近景地图 | 进入社区后像从全局图靠近刚才那片区域;节点位置、层级和标签更稳定,社区内可多选节点并带入对话,返回全图时高亮会跟随视野稳定后再淡出 |
| 🧩 | 全局意图反馈 | 全局图谱悬停节点可轻量看一阶关系,单击节点固定关系强调并打开摘要;选中社区只预览少量内部结构和跨社区通道,不直接变成完整社区阅读 |
| 🖱️ | 图谱全区域缩放 | 在桌面上,鼠标停在节点、社区色块、关系或空白处时,滚轮和触摸板都只缩放图谱,不会误缩放浏览器;地图内控件和图谱外页面保持各自应有的行为 |
| 🪶 | 图谱增强显示 | 工作台图谱默认已分清主次;需要时可打开语义强调和聚焦点亮,让关键关系更容易看清 |
| 🎨 | 工作台 Paper 视觉 | 工作台沿用暖纸配色,按钮、消息、侧栏和图谱控件保持统一,长标题不会撑开页面 |
| 💬 | 工作台对话自动跟随 | 发送和流式回复时自动停在最新内容,用户上翻时暂停,并用向下箭头一键回到底部 |
| 🧰 | 工作台动态工具状态 | agent 执行工具时显示当前动作;完成后折叠成摘要,避免主对话被工具流水账刷屏 |
| 🛡️ | 工作台安全流式状态 | prompt、工具状态、产物和终态使用统一流式契约;检索内容只进入发起它的运行和对话,切换、取消或重复发送不会串用旧内容;模型失败不会显示为完成,图谱断线后会重新取得当前错误或当前图谱,异常流会安全结束并恢复操作 |
| / | 工作台检索日志隐私 | 默认检索日志只保留排障所需的会话、知识库、触发状态、结果信息和稳定失败状态,不保存用户提问或可恢复的派生内容 |
| 🔒 | 工作台本地访问保护 | 本地配置、对话、页面、图谱事件、文件和状态操作都只对同时通过来源与启动凭证检查的工作台开放 |
| 🧷 | 工作台请求边界 | 前台只会发送已登记的请求方式与入口组合;产出物清单和下载统一拒绝不合规编号,文件下载和事件流保持各自独立处理 |
| / | 工作台命令清单 | 对话里的 / 菜单和设置里的能力统计使用同一套受保护读取;列表不会显示本机能力路径 |
| 🔑 | 工作台认证设置 | 保存 API key 和测试连接使用同一套保护与提示;失败不会暴露本机信息、密钥或底层错误 |
| 📚 | 工作台知识库创建 | 侧栏可以分别在默认目录新建知识库或添加已有目录;初始化已有目录和批量消化保持独立,取消、重复名称、同名请求正在处理和异常不会暴露本机路径或内部信息 |
| ✅ | 工作台可靠启动 | 后台只监听本机,失败启动不会替换现有凭证,重启会换新并恢复上次知识库;退出时会有序结束持续连接和图谱重建进程,必要时再启用兜底清理 |
| 🧪 | 工作台真实浏览器检查 | 自动启动真实前台和后台,检查知识库、对话、页面、图谱、消息、产出物、设置与模型的主要流程,以及隔离、取消、断线和失败恢复;线上准备、正式检查、清理和诊断各有明确时限,冷启动不会静默挤掉正式检查;Paper 视觉检查会从页面搜索进入右侧阅读区并确认正文已经显示,也会实际读取产出物、设置和模型,旧结果形状会被明确拒绝;平板打开阅读区时输入区仍保持可用,文字和发送按钮不会重叠 |
| 🔎 | 工作台统一质量检查 | 本机与 GitHub 使用同一入口,顺序检查公开内容隐私、前后台、共享规则、图谱、边界、类型、规范和构建,并在隔离环境验证启动与入口反例;图谱交互结束按实际视图提交时点确认,不会因短暂繁忙被提前判定完成 |
| 分类 | 来源 | 处理方式 |
|---|---|---|
| 核心 | PDF、Markdown、文本、HTML、纯文本粘贴 | 直接消化,不依赖外挂 |
| 可选 | 网页文章、X/Twitter、微信公众号、YouTube、知乎 | 自动提取;失败时按回退提示改走手动 |
| 手动 | 小红书 | 当前只支持手动粘贴 |
可选提取器需要在安装时显式开启:
bash install.sh --platform claude --with-optional-adapters每个平台有专属入口说明:
完整功能列表
- 研究方向引导 —
purpose.md让 agent 在整理和查询时有明确方向 - 两步式整理 — 先分析后生成,长内容走两步链式思考,短内容简化处理
- ingest 格式验证 — 脚本自动校验分析结果,模型再笨也不会写出残缺数据
- 智能素材路由 — 根据 URL 域名自动选择最佳提取方式
- 核心优先安装 — 默认只准备知识库主线,网页/X/公众号/YouTube/知乎按需显式开启
- 伴随升级命令 — Claude Code 安装后自带
/llm-wiki-upgrade - 素材删除 — 级联删除时自动清理关联页面、断链和缓存
- 图谱坏数据安全兼容 — 未知、残缺或畸形图谱会先整理成可安全使用的结果,节点、关系、社区和起点再由同一份稳定模型交给绘制;重复编号稳定保留第一项并明确提示,自动编号避开已有值,常规搜索仍对应正确页面
- 图谱路径身份与告警 — 同名页面按知识库内相对路径分别进入图谱;歧义链接不猜目标,重复编号、断链、待创建、不规范路径和可移植冲突集中显示;告警详情只读、按页读取,首次刷新和 Pin 继续对应正确页面
- 图谱安全改名与恢复 — 从可处理的告警或页面阅读区发起可选的同目录改名;完整预览会列出自动更新、只读引用、固定位置和全部歧义,确认后才写入;外部编辑、崩溃和图谱待更新状态可恢复或单独重试,排队中的更新完成后会自动显示最终结果
- 图谱搜索与筛选更稳 — 工作台、离线图谱和两种显示路线使用同一份结果;常规搜索保留原有 500 字符范围,Atlas 全文搜索继续覆盖完整正文,类型筛选、社区聚焦和临时显示的节点与关系保持一致;中文、组合字符和 emoji 长标题在旧浏览器环境下也能安全省略并保留完整标题
- 图谱共享绘制策略 — 密度、节点显示、标签与关系预算、稳定骨架、社区层级和标签方向由同一份规则产出;模型、布局、可见结果和绘制规则在一次更新中各计算一次,旧工具箱与早期 wash 模板已退休,Sigma 主路线与 DOM/SVG 故障回退使用同一份准备结果,工作台和离线图谱保持一致
- 图谱故障恢复 — 工作台首次打开或更新失败时会清空旧图、选择、筛选、Pin 和失败实例;离线创建失败会显示恢复提示并撤掉半成品,存储不可用时仍可阅读,社区选区可继续进入近景阅读;只有共享结果成功后的 Sigma 专属故障才进入 DOM/SVG 回退
- Sigma 图谱主路线 — 全局视角和社区阅读都以 Sigma/Graphology 承接;DOM/SVG 只保留为回退、对照和异常兜底,不再作为社区阅读主路径扩展
- Sigma 迁移前性能基线 — 生产 1k 与隔离 1k/5k/10k 图谱都连续测量三次悬停预览并保存中位数;后续迁移使用固定公式自动比较,其他渲染试验不承担 Sigma 专属门禁
- 图谱全区域缩放 — 在桌面上,鼠标停在节点、社区色块、关系或空白处时,滚轮和触摸板都只缩放图谱,不会误缩放浏览器;地图内控件和图谱外页面保持各自应有的行为
- 统一社区抽屉 — 普通社区和"未分组"使用同一套概览、固定动作、可展开核心节点和对话入口;"进入社区"放在顶部,未分组默认推荐探索潜在关系
- 图谱增强显示 — 工作台图谱默认已分清主次;增强显示面板支持语义强调和聚焦点亮,社区图谱保留原有关系显示和图例
- 全局图谱意图反馈 — 在全局视图悬停节点会轻量点亮一阶真实关系,移开恢复且不打开抽屉、不移动镜头;单击节点固定关系强调并打开摘要;选中社区只露出少量内部结构和跨社区桥接上下文,不进入完整社区阅读
- 图谱位置与视野连续 — 初始布局不再污染节点内容,实时拖动位置优先于 Pin 和初始位置;类型筛选、临时显示与远端其他社区节点共同决定完整内容范围,社区取景继续按窗口比例扩展,缩放、平移、重置、窗口变化和小地图结果保持一致
- 社区近景地图 — 进入社区是一段连续过渡:摘要抽屉退场、画布平滑扩展,镜头从全局社区高亮近景继续推进到社区阅读近景,过渡后落在 Sigma 社区阅读主路径且不重开摘要(减少动态效果下抽屉直接关闭、不做大幅推进);进入社区后沿用 Sigma 主图,只显示当前社区内部节点和关系;节点位置、身份色、边层级和标签预算保持连续,搜索、类型筛选和 Shift 多选只影响当前社区,返回全图时社区高亮会跟随视野稳定后再淡出;社区阅读点“回全图”是一段更短的连续退出过渡,镜头拉回全局构图、保留来源社区高亮,不重开摘要抽屉、不清钉扎位置和全局筛选偏好
- 社区阅读关系视觉分层 — 进入社区默认第一眼就能区分结构关系和背景关系:结构跨度选择器只从真实关系里按社区规模分档挑出少量骨架关系,优先串起核心节点和小团块,而不是堆在权重最强的关系上;Sigma 社区阅读主路径让结构关系比背景关系更清楚,关系颜色仍只表达关系类型。沿用明亮、直向的视觉语言,不引入弯曲关系呈现或粗重主干视觉
- 社区节点阅读让位 — 社区内单击节点打开右侧阅读抽屉时,画布变窄和镜头让位保持连续;宽屏下节点留在剩余画布的舒适位置,窄屏覆盖或全屏阅读时不强行移动镜头
- 选区抽屉查看全部 / 收起 — Shift 多选攒下的选区抽屉默认只显示前 3 个选中页面,超过 3 个可"查看全部",展开后可"收起";继续 Shift 多选保持展开 / 收起状态,抽屉静默实时更新(不重开、不抢焦点、不清补充说明),多选全程不移动镜头
- 图谱视野稳定 — 点击社区摘要或重复点击同一位置时,图谱保持原视角,不会被右侧抽屉挤动
- 工作台 Paper 视觉 — Paper v2 暖纸配色覆盖工作台默认主题、新对话按钮、消息气泡、侧栏和图谱控件,长标题和长消息保持在页面内部
- 查询结果持久化 — 有价值的综合回答可保存回知识库,越用越完整
- 批量消化 — 给一个文件夹路径,批量处理所有文件
- 工作台事件流更稳 — 批量消化进度和活地图更新都有明确顺序与结束规则;单文件失败可继续,整体失败或取消会明确收口,图谱断线后会确认进入新的连接并重新取得当前错误或当前图谱,异常事件会安全停止或重连
- 工作台对话自动跟随 — 发送消息和接收长回复时默认跟随最新内容,用户上翻阅读历史时暂停,并提供图标按钮回到底部
- 工作台工具摘要 —
workbench/对话区采用omp风格动态工具状态,停止时显示取消状态,历史工具调用默认折叠为分组摘要 - 工作台本地访问保护 — 本地内容和状态操作都要同时通过来源与启动凭证检查,陌生网页不能读取内容或改变工作台状态
- 工作台请求边界 — 前台只会发送已登记的请求方式与入口组合;产出物清单和下载统一拒绝不合规编号,文件下载和事件流继续使用各自独立的处理通道
- 工作台命令清单 — 对话里的
/菜单和设置里的能力统计使用同一套受保护读取,列表不会显示本机能力路径 - 工作台认证设置 — 保存 API key 和测试连接使用同一套保护与提示;失败不会暴露本机信息、密钥或底层错误
- 工作台可靠启动 — 正式启动和自动检查走同一套恢复与关闭流程;失败启动不改现有凭证,退出会有序结束持续连接和图谱重建进程并在必要时兜底清理,macOS 与 Linux 检查都会主动阻止真实用户资料读取、临时目录外写入和外网访问
- 工作台真实浏览器检查 — 使用一次性用户环境、真实前后台、真实端口、HTTP 和事件流验证七类主要流程,并覆盖隔离、取消、断线、繁忙和失败恢复;线上准备、正式检查、清理和诊断各有明确时限,冷启动不会静默挤掉正式检查;外部模型和系统文件夹选择器由测试边界替代,普通启动和正式构建不包含这些替身
- 工作台统一质量检查 — 本机与 GitHub 运行同一套完整检查;前台不会复用过期结果,失败会清理进程并只短期保留经过清理的虚构测试材料
- 知识库健康检查 — 脚本检测孤立页面、断链、index 一致性;AI 层面检查矛盾和交叉引用
- ingest 隐私自查 — 首次消化素材时提醒检查手机号、API key 等敏感信息
- 图谱关系词汇表 — 可选的手动标注词汇,让图谱表达更精确
- Obsidian 兼容 — 所有内容都是本地 markdown,直接用 Obsidian 打开
安装详情
| 平台 | 路径 |
|---|---|
| Claude Code | ~/.claude/skills/llm-wiki |
| Codex | ~/.codex/skills/llm-wiki |
| OpenClaw | ~/.openclaw/skills/llm-wiki |
| Hermes | ~/.hermes/skills/llm-wiki |
已安装?进入仓库目录执行:
bash install.sh --upgrade自动完成:git pull → 检测已安装平台 → 重新复制核心文件 → 已有 hook 不受影响。
Claude Code 默认安装的,可以直接用 /llm-wiki-upgrade。
自定义目录:
bash install.sh --upgrade --platform openclaw --target-dir <你的技能目录>/llm-wikibash install.sh --upgrade --platform hermes --target-dir <你的技能目录>/llm-wiki- 核心:agent 能执行 shell 命令、读写本地文件即可;图谱构建和来源信号覆盖检查需要
jq+node - 可选:微信公众号提取需要
uv;网页提取需要bun或npm;需要登录态的内容可开启 Chrome 调试端口 9222
目录结构
你的知识库/
├── raw/ # 原始素材(不可变)
│ ├── articles/ # 网页文章
│ ├── tweets/ # X/Twitter
│ ├── wechat/ # 微信公众号
│ ├── xiaohongshu/ # 小红书
│ ├── zhihu/ # 知乎
│ ├── pdfs/ # PDF
│ ├── notes/ # 笔记
│ └── assets/ # 图片等附件
├── wiki/ # AI 生成的知识库
│ ├── entities/ # 实体页(人物、概念、工具)
│ ├── topics/ # 主题页
│ ├── sources/ # 素材摘要
│ ├── comparisons/ # 对比分析
│ ├── synthesis/ # 综合分析
│ │ └── sessions/ # 对话结晶页面
│ └── queries/ # 保存的查询结果
├── purpose.md # 研究方向与目标
├── index.md # 索引
├── log.md # 操作日志
├── .wiki-schema.md # 配置
└── .wiki-cache.json # 素材去重缓存
常见问题
这个仓库还是只给 Claude 用吗? 不是。Claude 只是其中一个入口。同一个链接能被 Claude Code、Codex、OpenClaw、Hermes 安装和使用。
为什么 Hermes 要看 HERMES.md?
Hermes 会优先加载仓库根的 HERMES.md 作为项目上下文。这个文件只负责 Hermes 的入口与安装说明,核心能力和工作流仍以 SKILL.md 为准。
Claude Code 里可以直接用命令更新吗?
可以。默认安装后自带 /llm-wiki-upgrade,更新核心主线。需要网页/X/公众号/YouTube/知乎提取能力时,再加 --with-optional-adapters。
X/Twitter 提取失败?
确保已安装可选提取器(--with-optional-adapters)。需要登录态的内容请开启 Chrome 调试端口 9222,或者直接粘贴内容给 agent。
公众号提取失败?
需要 uv。安装后重新运行 bash install.sh --platform <你的平台> --with-optional-adapters。
Windows PowerShell 5.1(Win10 / Win11 系统自带)默认 console 编码为 GB2312、$OutputEncoding 为 ASCII,Python 子进程 sys.stdout.encoding 默认为 gbk。直接在 PS 5.1 下运行 bash install.sh 会导致中文输出和 hook JSON 出现乱码(#16)。
方案 A — 使用 install.ps1(推荐)
在仓库根目录下:
powershell -ExecutionPolicy Bypass -File install.ps1 --platform claude
powershell -ExecutionPolicy Bypass -File install.ps1 --platform codex --dry-runinstall.ps1 会自动把 console / $OutputEncoding / PYTHONIOENCODING 全部设为 UTF-8,再转发到 bash install.sh。
方案 B — 手动设置 PowerShell 编码
chcp 65001
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
$env:PYTHONIOENCODING = 'utf-8'
bash install.sh --platform claude方案 C — 升级到 PowerShell 7+
PowerShell 7 默认 UTF-8。安装:winget install Microsoft.PowerShell,然后 pwsh 下直接 bash install.sh --platform claude。
Windows 上 Python 通常安装为 python.exe 而非 python3.exe(Microsoft Store 的 python3 是安装提示 stub,调用会失败)。本项目 scripts/shared-config.sh 已加入自动检测:先尝试 python3,失败回退到 python。所以只要 Python 3.8+ 在 PATH 中(任一命名即可),脚本能正常工作。
本项目复用和集成了以下开源项目:
- Andrej Karpathy — llm-wiki gist,核心方法论来源
- baoyu-url-to-markdown by JimLiu — 网页、X/Twitter 内容提取
- youtube-transcript — YouTube 字幕提取
- wechat-article-to-markdown — 微信公众号文章提取
MIT
