关于 cli-anything-obsidian
cli-anything-obsidian 通过 Local REST API 提供命令行界面,用于管理 Obsidian 库中的笔记和搜索内容。它面向需要在图形界面之外操作库和执行 Obsidian 命令的 Agent 与高级用户。
主要功能
- 01列出、读取、创建、更新和删除笔记
- 02向笔记追加内容
- 03按文本或 Obsidian 查询语法搜索
- 04查看并打开当前笔记
- 05列出并执行 Obsidian 命令
- 06交互式 REPL 和 JSON 输出
适用场景
- 01搜索整个库中的笔记
- 02通过脚本创建或更新项目笔记
- 03不打开图形界面而执行 Obsidian 命令
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-obsidian安装后在 Claude Code 中输入/cli-anything-obsidian确认已加载。
详细介绍
cli-anything-obsidian
通过 Obsidian Local REST API 进行知识管理和笔记记录。专为需要在无 GUI 环境下管理笔记、搜索仓库并执行命令的 AI Agent 和高级用户而设计。
安装
此命令行工具作为 cli-anything-obsidian 包的一部分进行安装:
pip install cli-anything-obsidian
前提条件:
- Python 3.10+
- 必须已安装并运行 Obsidian,且启用了 Local REST API 插件
用法
基本命令
# Show help
cli-anything-obsidian --help
# Start interactive REPL mode
cli-anything-obsidian
# List vault files
cli-anything-obsidian vault list
# Run with JSON output (for agent consumption)
cli-anything-obsidian --json vault list
REPL 模式
在不带子命令的情况下调用时,命令行工具会进入交互式 REPL 会话:
cli-anything-obsidian
# Enter commands interactively with tab-completion and history
命令组
Vault
仓库文件管理命令。
| 命令 | 说明 |
|---|---|
list | 列出仓库或子目录中的文件 |
read | 读取笔记内容 |
create | 创建新笔记 |
update | 覆盖现有笔记 |
delete | 从仓库中删除笔记 |
append | 向现有笔记追加内容 |
Search
仓库搜索命令。
| 命令 | 说明 |
|---|---|
query | 使用 Obsidian 查询语法进行搜索 |
simple | 在整个仓库中进行纯文本搜索 |
Note
活动笔记命令。
| 命令 | 说明 |
|---|---|
active | 获取 Obsidian 中当前活动的笔记 |
open | 在 Obsidian 编辑器中打开笔记 |
Command
Obsidian 命令面板命令。
| 命令 | 说明 |
|---|---|
list | 列出所有可用的 Obsidian 命令 |
execute | 通过 ID 执行命令 |
Server
服务器状态和信息命令。
| 命令 | 说明 |
|---|---|
status | 检查 Obsidian Local REST API 是否正在运行 |
Session
会话状态命令。
| 命令 | 说明 |
|---|---|
status | 显示当前会话状态 |
示例
列出并读取笔记
# List all vault files
cli-anything-obsidian vault list
# List files in a subdirectory
cli-anything-obsidian vault list "Daily Notes"
# Read a note
cli-anything-obsidian vault read "Projects/my-project.md"
创建并更新笔记
# Create a new note
cli-anything-obsidian vault create "Projects/new-project.md" --content "# New Project"
# Update (overwrite) a note
cli-anything-obsidian vault update "Projects/new-project.md" --content "# Updated Content"
# Append to a note
cli-anything-obsidian vault append "Projects/new-project.md" --content "\n## New Section"
搜索
# Plain text search (GET /search/simple/)
cli-anything-obsidian search simple "meeting notes"
# Dataview DQL query — default --type dql, sent as
# application/vnd.olrapi.dataview.dql+txt
cli-anything-obsidian search query 'TABLE file.link FROM "Projects"'
# JsonLogic query — application/vnd.olrapi.jsonlogic+json
cli-anything-obsidian search query --type jsonlogic \
'{"==":[{"var":"frontmatter.status"},"active"]}'
命令
# List available commands
cli-anything-obsidian command list
# Execute a command by ID
cli-anything-obsidian command execute "editor:toggle-bold"
交互式 REPL 会话
启动交互式会话以进行探索性使用。
cli-anything-obsidian
# Enter commands interactively
# Use 'help' to see available commands
API 密钥配置
# Via flag
cli-anything-obsidian --api-key YOUR_KEY vault list
# Via environment variable (recommended for agents)
export OBSIDIAN_API_KEY=YOUR_KEY
cli-anything-obsidian vault list
状态管理
命令行工具维护轻量级会话状态:
- API 密钥:可通过
--api-key或OBSIDIAN_API_KEY环境变量进行配置 - 主机 URL:默认为
https://localhost:27124;可通过--host进行配置
输出格式
所有命令均支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):供 Agent 使用的结构化 JSON
# Human output
cli-anything-obsidian vault list
# JSON output for agents
cli-anything-obsidian --json vault list
面向 AI Agent
以编程方式使用此命令行工具时:
- 始终使用
--json标志以获得可解析的输出 - 检查返回码 - 0 表示成功,非零表示错误
- 解析 stderr 以获取失败时的错误消息
- 设置
OBSIDIAN_API_KEY环境变量,以避免在每次调用时传递--api-key - 验证 Obsidian 正在运行,在执行其他命令前使用
server status
更多信息
- 完整文档:参见包中的 README.md
- 测试覆盖率:参见包中的 TEST.md
- 方法论:参见 cli-anything-plugin 中的 HARNESS.md
版本
1.1.0
评论
支持 Markdown