知识库导航
unlistedby AiteSn
快速切换并管理多个 Obsidian 仓库的导航面板,一键打开
AiteSn 知识库导航 · Vault Navigator for Obsidian
一个为多仓库 Obsidian 用户设计的导航面板插件:让"切换知识库"像换浏览器标签一样轻点即开。
(首次打开默认展示「AIteSn 的知识库」一个仓库,可一键添加更多)
✨ 功能特性
- 🗂️ 导航面板:在 Obsidian 主页集中展示所有知识库
- 🚀 一键直达:通过
obsidian://open?vault=<name>协议打开对应仓库 - ➕ 可视化增删:弹窗式添加(自动识别 Obsidian 已注册的真实仓库名)
- 🧠 智能识别:选择文件夹后自动读取该仓库在 Obsidian 中注册的真实名字,避免
Vault not found - 📥 素材入库:每张卡片一键唤起 Claudian 插件,自动把"入库提示词"填入其对话框并回车发送(提示词同步复制到剪贴板兜底)
- 🎨 品牌视觉:专属琥珀色六边形晶体图标,与 lucide 内置通用图标明显区分
- 🪟 启动自动展开:Obsidian 启动时自动打开导航面板
- ✍️ 署名可改:面板右上角徽标点击即改,个性化你的门户
- 🛡️ 多通道兜底:注册表协议 → 系统 exe → 退化 URI,层层保险
- 🌗 主题自适应:深浅模式无缝切换
🖼️ 品牌视觉
| 用途 | 说明 |
|---|---|
| 项目 Logo | assets/logo.svg — 渐变(琥珀 → 紫)+ 六边形晶体 + 柱状图,GitHub 头像/应用图标 |
| Obsidian 侧边栏图标 | ID aite-sn-crystal,见 assets/sidebar-icon.svg,24×24 stroke=currentColor,深色主题显示琥珀色,浅色主题自动反转为深色描边 |
视觉设计:六边形 = 知识库晶体;中心圆 + 四向射线 = AI 核心 + 信号连接;柱状图 = 导航/仪表语义。
📦 安装
方式 A · BRAT(推荐,可自动更新)
- 安装 BRAT 插件
- BRAT → Add Beta Plugin → 粘贴仓库地址
shuixiande/obsidian-vault-navigator - 在第三方插件列表中启用「知识库导航」
方式 B · 手动安装
- 下载本仓库的
obsidian-vault-navigator/文件夹 - 复制到你的 Obsidian 仓库内的插件目录:
(确保文件夹内含<你的仓库>/.obsidian/plugins/obsidian-vault-navigator/manifest.json/main.js/styles.css) - Obsidian → 设置 → 第三方插件 → 关闭「安全模式」
- 启用「知识库导航」插件
🚀 使用方法
- 启用插件后会自动打开导航面板
- 点击右上「+ 添加仓库」 → 选择文件夹 → 自动识别仓库名后保存
- 点击任意仓库卡片即可跳转到对应知识库
- 顶部「👤 AIteSn」徽标 → 点击可修改你的署名
- 左栏 Ribbon 的琥珀色晶体图标 → 随时打开知识库导航
- 点击卡片上的「📥 素材入库」→ 自动唤起 Claudian 并把入库提示词填入其对话框(见下方集成说明)
📥 素材入库 · Claudian 集成
每张仓库卡片底部都有「📥 素材入库」按钮:点击后插件会
- 用模板生成"入库提示词"(自动带入
{{vault}}仓库名、{{path}}仓库路径); - 通过 Claudian 命令 ID 唤起 Claudian 对话框(支持填多个候选、或留空自动搜索含
claudian的命令); - 把提示词注入其输入框——优先点击"发送"按钮自动发送(比合成回车可靠得多),找不到发送按钮时退化为模拟回车(可在设置关闭自动发送);
- 无论如何都会把提示词复制到剪贴板作为兜底(即使自动注入失败也能手动粘贴)。
💡 为提升跨插件自动化的可靠性:注入采用
document.execCommand('insertText')优先(兼容性最好,能触发 React/Vue/Svelte 等受控组件的原生input事件),并在原生 setter 兜底;自动发送优先点击发送按钮而非合成回车。若仍失败,提示词已在剪贴板,手动粘贴发送即可。
⚙️ 设置项
设置 → 第三方插件 → 知识库导航 → 配置:
- Obsidian 安装路径:留空则自动探测注册表 / 常见安装位置(推荐)
- 探测结果:显示当前识别到的
Obsidian.exe位置,便于故障排查 - Claudian 命令 ID:唤起 Claudian 的命令 id(如
claudian:open-chat)。可填多个,用逗号/分号分隔依次尝试;留空则自动搜索含claudian的命令。在 Obsidian 开发者控制台用app.commands.commands查找 - 入库提示词模板:支持
{{vault}}/{{path}}占位符 - 对话框选择器(可选):Claudian 输入框的 CSS 选择器;留空则自动启发式查找(优先匹配 chat/prompt 等关键字);自动注入失败时在此填精确选择器
- 发送按钮选择器(可选):Claudian 发送按钮的 CSS 选择器;留空则自动识别(含"发送/Send"文字、aria-label、或仅含图标的按钮)
- 自动回车发送:注入后是否自动发送(优先点击发送按钮,找不到按钮时模拟回车;关闭则仅填入,需手动发送)
- 仓库的 删除 · 恢复默认 · 全部清空
🔌 打开仓库的三层策略
| 通道 | 触发条件 | 优点 |
|---|---|---|
① 直接 execFile(Obsidian.exe, [路径]) | child_process 可用 + 找到 exe | 绕开 obsidian:// 协议对 vault 名的精确匹配,最稳 |
② obsidian://open?vault=<注册名> | 已加入 Obsidian 的仓库 | 通过注册表读取真实 vault 名,匹配零失败 |
③ obsidian://open?vault=<展示名> | 兜底 | 若未注册会有 Notice 提示,不会静默失败 |
🛠️ 开发与构建
本插件是 纯 JavaScript,无需 esbuild / npm / 任何构建步骤:
obsidian-vault-navigator/
├── manifest.json # 插件元数据(id / name / version / minAppVersion)
├── main.js # 主程序:视图、设置页、弹窗、注册命令与 Ribbon
├── styles.css # 玻璃质感深色主题样式
├── versions.json # 版本兼容表
├── assets/ # 品牌资源(logo / sidebar-icon)
├── README.md # 中文文档
├── English.md # 英文文档
├── LICENSE # MIT 许可证
└── .gitignore
热加载方式:
- 打开 Obsidian → 设置 → 通用 → 勾选「启用开发者插件调试模式(Reload plugins without restarting)」
- 修改
main.js/styles.css后回到插件列表点刷新(或Ctrl+R) - 建议在测试仓库上开发,避免污染主知识库
调试:插件内调用 new Notice(...) 输出所有关键路径与失败原因,配合 Obsidian 控制台(Ctrl+Shift+I)查看完整日志。
🤝 贡献指南
欢迎 PR 与 Issue!
- Fork → 新分支(
git checkout -b feat/your-feature) - 保持核心文件最小:
manifest.json+main.js+styles.css(其余为文档与资源) - 避免把个人数据(
data.json、私有仓库路径)提交进来 - PR 中说明:动机 / 改动点 / 测试方法 / 截图
- 大改动先开 Issue 讨论,避免方向冲突
命名与代码风格
- 文件名 / 变量名:
camelCase - 类名:
PascalCase - 注释中文即可,关键 JS API 注释英文
- 保持
main.js单文件结构,非必要不引入新依赖
🗺️ 路线图
- 多仓库一键打开
- 自动识别 Obsidian 注册仓库名
- 品牌侧边栏图标
- 仓库卡片统计笔记数 / 最近修改时间
- 按主题 / 标签自动分组
- 备份与同步配置片段(obsidian_vault_config)
- BRAT 自动发布工作流
📄 许可证
MIT © 2026 AiteSn · 自由使用 / 修改 / 分发,保留原作者署名。
🌏 English / 其它语言
英文文档见 English.md。
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.