闲社服务运行正常AI智能体自动化平台
s

思源笔记

技能标识:siyuan-notes-skill

思源笔记工具——搜索、阅读、编辑、组织用户的笔记。Use when user says: 搜索笔记、查找文档、打开文档、阅读笔记、编辑笔记、创建文档、修改块、思源笔记、SiYuan、整理文档、管理标签、Daily Note、反向链接、最近修改、PMF补丁、SQL查询blocks。不要用于与思源笔记无关的通用编程或问答任务。"

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 0.1.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

思源笔记

开始前(可选):版本检查

如需确认是否为最新版本,请运行:

bash
node index.js version-check

  • - 若远程版本获取失败:不会阻塞任务
  • 若检测到版本落后:会提示但不阻塞

编辑策略选择(最重要)

根据用户意图选择正确的编辑方式,选错会导致数据丢失:

用户想要正确做法错误做法
修改单个块内容update-block(最高效)~~apply-patch 整个文档~~
删除单个块
delete-block(最高效) | ~~apply-patch 整个文档~~ |
| 批量修改已有内容 | apply-patch(update/delete/reorder/insert) | |
| 批量删除/重排块 | apply-patch(delete/reorder) | |
| 添加新内容 | append-block(简单稳妥)或 apply-patch insert(批量场景) | |
| 在指定位置插入新块 | insert-block --before/--after(首选)或 apply-patch insert | |
| 替换章节内容 | replace-section | ~~apply-patch 删除+插入~~ |
| 重构文档(如拆表格) | replace-section --clear + append-block 逐步重建 | ~~apply-patch 删除旧块+插入新块~~ |
| 跨章节分散修改多个块 | 编写单个 JS 脚本,循环 openDocument → updateBlock(同一进程内版本自动刷新) | ~~并行 Bash 调用 update-block(会版本冲突)~~ |

Intent Decision Tree

用户想要…
├─ 查找/搜索内容 ──────→ search / search-md / tag / attr / bookmarks
├─ 在文档内搜索 ──────→ search-in-doc {docID} {关键词}
├─ 阅读文档 ──────────→ open-doc {ID} readable(超长文档自动截断,输出大纲导航)
├─ 阅读章节 ──────────→ open-section {标题块ID} readable(精确读取一个标题的内容)
├─ 浏览最近动态 ──────→ recent / tasks / daily
├─ 了解文档结构 ──────→ docs / notebooks / headings / blocks / doc-tree / doc-tree-id / doc-children
├─ 查看引用关系 ──────→ backlinks / unreferenced
├─ 修改单个块 ────────→ open-doc readable → update-block {块ID} {内容}(最高效)
├─ 删除单个块 ────────→ open-doc readable → delete-block {块ID}(最高效)
├─ 批量修改已有内容 ──→ open-doc patchable → 编辑内容 → apply-patch(支持 update/delete/reorder/insert)
├─ 创建新文档 ────────→ create-doc(指定笔记本、标题、可选初始内容)
├─ 重命名文档 ────────→ rename-doc(只需文档 ID 和新标题)
├─ 添加新内容 ────────→ open-doc readable → append-block(逐个追加)
├─ 指定位置插入 ──────→ open-doc readable → insert-block --before/--after(按锚点插入)
├─ 替换章节 ──────────→ open-doc patchable → replace-section
├─ 重构文档结构 ──────→ open-doc readable → replace-section --clear → append-block 逐步重建
├─ 组织文档层级 ──────→ subdoc-analyze-move → move-docs-by-id
├─ 跨章节分散修改 ────→ 编写单个 JS 脚本,循环 openDocument → updateBlock(见模式8)
├─ SQL 高级查询 ──────→ node -e + executeSiyuanQuery()
└─ 检查连接 ──────────→ check / version

Write Safety Protocol

写入前通常需要完成这 2 步(create-doc / rename-doc 例外):

bash

步骤 1:读取文档或章节(标记为已读,同时记录文档版本快照)


node index.js open-doc docID readable

或:node index.js open-section headingBlockID readable

步骤 2:环境变量启用写入

SIYUANENABLEWRITE=true node index.js append-block docID 内容
  • - open-doc 和 open-section 计为已读;headings/blocks/doc-tree 等不算
  • 核心保护:版本检查(乐观锁)——写入前对比文档 updated 时间戳,若文档在读取后被其他端修改过则拒绝写入
  • 连续写入安全:每次写入成功后自动刷新版本号,open-doc → write → write → write 不会误报冲突
  • ⚠️ 版本刷新仅在同一 node 进程内生效。若用多个独立 Bash 命令(如 Claude Code 并行调用),每次写入会改变文档版本,后续的独立命令会版本冲突。解决方案:对同一文档的多次写入必须串行执行,不能并行
  • 读标记持久化存储在磁盘缓存中,跨 CLI 调用有效(同一台机器上的不同终端共享读标记)
  • 读标记超过 3600 秒自动过期(仅作为缓存清理,版本检查才是真正的安全机制)
  • 例外:create-doc 与 rename-doc 不要求先 open-doc

Core Commands Quick Reference

所有命令:node index.js {command} [args]

读取

CommandSignatureDescription
search{keyword} [limit] [type]搜索笔记(type: p/h/l/c/d…)
search-md
{keyword} [limit] [type] | 搜索并输出 Markdown 结果页 | | open-doc | {docID} [readable\|patchable] [--full] [--cursor {块ID}] [--limit-chars {N}] [--limit-blocks {N}] | 打开文档(默认 readable)。超长文档自动截断/分页,--full 跳过截断输出全量。副作用:标记已读 | | open-section | {标题块ID} [readable\|patchable] | 读取标题下的章节内容。副作用:标记文档已读 | | search-in-doc | {docID} {关键词} [数量] | 在指定文档内搜索匹配的块 | | notebooks | | 列出笔记本 | | docs | [notebookID] [limit] | 列出文档(含文档 ID,默认 200) | | headings | {docID} [level] | 文档标题(level 格式:h1/h2/…/h6,不是数字) | | blocks | {docID} [type] | 文档子块(含块 ID,可用于写入) | | doc-children | {notebookID} [path] | 子文档列表 | | doc-tree | {notebookID} [path] [depth] | 子文档树(默认深度 4) | | doc-tree-id | {docID} [depth] | 以文档 ID 展示子文档树 | | tag | {tagName} | 按标签搜索 | | backlinks | {blockID} | 反向链接 | | tasks | [status] [days] | 任务([ ]/[x]/[-],默认 7 天) | | daily | {start} {end} | Daily Note(YYYYMMDD) | | attr | {name} [value] | 按属性查询(自定义属性加 custom- 前缀) | | bookmarks | [name] | 书签 | | random | {docID} | 随机标题 | | recent | [days] [type] | 最近修改(默认 7 天) | | unreferenced | {notebookID} | 未被引用的文档 | | check | | 连接检查 | | version | | 内核版本 |

写入

CommandSignature适用场景
create-doc{notebookID} {标题}创建新文档(标题即文档名,初始内容仅支持 stdin)
rename-doc
{docID} {新标题} | 重命名文档 | | update-block | {块ID} | 更新块内容(Markdown 仅支持 stdin;多块输入自动拆块安全

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 siyuan-notes-skill-1776106349 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 siyuan-notes-skill-1776106349 技能

通过命令行安装

skillhub install siyuan-notes-skill-1776106349

下载

⬇ 下载 siyuan-notes-skill v0.1.0(免费)

文件大小: 57.34 KB | 发布时间: 2026-4-15 14:22

v0.1.0 最新 2026-4-15 14:22
siyuan-notes-skill v0.1.0

- Initial release with detailed usage guide in SKILL.md.
- Supports searching, reading, editing, organizing, and querying notes in SiYuan.
- Includes command strategy selection, write safety protocol, and comprehensive command reference.
- Provides step-by-step examples for common patterns like searching, editing, inserting, and restructuring notes.
- Clarifies intent-based best practices to prevent data loss and version conflicts.
返回顶部