# Feishu Omni Todo

> 飞书全场景Todo管理器，深度整合飞书生态。必须触发场景：用户发送待办事项、用户提到'/todo'指令、用户询问待办列表、用户要求保存待办、用户发送包含时间的任务安排、用户询问日历日程、用户要求同步到日历。支持多渠道消息（飞书/微信/短信等）接收Todo，自动同步飞书日历。

- Skill: `lord1egypt/feishu-omni-todo` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lord1egypt/feishu-omni-todo`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lord1egypt/feishu-omni-todo/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: Lord1Egypt (https://skillmd.com/u/lord1egypt)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/lord1egypt/feishu-omni-todo

---


# 飞书全场景 Todo 管理器 (Feishu Omni-Todo)

## 核心功能
从飞书消息中智能识别和管理待办事项，支持自动保存、列表查询、状态管理和提醒设置。

## 触发规则
当收到飞书消息时，自动检测是否符合以下任一情况：
1. 消息内容包含待办事项描述（如"明天要做xxx"、"需要完成xxx"）
2. 消息包含微信公众号链接 + 处理需求（如"这篇文章下周看"）
3. 消息以 `/todo` 开头（指令系统）
4. 用户询问"我有哪些待办"、"最近要做什么"等

符合条件时必须使用本技能处理，不得直接回复。

## 数据存储
Todo数据存储在 `~/.openclaw/workspace/todo.json`，格式如下：
```json
{
  "todos": [
    {
      "id": 1,
      "content": "待办内容描述",
      "created_at": "2026-04-27T10:00:00+08:00",
      "due_time": "2026-04-28T15:00:00+08:00",
      "status": "pending",
      "priority": "medium",
      "source": "飞书消息ID: om_xxx",
      "tags": [],
      "links": [
        {
          "url": "https://example.com/doc",
          "title": "参考文档",
          "type": "feishu_wiki"
        }
      ]
    }
  ]
}
```

### 字段说明
- `priority`: 优先级，可选值：`high`(高)/`medium`(中)/`low`(低)
- `links`: 关联链接数组，可选字段
  - `url`: 链接地址
  - `title`: 链接标题/描述
  - `type`: 链接类型：`feishu_wiki`(飞书文档)/`url`(普通链接)/`image`(图片)/`file`(文件)

## 处理流程

### 1. 自动识别待办（非指令消息）
当收到普通飞书消息（非 `/todo` 开头）时：
1. 分析消息内容是否包含待办事项
2. 提取待办内容、识别时间信息（如果有）
3. 自动添加到Todo库
4. 回复用户："✅ 已保存待办：[内容] [（截止时间：xxx）]"
5. 如果消息包含多个待办，逐一识别并保存

### 2. `/todo` 指令处理
#### `/todo`（无参数）
- 列出所有未完成的待办，按截止时间优先级排序
- 输出格式：
  ```
  📋 你的待办列表：
  1. [ ] 🔴 高优先级待办 
     📅 截止时间：2026-04-28 15:00 ⚠️ 即将到期
     🔗 相关链接：
       - [参考文档](https://my.feishu.cn/wiki/xxx)
     🏷️ 标签：工作、重要
  2. [ ] 🟡 中优先级待办 
     📅 创建于：2026-04-27
  3. [ ] 🟢 低优先级待办 
     🏷️ 标签：阅读
  ```
- 优先级标记：🔴高/🟡中/🟢低
- 标签显示：🏷️ 标签名
- 链接显示：🔗 链接标题（可点击跳转）

#### `/todo all`
- 列出所有待办（包括已完成的）
- 已完成的项目显示为：
  ```
  [x] 已完成的待办内容 ✅ 已完成
     📅 完成时间：2026-04-27 15:00
  ```

#### `/todo done [序号] [序号...]`
- 将指定序号的待办标记为已完成，支持批量操作
- 示例：`/todo done 1` 或 `/todo done 1 2 3`
- 回复："✅ 已标记为完成：[内容]"

#### `/todo del [序号] [序号...]`
- 删除指定序号的待办，支持批量操作和范围选择
- 示例：`/todo del 1` 或 `/todo del 1-3`
- 回复："🗑️ 已删除待办：[内容]"

#### `/todo clear`
- 清空所有已完成的待办
- 回复："🗑️ 已清空所有已完成的待办"

#### `/todo remind [序号] [时间]`
- 为指定待办设置提醒时间，支持自然语言时间
- 示例：`/todo remind 1 明天下午3点`、`/todo remind 2 周三前`、`/todo remind 3 今晚8点`
- 回复："⏰ 已为待办设置提醒：[内容] 提醒时间：[解析后的时间]"
- 到期前30分钟和5分钟会自动发送飞书提醒

#### `/todo priority [序号] [高/中/低]`
- 设置待办优先级
- 示例：`/todo priority 1 高`
- 回复："✅ 已设置优先级：[内容] -> [优先级]"

#### `/todo tag [序号] [标签]`
- 为待办添加标签
- 示例：`/todo tag 1 工作`、`/todo tag 2 阅读`
- 回复："🏷️ 已添加标签：[内容] -> [标签]"

#### `/todo link [序号] [url] [标题]`
- 为待办添加关联链接
- 示例：`/todo link 1 https://my.feishu.cn/wiki/xxx 参考文档`
- 回复："🔗 已添加链接：[内容] -> [标题](链接)"

#### `/todo link list [序号]`
- 列出待办的所有关联链接
- 示例：`/todo link list 1`

#### `/todo link del [序号] [链接索引]`
- 删除待办的指定链接
- 示例：`/todo link del 1 1`（删除待办1的第1个链接）

#### `/todo filter [标签]`
- 按标签筛选待办
- 示例：`/todo filter 工作`
- 只显示包含指定标签的待办

#### `/todo stats`
- 查看待办统计信息
- 显示本周完成率、待办分布、分类统计

#### `/todo sync [序号]`
- 将指定待办同步到飞书日历
- 示例：`/todo sync 1`
- 自动创建日历事件，设置30分钟和5分钟提醒
- 回复："📅 已同步到飞书日历：[内容]"

#### `/todo calendar [天数]`
- 查看未来N天的飞书日历和待办合并视图
- 示例：`/todo calendar 7`（查看未来7天）
- 显示会议、待办、空闲时间分布

#### `/todo suggest`
- 智能推荐空闲时间段安排待办
- 自动避开已有会议，优先推荐工作时间
- 回复："💡 推荐时间：明天下午14:00（该时间段无会议）"

## 智能识别规则
1. **时间识别**：支持识别丰富的自然语言时间表述：
   - 相对时间："今天"、"明天"、"后天"、"3天后"、"两小时后"
   - 日期时间："下周一"、"5月1日"、"2026-04-28"、"周三前"、"周五前"、"月底"
   - 时间段："下午3点"、"晚上8点"、"15:00"、"今晚"、"明晚"
   - 模糊时间："下周"、"下个月"、"最近几天"
   - 自动转换为标准时间，支持时区校正（Asia/Shanghai）
   
2. **链接识别**：自动识别消息中的URL，包括：
   - 微信公众号链接：自动打"阅读"标签，添加到links字段
   - 飞书文档/知识库链接：自动打"文档"标签，添加到links字段，type设为"feishu_wiki"
   - 其他链接：自动识别并添加到links字段，type设为"url"
   - 链接标题自动识别：飞书链接自动获取文档标题，其他链接使用网页标题或默认"相关链接"

3. **多待办识别**：如果一条消息包含多个待办（用换行、分号、数字序号分隔），逐一拆分为独立待办项。

4. **优先级识别**：自动识别待办优先级关键词：
   - 高优先级："紧急"、"重要"、"马上要"、"立刻" → 🔴
   - 中优先级：默认 → 🟡
   - 低优先级："不急"、"有空再看"、"慢慢做" → 🟢

5. **日历同步**：
   - 带时间的待办自动同步到飞书日历（可配置开关）
   - 添加待办时自动检查飞书日历时间冲突
   - 检测到冲突时提示："⚠️ 该时间段已有会议，是否要安排到其他时间？"

## 边界处理
- 如果用户发送的消息不是待办，不做任何操作，正常回复
- 如果指令格式错误，友好提示正确用法：
  ```
  ⚠️ 指令格式错误，支持的指令：
  /todo - 查看未完成待办
  /todo all - 查看所有待办
  /todo done [序号] - 标记完成（支持批量）
  /todo del [序号] - 删除待办（支持批量）
  /todo clear - 清空已完成
  /todo remind [序号] [时间] - 设置提醒
  /todo priority [序号] [高/中/低] - 设置优先级
  /todo tag [序号] [标签] - 添加标签
  /todo filter [标签] - 按标签筛选
  /todo stats - 查看统计
  ```
- 如果指定的序号不存在，提示："⚠️ 未找到序号为 [x] 的待办"
- 如果时间解析失败，提示："⚠️ 无法识别时间格式，请使用更明确的时间表述"

