Phase 5 / Ep 26: 实战 Plugin —— \"Notion 同步器\"

⏱ 预计阅读 3 分钟 更新于 2026/4/13

🎯 学习目标:开发一个有实际商业价值的 Plugin。

1. 功能需求

每次 Agent 完成一个会话时,自动将对话摘要写入 Notion 数据库:

  • 📅 日期
  • 🏷️ 话题标签
  • 📝 对话摘要
  • 🔗 Session ID

2. 架构设计

sequenceDiagram
    participant Agent as 🤖 Agent
    participant Plugin as 🔌 Notion Sync
    participant Queue as 📋 队列
    participant Notion as 📓 Notion API

    Agent->>Plugin: afterAgent hook 触发
    Plugin->>Plugin: 提取对话摘要
    Plugin->>Queue: 加入同步队列
    Queue->>Notion: 批量写入(每 5 分钟)
    Notion->>Queue: ✅ 写入成功

3. 关键设计决策

决策 选择 理由
同步时机 afterAgent 确保 Agent 已处理完毕
同步策略 批量(5 分钟) 避免频繁 API 调用
错误处理 指数退避重试 Notion API 偶尔限流
摘要生成 取 Agent 的最终回复前 100 字 简单有效

4. 配置

// manifest.json
{
  "name": "notion-sync",
  "hooks": ["afterAgent"],
  "config": {
    "NOTION_TOKEN": "${NOTION_TOKEN}",
    "DATABASE_ID": "your-database-id",
    "SYNC_INTERVAL_MS": 300000
  }
}

5. 错误处理

  • Notion API 429:指数退避,最多重试 3 次
  • 网络超时:加入重试队列
  • Token 过期:日志告警 + Telegram 通知

下节预告: Ep 27,Plugin 的发布、热更新和生命周期管理。