← 返回
效率工具 Key

Siyuan Skill

思源笔记API转CLI工具,支持笔记本管理、文档操作、内容搜索、块控制。当用户操作思源笔记、管理笔记本、创建/更新/删除文档、搜索内容、管理块时调用。
思源笔记CLI工具,提供笔记本管理、文档增删改、搜索及块控制。
dazexcl
效率工具 clawhub v1.7.8 3 版本 99908.1 Key: 需要
★ 3
Stars
📥 1,027
下载
💾 110
安装
3
版本
#latest

概述

> 运行要求: Node.js >= 14.0.0,思源笔记 >= 3.6.0

>

> 安装:ClawHub 下载,详见 安装配置指南

>

> 环境变量: 参考 环境变量文档


快速开始

cd skills/siyuan-skill
node siyuan.js <command> [options]
node siyuan.js help <command>  # 查看命令帮助
node siyuan.js --version       # 显示版本信息

快速决策表

根据用户需求快速选择正确的命令:

笔记本与文档操作

用户需求使用命令关键参数示例
------------------------------------
查看笔记本列表notebooks / nbsiyuan nb
查看文档结构structure / ls--depthsiyuan ls
查看文档内容content / catsiyuan cat
获取文档信息info文档IDsiyuan info
创建新文档create / new--parent-id--pathsiyuan create "标题" --parent-id xxx
修改整个文档update / edit文档IDsiyuan update "完整内容"
删除文档delete / rm文档IDsiyuan rm
移动文档move / mv--new-title(可选)siyuan mv
重命名文档rename新标题siyuan rename "新标题"
保护/取消保护protect--on / --offsiyuan protect --on
检查文档存在exists / check--title--pathsiyuan exists --title "标题"
转换ID和路径convert / path--to-id--to-pathsiyuan path "/笔记本/文档" --to-id
设置文档图标icon / set-icon--emoji / --get / --removesiyuan icon --emoji 1f4c4
设置文档属性block-attrs / ba--set / --get / --removesiyuan ba --set "status=done"
设置标签tags / st--tagssiyuan st --tags "A,B"
搜索内容search / find--mode / --thresholdsiyuan search "关键词" --mode semantic

块操作

用户需求使用命令关键参数示例
------------------------------------
获取块信息block-get / bg--modesiyuan bg --mode kramdown
修改单个块block-update / bu块ID(非文档ID)siyuan bu "块内容"
插入新块block-insert / bi--parent-id / --next-idsiyuan bi "内容" --parent-id xxx
删除单个块block-delete / bd块IDsiyuan bd
移动块block-move / bm--parent-id / --next-idsiyuan bm --parent-id xxx
折叠/展开块block-fold / bf--fold / --unfoldsiyuan bf --fold
转移块引用block-transfer-ref / btr源块ID、目标块IDsiyuan btr

> 重要区分update 只接受文档ID,block-update 只接受块ID


块操作决策流程

操作前必须执行

  1. 先用 bg --mode kramdown 查看块结构
  2. 分析哪些块是多余的、哪些需要修改
  3. 根据目标选择正确的命令
目标命令说明
------------------
删除不需要的块bd 整个块删除
修改块内容bu "新内容"保留块 ID,更新内容
查看块结构bg --mode kramdown查看 kramdown 格式
查看文档内容content 查看完整文档

重名检测

以下命令在执行前会自动检测目标位置是否存在同名文档:

命令检测时机冲突处理
--------------------------
create创建前返回错误,使用 --force 强制创建
move移动前返回错误,使用 --new-title 指定新标题
rename重命名前返回错误,需更换新标题

手动检查文档是否存在:

siyuan exists --title "文档标题" [--parent-id <父文档ID>]
siyuan exists --path "/目录/文档标题"

删除保护

默认禁止删除文档。如需启用删除功能,必须由用户手动config.json 中配置。

> ⚠️ Agent 禁止自动修改此配置

保护层级:全局安全模式 → 文档保护标记 → 删除确认机制

> 💡 提示:如删除被阻止,应告知用户修改配置或使用 protect 命令移除文档保护标记


最佳实践

标准工作流

创建文档

1. 检查文档是否存在
   └─ siyuan exists --title "标题" [--parent-id <父ID>]
   
2a. 如不存在 → 直接创建
    └─ siyuan create "标题" "内容" --parent-id <id>
    
2b. 如存在 → 询问用户
    ├─ 覆盖? → siyuan update <docId> "新内容"
    └─ 新建同名? → siyuan create "标题" "内容" --force

修改文档

1. 获取当前内容
   └─ siyuan content <docId>
   
2. 判断修改范围
   ├─ 全文替换 → siyuan update <docId> "完整新内容"
   └─ 仅修改部分块 → 先 siyuan bg <docId> --mode kramdown

create 命令

模式场景示例
------------------
传统模式已知父IDsiyuan create "标题" "内容" --parent-id
路径指定创建多级目录siyuan create --path "笔记本/A/B/C" "内容"
目录下创建批量创建siyuan create --path "笔记本/目录/" "标题" "内容"

> 📋 详细用法见 create 命令文档

内容修改

# ✅ 推荐
siyuan update <docId> "新内容"        # 全文更新:必须传入完整的文档内容
siyuan bu <blockId> "新内容"          # 块更新:只需传入需要修改的块内容

# ❌ 错误:混用命令
siyuan bu <docId> "内容"              # 错误:block-update 不接受文档ID
siyuan update <blockId> "内容"        # 错误:update 不接受块ID

属性设置

siyuan ba <docId> --set "status=published"
siyuan ba <docId> --get
siyuan ba <docId> --remove "status"
siyuan st <docId> --tags "重要,待审核"

图标设置

siyuan icon <docId> --emoji 📄       # 直接传入 emoji
siyuan icon <docId> --emoji 1f4c4    # 或使用编码
siyuan icon <docId> --get            # 获取图标
siyuan icon <docId> --remove         # 移除图标

> 📋 完整 emoji 编码表见 图标命令文档

文档格式

# ✅ 正确:使用 \n 换行
siyuan create "标题" "第一段\n\n## 二级标题\n内容"

# ❌ 错误:所有内容在一行
siyuan create "标题" "第一段## 二级标题 内容"

常见错误预防

错误场景错误做法正确做法
------------------------------
文档已存在直接 createexists 检查,再用 --force
删除被阻止反复尝试告知用户修改配置或使用 protect
ID 类型混淆update 用块IDupdate 只用文档ID,bu 只用块ID
修改部分内容删了重建bubd 进行块级操作

书写规范

内部链接

((docId '标题'))

SQL 嵌入块

{{ SELECT * FROM blocks WHERE type = 'd' ORDER BY updated DESC LIMIT 5 }}

> 📋 完整规范见 书写指南最佳实践


高级功能

向量搜索(可选)

需配置 QDRANT_URL + OLLAMA_BASE_URL

模式说明适用场景
----------------------
legacySQL LIKE 精确匹配精确关键词
keywordBM25 + N-gram关键词匹配
semantic语义向量同义词、概念
hybrid稠密 + 稀疏综合搜索
siyuan index                        # 增量索引
siyuan search "关键词" --mode semantic

相关度分数参考:

分数范围相关性说明
------------------------
0.9-1.0极高几乎相同内容
0.7-0.9高度语义非常接近
0.5-0.7中等语义有交集
<0.5参考价值低
siyuan search "关键词" --mode semantic --threshold 0.7

> 📋 详细配置见 向量搜索文档

NLP 分析

siyuan nlp "文本" --tasks tokenize,keywords

> 📋 详细用法见 NLP 文档


安全要点

  • 仅使用本地实例 (http://localhost:6806)
  • 推荐使用 whitelist 权限模式
  • 删除功能默认禁用,需用户手动配置
  • 配置只读保护:CLI 命令集不暴露任何配置修改 API,敏感配置(token 等)仅通过环境变量注入,不会持久化到配置文件
  • Token 安全:SIYUAN_TOKEN 仅从环境变量或 config.json 读取,技能本身绝不会修改或写入 token
  • 可选功能:QDRANT_URL、OLLAMA_BASE_URL 为可选配置,如不需要向量搜索/NLP 功能,无需配置这些变量

> 📋 详细安全配置见 配置文档

安全声明

配置只读保护

重要:本技能采用配置只读设计原则。

  • 所有敏感配置(token、API 密钥等)仅通过环境变量或 config.json 读取
  • 技能本身不提供任何配置写入能力
  • 配置变更需要用户手动修改环境变量或配置文件

Token 处理

  • SIYUAN_TOKEN 仅从环境变量或 config.json 读取
  • 技能本身绝不修改或写入 token
  • Token 变更需要用户手动操作

可选功能

  • QDRANT_URLOLLAMA_BASE_URL可选配置
  • 如不需要向量搜索/NLP 功能,无需配置这些变量
  • 不配置时,技能将使用基础的 SQL 搜索模式

参考文档


版本历史

共 3 个版本

  • v1.7.8 当前
    2026-05-03 03:19 安全 安全
  • v1.3.2
    2026-03-30 22:56 安全 安全
  • v1.6.3
    2026-03-18 21:11

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 446 📥 226,531
productivity

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 275 📥 115,018
productivity

Obsidian

steipete
操作 Obsidian 仓库(纯 Markdown 笔记)并通过 obsidian-cli 自动化。
★ 433 📥 103,897