思源笔记增强版 — Siyuan Note 增强版
v2.0.0思源笔记读写技能,提供与 SiYuan Note 进行交互的能力,包括读取和写入笔记内容。
运行时依赖
安装命令
点击复制技能文档
思源笔记技能 📝 描述 这个技能提供了与思源笔记(SiYuan Note)进行交互的能力,包括读取和写入笔记内容。基于思源笔记Chrome扩展最佳实践优化,支持真正的独立文档创建、文章剪藏、模板渲染等高级功能。 当用户提到"查询思源笔记"、"写入思源笔记"、"创建思源笔记"或类似请求时,使用此技能。
激活条件 当用户提到以下关键词时激活此技能: 思源笔记 查询思源笔记 写入思源笔记 同步到思源笔记 从思源笔记读取 搜索思源笔记 思源笔记查询 思源笔记搜索
前置要求 思源笔记必须正在运行,并且API已启用 需要有效的API token Python环境需要安装requests库
🆕 增强功能(v2.0) 基于思源笔记Chrome扩展(siyuan-note/siyuan-chrome)的实践,增加了以下高级功能:
- 真正的独立文档创建 ✨
- 文章剪藏功能 📰
- 强大的模板系统 🎨
- 增强的错误处理 🛡️
- 改进的整体架构 🏗️
配置 环境变量(推荐) 配置通过环境变量读取: SIYUAN_API_URL - 思源笔记API地址,例如:http://localhost:6806 SIYUAN_API_TOKEN - 你的API token(从思源笔记设置中获取)
配置文件 也可以使用配置文件,默认位置:~/.openclaw/workspace/siyuan-openchat-sync/config.json { "siyuan": { "api_url": "http://localhost:6806", "token": "your-api-token-here" }, "sync": { "notebook_name": "其他", "document_name": "openchat", "auto_sync": true } }
使用方法 基础版(向后兼容) from siyuan_note import SiYuanNote siyuan = SiYuanNote()
增强版(推荐)🚀 from siyuan_note_enhanced import create_enhanced_client client = create_enhanced_client()
版本对比 功能 基础版 增强版 独立文档创建 ❌ 在现有文档中追加 ✅ 创建真正的.sy文件 文章剪藏 ❌ 不支持 ✅ 完整的剪藏功能 模板渲染 ❌ 基础格式化 ✅ 强大的模板系统 错误处理 ✅ 基础处理 ✅ 增强的错误处理 Chrome扩展兼容 ❌ 不兼容 ✅ 基于最佳实践 向后兼容 ✅ 完全兼容 ✅ 包含所有功能
- 测试连接
- 查询思源笔记
- 写入思源笔记
- 创建新笔记
核心类:SiYuanNote 初始化 # 从环境变量自动读取(推荐) from siyuan_note import SiYuanNote siyuan = SiYuanNote() # 或手动指定 siyuan = SiYuanNote( api_url="http://localhost:6806", token="your-api-token-here" )
主要方法 连接相关 test_connection() - 测试API连接 get_notebooks() - 获取所有笔记本 get_notebook_id(notebook_name) - 获取笔记本ID 读取操作 get_documents(notebook_id) - 获取笔记本中的文档 get_document_content(document_id) - 获取文档内容 search_content(query, notebook_name=None) - 搜索内容 写入操作 create_document(notebook_name, document_name, content) - 创建新文档 append_to_document(document_id, content) - 向文档追加内容 sync_conversation(conversation_data, notebook_name="其他", document_name="openchat") - 同步对话 配置管理 load_config() - 加载配置 save_config() - 保存配置 update_config(new_config) - 更新配置
对话数据格式 conversation_data = { 'summary': '对话摘要', 'messages': [ { 'role': 'user', # 或 'assistant' 'content': '消息内容', 'timestamp': '可选时间戳' } ], 'conclusion': '对话总结', 'metadata': { 'source': 'OpenChat', 'version': '1.0' } }
示例脚本 快速同步当前对话 #!/usr/bin/env python3 """ 快速同步当前OpenChat对话到思源笔记 """ import sys import json from siyuan_note import SiYuanNote def main(): # 从命令行参数获取对话数据