360 Secure SkillHub
360 安全技能中心

siyuan-export

通过思源笔记本地 API 将文档导出为 Word(.docx),支持按文档 ID、路径或名称搜索定位;图片自动内嵌为单文件,可批量导出子文档;脚本使用 Python 标准库并返回结构化 JSON 结果,需配置思源 Token 并保持思源笔记运行。

chimyves
chimyves
热度 43.98
最近更新 2026-05-11 17:44:47
分类:效率依赖:代码执行 / 读写文件 / 第三方 API应用场景:文件转换 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add siyuan-export
Metadata
name
siyuan-export
description
思源笔记文档导出工具。将思源笔记文档导出为 Word(docx) 格式,支持按文档 ID/路径/名称搜索导出,图片自动打包进文档。支持单个文档导出和批量导出子文档。触发词:导出文档、导出 Word、siyuan export、思源导出、批量导出、导出子文档

思源笔记文档导出 (siyuan-export)

通过思源笔记原生 API 将文档导出为 Word(.docx),返回结构化 JSON 结果。支持单文档和批量子文档导出。

核心特性

特性 说明
双定位 支持文档 ID 或人类可读路径
批量导出 --children 一键导出文档下所有子文档(含嵌套)
单文件输出 图片资源自动内嵌(removeAssets=true),不产生外挂目录
JSON 输出 结构化结果,方便大模型解析
零依赖 仅使用 Python 标准库

前置条件

  1. 思源笔记正在运行

  2. 配置 Token

    方式 A:环境变量(推荐)

    # Windows PowerShell
    $env:SIYUAN_TOKEN = "你的token"
    $env:SIYUAN_BASE_URL = "http://127.0.0.1:6806"
    $env:SIYUAN_TIMEOUT = "10000"  # 可选,超时 ms
    

    方式 B:config.json(在技能目录下创建)

    {
        "baseURL": "http://127.0.0.1:6806",
        "token": "你的token",
        "timeout": 10000
    }
    

    方式 C:复制 config.example.json 重命名为 config.json

    config.example.json → config.json
    

    然后填入 token

    Token 获取:思源笔记 → 设置 → 关于 → 复制 Token

使用方法

# 按文档名搜索导出(推荐)
python scripts/siyuan_export.py -s "关键词" -o C:/Desktop

# 按 ID 导出单个文档
python scripts/siyuan_export.py --doc-id <ID>

# 按路径导出
python scripts/siyuan_export.py --path "/AI/Test" --output C:/output

# 导出所有子文档
python scripts/siyuan_export.py --doc-id <ID> --children --output C:/Desktop/Midjourney

参数说明

参数 缩写 必选 说明
--doc-id -i 二选一 文档 ID
--path -p 二选一 文档路径
--search -s 二选一 按文档名搜索
--children -c 否 批量模式:导出所有子文档
--include-self 否 批量模式时同时导出父文档
--output -o 否 输出目录(默认:桌面)

返回值

单文档导出

成功:

{
  "success": true,
  "data": {
    "path": "C:/Users/10941/Desktop/P02:设置解析.docx",
    "size_bytes": 3544783,
    "size_kb": 3461.7
  }
}

批量子文档导出

成功:

{
  "success": true,
  "data": {
    "total": 16,
    "success_count": 16,
    "fail_count": 0,
    "output_dir": "C:/Users/10941/Desktop/Midjourney教程",
    "details": [
      {"id": "...", "title": "P01:认识界面", "result": {"success": true, "data": {"path": "...", "size_kb": 1234.5}}},
      ...
    ]
  }
}

失败:

{
  "success": false,
  "error": "api_error",
  "message": "具体错误信息"
}

API 接口

本脚本 思源 API 参数
单文档导出 POST /api/export/exportDocx id + savePath(目录)+ removeAssets=true
获取子文档列表 POST /api/query/sql SQL 查询 hpath LIKE 匹配子路径

文件结构

siyuan-export/
├── SKILL.md
├── config.example.json  # 配置模板(含 timeout 字段)
└── scripts/
    └── siyuan_export.py