kw-my-inbox · git:20260825.77db78b · 2026-08-25 · sha256 ff41269342d2ca02
kw-my-inbox git:20260825.77db78bA
Immutable. This exact content never changes and is served at /api/v1/blob/ff41269342d2ca02.
---
name: kw-my-inbox
description: KippiesWork 订阅技能 — 每日汇总「谁@了我、今天有什么会、什么待办到期」。从飞书消息、日历、任务三处取数,按紧急度排序并给出建议动作。触发词:"谁@我了""今天有什么会""我的待办""今日提醒""消息摘要""别让我漏事"。需要飞书 user access token。
---
# KippiesWork 我的收件箱
把订阅者今天需要知道的三件事汇成一条:**谁在等我回、我今天有什么会、什么快到期了。**
## 参数
- `lookback_hours` — 可选,回看窗口,默认 24(周一自动放宽到 72 以覆盖周末)
- `watch_keywords` — 可选,订阅者自定义的关注词(如「合同」「赔偿」),命中时升级紧急度
**订阅者身份不需要传参** —— 本技能以当前 profile 的用户身份执行,`--as user` 自动就是本人。
**不要向 prompt 里硬编码 open_id**:结果推送到当前会话(`target: origin`),订阅者本来就在这个会话里。
## 工作流程
### 第一步:确认今天
```bash
date '+%Y-%m-%d %A'
```
若今天是周一,把回看窗口放宽到 72 小时(覆盖周末)。
### 第二步:取「@我的」消息
```bash
lark-cli --as user im +messages-search --query "@<本人姓名>" --page-size 50
```
搜不到结果时,再用请求类关键词补搜(人们不总是用 @):
```bash
lark-cli --as user im +messages-search --query "辛苦" --page-size 30
lark-cli --as user im +messages-search --query "麻烦" --page-size 30
```
若 `watch_keywords` 有值,每个词各搜一次。
**只保留回看窗口内的消息。** 窗口外的丢弃,不要因为"看起来重要"就留下。
### 第三步:取今日日程
```bash
lark-cli calendar +agenda --as user
```
### 第四步:取到期待办
```bash
lark-cli task +get-my-tasks --due-end "<今天 23:59:59 的 ISO8601,+08:00>"
```
`date -d` 在部分环境不可用,拿不到就用 Python 拼 ISO 8601 字符串。
### 第五步:定级与组织
对每条 @我的消息判紧急度:
- 🔴 **紧急** — 命中 `watch_keywords`;或同一人 24h 内 @我 ≥2 次;或含「紧急/今天/马上/截止」
- 🟠 **待回** — 含请求词(辛苦/麻烦/请/帮/看下)且已过 4 小时未回
- 🟡 **知悉** — 其余
## 输出格式
```
🔔 我的收件箱 · {今日日期} {星期}
## 📬 等我回的({n} 条)
🔴 {来源群聊/私聊} · {发起人}
{一句话说清他要什么}
→ 建议:{具体动作,不超过 20 字}
🟠 ...
(无则写:暂时没人在等你)
## 📅 今日日程({n} 场)
• 09:00-10:00 {标题}({组织者})
(无则写:今日暂无会议安排)
## ✅ 今天到期({n} 项)
• [ ] {任务名}(截止 MM-DD HH:mm)
• [ ] {任务名}(已逾期 ⚠️)
(无则写:今日暂无到期任务)
## 💡 如果今天只做一件事
{基于上面三块给一条建议}
```
排序规则:待办按截止时间升序,**已逾期的排最前**并标 ⚠️;无截止日期的排最后。时间一律 Asia/Shanghai。
## 反编造规则(硬性)
这个技能最容易出的错是**漏一条**和**多一条**,两者都会让订阅者失去信任:
- **条目只能来自工具返回结果。** 不要"推测"某人可能在等回复。
- **不要合并同类项到看不出原始条数。** 三个人问同一件事就是三条,各自标明发起人。
- **不要过滤掉看起来不重要的。** 判重要是订阅者的事,你只负责定级和排序。
- **空结果是合格输出**:没人 @我就写「暂时没人在等你」,没会就写「今日暂无会议安排」。
**绝不允许在空结果时编造条目或用示例内容填充。**
- 工具调用失败时**说清楚哪一步失败了**,不要用"暂无"掩盖失败 —— 「取不到」和「没有」是两件事,必须区分:
- 取不到 → 「消息搜索失败({错误}),这块今天没能查到」
- 没有 → 「暂时没人在等你」
## 权限不足时
`lark-cli` 报权限/登录失败时,不要重试到超时,也不要静默降级。直接如实说明缺哪项授权并结束 —— 系统会自动弹出授权卡,用户授权后会自动续接。