飛書完成通知
概述
在每次聊天輪次或符合條件的 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 "專案名稱" \
--chat "聊天名稱" \
--session "會話名稱"
使用 --dry-run 驗證產生的訊息而不呼叫飛書:
python3 /Users/pika/.codex/skills/notify-feishu-completion/scripts/send_feishu_completion.py \
--project "Codex" \
--chat "new-chat" \
--session "建立飛書通知技能" \
--dry-run
腳本會發送此精確的訊息形狀:
【專案名】【聊天名稱】【會話名】變更已完成,【完成時間】
腳本在非乾執行模式時會讀取這些環境變數:
FEISHU_APP_ID
FEISHU_APP_SECRET
FEISHU_RECEIVE_ID_TYPE
FEISHU_RECEIVE_ID
備註
- 僅透過飛書發送;此完成通知絕不使用 Slack。
- 如果通知已發送或無法發送,請保持最終使用者回應的清晰。
- 當目前聊天/會話名稱已知時,優先傳遞明確的欄位值,而非依賴腳本推測。