mcpField
C
cli-anything-siyuan

cli-anything-siyuan

github.com/hkuds生产力57.6k201 次安装5 周前更新
代码仓库

关于 cli-anything-siyuan

通过本地 HTTP API 管理思源笔记的命令行工具,适合需要结构化操作笔记本、文档和块的用户及 Agent,并支持搜索、SQL 和 Markdown 导出。

主要功能

  1. 01管理笔记本和文档
  2. 02插入、更新、删除及查看块
  3. 03搜索块内容并执行 SQL
  4. 04将文档导出为 Markdown
  5. 05支持 JSON 输出和交互式 REPL

适用场景

  1. 01通过脚本创建和整理思源笔记
  2. 02搜索笔记或检查块数据
  3. 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