SuperAPI AI 工具集

cli-anything-obsidian

办公与效率

查看项目

更新于 10-15 13:44

技能介绍

cli-anything-obsidian 是一个通过 Obsidian Local REST API 进行知识管理与笔记记录的命令行界面工具,面向 AI 智能体以及需要在无图形界面环境下管理笔记、搜索笔记库和执行命令的高级用户。

用途

该工具让用户和智能体能够以命令行方式操作 Obsidian 笔记库,无需打开 Obsidian 图形界面即可完成笔记的读取、创建、更新、删除、追加、搜索以及执行 Obsidian 命令等操作。

安装与前置条件

该 CLI 作为 cli-anything-obsidian 包的一部分安装:

pip install cli-anything-obsidian

前置条件:

  • Python 3.10+
  • 必须已安装并运行 Obsidian,且启用 Local REST API 插件

主要能力

工具提供以下命令组:

Vault(笔记库文件管理):

  • list:列出笔记库或子目录中的文件
  • read:读取笔记内容
  • create:创建新笔记
  • update:覆盖已有笔记
  • delete:从笔记库删除笔记
  • append:向已有笔记追加内容

Search(笔记库搜索):

  • query:使用 Obsidian 查询语法搜索
  • simple:在笔记库中进行纯文本搜索

Note(活动笔记):

  • active:获取 Obsidian 中当前活动的笔记
  • open:在 Obsidian 编辑器中打开笔记

Command(命令面板):

  • list:列出所有可用的 Obsidian 命令
  • execute:按 ID 执行命令

Server(服务器状态与信息):

  • status:检查 Obsidian Local REST API 是否运行

Session(会话状态):

  • status:显示当前会话状态

使用方式

基本命令示例:

显示帮助

cli-anything-obsidian --help

启动交互式 REPL 模式

cli-anything-obsidian

列出笔记库文件

cli-anything-obsidian vault list

以 JSON 输出运行(供智能体使用)

cli-anything-obsidian --json vault list

REPL 模式:不带子命令调用时,CLI 进入交互式 REPL 会话,支持 Tab 补全与历史记录。

笔记库操作示例:

列出所有笔记库文件

cli-anything-obsidian vault list

列出子目录中的文件

cli-anything-obsidian vault list "Daily Notes"

读取笔记

cli-anything-obsidian vault read "Projects/my-project.md"

创建新笔记

cli-anything-obsidian vault create "Projects/new-project.md" --content "# New Project"

更新(覆盖)笔记

cli-anything-obsidian vault update "Projects/new-project.md" --content "# Updated Content"

追加到笔记

cli-anything-obsidian vault append "Projects/new-project.md" --content "\n## New Section"

搜索示例:

纯文本搜索(GET /search/simple/)

cli-anything-obsidian search simple "meeting notes"

Dataview DQL 查询——默认 --type dql,以

application/vnd.olrapi.dataview.dql+txt 发送

cli-anything-obsidian search query 'TABLE file.link FROM "Projects"'

JsonLogic 查询——application/vnd.olrapi.jsonlogic+json

cli-anything-obsidian search query --type jsonlogic
'{"==":[{"var":"frontmatter.status"},"active"]}'

命令示例:

列出可用命令

cli-anything-obsidian command list

按 ID 执行命令

cli-anything-obsidian command execute "editor:toggle-bold"

API 密钥配置:

通过标志

cli-anything-obsidian --api-key YOUR_KEY vault list

通过环境变量(推荐供智能体使用)

export OBSIDIAN_API_KEY=YOUR_KEY cli-anything-obsidian vault list

状态管理

CLI 维护轻量级会话状态:

  • API 密钥:可通过 --api-key 或 OBSIDIAN_API_KEY 环境变量配置
  • 主机 URL:默认为 https://localhost:27124;可通过 --host 配置

输出格式

所有命令支持两种输出模式:

  • 人类可读(默认):表格、颜色、格式化文本
  • 机器可读(--json 标志):结构化 JSON,供智能体使用

人类可读输出

cli-anything-obsidian vault list

供智能体使用的 JSON 输出

cli-anything-obsidian --json vault list

面向 AI 智能体的建议

以编程方式使用该 CLI 时:

  • 始终使用 --json 标志以获得可解析输出
  • 检查返回码——0 表示成功,非零表示错误
  • 失败时解析 stderr 获取错误信息
  • 设置 OBSIDIAN_API_KEY 环境变量,避免每次调用都传 --api-key
  • 在执行其他命令前,先用 server status 验证 Obsidian 正在运行

适用场景

  • AI 智能体自动化管理 Obsidian 笔记库
  • 高级用户通过命令行批量操作笔记
  • 无图形界面环境下的笔记读写与搜索
  • 通过脚本或自动化流程执行 Obsidian 命令

限制

  • 需要 Obsidian 处于运行状态并启用 Local REST API 插件
  • 需要 Python 3.10+
  • 需要配置 API 密钥
  • 默认主机为 https://localhost:27124

更多信息

  • 完整文档:见包内 README.md
  • 测试覆盖:见包内 TEST.md
  • 方法论:见 cli-anything-plugin 中的 HARNESS.md

版本:1.1.0