用途:为 Obsidian 插件开发配置独立的开发(dev)、测试(test)、生产(prod)三套 vault,避免环境互相污染,并支持团队入职与跨 Obsidian 版本测试。
主要能力:用目录结构隔离三套环境;在 dev 中用符号链接指向插件仓库并用 Hot Reload 插件实现改动即时生效;通过环境检测代码为每个 vault 加载不同的 debugMode、logLevel、apiEndpoint 和 featureFlags;提供 vault-template 与 provision 脚本用于团队统一配置;覆盖 Git、Obsidian Sync、iCloud/Dropbox 三种同步方案;并区分哪些 .obsidian/ 文件可跨环境同步(如 app.json、appearance.json、hotkeys.json 应同步,workspace.json 从不同步,plugins/*/data.json 按环境区分)。
使用方式:先创建 ~/obsidian-envs/{dev,test,prod} 结构;在 dev 中执行 ln -s /path/to/your-plugin ~/obsidian-envs/dev/.obsidian/plugins/your-plugin 建立符号链接;克隆 Hot Reload:git clone https://github.com/pjeby/hot-reload.git ~/obsidian-envs/dev/.obsidian/plugins/hot-reload,并在 community-plugins.json 中启用;用 config/environments.ts 中的 detectEnvironment 与 getConfig 在 onload() 中按 vault 路径切换设置;可用脚本把 prod 的 SAFE_FILES(app.json、appearance.json、hotkeys.json)复制到 dev/test。
前提与限制:需要已安装 Obsidian 桌面版、Node.js 18+ 及 npm/pnpm、Git,并了解符号链接与文件系统操作。Windows 下符号链接可能需管理员权限或改用 mklink /D;插件未出现时需先执行 npm run build 确保 manifest.json、main.js 存在;热重载不触发时需在插件目录创建空的 .hotreload 文件;多设备同时打开同一 vault 易在 workspace.json 上产生冲突。具体价格、平台支持范围等资料未提供。