File contents
运行要求: Node.js >= 14.0.0, 思源笔记 >= 3.6.0
安装: 从 ClawHub 下载
快速开始
node {baseDir}/scripts/<command>.js [options]
node {baseDir}/scripts/<command>.js --help # 查看命令帮助
场景化快速开始
💡 根据你的任务场景,快速找到对应的命令和工作流
我要...
场景
核心命令
详细文档
创建新文档
create.js
文档工作流示例
更新文档内容
update.js / block-update.js
基础用法示例
搜索内容
search.js
向量搜索配置
删除文档
delete.js
删除保护文档 ⚠️
批量操作
search.js + 其他命令
批量整理文档
使用语义搜索
search.js --mode semantic
向量搜索文档
遇到权限问题
-
配置说明
遇到删除问题
-
删除保护文档
遇到搜索问题
-
向量搜索配置
写入内容格式错误
-
格式标准
📋 更多场景:troubleshooting.md
命令列表
笔记本/文档操作
脚本
说明
示例
notebooks
列出笔记本
node {baseDir}/scripts/notebooks.js
structure
查看文档结构
node {baseDir}/scripts/structure.js <notebookId|docId>
content
获取文档内容
node {baseDir}/scripts/content.js <docId>
info
获取文档/块信息
node {baseDir}/scripts/info.js <docId> [--raw]
create
创建文档
node {baseDir}/scripts/create.js <title> --parent-id <id> 或 --path <path>
update
更新文档
node {baseDir}/scripts/update.js <docId> --content <md>
delete
删除文档
node {baseDir}/scripts/delete.js <docId>
move
移动文档
node {baseDir}/scripts/move.js <docId|path> --target <notebookId|path>
rename
重命名文档
node {baseDir}/scripts/rename.js <docId> <title>
protect
保护/取消保护
node {baseDir}/scripts/protect.js <docId>
exists
检查文档存在
node {baseDir}/scripts/exists.js --title <title>
convert
ID与路径转换
node {baseDir}/scripts/convert.js --id <id>
icon
设置/获取图标
node {baseDir}/scripts/icon.js <id> [emoji] 或 --remove
块操作
脚本
说明
示例
block-get
获取块信息
node {baseDir}/scripts/block-get.js <blockId>
block-insert
插入块
node {baseDir}/scripts/block-insert.js "内容" --parent-id <id>
block-update
更新块
node {baseDir}/scripts/block-update.js <blockId> --content <md>
block-delete
删除块
node {baseDir}/scripts/block-delete.js <blockId>
block-move
移动块
node {baseDir}/scripts/block-move.js <blockId> --parent-id <parentId>
block-fold
折叠/展开
node {baseDir}/scripts/block-fold.js <blockId> --action fold
block-transfer
转移引用
node {baseDir}/scripts/block-transfer.js <srcId> <tgtId>
block-attrs
块属性
node {baseDir}/scripts/block-attrs.js <blockId> --set key=value
搜索/索引
脚本
说明
示例
search
搜索内容
node {baseDir}/scripts/search.js <query> --mode keyword
tags
标签管理
node {baseDir}/scripts/tags.js <docId|blockId> --add tag1,tag2
index
索引到向量库
node {baseDir}/scripts/index.js --notebook <id>
nlp
NLP分析
node {baseDir}/scripts/nlp.js <text>
关键规则
ID 区分
文档操作 (update/delete/move/rename) 接受文档 ID (部分命令也支持路径)
块操作 (block-update/block-delete 等) 只接受块 ID
混用会导致错误, 详见 快速参考
删除保护
默认禁止删除文档, 需用户手动在 config.json 中启用
保护层级: 全局安全模式 → 文档保护标记 → 删除确认机制
Agent 禁止自动修改删除配置
详见 安全文档
权限验证
支持 permissionMode: all(默认) / whitelist / blacklist
写入操作 (create/update/delete/move 等) 会检查笔记本权限
通过 SIYUAN_NOTEBOOK_LIST 环境变量配置笔记本列表
格式规范(重要)
写入思源笔记时必须 遵循以下格式:
场景
正确格式
错误格式
内部链接
((id "锚文本"))
[文本](id) ❌
动态锚文本
((id '锚文本'))
((id 锚文本)) ❌
换行
\\n
直接换行
段落分隔
\\n\\n
单个 \n
📋 完整规范 :format-standard.md | 快速参考 :quick-reference.md
搜索模式
模式
说明
适用场景
legacy
SQL LIKE
精确关键词
keyword
BM25 + N-gram
关键词匹配
semantic
语义向量
同义词、概念
hybrid
稠密+稀疏
综合搜索
向量搜索需配置 QDRANT_URL + OLLAMA_BASE_URL
标准工作流
创建: exists 检查 → create (或 --force)
修改: content 获取 → 判断范围 → update (全文) 或 block-update (单块)
搜索: search 查询 → content 查看 → update/block-update 修改
删除: protect 检查 → delete
📋 完整工作流示例见 examples/basic-usage.md
参考文档
📋 必读文档
文档
用途
何时阅读
SKILL.md
本文档,核心入口
首次使用必读
troubleshooting.md
问题解决索引
遇到问题时查阅
quick-reference.md
快速决策表
选择命令时查阅
format-standard.md
格式规范
写入内容前查阅
🔧 配置与权限
文档
用途
配置说明
环境变量和 config.json 配置
高级配置
完整配置选项
🚀 进阶功能
文档
用途
向量搜索
语义搜索配置和使用
删除保护
删除保护机制说明
最佳实践
使用建议和技巧
安全文档
安全最佳实践
📖 示例文档
文档
用途
基础用法
常用命令示例
文档工作流
完整任务场景示例
块操作指南
块级操作详解
🎯 快速导航
遇到问题 :troubleshooting.md
查看命令 :quick-reference.md
格式规范 :format-standard.md
规范索引 :spec-index.md
🔧 遇到问题?
如果在使用过程中遇到任何问题,请按以下步骤排查:
1. 查看错误信息
错误信息中通常会包含:
2. 查阅问题解决索引
📋 troubleshooting.md - 按错误信息和任务场景组织的完整问题索引
3. 查看快速参考
📋 quick-reference.md - 命令决策表和常见错误预防
4. 查看详细文档
问题类型
文档
连接/权限
配置说明
删除问题
删除保护文档
搜索问题
向量搜索文档
格式问题
格式标准
5. 查看示例
💡 快速链接 :规范索引 | 问题解决索引
1 --- 2 name: siyuan-skill 3 description: Siyuan Skill 4 --- 5 6 > **运行要求:** Node.js >= 14.0.0, 思源笔记 >= 3.6.0 7 > **安装:** 从 [ClawHub](https://clawhub.ai/dazexcl/siyuan-skill) 下载 8 9 ## 快速开始 10 11 ```bash 12 node {baseDir}/scripts/<command>.js [options] 13 node {baseDir}/scripts/<command>.js --help # 查看命令帮助 14 ``` 15 16 ## 场景化快速开始 17 18 > 💡 根据你的任务场景,快速找到对应的命令和工作流 19 20 ### 我要... 21 22 | 场景 | 核心命令 | 详细文档 | 23 |------|---------|---------| 24 | **创建新文档** | `create.js` | [文档工作流示例](examples/document-workflow.md#场景创建并编辑一个项目文档) | 25 | **更新文档内容** | `update.js` / `block-update.js` | [基础用法示例](examples/basic-usage.md#修改文档) | 26 | **搜索内容** | `search.js` | [向量搜索配置](references/advanced/vector-search.md) | 27 | **删除文档** | `delete.js` | [删除保护文档](references/advanced/delete-protection.md) ⚠️ | 28 | **批量操作** | `search.js` + 其他命令 | [批量整理文档](examples/document-workflow.md#场景批量整理文档) | 29 | **使用语义搜索** | `search.js --mode semantic` | [向量搜索文档](references/advanced/vector-search.md) | 30 | **遇到权限问题** | - | [配置说明](references/config/setup.md#权限配置) | 31 | **遇到删除问题** | - | [删除保护文档](references/advanced/delete-protection.md) | 32 | **遇到搜索问题** | - | [向量搜索配置](references/advanced/vector-search.md#常见问题) | 33 | **写入内容格式错误** | - | [格式标准](references/format-standard.md) | 34 35 > 📋 更多场景:[troubleshooting.md](references/troubleshooting.md) 36 37 ## 命令列表 38 39 ### 笔记本/文档操作 40 41 | 脚本 | 说明 | 示例 | 42 |------|------|------| 43 | `notebooks` | 列出笔记本 | `node {baseDir}/scripts/notebooks.js` | 44 | `structure` | 查看文档结构 | `node {baseDir}/scripts/structure.js <notebookId\|docId>` | 45 | `content` | 获取文档内容 | `node {baseDir}/scripts/content.js <docId>` | 46 | `info` | 获取文档/块信息 | `node {baseDir}/scripts/info.js <docId> [--raw]` | 47 | `create` | 创建文档 | `node {baseDir}/scripts/create.js <title> --parent-id <id>` 或 `--path <path>` | 48 | `update` | 更新文档 | `node {baseDir}/scripts/update.js <docId> --content <md>` | 49 | `delete` | 删除文档 | `node {baseDir}/scripts/delete.js <docId>` | 50 | `move` | 移动文档 | `node {baseDir}/scripts/move.js <docId\|path> --target <notebookId\|path>` | 51 | `rename` | 重命名文档 | `node {baseDir}/scripts/rename.js <docId> <title>` | 52 | `protect` | 保护/取消保护 | `node {baseDir}/scripts/protect.js <docId>` | 53 | `exists` | 检查文档存在 | `node {baseDir}/scripts/exists.js --title <title>` | 54 | `convert` | ID与路径转换 | `node {baseDir}/scripts/convert.js --id <id>` | 55 | `icon` | 设置/获取图标 | `node {baseDir}/scripts/icon.js <id> [emoji]` 或 `--remove` | 56 57 ### 块操作 58 59 | 脚本 | 说明 | 示例 | 60 |------|------|------| 61 | `block-get` | 获取块信息 | `node {baseDir}/scripts/block-get.js <blockId>` | 62 | `block-insert` | 插入块 | `node {baseDir}/scripts/block-insert.js "内容" --parent-id <id>` | 63 | `block-update` | 更新块 | `node {baseDir}/scripts/block-update.js <blockId> --content <md>` | 64 | `block-delete` | 删除块 | `node {baseDir}/scripts/block-delete.js <blockId>` | 65 | `block-move` | 移动块 | `node {baseDir}/scripts/block-move.js <blockId> --parent-id <parentId>` | 66 | `block-fold` | 折叠/展开 | `node {baseDir}/scripts/block-fold.js <blockId> --action fold` | 67 | `block-transfer` | 转移引用 | `node {baseDir}/scripts/block-transfer.js <srcId> <tgtId>` | 68 | `block-attrs` | 块属性 | `node {baseDir}/scripts/block-attrs.js <blockId> --set key=value` | 69 70 ### 搜索/索引 71 72 | 脚本 | 说明 | 示例 | 73 |------|------|------| 74 | `search` | 搜索内容 | `node {baseDir}/scripts/search.js <query> --mode keyword` | 75 | `tags` | 标签管理 | `node {baseDir}/scripts/tags.js <docId\|blockId> --add tag1,tag2` | 76 | `index` | 索引到向量库 | `node {baseDir}/scripts/index.js --notebook <id>` | 77 | `nlp` | NLP分析 | `node {baseDir}/scripts/nlp.js <text>` | 78 79 --- 80 81 # 关键规则 82 83 ## ID 区分 84 85 - **文档操作** (`update`/`delete`/`move`/`rename`) 接受**文档 ID**(部分命令也支持路径) 86 - **块操作** (`block-update`/`block-delete` 等) 只接受**块 ID** 87 - 混用会导致错误, 详见 [快速参考](references/quick-reference.md) 88 89 ## 删除保护 90 91 - 默认禁止删除文档, 需用户手动在 config.json 中启用 92 - 保护层级: 全局安全模式 → 文档保护标记 → 删除确认机制 93 - Agent 禁止自动修改删除配置 94 - 详见 [安全文档](references/advanced/security.md) 95 96 ## 权限验证 97 98 - 支持 `permissionMode`: `all`(默认) / `whitelist` / `blacklist` 99 - 写入操作 (create/update/delete/move 等) 会检查笔记本权限 100 - 通过 `SIYUAN_NOTEBOOK_LIST` 环境变量配置笔记本列表 101 102 ## 格式规范(重要) 103 104 写入思源笔记时**必须**遵循以下格式: 105 106 | 场景 | 正确格式 | 错误格式 | 107 |------|---------|---------| 108 | 内部链接 | `((id "锚文本"))` | `[文本](id)` ❌ | 109 | 动态锚文本 | `((id '锚文本'))` | `((id 锚文本))` ❌ | 110 | 换行 | `\\n` | 直接换行 | 111 | 段落分隔 | `\\n\\n` | 单个 \\n | 112 113 > 📋 **完整规范**:[format-standard.md](references/format-standard.md) | **快速参考**:[quick-reference.md](references/quick-reference.md) 114 115 ## 搜索模式 116 117 | 模式 | 说明 | 适用场景 | 118 |------|------|----------| 119 | `legacy` | SQL LIKE | 精确关键词 | 120 | `keyword` | BM25 + N-gram | 关键词匹配 | 121 | `semantic` | 语义向量 | 同义词、概念 | 122 | `hybrid` | 稠密+稀疏 | 综合搜索 | 123 124 向量搜索需配置 `QDRANT_URL` + `OLLAMA_BASE_URL` 125 126 --- 127 128 # 标准工作流 129 130 ``` 131 创建: exists 检查 → create (或 --force) 132 修改: content 获取 → 判断范围 → update (全文) 或 block-update (单块) 133 搜索: search 查询 → content 查看 → update/block-update 修改 134 删除: protect 检查 → delete 135 ``` 136 137 > 📋 完整工作流示例见 [examples/basic-usage.md](examples/basic-usage.md) 138 139 --- 140 141 # 参考文档 142 143 ## 📋 必读文档 144 145 | 文档 | 用途 | 何时阅读 | 146 |------|------|---------| 147 | **SKILL.md** | 本文档,核心入口 | 首次使用必读 | 148 | **troubleshooting.md** | 问题解决索引 | 遇到问题时查阅 | 149 | **quick-reference.md** | 快速决策表 | 选择命令时查阅 | 150 | **format-standard.md** | 格式规范 | 写入内容前查阅 | 151 152 ## 🔧 配置与权限 153 154 | 文档 | 用途 | 155 |------|------| 156 | [配置说明](references/config/setup.md) | 环境变量和 config.json 配置 | 157 | [高级配置](references/config/advanced.md) | 完整配置选项 | 158 159 ## 🚀 进阶功能 160 161 | 文档 | 用途 | 162 |------|------| 163 | [向量搜索](references/advanced/vector-search.md) | 语义搜索配置和使用 | 164 | [删除保护](references/advanced/delete-protection.md) | 删除保护机制说明 | 165 | [最佳实践](references/advanced/best-practices.md) | 使用建议和技巧 | 166 | [安全文档](references/advanced/security.md) | 安全最佳实践 | 167 168 ## 📖 示例文档 169 170 | 文档 | 用途 | 171 |------|------| 172 | [基础用法](examples/basic-usage.md) | 常用命令示例 | 173 | [文档工作流](examples/document-workflow.md) | 完整任务场景示例 | 174 | [块操作指南](examples/block-operations.md) | 块级操作详解 | 175 176 ## 🎯 快速导航 177 178 - **遇到问题**:[troubleshooting.md](references/troubleshooting.md) 179 - **查看命令**:[quick-reference.md](references/quick-reference.md) 180 - **格式规范**:[format-standard.md](references/format-standard.md) 181 - **规范索引**:[spec-index.md](references/spec-index.md) 182 183 --- 184 185 ## 🔧 遇到问题? 186 187 如果在使用过程中遇到任何问题,请按以下步骤排查: 188 189 ### 1. 查看错误信息 190 191 错误信息中通常会包含: 192 - 错误原因 193 - 解决方案提示 194 - 相关文档链接 195 196 ### 2. 查阅问题解决索引 197 198 📋 **[troubleshooting.md](references/troubleshooting.md)** - 按错误信息和任务场景组织的完整问题索引 199 200 ### 3. 查看快速参考 201 202 📋 **[quick-reference.md](references/quick-reference.md)** - 命令决策表和常见错误预防 203 204 ### 4. 查看详细文档 205 206 | 问题类型 | 文档 | 207 |---------|------| 208 | 连接/权限 | [配置说明](references/config/setup.md) | 209 | 删除问题 | [删除保护文档](references/advanced/delete-protection.md) | 210 | 搜索问题 | [向量搜索文档](references/advanced/vector-search.md) | 211 | 格式问题 | [格式标准](references/format-standard.md) | 212 213 ### 5. 查看示例 214 215 - [基础用法示例](examples/basic-usage.md) 216 - [文档工作流](examples/document-workflow.md) 217 - [块操作指南](examples/block-operations.md) 218 219 --- 220 221 > 💡 **快速链接**:[规范索引](references/spec-index.md) | [问题解决索引](references/troubleshooting.md) 222 223 ---
dazexcl/siyuan-skill/tree/main/ commit 5e662d6220
Frequently asked questions How do I install the Siyuan Skill skill? Run npx skillmds@latest add dazexcl/siyuan-skill in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Siyuan Skill skill do? Siyuan Skill It is listed under Coding & Dev Tools on SkillMD.
Is Siyuan Skill safe to use? This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. Capability flags: makes network calls. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Siyuan Skill? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Siyuan Skill free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Siyuan Skill? dazexcl (@dazexcl) published this skill. Their other Agent Skills are listed on their SkillMD profile.