📄 SKILL.md

⬇️ 下载文件

name: wolai-sync
description: 将对话内容自动同步到 wolai 文档。需要用户提供 wolai API token 和目标页面 ID,支持创建新页面或追加到现有页面。当用户需要将对话历史、笔记或工作内容保存到 wolai 时使用。

wolai 文档同步

这个技能将对话内容自动同步到 wolai(我来)文档,实现对话历史、笔记和工作内容的云端保存。

📢 重要更新

我们提供了 增强版 API 客户端 (wolai_api_enhanced.py) 和 增强版同步脚本 (sync_conversation_enhanced.py),具有以下改进:

  • 更强大的错误处理 - 自动重试、速率限制处理
  • 更丰富的内容格式 - 支持代码块、引用、提示框、分隔线等
  • 三种显示格式 - detailed(详细)、compact(紧凑)、minimal(极简)
  • 智能内容截断 - 长文本自动摘要,保持可读性
  • 批量操作优化 - 减少 API 调用,提升性能
  • 详细的日志输出 - 同步进度实时显示

建议使用增强版脚本进行新开发,原有脚本保持兼容性。

快速开始

前提条件

  1. 获取 wolai API Token

    • 登录 wolai 网页版
    • 进入「设置」→「开发者」
    • 生成 API Token
  2. 获取页面 ID(可选)

    • 已有页面:从URL中获取页面ID(最后的字符串)
    • 新建页面:提供父页面ID

基础用法

同步到现有页面

python3 scripts/sync_conversation.py \\
  --token YOUR_API_TOKEN \\
  --page-id YOUR_PAGE_ID \\
  --conversation-file conversation.json

创建新页面

python3 scripts/sync_conversation.py \\
  --token YOUR_API_TOKEN \\
  --parent-id PARENT_PAGE_ID \\
  --title "对话记录" \\
  --conversation-file conversation.json

💡 自动发送链接(推荐)

使用 sync_auto_notify.py 同步完成后自动把 wolai 链接发给你:

python3 scripts/sync_auto_notify.py \\
  --token YOUR_API_TOKEN \\
  --page-id YOUR_PAGE_ID \\
  --conversation-file conversation.json \\
  --user-id YOUR_QQ_OPENID

查看 sync_auto_notify.py 章节了解详情。

对话数据格式

创建 conversation.json 文件:

{
  "user": {
    "name": "用户姓名",
    "id": "用户ID"
  },
  "messages": [
    {
      "role": "user",
      "content": "用户输入的内容"
    },
    {
      "role": "assistant", 
      "content": "助手回复的内容"
    }
  ],
  "tags": ["标签1", "标签2"]
}

核心脚本

sync_conversation.py

自动同步对话内容到 wolai 页面。

参数说明

  • --token: wolai API Token(必填)
  • --page-id: 现有页面ID(更新模式)
  • --parent-id: 父页面ID(创建模式)
  • --title: 新页面标题(创建模式)
  • --conversation-file: JSON格式的对话数据文件(必填)

特性

输出示例

✅ 成功同步对话到 wolai 页面
📄 页面ID: abc123xyz
🔗 链接: https://www.wolai.com/abc123xyz
⏰ 时间: 2026-02-25 00:45:00

sync_conversation_enhanced.py ⭐ 推荐

增强版同步脚本,提供丰富的内容格式、三种显示模式和更好的错误处理。

特点

  • 支持详细/紧凑/极简三种格式
  • 智能内容截断和摘要
  • 代码块、引用、提示框等丰富格式
  • 详细的进度日志

参数说明(在 sync_conversation.py 基础上增加):

  • --format: 内容格式(detailed/compact/minimal,默认 detailed)
  • --batch-size: 批量大小(默认 15)

使用示例

# 使用详细格式同步(推荐)
python3 scripts/sync_conversation_enhanced.py \
  --token YOUR_API_TOKEN \
  --page-id YOUR_PAGE_ID \
  --conversation-file conversation.json \
  --format detailed

# 使用紧凑格式
python3 scripts/sync_conversation_enhanced.py \
  --token YOUR_API_TOKEN \
  --parent-id PARENT_PAGE_ID \
  --title "对话记录-2026-02-25" \
  --conversation-file conversation.json \
  --format compact

# 极简格式(适合快速记录)
python3 scripts/sync_conversation_enhanced.py \
  --token YOUR_API_TOKEN \
  --page-id YOUR_PAGE_ID \
  --conversation-file conversation.json \
  --format minimal

格式对比

  • detailed: 包含用户头像图标、完整元数据、时间戳、标签、折叠长内容
  • compact: 简洁显示,仅包含基本对话轮次和简短摘要
  • minimal: 极简格式,仅显示内容前缀(U:/A:)和简短文本

增强的输出示例

✅ 成功同步对话到 wolai 页面
📄 页面ID: abc123xyz
🔗 链接: https://www.wolai.com/abc123xyz
⏰ 时间: 2026-02-25 01:00:00
📦 内容块数: 25

sync_auto_notify.py ✅ 推荐

自动同步并发送链接通知 - 同步完成后自动把 wolai 链接发给你!

参数说明(在 sync_conversation.py 基础上增加):

  • --user-id: QQ接收用户 openid(可选,提供后会自动发送通知)

使用示例

# 同步到现有页面并自动发送链接给你
python3 scripts/sync_auto_notify.py \\
  --token YOUR_TOKEN \\
  --page-id PAGE_ID \\
  --conversation-file conv.json \\
  --user-id 33558EFB7CF362DA4A894FBE2E93DFDE

# 创建新页面并自动发送链接
python3 scripts/sync_auto_notify.py \\
  --token YOUR_TOKEN \\
  --parent-id PARENT_ID \\
  --title "对话记录" \\
  --conversation-file conv.json \\
  --user-id 33558EFB7CF362DA4A894FBE2E93DFDE

通知消息示例

✅ 同步完成

📄 页面链接: https://www.wolai.com/abc123xyz
⏰ 同步时间: 2026-02-25 01:00:00

点击链接可查看完整内容

wolai_api.py

底层 API 客户端,提供以下方法:

  • create_page(): 创建新页面
  • update_page_content(): 更新页面内容(追加模式)
  • get_page(): 获取页面详情
  • search_pages(): 搜索页面

wolai_api_enhanced.py ⭐ 推荐

增强版 API 客户端,优化了错误处理和内容格式支持。

新增功能

  • 自动重试机制(可配置重试次数和延迟)
  • 速率限制处理(429 状态码)
  • 增强的 block 类型支持(代码块、引用、提示框等)
  • 批量处理辅助函数
  • Block 格式验证

Block 创建函数

# 文本和标题
create_text_block(text, block_type="text")
create_heading_block(text, level=2)

# 特殊格式
create_code_block(code, language="python")
create_quote_block(text)
create_callout_block(text, icon="💡")
create_separator()

# 列表
create_bullet_list(["item1", "item2"])
create_numbered_list(["step1", "step2"])

使用示例

# 创建代码块
python3 scripts/wolai_api_enhanced.py \
  --token YOUR_TOKEN \
  --action create \
  --parent-id PARENT_ID \
  --title "代码示例" \
  --content '[{"type": "code", "content": "print(\"Hello\")", "language": "python"}]'

# 更新页面追加内容
python3 scripts/wolai_api_enhanced.py \
  --token YOUR_TOKEN \
  --action update \
  --page-id PAGE_ID \
  --content-file content_blocks.json

使用场景

场景 1:保存重要对话

当讨论产生有价值的结论、方案或信息时:

# 1. 创建对话数据文件
echo '{"messages":[{"role":"user","content":"需求是什么"},{"role":"assistant","content":"解决方案是..."}],"tags":["重要","需求"]}' > conv.json

# 2. 同步到 wolai
python3 scripts/sync_conversation.py \\
  --token $WOLAI_TOKEN \\
  --page-id abc123 \\
  --conversation-file conv.json

场景 2:每日对话归档

创建每日对话记录页面:

python3 scripts/sync_conversation.py \\
  --token $WOLAI_TOKEN \\
  --parent-id workspace_id \\
  --title "对话记录-$(date +%Y-%m-%d)" \\
  --conversation-file daily_conv.json

场景 3:项目协作

将项目讨论同步到项目文档:

python3 scripts/sync_conversation.py \\
  --token $WOLAI_TOKEN \\
  --page-id project_page_id \\
  --conversation-file project_discussion.json

API 参考

完整 API 文档见 references/api_guide.md

常见问题

Q: 如何找到页面ID?
A: 在 wolai 中打开页面,URL 最后一部分就是页面ID,如:https://www.wolai.com/xxx/abc123 中的 abc123

Q: 更新页面会覆盖原有内容吗?
A: sync_conversation.py 会自动获取现有内容并追加新内容,不会覆盖

Q: 支持哪些内容格式?
A: 目前支持文本、标题、列表。更多格式(代码块、引用等)可通过修改脚本实现

Q: API 有调用频率限制吗?
A: 是的,建议单次同步不超过 100 个内容块,大量内容分批次提交

Q: Token 泄露了怎么办?
A: 立即在 wolai「设置」→「开发者」中撤销并重新生成 Token

安全建议

  1. 不要将 API Token 直接写入代码
  2. 使用环境变量存储 Token:export WOLAI_TOKEN=your_token
  3. 不要将 Token 提交到 Git 仓库,添加到 .gitignore
  4. 定期轮换 Token,特别是多人协作环境
  5. 最小权限: Token 只能访问特定工作空间,不要共享超管 Token

示例工作流

完整的端到端示例:

#!/bin/bash
# sync_to_wolai.sh

# 配置
WOLAI_TOKEN="your-api-token"
PAGE_ID="your-page-id"
CONV_FILE="conversation.json"

# 准备对话数据(实际使用时从对话系统获取)
cat > $CONV_FILE << 'EOF'
{
  "user": {
    "name": "张三",
    "id": "user_123"
  },
  "messages": [
    {
      "role": "user",
      "content": "帮我整理一份选择家电的注意事项"
    },
    {
      "role": "assistant",
      "content": "以下是家电选购的完整指南..."
    }
  ],
  "tags": ["家电", "购物指南", "重要"]
}
EOF

# 同步到 wolai
python3 scripts/sync_conversation.py \\
  --token $WOLAI_TOKEN \\
  --page-id $PAGE_ID \\
  --conversation-file $CONV_FILE

# 清理
rm $CONV_FILE

运行:bash sync_to_wolai.sh