SuperAPI AI 工具集

wiki-switch

办公与效率

查看项目

更新于 10-16 07:48

技能介绍

Wiki Switch 用于管理多个 Obsidian wiki vault 配置文件。

用途 在全局配置目录下维护多个命名的 vault 配置,并切换当前激活的 vault。每个 vault 是一个完整配置文件,路径为 $CONFIG_DIR/config.<name>;当前激活的 vault 是 $CONFIG_DIR/config 符号链接所指向的文件。切换 vault 就是重新指向该符号链接。

全局配置目录 所有路径都相对于全局配置目录,按 llm-wiki/SKILL.md 中的配置解析协议解析:$XDG_CONFIG_HOME/obsidian-wiki(默认 ~/.config/obsidian-wiki),若磁盘上已存在旧版 ~/.obsidian-wiki 则使用旧版。每次调用解析一次:

CONFIG_DIR="$( [[ -d "$HOME/.obsidian-wiki" && ! -e "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" ]] && echo "$HOME/.obsidian-wiki" || echo "${XDG_CONFIG_HOME:-$HOME/.config}/obsidian-wiki" )"

切换与内联指定 /wiki-switch <name> 改变持久默认值(重新指向符号链接,影响之后所有请求)。若只想在某一次请求中使用其他 vault 而不改变默认值,可在任意请求中使用内联 @name 覆盖(例如 @work save this、wiki-query @personal about X)。@name 覆盖由 llm-wiki/SKILL.md 的配置解析协议处理,不属于本技能;它只为该次调用解析 $CONFIG_DIR/config.<name>,不会重新指向符号链接。

命令分发 /wiki-switch <name> → 切换 /wiki-switch list → 列出 /wiki-switch show [name] → 显示 /wiki-switch new <name> → 新建 /wiki-switch(无参数)→ 列出(按 list 处理) @<name> …(内联,任意请求中)→ 不属于本技能,由配置解析协议为该次调用解析 vault,不重新指向符号链接

切换(默认动作) 激活指定名称的 vault 配置。

  1. 确认 $CONFIG_DIR/config.<name> 存在。若不存在,告知用户该 vault 不存在并列出可用项(执行 List)。
  2. 运行: ln -sf "$CONFIG_DIR/config.<name>" "$CONFIG_DIR/config"
  3. 从新激活的配置中读取 OBSIDIAN_VAULT_PATH。
  4. 向用户确认: Switched to vault: <name> Vault path: <value of OBSIDIAN_VAULT_PATH from the config>

列出 显示所有已注册的 vault 配置以及当前激活项。

  1. 查找所有匹配 $CONFIG_DIR/config.* 的文件(排除 config 本身,它是符号链接)。
  2. 解析当前符号链接目标:readlink "$CONFIG_DIR/config"
  3. 对每个配置文件,读取第一条非空注释行(以 # 开头的行)作为该 vault 的人类可读描述。若无注释,则回退使用文件后缀作为标签。
  4. 显示: Vaults: personal My personal research wiki ← active work Work projects wiki 用 ← active 标记当前激活项。若符号链接损坏或 config 不存在,显示 (none active)。

显示 打印某个 vault 的完整配置。

  1. 若给出名称,读取 $CONFIG_DIR/config.<name>。
  2. 若未给出名称,读取 $CONFIG_DIR/config(当前激活的 vault)。
  3. 若文件不存在,告知用户并列出可用项。
  4. 原样打印文件内容(对包含 API_KEY 或 SECRET 的行做脱敏——用 *** 代替其值)。

新建 以当前激活配置为模板搭建新的 vault 配置。

  1. 检查 $CONFIG_DIR/config.<name> 是否已存在。若存在则中止。
  2. 复制当前激活配置: cp "$CONFIG_DIR/config" "$CONFIG_DIR/config.<name>"
  3. 读取复制后的配置。配置文件使用 # --- Section name --- 注释头将字段分组(例如 # --- Vault-specific ---、# --- Vault-independent ---、# --- Secrets ---)。根据这些分组决定询问内容:
    • 标记为 vault-specific、paths 或类似名称的分组中的字段 → 询问用户新值
    • 标记为 vault-independent、global、shared 的分组中的字段 → 保持不变(原样复制)
    • 标记为 secrets 的分组中的字段 → 询问新 vault 使用相同凭据还是不同凭据
    • 若没有分组头,则展示所有字段,由用户决定修改哪些
  4. 就 vault 专属字段向用户询问更新后的值。以当前值作为可见默认值——用户只需提供不同的部分。
  5. 将更新后的值写入 $CONFIG_DIR/config.<name>。
  6. 更新顶部注释行以描述新 vault(例如 # Obsidian Wiki — <name> vault)。
  7. 确认: Created: $CONFIG_DIR/config.<name> Run /wiki-switch <name> to activate it, then run wiki-setup to initialise the new vault. 不要自动切换——由用户决定何时激活。

适用场景

  • 在个人、工作等多个 Obsidian wiki vault 之间切换默认配置。
  • 查看当前激活的是哪个 vault 及其路径。
  • 查看某个 vault 的完整配置(敏感字段脱敏)。
  • 基于现有配置快速创建新的 vault 配置。

限制

  • 仅管理全局配置目录下的 vault 配置文件,不负责 vault 内容的初始化(新建后需运行 wiki-setup)。
  • 内联 @name 覆盖不属于本技能,由 llm-wiki/SKILL.md 的配置解析协议处理。
  • 新建时不会自动切换激活的 vault。
  • 关于收费、价格、平台支持等信息,资料中暂未提供。