- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
3.0 KiB
3.0 KiB
mail +share-to-chat
前置条件: 先阅读
../../lark-shared/SKILL.md了解认证、全局参数和安全规则。
将邮件以卡片形式分享到飞书 IM 会话(群聊或个人对话)。内部两步完成:创建分享凭证 → 发送卡片到 IM。
依赖 Scope: mail:user_mailbox.message:readonly、im:message、im:message.send_as_user
命令
# 分享单封邮件到群聊(默认 receive-id-type=chat_id)
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id oc_xxx
# 分享整个会话到群聊
lark-cli mail +share-to-chat --thread-id <会话ID> --receive-id oc_xxx
# 通过邮箱分享给个人
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id user@example.com --receive-id-type email
# Dry Run
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id oc_xxx --dry-run
参数
| 参数 | 必填 | 说明 |
|---|---|---|
--message-id <id> |
否(二选一) | 要分享的邮件 ID,与 --thread-id 互斥 |
--thread-id <id> |
否(二选一) | 要分享的邮件会话 ID,与 --message-id 互斥 |
--receive-id <id> |
是 | 目标接收者 ID,类型由 --receive-id-type 决定 |
--receive-id-type <type> |
否 | 接收者 ID 类型(默认 chat_id)。可选:chat_id / open_id / user_id / union_id / email |
--mailbox <email> |
否 | 邮箱地址(默认 me) |
--dry-run |
否 | 仅打印请求,不执行 |
返回值
{
"ok": true,
"data": {
"card_id": "550e8400-e29b-41d4-a716-446655440000",
"im_message_id": "om_dc13264520392913993dd051dba21dcf"
}
}
典型场景
场景 1:用户说"帮我把这封邮件分享到项目群"
# Step 1: 搜索群聊获取 chat_id
lark-cli im +chat-search --query "项目群"
# → 获取 chat_id: oc_xxx
# Step 2: 分享邮件
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id oc_xxx
场景 2:分享整个邮件会话
lark-cli mail +share-to-chat --thread-id <会话ID> --receive-id oc_xxx
场景 3:通过邮箱分享给个人
lark-cli mail +share-to-chat --message-id <邮件ID> --receive-id alice@example.com --receive-id-type email
常见错误
| 症状 | 原因 | 解决 |
|---|---|---|
either --message-id or --thread-id is required |
两个参数都未传 | 传入其中一个 |
--message-id and --thread-id are mutually exclusive |
两个参数同时传 | 只传一个 |
403 user not in chat |
用户不在目标会话中 | 确认用户是群成员 |
404 message not found |
邮件 ID 无效 | 确认邮件 ID 正确 |
403 permission not granted |
缺少 im:message 或 im:message.send_as_user scope |
重新授权:lark-cli auth login --scope "im:message,im:message.send_as_user" |
相关命令
lark-cli im +chat-search— 搜索群聊获取 chat_idlark-cli mail +message— 查看邮件内容lark-cli mail +thread— 查看邮件会话