本项目为 AI 编程助手(如 Gemini/Antigravity 和 Claude Code)提供了一套智能体技能(Agentic Skills),使其能够自动化地将学术论文(PDF 和 LaTeX)摄入、编译、整理,并查询为一个兼容 Obsidian 的 Markdown 知识库。
$ npx -y skills add Misaka16384/Wikify --agent claude-code
FAQ
wikify is a Claude Code plugin with 15 hand-picked skills for data work, indexed on Flowy. Install it with the command on its page. It includes wiki_ask, wiki_audit, wiki_compile. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: Misaka16384/Wikify
本项目为 AI 编程助手(如 Gemini/Antigravity 和 Claude Code)提供了一套智能体技能(Agentic Skills),使其能够自动化地将学术论文(PDF 和 LaTeX)摄入、编译、整理,并查询为一个兼容 Obsidian 的 Markdown 知识库。
以下是由本 AI 自动化流水线完全生成并维护的知识库效果展示:
一张自动生成的密集语义图,展示了物理和数学概念。
后台嵌入引擎自动注入的深层语义关联视图。
利用本地 OCR 和 Pandoc,直接从排版混乱的 PDF 中编译出的整洁文献卡片。
从 LaTeX 源码中完美提取并格式化的数学证明和引理。
将其加载到您的 AI 助手后,您可以通过输入一系列显式且确定性的斜杠命令 (/wiki_xxx) 来直接命令 AI 助手执行以下操作:
部署技能前,请确保您的系统安装了以下运行时依赖。
需要 Python 3.10+。全局安装以下 Python 包:
pip install -r requirements.txt
提示:建议使用虚拟环境以避免依赖冲突:
python -m venv .venv
.\.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/macOS
pip install -r requirements.txt
本流水线依赖一些外部工具,必须将它们添加到系统的 PATH 环境变量中:
pdftoppm & pdfimages) — 用于渲染 PDF 页面和提取图表。
scoop install popplerchoco install popplerbrew install popplersudo apt-get install poppler-utilsrg) — 提供极速的多文件引用映射和 wikilink 重构。
scoop install ripgrepchoco install ripgrepbrew install ripgrepsudo apt-get install ripgrep.tex) 文档转换为 Markdown。(注:本仓库已为 Windows 用户内置了 pandoc-crossref,无需额外安装)
scoop install pandocchoco install pandocbrew install pandocsudo apt-get install pandocpdflatex(推荐) — 为摄入过程中的深度数学语义校验(双下标、括号不匹配、错误分隔符)提供支持。可选但推荐:若缺少 pdflatex,系统会自动回退到基于 pylatexenc 的轻量结构校验。
scoop install miktexchoco install miktexbrew install --cask mactex-no-guisudo apt-get install texlive-latex-extra离线图像转录与语义链接依赖于后台运行的 Ollama 服务:
ollama pull glm-ocr
ollama pull qwen3-embedding:0.6b
安装脚本会将 skills/ 和 bin/ 并列复制到目标目录,并一并复制 requirements.txt、.env.example 和 config.yaml。每个技能都相对自身定位辅助脚本,因此任意目标目录都可用——只需选择您的 AI 工具用于发现技能的目录:
| AI 工具 | 常见目标目录 |
|---|---|
| Claude Code | ~/.claude(用户全局级)或 <project>/.claude |
| Gemini / Antigravity | <project>/.agents 或 ~/.gemini |
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\install.ps1 # 交互式询问目标目录,或:.\install.ps1 -Target <dir>
bash install.sh # 交互式询问目标目录
bash install.sh ~/.claude # 或直接以参数传入
当智能体技能(Skills)成功加载到您的 AI 助手后,您可以通过在助手的聊天 UI 中直接输入显式的斜杠命令 (/wiki_xxx),来管理文献从摄入到研究问答的完整生命周期:
~/KnowledgeHub)打出:/wiki_hub_init。topics/ 文件夹和 wikis.json 中央注册表文件。quantum-computing),需要为其创建独立的存储库。~/KnowledgeHub/topics/quantum-computing),并在聊天 UI 中打出:/wiki_init。raw/、wiki/、inbox/、output/),自动创建默认配置文件(config.md、log.md、_index.md),并将该主题自动注册到中央 Hub 路由中。inbox/ 目录下放置了待处理的原始学术论文(PDF 或 LaTeX 源码)。config.yaml 配置文件中:
ocr:
mineru_api_token: "您的_MINERU_API_TOKEN"
use_mineru: true
随后在聊天 UI 中打出:/wiki_ingest。ollama pull glm-ocr),随后在聊天 UI 中打出:/wiki_ingest_ocr。raw/articles/ 或 raw/papers/ 中。raw/ 下已生成转换好的原始 Markdown 论文,您需要将其抽取为文献笔记与单独的概念卡片。/wiki_compile。wiki/concepts/,同时在 wiki/references/ 下建立正式的文献索引卡片。/wiki_enrich。wiki/concepts/ 下自动生成新的补充卡片。/wiki_semantic_link。[[相关概念|别名]] 双链。若概念相似度 $\ge 0.95$,还会在底层执行无人值守的物理去重合并。/wiki_tag_sync。/wiki_concept_sync。[[双链]] 引用。/wiki_lint。/wiki_graph_index。output/graph.db SQLite 数据库,以便 AI 助手后续能够进行高性能的图关系查询。/wiki_ask 并跟随问题,例如:/wiki_ask "A 理论与 B 定理在多维空间的映射关系是什么?"。[[wikilinks]] 文献引用的解答,杜绝虚假幻觉。/wiki_audit。/wiki_research 并跟随您的综述研究主题。output/ 目录下。/wiki_hub_manager。topics/.archive/ 目录下,并自动同步更新 Hub 中央路由注册表 wikis.json。可随时通过同一命令一键还原。为了在 Obsidian 中获得极致的图谱可视化和沉浸式科研体验,请在 Obsidian 中直接打开具体的主题工作区目录(例如 ~/KnowledgeHub/topics/quantum-computing),不要打开 Hub 根目录。
因为主题工作区内包含自动生成的索引地图、智能体操作日志、项目配置等,您需要将它们在 Obsidian 的全局搜索和关系图谱中隐藏,从而只展示最纯粹的数学/物理文献卡片与核心概念图谱。
排除非知识类元数据与日志 Markdown 文件:
/(?:^|/)(?:_index|log|config|uncompiled-source-coverage)\.md$/
(本条规则能瞬间在 Obsidian 中隐去所有子目录及根目录下自动生成的目录大地图、Agent 执行日志、主题配置及文献未编译待办列表)。
排除系统点号文件夹、Agent 运行时、scratch、inbox 与 raw 目录:
/^\..*|(?:^|/)(?:scratch|inbox|raw)(?:/|$)/
(本条规则将显式隐藏如 .agents/ 运行时、.git/ 仓库元数据、.backup/ 自动备份、以及任意 scratch、inbox 和 raw 目录,保证知识图谱的绝佳美感)。
配置完成后,Obsidian 的全局搜索、反向链接和 Graph View 关系图谱将变得极其空灵干净,只保留由双链优雅交织的学术卡片网络。
.env.example
.gitattributes
.gitignore
bin/
add_concept.py
assemble_transcriptions.py
chunker.py
config_loader.py
detect_uncompiled.py
extract_concept_context.py
find_placeholders.py
format_math.py
hub-init.py
index_builder.py
ingest_helper.py
ingest_pipeline.py
init_workspace.py
llm-wiki.py
mineru_cloud_worker.py
pandoc-crossref.exe
pdf_math_crop.py
pdf2md-agent/
agent.py
figure_extractor.py
image_handler.py
markdown_builder.py
Modelfile
ocr_engine.py
pdf_processor.py
requirements.txt
query-graph.py
refactor_concept.py
router.py
search-wiki.py
tag_reducer.py
tex2md.py
validate_math_latex.py
validate-output.py
verify_claims.py
wiki_common.py
config.yaml
graph.png
graph2.png
install.ps1
install.sh
note1.png
note2.png
README_en.md
README.md
requirements.txt
skills/
wiki_ask/
SKILL.md
wiki_audit/
SKILL.md
wiki_compile/
SKILL.md
templates/
concept_template.md
index_template.md
paper_template.md
wiki_concept_sync/
SKILL.md
wiki_enrich/
SKILL.md
wiki_graph_index/
SKILL.md
wiki_hub_init/
SKILL.md
wiki_hub_manager/
SKILL.md
wiki_ingest/
wiki_ingest_ocr/
scripts/
format_math.py
SKILL.md
SKILL.md
wiki_init/
SKILL.md
wiki_lint/
scripts/
llm-wiki
SKILL.md
tests/
ci/
plugin-tests.yml
evals/
assertions/
check-frontmatter.js
check-index-integrity.js
check-raw-source.js
fixtures/
defects/
bad-frontmatter/
_index.md
config.md
datasets/
_index.md
bitcointalk-temporal-graph/
_index.md
MANIFEST.md
profiles/
_index.md
queries/
_index.md
samples/
_index.md
inbox/
.gitkeep
.processed/
.gitkeep
inventory/
_index.md
candidates/
_index.md
bitcointalk-archive.md
corpora/
_index.md
entities/
_index.md
items/
_index.md
trx4m-ring-and-pinion.md
views/
_index.md
active-actions.md
log.md
output/
_index.md
sample-output.md
raw/
_index.md
articles/
_index.md
2026-01-01-sample-article.md
2026-01-02-second-article.md
2026-01-03-Title Cased Source.md
data/
_index.md
notes/
_index.md
papers/
_index.md
2026-01-01-sample-paper.md
repos/
_index.md
wiki/
_index.md
concepts/
_index.md
sample-concept.md
references/
_index.md
sample-reference.md
theses/
_index.md
topics/
_index.md
broken-inline-body-link/
_index.md
config.md
datasets/
_index.md
bitcointalk-temporal-graph/
_index.md
MANIFEST.md
profiles/
_index.md
queries/
_index.md
samples/
_index.md
inbox/
.gitkeep
.processed/
.gitkeep
inventory/
_index.md
candidates/
_index.md
bitcointalk-archive.md
corpora/
_index.md
entities/
_index.md
items/
_index.md
trx4m-ring-and-pinion.md
views/
_index.md
active-actions.md
log.md
output/
_index.md
sample-output.md
raw/
_index.md
articles/
_index.md
2026-01-01-sample-article.md
2026-01-02-second-article.md
2026-01-03-Title Cased Source.md
data/
_index.md
notes/
_index.md
papers/
_index.md
2026-01-01-sample-paper.md
repos/
_index.md
wiki/
_index.md
concepts/
_index.md
sample-concept.md
references/
_index.md
sample-reference.md
theses/
_index.md
topics/
_index.md
broken-link/
_index.md
config.md
datasets/
_index.md
bitcointalk-temporal-graph/
_index.md
MANIFEST.md
profiles/
_index.md
queries/
_index.md
samples/
_index.md
inbox/
.gitkeep
.processed/
.gitkeep
inventory/
_index.md
candidates/
_index.md
bitcointalk-archive.md
corpora/
_index.md
entities/
_index.md
items/
_index.md
trx4m-ring-and-pinion.md
views/
_index.md
active-actions.md
log.md
output/
_index.md
sample-output.md
raw/
_index.md
articles/
_index.md
2026-01-01-sample-article.md
2026-01-02-second-article.md
2026-01-03-Title Cased Source.md
data/
_index.md
notes/
_index.md
papers/
_index.md
2026-01-01-sample-paper.md
repos/
_index.md
wiki/
_index.md
concepts/
_index.md
sample-concept.md
references/
_index.md
sample-reference.md
theses/
_index.md
topics/
_index.md
dangling-source-ref/
_index.md
config.md
datasets/
_index.md
bitcointalk-temporal-graph/
_index.md
MANIFEST.md
profiles/
_index.md
queries/
_index.md
samples/
_index.md
inbox/
.gitkeep
.processed/
.gitkeep
inventory/
_index.md
candidates/
_index.md
bitcointalk-archive.md
corpora/
_index.md
entities/
_index.md
items/
_index.md
trx4m-ring-and-pinion.md
views/
_index.md
active-actions.md
log.md
output/
_index.md
sample-output.md
raw/
_index.md
articles/
_index.md
2026-01-01-sample-article.md
2026-01-02-second-article.md
2026-01-03-Title Cased Source.md
data/
_index.md
notes/
_index.md
papers/
_index.md
2026-01-01-sample-paper.md
repos/
_index.md
wiki/
_index.md
concepts/
_index.md
sample-concept.md
references/
_index.md
sample-reference.md
theses/
_index.md
topics/
_index.md
dead-index-entry/
_index.md
config.md
datasets/
_index.md
bitcointalk-temporal-graph/
_index.md
MANIFEST.md
profiles/
_index.md
queries/
_index.md
samples/
_index.md
inbox/
.gitkeep
.processed/
.gitkeep
inventory/
_index.md
candidates/
_index.md
bitcointalk-archive.md
corpora/
_index.md
entities/
_index.md
items/
_index.md
trx4m-ring-and-pinion.md
views/
_index.md
active-actions.md
log.md
output/
_index.md
sample-output.md
raw/
_index.md
articles/
_index.md
2026-01-01-sample-article.md
2026-01-02-second-article.md
2026-01-03-Title Cased Source.md
data/
_index.md
notes/
... 879 more© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic