Installable SiYuan skill repository centered on SKILL.md, with local runtime and direct HTTP API access.
npx claudepluginhub kohlarnhin/siyuan-skillReusable SiYuan HTTP API skill repository with SKILL.md and local runtime.
一个以 SKILL.md 为核心的 SiYuan HTTP API skill 仓库。
它的目标不是把仓库做成“只有某个平台能跑的专用实现”,而是让 AI / Agent 真正拿来就能用:
skills/siyuan/SKILL.md这个仓库适合以下场景:
SKILL.md 的可复用 skill 入口这个仓库的核心是 skill 本体,不是某个单一平台的私有实现。
它主要包含:
skills/siyuan/SKILL.md:主 skill 文档,读它就知道怎么请求 APIskills/siyuan/scripts/invoke.mjs:本地执行入口skills/siyuan/lib/:HTTP client、action router 与 helperskills/siyuan/config/:默认配置与示例配置.claude-plugin/:面向 Claude Code / 类似插件生态的打包元数据,方便通过 git 安装;不是 skill 本体通常优先这样使用:
skills/siyuan/SKILL.md 当作 skill 主文档.claude-plugin/.claude-plugin/,可复用 SKILL.md、scripts/invoke.mjs 与 lib/ 中的协议和运行逻辑,但需要自行适配 $ARGUMENTS、${CLAUDE_SKILL_DIR} 等 Claude 风格运行上下文核心目标是让 AI 先把用户请求整理成统一结构:
{"action":"...","params":{...}}
然后再根据 action 去调用对应的 SiYuan HTTP API。
.claude-plugin/marketplace.json:供 Claude Code / 类似生态识别仓库插件元数据.claude-plugin/plugin.json:插件清单skills/siyuan/SKILL.md:skill 主入口skills/siyuan/scripts/invoke.mjs:执行脚本skills/siyuan/lib/*.mjs:请求与 action 实现skills/siyuan/config/siyuan.config.example.json:示例配置skills/siyuan/config/siyuan.defaults.json:非敏感默认配置skills/siyuan/config/siyuan.config.local.json:本机私有配置文件,需自行创建,且已被 .gitignore 忽略为了避免 secret 泄露,建议 AI 运行环境按以下方式提供配置:
SIYUAN_BASE_URL 或 SIYUAN_API_URLSIYUAN_TOKENSIYUAN_ALLOW_REMOTESIYUAN_TIMEOUT_MSSIYUAN_DEFAULT_LIMITSIYUAN_MAX_LIMITskills/siyuan/config/siyuan.config.example.jsonskills/siyuan/config/siyuan.config.local.jsonskills/siyuan/config/siyuan.defaults.json 只用于非敏感默认值,不应写入真实 Token 或远程放行配置https://{"action":"get_doc_tree","params":{"notebookId":"...","path":"/2026工作日记","maxDepth":2}}
规则:
action 必须是非空字符串params 必须是对象示例:
列出所有笔记本检查 /2026工作日记/2026-03 是否存在导出这个文档的 Markdown,id 是 20250317123456-abc123规则:
action + paramsparams.confirmed=trueparams.allowWrite=true 与 params.confirmed=trueAI 在实际请求 SiYuan API 时,建议遵循以下约定:
POSTContent-Type: application/jsonAuthorization: Token <token>code === 0如果接口失败:
建议 AI 在请求完成后向上层返回统一结果结构:
{
"ok": true,
"action": "list_notebooks",
"summary": "已获取 3 个笔记本",
"text": "1. 工作 (notebook-id) [open]",
"data": {},
"warnings": [],
"meta": {}
}
建议规则:
ok: true 时优先返回 summary 和关键结果warnings 非空时要一并提示用户ok: false 时直接说明失败原因datalist_notebookscreate_notebookremove_notebookrename_notebookopen_notebookclose_notebookget_notebook_confcreate_doc_with_mdrename_docremove_docmove_docsget_doc_pathget_doc_treecheck_path_existsexport_md_contentinsert_blockprepend_blockappend_blockupdate_blockdelete_blockmove_blockget_block_kramdownget_child_blocksset_block_attrsget_block_attrssql_queryfulltext_searchget_versionpush_msg以下 action 默认视为有副作用:
create_notebookremove_notebookrename_notebookopen_notebookclose_notebookcreate_doc_with_mdrename_docremove_docmove_docsinsert_blockprepend_blockappend_blockupdate_blockdelete_blockmove_blockset_block_attrspush_msg执行这些 action 前,AI 应满足:
params.confirmed=truesql_query 额外规则insert/update/delete/replace/alter/drop/create/truncate 等写操作,必须先确认params.allowWrite=true 与 params.confirmed=true下表区分两层语义:
action params:AI 内部统一协议使用的字段HTTP body:真正发送给 SiYuan HTTP API 的 JSON 字段