Ar9av/obsidian-wiki
GitHub: Ar9av/obsidian-wiki
让 AI agent 自动将知识构建并维护为 Obsidian 互链 markdown wiki 的框架,实现可持续生长的个人数字大脑。
Stars: 2265 | Forks: 226
# obsidian-wiki
## 工作原理
每次你为大脑输入内容时,它都会经历四个阶段:
**1. 摄取** — agent 直接读取你的源材料。它可以处理你提供的任何内容:markdown 文件、PDF(支持指定页码范围)、JSONL 对话导出、纯文本日志、聊天记录导出、会议记录以及图像(截图、白板照片、图表 — 需要具备视觉能力的模型)。无需预处理步骤,也无需运行 pipeline。agent 读取文件的方式与读取代码的方式完全相同。
**2. 提取信息** — agent 从原始来源中提取概念、实体、主张、关系和悬而未决的问题。一段关于调试 React hook 的对话会提炼出“闭包陷阱”模式。一篇研究论文会提炼出核心观点及其注意事项。一份工作日志会提炼出决策及其依据。噪声被剔除,有价值的信号被保留。每个页面在写入时,还会在其 frontmatter 中获得一句 1-2 句话的 `summary:` —— 后续查询可以利用它在不打开页面的情况下进行预览。
**3. 合并** — 新知识会与 wiki 中已有的内容进行合并。如果该概念的页面已存在,agent 就会对其进行更新 —— 合并新信息、记录矛盾之处、强化交叉引用。如果是全新内容,则会创建新页面。没有任何内容会被重复。来源会被记录在 frontmatter 中,以确保每个主张都有据可查。
**4. 架构** — wiki 的架构并不是预先固定的。它源自你的材料,并随着你添加的内容不断演进。agent 会维护其一致性:分类保持一致,wikilink 指向真实存在的页面,索引能准确反映实际内容。当你引入新领域(新项目、新研究领域)时,架构会自行扩展以适应这些变化,而不会破坏现有内容。
一个 `.manifest.json` 文件会记录所有已被摄取的来源 —— 包括路径、时间戳,以及它生成了哪些 wiki 页面。在下次摄取时,agent 会计算增量,并只处理新增或修改过的内容。
## 可视化
通过 Global Graph View(全局图谱视图),你可以可视化整个 vault 中的所有笔记及链接。
- **侧边栏图标**:点击左侧边栏上的“Open graph view”图标(看起来像一个连接的网络)。
- **命令面板**:按 Ctrl + P (Windows/Linux) 或 Cmd + P (Mac),输入“Open graph view”并按回车键。
### 图谱颜色编码
输入 **“color my graph”**、**“color code by tag”**、**“color by category”** 或 **“highlight visibility graph”**,`graph-colorize` 技能就会重写 `/.obsidian/graph.json`,让 Obsidian 根据标签、文件夹或可见性为节点着色。它会扫描你实际的词汇,挑选对色盲友好的调色板,首先备份现有的 `graph.json`,并且只修改 `colorGroups` 字段 —— 你的缩放、物理效果和过滤器偏好都会原封不动。重新加载 Obsidian (Cmd/Ctrl+R) 即可看到变化。
模式包括:`by-tag`(默认 —— 前 10 个标签),`by-category`(七个 vault 文件夹),`by-visibility`(突出显示 `visibility/pii` 和 `visibility/internal`),`combined`(可见性 + 标签),或 `custom`(用户提供的映射)。
## 我们在 Karpathy 模式之上增加的功能
- **增量追踪。**清单会追踪每一个已被摄取的源文件:路径、时间戳以及它生成了哪些 wiki 页面。当你稍后返回时,它会计算增量,只处理新增或更改过的内容。你不需要每次都重新摄取整个文档库。
- **基于项目的组织方式。**特定项目的知识会被归档到对应项目下;通用的知识则进行全局归档。两者都会通过 wikilink 交叉引用。如果你同时处理 10 个不同的代码库,每个代码库都会在 vault 中拥有独立的空间。
- **归档与重建。**当 wiki 与你的源材料偏差过大时,你可以将整个内容归档(带有时间戳的快照,不会丢失任何内容)并从零开始重建。也可以恢复到任何之前的归档版本。
- **多 agent 摄取。**支持文档、PDF、Claude Code 历史记录 (`~/.claude`)、Codex 会话 (`~/.codex/`)、Hermes 记忆与会话 (`~/.hermes/`)、OpenClaw 的 MEMORY.md 和会话 (`~/.openclaw/`)、Pi 会话 (`~/.pi/agent/sessions/`)、Windsurf 数据 (`~/.windsurf`)、ChatGPT 导出、Slack 日志、会议记录、纯文本。我们为 Claude、Codex、Hermes、OpenClaw 和 Pi 的历史记录提供了专门的技能,外加一个适用于任意文本导出的通用摄取技能。
- **跨 agent 定向搜索。**`/wiki-claude`、`/wiki-codex`、`/wiki-hermes`、`/wiki-openclaw`、`/wiki-copilot`、`/wiki-pi` —— 从特定 agent 的原始历史记录中根据查询进行摄取。在 Claude Code 中输入 `/wiki-codex "rust ownership"`,它就会查找有关该主题的 Codex 会话,提取相关的对话片段,将其提炼成 wiki 页面,并返回你可以立即使用的综合答案。这与批量摄取不同:这是以主题优先,而非以会话优先。每个 agent 都有自己的提取策略(Codex rollout 事件、Claude JSONL 轮次、OpenClaw 预先合成的 `MEMORY.md`、Pi 树状结构的 JSONL 会话等)。搭配 `/memory-bridge diff` 使用,可查看各个工具针对某一主题分别贡献了什么独特内容。
- **审计与 lint。**查找孤立页面、损坏的 wikilink、过时的内容、矛盾之处以及缺失的 frontmatter。查看已摄取内容和待处理内容的仪表盘。
- **自动交叉链接。**摄取新页面后,cross-linker 会扫描 vault 中未被链接的提及内容,并使用 `[[wikilinks]]` 将它们编织到知识图谱中。告别孤立页面。
- **标签分类体系。**存储在 `_meta/taxonomy.md` 中的规范标签受控词汇表,配合相应的技能可以审计并规范化整个 vault 中的标签。
- **来源追踪。**wiki 页面上的每个主张都有标记:extracted(默认)、`^[inferred]`(LLM 合成)或 `^[ambiguous]`(来源存在分歧)。frontmatter 中的 `provenance:` 块会按页面汇总这些混合信息,而 `wiki-lint` 会标记出那些过度偏向猜测的页面。你总能分辨出你的 wiki 到底是“真正知道”什么,还是“猜测”了什么。
- **多模态来源。**截图、白板照片、幻灯片捕获和图表的摄取方式与文本相同 —— agent 会逐字转录任何可见的文本,并将解析的内容标记为推断。需要具备视觉能力的模型。
- **Wiki 洞察。**除了增量追踪外,`wiki-status` 还能分析你的 vault 本身的结构:主要的枢纽节点、桥梁页面(移除后会导致图谱分裂的节点)、标签集群凝聚力得分、令人惊讶的高分连接、自上次运行以来的图谱增量,以及 wiki 结构最适合回答的建议性问题。输出内容会保存到 `_insights.md`。
- **图谱导出。**`wiki-export` 可以将 vault 的 wikilink 图谱转换为 `graph.json`(可查询)、`graph.graphml`(适用于 Gephi/yEd)、`cypher.txt`(适用于 Neo4j),以及一个独立的 `graph.html` 交互式浏览器可视化页面 —— 无需服务器。
- **分层检索。**`wiki-query` 会先读取标题、标签和页面摘要,只有在低成本检索无法解答时才会打开页面正文。输入“quick answer”或“just scan”可强制使用仅索引模式。随着你的 vault 从 20 页增长到 2000 页,这能让查询成本大致保持平稳。
- **QMD 语义搜索(可选)。**[QMD](https://github.com/tobi/qmd) 可为你的 wiki 和源文档建立索引以进行语义搜索。当在 `.env` 中设置了 `QMD_WIKI_COLLECTION` 时,`wiki-query` 会先对该集合执行 lex+vec 检索,然后再回退到 Grep —— 从而实现精确字符串搜索无法捕捉的概念级匹配。当设置了 `QMD_PAPERS_COLLECTION` 时,`wiki-ingest` 会在写入新页面前先查询你已建立索引的源材料,从而呈现相关工作、检测矛盾,并决定是创建还是合并。QMD 可以通过 MCP 或本地 CLI 使用。如果没有 QMD,这两个技能都会回退到 Grep/Glob,并依然保持完整功能。
- **`_raw/` 暂存目录。**将粗略的笔记、剪贴板粘贴内容或快速捕获的信息放入你的 vault 内的 `_raw/` 目录。下一次运行 `wiki-ingest` 时,会将它们提升为正式的 wiki 页面并删除原文件。可以通过 `.env` 中的 `OBSIDIAN_RAW_DIR` 进行配置(默认为 `_raw`)。
## 可选:QMD 语义搜索
默认情况下,`wiki-ingest` 和 `wiki-query` 使用 `Grep`/`Glob` 进行搜索 —— 功能完备,无需额外设置。如果你的 vault 变得非常大,或者你想在源文件中进行概念级匹配,你可以接入 [QMD](https://github.com/tobi/qmd),既可以通过 MCP,也可以让 agent 直接调用本地 `qmd` CLI。
**设置:**
1. 安装 QMD。如果你想使用 MCP 模式,还需要将其添加到你的 MCP 配置中(说明请参见 QMD 仓库)。
2. 为你的 wiki 和/或源文档建立索引:
qmd index --name wiki /path/to/your/vault
qmd index --name papers /path/to/your/sources
3. 在你的 `.env` 中设置集合名称和传输方式:
QMD_WIKI_COLLECTION=wiki # 供 wiki-query 使用
QMD_PAPERS_COLLECTION=papers # 供 wiki-ingest 使用(来源发现)
QMD_TRANSPORT=mcp # mcp | cli
QMD_CLI_SEARCH_MODE=quality # quality | balanced | fast
`QMD_TRANSPORT=mcp` 保留了原有的行为,并使用 agent 配置的 QMD MCP 服务器。`QMD_TRANSPORT=cli` 则直接运行本地 `qmd` 命令。CLI 模式默认为 `quality`,该模式会使用带重排序的 `qmd query` 以获得最佳相关性。如果这在 CPU 上运行太慢,请设置 `QMD_CLI_SEARCH_MODE=balanced` 以使用 `qmd query --no-rerank`,或者设置为 `fast` 进行更轻量级的语义检索。
**启用 QMD 后的变化:**
- **`wiki-query`** 会在回退到 Grep 之前,先针对你的 wiki 集合执行一次语义检索(lex+vec)。即使确切术语不匹配,也能找到概念相关的页面。
- **`wiki-ingest`** 会在写入新页面之前查询你的 papers 集合 —— 呈现相关来源、发现矛盾,并决定是创建新页面还是合并到现有页面中。
这两种技能都能平滑降级:如果未设置 `QMD_WIKI_COLLECTION` / `QMD_PAPERS_COLLECTION`,它们会静默跳过 QMD 步骤并转而使用 Grep。
### `_raw/` 暂存目录
`_raw/` 是 vault 内部用于存放未处理捕获内容(粗略笔记、剪贴板粘贴、快速语音备忘录转录)的暂存区。将文件放入其中,下一次运行 `wiki-ingest` 时就会将其提升为正式的 wiki 页面并移除原文件。
在实时编码会话中为 `_raw/` 输入内容的最快方式是使用 `/wiki-capture --quick` —— 它会扫描当前对话,提取 bug 和各种踩坑经验,并在 60 秒内写好结构化的草稿文件,全程无需子 agent 或写入清单。
该目录会在运行 `wiki-setup` 时自动创建。路径可以通过 `.env` 中的 `OBSIDIAN_RAW_DIR` 进行配置(默认为 `_raw`)。
## 将你的 vault 同步到 GitHub
你的 vault 就是一个由普通 markdown 文件组成的目录 —— 将其推送到私有的 GitHub 仓库,你就能免费获得版本历史记录、备份和跨设备同步。`setup.sh`(以及 `obsidian-wiki setup`)会在初次安装时要求你进行相关配置。
**setup 的执行内容:**
1. 如果你的 vault 还不是一个仓库,则执行 `git init`
2. 创建一个 `.gitignore` 文件,用于排除 Obsidian 的工作区/缓存文件
3. 设置你提供的 GitHub 远程仓库地址
4. 写入 `~/.obsidian-wiki/sync.sh` —— 这是一个一键脚本,会暂存所有更改、附带时间戳进行提交并推送到远程
5. 可选:添加一个 `wiki-sync` shell alias
6. 可选:安装一个每小时运行一次的 cron job
**随时运行同步:**
```
wiki-sync # alias added by setup
~/.obsidian-wiki/sync.sh # or call the script directly
```
每次运行都会将暂存的更改提交为 `sync 2026-06-08 14:00` 并推送。
**手动设置(跳过提示):**
```
cd /path/to/your/vault
git init
git remote add origin https://github.com/you/my-wiki.git
# 然后手动 commit 和 push,或者重新运行 setup.sh 以获取 sync script
```
**通过 cron 实现每小时自动同步(可在设置过程中开启):**
```
0 * * * * ~/.obsidian-wiki/sync.sh >> ~/.obsidian-wiki/sync.log 2>&1
```
## 技能
一切都存放在 `.skills/` 中。每个技能都是一个 markdown 文件,agent 在被触发时会读取它:
| Skill | 功能描述 | 斜杠命令 |
| ----------------------- | ------------------------------------------------- | ------------------------ |
| `wiki-setup` | 初始化 vault 结构 | `/wiki-setup` |
| `wiki-ingest` | 将文档提炼为 wiki 页面,外加聊天导出、日志、记录、URL | `/wiki-ingest` |
| `wiki-history-ingest` | 统一的历史记录路由器 (`claude`, `codex`, `hermes`, `pi`) | `/wiki-history-ingest ` |
| `claude-history-ingest` | 挖掘你来自 Claude code 和 desktop 的 `~/.claude` 对话与记忆 | `/claude-history-ingest` |
| `codex-history-ingest` | 挖掘你的 `~/.codex` 会话和 rollout 日志 | `/codex-history-ingest` |
| `hermes-history-ingest` | 挖掘你的 `~/.hermes` 记忆和会话 | `/hermes-history-ingest` |
| `openclaw-history-ingest` | 挖掘你的 `~/.openclaw` MEMORY.md 和会话 | `/openclaw-history-ingest` |
| `copilot-history-ingest` | 挖掘你的 `~/.copilot` CLI 会话历史记录 | `/copilot-history-ingest` |
| `pi-history-ingest` | 挖掘你的 `~/.pi/agent/sessions` JSONL 历史记录 | `/pi-history-ingest` |
| `wiki-status` | 显示已摄取内容、待处理内容及增量 | `/wiki-status` |
| `wiki-rebuild` | 归档、从零重建或恢复 | `/wiki-rebuild` |
| `wiki-query` | 从 wiki 中解答问题 | `/wiki-query` |
| `wiki-lint` | 查找断链、孤立页面、矛盾内容 | `/wiki-lint` |
| `cross-linker` | 自动发现并插入缺失的 wikilink |cross-linker` |
| `tag-taxonomy` | 在各页面间强制执行一致的标签词汇表 | `/tag-taxonomy` |
| `llm-wiki` | 核心模式与架构参考 | `/llm-wiki` |
| `wiki-update` | 将当前项目的知识同步到 vault | `/wiki-update` |
| `wiki-export` | 将 vault 图谱导出为 JSON, GraphML, Neo4j, HTML | `/wiki-export` |
| `wiki-capture` | 将当前对话保存为 wiki 笔记;`--quick` 将发现的内容暂存到 `_raw/` | `/wiki-capture` |
| `wiki-research` | 自主进行多轮网络研究并自动归档 | `/wiki-research [topic]` |
| `wiki-dashboard` | 创建动态的 Obsidian Bases 仪表盘视图 | `/wiki-dashboard` |
| `wiki-synthesize` | 发现并填补跨概念的综合空白 | `/wiki-synthesize` |
| `wiki-agent` | 从特定 agent 的历史记录中根据查询进行摄取 | `/wiki-claude [topic]`, `/wiki-codex [topic]`, 等 |
| `memory-bridge` | 按照写入知识的 AI 工具浏览和对比差异 | `/memory-bridge` |
| `daily-update` | 每日维护周期 —— 新鲜度、索引、热缓存 | `/daily-update` |
| `impl-validator` | 根据既定目标验证实现 | `/impl-validator` |
| `graph-colorize` | 按标签/分类/可见性为 Obsidian 图谱着色 | `/graph-colorize` |
| `skill-creator` | 创建新技能 | `/skill-creator` |
### 推荐:Kepano 的 Obsidian Skills
我们负责处理知识管理工作流程 —— 摄取、查询、lint、重建。若要精通 Obsidian 格式,我们建议在安装本框架的同时,一并安装 [**kepano/obsidian-skills**](https://github.com/kepano/obsidian-skills)。以下是可选的补充技能,但它们能提升 wiki 输出的质量:
| Skill | 增加的功能 |
|---|---|
| `obsidian-markdown` | 教导 agent 正确的 Obsidian 风格语法 —— wikilink、callout、嵌入、属性 |
| `obsidian-bases` | 创建和编辑 `.base` 文件(类似数据库的笔记视图) |
| `json-canvas` | 创建和编辑 `.canvas` 文件(可视化思维导图、流程图) |
| `obsidian-cli` | 通过 CLI 与正在运行的 Obsidian 实例交互(搜索、创建、管理笔记) |
| `defuddle` | 从网页提取干净的 markdown —— 比原始抓取噪声更少,能节省摄取时的 token |
这两个项目都使用相同的 [Agent Skills spec](https://agentskills.io/specification),因此它们可以毫无冲突地共存于同一个 `.skills/` 目录中。
**安装:**
```
npx skills add kepano/obsidian-skills
```
安装完成后,你的 agent 将会在现有的 wiki 技能旁边自动识别这些新技能。
## 项目结构
```
obsidian-wiki/
├── .skills/ # ← Canonical skill definitions (source of truth)
│ ├── wiki-setup/SKILL.md
│ ├── wiki-ingest/SKILL.md
│ ├── wiki-history-ingest/SKILL.md
│ ├── claude-history-ingest/SKILL.md
│ ├── codex-history-ingest/SKILL.md
│ ├── hermes-history-ingest/SKILL.md
│ ├── openclaw-history-ingest/SKILL.md
│ ├── pi-history-ingest/SKILL.md
│ ├── wiki-status/SKILL.md
│ ├── wiki-rebuild/SKILL.md
│ ├── wiki-query/SKILL.md
│ ├── wiki-lint/SKILL.md
│ ├── cross-linker/SKILL.md
│ ├── tag-taxonomy/SKILL.md
│ ├── wiki-update/SKILL.md
│ ├── llm-wiki/SKILL.md
│ ├── wiki-export/SKILL.md
│ └── skill-creator/SKILL.md
│
├── CLAUDE.md # Bootstrap → Claude Code / Kilocode (→ AGENTS.md)
├── GEMINI.md # Bootstrap → Gemini CLI (→ AGENTS.md)
├── AGENTS.md # Bootstrap → Codex, OpenCode, Aider, Droid, Trae, Hermes, OpenClaw, Kilocode
├── .hermes.md # Bootstrap → Hermes (symlink → AGENTS.md)
├── .cursor/rules/obsidian-wiki.mdc # Always-on → Cursor (alwaysApply: true)
├── .windsurf/rules/obsidian-wiki.md # Always-on → Windsurf
├── .kiro/steering/obsidian-wiki.md # Always-on → Kiro (inclusion: always)
├── .agent/rules/obsidian-wiki.md # Always-on → Google Antigravity
├── .agent/workflows/obsidian-wiki.md # Slash-command registry → Google Antigravity
├── .github/copilot-instructions.md # Always-on → GitHub Copilot (VS Code Chat)
│
├── .claude/skills/ → symlinks to .skills/* (created by setup.sh)
├── .cursor/skills/ → symlinks to .skills/* (created by setup.sh)
├── .windsurf/skills/ → symlinks to .skills/* (created by setup.sh)
├── .agents/skills/ → symlinks to .skills/* (created by setup.sh)
├── .pi/skills/ → symlinks to .skills/* (created by setup.sh)
├── .kiro/skills/ → symlinks to .skills/* (created by setup.sh)
│
├── ~/.claude/skills/ → portable skills (wiki-update, wiki-query)
├── ~/.gemini/skills/ → global symlinks — Gemini CLI
├── ~/.gemini/antigravity/skills/ → global symlinks — Antigravity (legacy path)
├── ~/.codex/skills/ → global symlinks — Codex
├── ~/.hermes/skills/ → global symlinks — Hermes
├── ~/.openclaw/skills/ → global symlinks — OpenClaw (managed)
├── ~/.copilot/skills/ → global symlinks — GitHub Copilot CLI
├── ~/.trae/skills/ → global symlinks — Trae
├── ~/.trae-cn/skills/ → global symlinks — Trae CN
├── ~/.kiro/skills/ → global symlinks — Kiro CLI
├── ~/.pi/agent/skills/ → global symlinks — Pi
├── ~/.agents/skills/ → global symlinks — OpenCode, Aider, Droid, generic
│
├── setup.sh # One-command agent setup
├── .env.example # Configuration template
├── README.md # You are here
└── SETUP.md # Detailed setup guide
```
## 在其他项目中使用
你的大脑应该随着你在不同代码库中工作而不断成长,而不是仅仅在你打开 obsidian-wiki 仓库时才更新。因此,`setup.sh` 会安装两个全局技能,让你能够从任何项目访问 vault:`wiki-update` 和 `wiki-query`。
当你运行 `bash setup.sh` 时,它会执行以下操作:
1. 将配置写入 `~/.obsidian-wiki/config`,其中包含你的 vault 路径和仓库位置。技能就是通过这种方式知道在哪里进行读写的。
2. 将 `wiki-update` 和 `wiki-query` 软链接到 `~/.claude/skills/`,使其在 Claude Code 的任何地方都能使用。
3. 将所有技能软链接到每个 agent 的全局发现路径中:
- `~/.gemini/skills/` — Gemini CLI (规范路径)
- `~/.gemini/antigravity/skills/` — Google Antigravity (旧版)
- `~/.codex/skills/` — Codex
- `~/.hermes/skills/` — Hermes
- `~/.openclaw/skills/` — OpenClaw (托管)
- `~/.copilot/skills/` — GitHub Copilot CLI
- `~/.trae/skills/` + `~/.trae-cn/skills/` — Trae / Trae CN
- `~/.kiro/skills/` — Kiro CLI
- `~/.pi/agent/skills/` — Pi
- `~/.agents/skills/` — OpenCode, Aider, Factory Droid 及其他兼容 AGENTS.md 的 agent
在这之后,假设你正在某个项目中(例如 `~/projects/my-cool-app`),与 Claude 或 Pi 协作。只需两个命令:
```
# 你正在开发某个项目
cd ~/projects/my-cool-app
claude
# 写入 wiki:提炼你所学到的内容
> /wiki-update
# 读取 wiki:获取你之前记录的任何内容的 context
> /wiki-query what do I know about rate limiting?
```
`/wiki-update` 会读取你的项目,分析出值得保留的内容,并将其写入大脑。包括架构决策、你发现的模式、核心概念、评估过的权衡方案。它会跳过代码和文件列表,专门保存那些你可能在 3 个月后就会忘记的内容。如果从同一个项目再次运行它,它会检查自上次同步以来发生了哪些变化(通过 git log),并只处理增量部分。
`/wiki-query` 则是反方向运作。当你的任务进行到一半,想知道大脑中是否已经掌握了关于某个主题的知识时使用。也许你在 2 个月前在不同的项目中解决过同样的问题,而答案早已存在。agent 会搜索 vault,阅读相关页面,并为你提供一个带有引用的综合答案。
这两个技能都遵循与其他功能相同的 Karpathy 模式。如果 vault 中已经存在该概念的页面,它会自动并入其中。所有内容都会通过 `[[wikilinks]]` 进行交叉链接,记录在 `.manifest.json` 中并生成日志。
## 贡献
该项目仍处于早期阶段。各项技能均可正常运行,但仍有提升大脑智能的空间:比如更好的交叉引用、更精准的去重、支持更大的 vault、新的摄取来源。如果你一直在思考这个问题,或者有一个可以转化为技能的工作流,欢迎提交 PR。
### 添加新技能
1. 在 `.skills/your-skill-name/` 中创建一个文件夹
2. 添加一个包含 YAML frontmatter(`name`、`description`)和 markdown 指令的 `SKILL.md`
3. 运行 `bash setup.sh` 将其软链接到所有 agent 目录中
4. 通过在 agent 中输入与描述相符的指令来进行测试
请查阅 `.skills/skill-creator/SKILL.md` 获取关于编写高效技能的完整指南。
受支持的 agent 及手动设置说明
| Agent | 引导文件 | 技能目录 | 斜杠命令 | |---|---|---|---| | **[Claude Code](https://claude.ai/code)** | `CLAUDE.md` | `.claude/skills/` + `~/.claude/skills/` | ✅ `/wiki-ingest`, `/wiki-status` 等 | | **[Cursor](https://cursor.com)** | `.cursor/rules/obsidian-wiki.mdc` | `.cursor/skills/` | ✅ `/wiki-ingest`, `/wiki-status` 等 | | **[Windsurf](https://windsurf.com)** | `.windsurf/rules/obsidian-wiki.md` | `.windsurf/skills/` | ✅ 通过 Cascade | | **[Codex (OpenAI)](https://openai.com/codex)** | `AGENTS.md` | `~/.codex/skills/` | `$wiki-ingest` (Codex 使用 `$`) | | **[Gemini CLI](https://github.com/google-gemini/gemini-cli)** | `GEMINI.md` | `~/.gemini/skills/` | ✅ `/wiki-ingest`, `/wiki-query` 等 | | **[Google Antigravity](https://antigravity.google)** | `.agent/rules/` + `.agent/workflows/` | `.agents/skills/` | ✅ 通过 workflows registry | | **[Kiro IDE/CLI](https://kiro.dev)** | `.kiro/steering/obsidian-wiki.md` | `.kiro/skills/` + `~/.kiro/skills/` | ✅ `/wiki-ingest`, `/wiki-status` 等 | | **[Hermes](https://hermes-agent.nousresearch.com)** | `.hermes.md` | `~/.hermes/skills/` | ✅ `/wiki-history-ingest hermes` 等 | | **[OpenClaw](https://openclaw.ai)** | `AGENTS.md` | `~/.openclaw/skills/` + `~/.agents/skills/` | ✅ `/wiki-ingest`, `/wiki-history-ingest openclaw` 等 | | **[OpenCode](https://opencode.ai)** | `AGENTS.md` | `~/.agents/skills/` | ✅ `/wiki-ingest`, `/wiki-query` 等 | | **[Aider](https://aider.chat)** | `AGENTS.md` | `~/.agents/skills/` | 在聊天中描述意图 | | **[Factory Droid](https://factory.ai)** | `AGENTS.md` | `~/.agents/skills/` | ✅ `/wiki-ingest`, `/wiki-query` 等 | | **[Trae](https://trae.ai)** / **Trae CN** | `AGENTS.md` | `~/.trae/skills/` / `~/.trae-cn/skills/` | ✅ 通过 Agent tool | | **GitHub Copilot (VS Code)** | `.github/copilot-instructions.md` | — | 在聊天中描述意图 | | **GitHub Copilot (CLI)** | — | `~/.copilot/skills/` | ✅ `/wiki-ingest`, `/wiki-query` 等 | | **[Kilocode](https://kilo.ai/)** | `AGENTS.md` / `CLAUDE.md` | `.agents/skills/` + `.claude/skills/` | ✅ `/wiki-ingest`, `/wiki-status` 等 | | **[Pi](https://pi.dev)** | `AGENTS.md` | `.pi/skills/` + `~/.pi/agent/skills/` | ✅ `/wiki-ingest`, `/wiki-history-ingest pi` 等 | ### 手动设置(如果你倾向于使用 `setup.sh`)Claude Code
技能会从 `.claude/skills/` 自动发现。你可以运行 `setup.sh` 或者将 `.skills/*` 复制到 `.claude/skills/`。仓库根目录下的 `CLAUDE.md` 文件会自动作为项目上下文加载。 ``` cd /path/to/obsidian-wiki && claude "set up my wiki" ```Cursor
技能会从 `.cursor/skills/` 自动发现。`.cursor/rules/obsidian-wiki.mdc` 文件提供常驻上下文。运行 `setup.sh` 或者将 `.skills/*` 复制到 `.cursor/skills/`。然后在聊天中输入 `/wiki-setup`。Windsurf
Cascade 会从 `.windsurf/rules/` 读取规则,并从 `.windsurf/skills/` 读取技能。运行 `setup.sh` 或者将 `.skills/*` 复制到 `.windsurf/skills/`。然后告诉 Cascade:“set up my wiki”。Codex
读取 `AGENTS.md` 获取项目上下文。`setup.sh` 会将技能全局安装到 `~/.codex/skills/`。运行 `setup.sh` 或者手动将 `.skills/*` 软链接到 `~/.codex/skills/`。 ``` cd /path/to/obsidian-wiki && codex "set up my wiki" ```Gemini CLI
读取 `GEMINI.md` 并从 `~/.gemini/skills/` 发现全局技能。运行 `setup.sh` 或者手动将 `.skills/*` 软链接到 `~/.gemini/skills/`。 ``` cd /path/to/obsidian-wiki && gemini "set up my wiki" ```Google Antigravity
通过 `.agent/rules/` + `.agent/workflows/` 实现常驻。`setup.sh` 会同时提供这两个文件,并将技能软链接到 `.agents/skills/`。原有的 `~/.gemini/antigravity/skills/` 路径也已配置好。Kiro IDE/CLI
通过包含 `inclusion: always` 的 `.kiro/steering/*.md` 实现常驻。`setup.sh` 会将 `.skills/*` 软链接到 `.kiro/skills/` 和 `~/.kiro/skills/`。通过 `/wiki-ingest`、`/wiki-query` 等进行调用。OpenCode / Aider / Factory Droid / Trae
都会读取仓库根目录下的 `AGENTS.md`。`setup.sh` 会将技能软链接到 `~/.agents/skills/`(共享发现路径)。Trae 还会使用 `~/.trae/skills/` 和 `~/.trae-cn/skills/`。Hermes
首先读取 `.hermes.md`,然后回退到 `AGENTS.md`。技能从 `~/.hermes/skills/` 发现。运行 `setup.sh` 或手动将 `.skills/*` 软链接到此。 ``` cd /path/to/obsidian-wiki && hermes "set up my wiki" # 将 Hermes 历史挖掘到 wiki 中: /wiki-history-ingest hermes ```OpenClaw
读取 `AGENTS.md`(优先级 10)。从 `~/.openclaw/skills/` 和 `~/.agents/skills/` 发现技能。技能会自动注册为斜杠命令。 ``` cd /path/to/obsidian-wiki && openclaw "set up my wiki" # 挖掘 OpenClaw 历史: /wiki-history-ingest openclaw ```GitHub Copilot
**VS Code Chat:**读取 `.github/copilot-instructions.md`。在 Copilot Chat 中说“set up my wiki”。 **CLI:**从 `~/.copilot/skills/` 发现技能。运行 `setup.sh` 或手动将 `.skills/*` 软链接到此。Pi
读取 `AGENTS.md`(从当前工作目录向上查找)。从 `.pi/skills/`、`.agents/skills/` 和 `~/.pi/agent/skills/` 发现技能。运行 `setup.sh` 或手动将 `.skills/*` 软链接到 `~/.pi/agent/skills/`。 ``` cd /path/to/obsidian-wiki && pi "set up my wiki" # 挖掘 Pi session 历史: /wiki-history-ingest pi ```
### 图谱颜色编码
输入 **“color my graph”**、**“color code by tag”**、**“color by category”** 或 **“highlight visibility graph”**,`graph-colorize` 技能就会重写 `标签:AI智能体, LLM, Obsidian, Ruby, Unmanaged PE, 人工智能, 威胁情报, 开发者工具, 暗色界面, 用户模式Hook绕过, 知识库, 逆向工具, 防御加固