飞书完成通知
概述
在聊天回合或符合条件的 Codex 变更完成后,发送所需的飞书应用机器人完成消息。使用捆绑脚本以确保令牌获取、消息格式和 API 调用的一致性。
工作流程
- 确认当前项目规则是否要求每次聊天回合结束后都发送通知。如果是,即使仅有问题的回合也需发送。否则,仅在完成并推送代码、资源、UI、文档或项目变更后发送。
- 确定消息字段:
- 项目:当前仓库或工作区名称。如果值为
codex,则渲染为Codex。 - 聊天:当前聊天/线程标题。如果不可用,使用可见的工作区/聊天目录名称。
- 会话:当前任务或对话名称。如果不可用,从用户任务中派生简洁名称。
- 时间:本地完成时间。
- 项目:当前仓库或工作区名称。如果值为
- 在明确知道项目、聊天和会话名称时,使用本技能中的
scripts/send_feishu_completion.py脚本,并传递--project、--chat和--session参数。 - 如果脚本报告缺少飞书环境变量,请告知用户无法发送通知的具体原因。不要回退到 Slack。
- 如果飞书返回 API 错误,仅在失败看起来是临时性时重试一次。否则报告失败并继续最终响应。
脚本用法
使用:
python3 /Users/pika/.codex/skills/notify-feishu-completion/scripts/send_feishu_completion.py \
--project "ProjectName" \
--chat "ChatName" \
--session "SessionName"
使用 --dry-run 验证生成的消息而不实际调用飞书:
python3 /Users/pika/.codex/skills/notify-feishu-completion/scripts/send_feishu_completion.py \
--project "Codex" \
--chat "new-chat" \
--session "Create Feishu notification skill" \
--dry-run
脚本将发送以下确切的消息格式:
【项目名】【chat 名称】【会话名】变更已完成,【完成时间】
在非 dry-run 模式下,脚本会读取以下环境变量:
FEISHU_APP_ID
FEISHU_APP_SECRET
FEISHU_RECEIVE_ID_TYPE
FEISHU_RECEIVE_ID
注意事项
- 仅通过飞书发送;切勿为此完成通知使用 Slack。
- 如果通知已发送或无法发送,请保持最终用户响应清晰。
- 当当前聊天/会话名称已知时,优先传递明确的字段值,而不是依赖脚本推断。