SamurAIGPT/llm-wiki-agent

A personal knowledge base that builds and maintains itself. Drop in sources — Claude (or Codex/Gemini) reads them, extracts knowledge, and maintains a persistent interlinked wiki. Works with Claude Code, Codex, OpenCode, Gemini CLI. No API key needed.

LLM Wiki Agent – 由 LLM 代理构建的自我维护知识维基

是什么 – 一个本地的、基于文件的知识库,您只需将任意格式的文档(PDF、DOCX、PPTX、Markdown 等)放入 raw/ 文件夹,然后使用 LLM 驱动的 代理 来处理。代理提取实体、概念和摘要,创建相互链接的 Markdown 页面,标记矛盾,并更新持久化知识图谱。所有输出以纯 Markdown 和静态 graph.html 可视化形式存在,因此您可使用任何编辑器(如 Obsidian)或网页浏览器进行浏览。

为何重要 – 与典型的检索增强生成(RAG)管道在每次查询时重新处理原始片段不同,此工具仅编译一次知识并保持更新。交叉引用、实体页面和矛盾标记在导入时生成,让您获得一个不断增长、随时可查询的维基,而无需面对仅聊天助手的“会话后遗忘”问题。


快速开始(无需 Python 代码)

# 克隆仓库
git clone https://github.com/SamurAIGPT/llm-wiki-agent.git
cd llm-wiki-agent

# 使用任何支持的 LLM 代理打开仓库(Claude、Codex、Gemini 等)
# 代理会读取配置文件(CLAUDE.md、AGENTS.md、GEMINI.md)
claude      # 或 `codex`, `gemini`, `opencode`

代理可理解自然语言命令,如 ingest …、query: …、lint 和 build graph。


核心工作流

步骤 命令(自然语言) 发生了什么
导入 ingest raw/papers/attention-is-all-you-need.md 文件被转换为 Markdown(如需),解析,并更新维基。新实体页面(人物、公司)和概念页面(想法、方法)将自动创建。
查询 query: what are the main themes? LLM 读取结构化维基,合成答案,并建议将其保存为 wiki/syntheses/ 下的 合成页面。
Lint lint 运行一致性检查:孤立页面、损坏链接、缺失实体页面和检测到的矛盾将在 wiki/log.md 中报告。
图谱 build graph 生成 graph.json(节点/边缓存)和由 vis.js 驱动的自包含 graph.html 可视化。

磁盘上生成的内容

wiki/
├─ index.md          # 所有页面的自动生成目录
├─ log.md            # 仅追加的操作日志
├─ overview.md       # 所有源的动态合成
├─ sources/          # 每个原始文档一个摘要页面
├─ entities/         # 人物、组织、项目自动创建的页面
├─ concepts/         # 想法、框架、方法自动创建的页面
└─ syntheses/        # 代理被要求保留的回答

graph/
├─ graph.json        # 缓存的节点/边数据(SHA-256 键)
└─ graph.html        # 知识图谱的交互式浏览器视图

所有文件均为纯 Markdown,因此可与任何编辑器、版本控制系统或 Obsidian 仓库兼容。


核心功能

  • 多格式导入 – PDF、DOCX、PPTX、XLSX、HTML、CSV、JSON、EPUB 等可通过 Microsoft 的 markitdown(或可选工具如 Marker 用于复杂 PDF)自动转换。
  • 实体与概念自动创建 – 代理提取专有名词和技术术语,创建专用页面,并在所有出现位置建立链接。
  • 矛盾检测 – 当新源与现有主张冲突时,将在导入时添加标记。
  • 持久化知识图谱 – 两阶段构建:确定性维基链接 + LLM 推断的语义边(带置信度评分)。Louvain 社区检测用于聚类主题。
  • Lint 报告 – 孤立页面、损坏链接、数据缺口、建议缺失来源。
  • Obsidian 兼容 – 维基使用标准 [[wikilink]] 语法;可将 wiki/ 符号链接到任意 Obsidian 仓库,实现实时图谱视图。
  • 零服务器、零数据库 – 所有内容均存储在文件系统中;唯一运行时依赖是读取配置文件的 LLM 代理。

示例用例

领域 使用方式
研究 导入论文(/wiki-ingest raw/papers/*.md),然后询问代理如“减少幻觉的主要方法有哪些?”——答案将作为维基页面保存以供未来参考。
阅读书籍 将每章作为 Markdown 文件放入,让代理创建人物和主题页面,然后查询叙事弧或矛盾。
个人知识库 存档日记条目、文章摘要、播客笔记;查询模式(如“哪些习惯能提升我的精力?”),并观察维基的演化。
团队智能 导入会议记录、路线图、客户通话;询问“最常出现的功能请求是什么?”并获得结构化答案,同时若路线图与客户反馈矛盾则标记。
竞争分析 持续输入竞争对手公告和市场报告;查询对比表格或生成“竞争格局”合成页面。

技术栈(如 README 所列)

  • LLM 代理 – Claude Code、OpenAI Codex、Gemini CLI(可读取所提供模式文件的任意代理)。
  • 图处理 – NetworkX + Louvain 社区检测。
  • 可视化 – vis.js(静态 graph.html)。
  • 文件转换 – markitdown(默认),可选 Marker、arxiv2md、PyMuPDF4LLM(用于 PDF)。
  • 脚本 – tools/ 中的小型 Python 工具,仅需上述 Python 包和 Anthropic API 密钥(若直接运行转换脚本)。

获取帮助 / 扩展

  • 仓库包含模式文件(CLAUDE.md、AGENTS.md、GEMINI.md),定义了每个代理的精确命令集。编辑这些文件可自定义命名约定、前端字段或添加新触发器。
  • 由于维基只是一个 Git 仓库,您可以版本追踪变更、为实验分支、或合并协作者的贡献。

TL;DR – LLM Wiki Agent 是一个本地运行、由代理驱动的管道,可将任意文档集合转化为一个动态、相互链接的 Markdown 维基,具备自动实体提取、矛盾标记和可视化知识图谱。它与任何 Claude/Codex/Gemini 风格的 LLM 代理兼容,无需服务器,并可无缝集成 Obsidian 等工具。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目