关于 cli-anything-siyuan
通过本地 HTTP API 管理思源笔记的命令行工具,适合需要结构化操作笔记本、文档和块的用户及 Agent,并支持搜索、SQL 和 Markdown 导出。
主要功能
- 01管理笔记本和文档
- 02插入、更新、删除及查看块
- 03搜索块内容并执行 SQL
- 04将文档导出为 Markdown
- 05支持 JSON 输出和交互式 REPL
适用场景
- 01通过脚本创建和整理思源笔记
- 02搜索笔记或检查块数据
- 03将文档导出为 Markdown
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-siyuan安装后在 Claude Code 中输入/cli-anything-siyuan确认已加载。
详细介绍
cli-anything-siyuan
用于 SiYuan(思源笔记)的 CLI 工具, 思源笔记是一款本地优先的知识管理与笔记应用。
本 CLI 通过 HTTP API(http://127.0.0.1:6806)连接到正在运行的思源内核,
并提供对笔记本、文档、块、搜索和导出的结构化访问。
前提条件
- 思源笔记必须正在运行(设置 → 关于 中显示 API token)
- Python 3.10+
- 安装:
pip install cli-anything-siyuan,或在 agent-harness/ 下执行pip install -e .
命令组
notebook — 笔记本管理
| 子命令 | 描述 |
|---|---|
list | 列出所有笔记本 |
create <name> | 创建新笔记本 |
rename <id> <name> | 重命名笔记本 |
remove <id> | 删除笔记本 |
open <id> | 打开笔记本 |
doc — 文档管理
| 子命令 | 描述 |
|---|---|
create <notebook> <path> [--md "content"] | 创建文档 |
list <notebook> [path] | 列出文档 |
tree <notebook> [--path / --depth] | 显示文档树 |
get <id> | 按 ID 获取文档路径 |
rename <id> <title> | 重命名文档 |
remove <id> | 删除文档 |
block — 块操作
| 子命令 | 描述 |
|---|---|
insert <data> [--previous / --parent] | 插入块 |
update <id> <data> | 更新块 |
delete <id> | 删除块 |
get <id> | 获取块的 kramdown 源码 |
children <id> | 获取子块 |
其他命令
| 命令 | 描述 |
|---|---|
sql <stmt> | 在块数据库上执行 SQL |
search <query> | 跨块全文搜索 |
export md <doc-id> | 将文档导出为 Markdown |
tag list | 列出所有标签 |
version | 显示思源内核版本 |
status | 显示连接和会话状态 |
repl | 启动交互式 REPL |
Agent 指南
- 始终使用
--json以获得机器可读输出 - 强力搜索:使用
sql "SELECT * FROM blocks WHERE content LIKE '%keyword%'"进行 SQL 级访问 - 文档 ID 形如
20210817205410-2kvfpfn(基于时间戳) - API token 可在 思源笔记 设置 → 关于 中找到
- 连接默认值:
http://127.0.0.1:6806
示例
# List notebooks (JSON)
cli-anything-siyuan --json notebook list
# Create a document with Markdown (--md flag, watch shell escaping)
cli-anything-siyuan doc create nb1 /projects/new --md "## Title\n\nContent"
# Create a document — pipe Markdown via stdin (avoids shell escaping)
# PowerShell here-string (literal, no escaping needed):
@'
## Title
Content with `backticks` and (parentheses) and "quotes"
'@ | cli-anything-siyuan doc create nb1 /projects/new --md -
# Bash heredoc:
# cat <<'EOF' | cli-anything-siyuan doc create nb1 /projects/new --md -
# ## Title
# Content with `backticks` and (parentheses)
# EOF
# SQL search
cli-anything-siyuan sql "SELECT id, content FROM blocks WHERE content LIKE '%meeting%' LIMIT 5"
# Export
cli-anything-siyuan export md doc123
# Enter REPL
cli-anything-siyuan
错误处理
- 连接错误:请检查思源笔记是否正在运行以及 API token 是否正确
- API 错误:以
{"code": N, "msg": "..."}形式返回 — 请检查 message 字段 - 认证错误:请验证
~/.siyuan-cli.json中的 token 或SIYUAN_TOKEN环境变量
评论
支持 Markdown