Claude Code 非互動執行:先做一份可追查嘅自動報告
用 claude -p 將重複分析放入腳本,設定工具範圍、結果檢查同執行上限,再考慮排程。
先由唯讀報告開始
每日整理改動、每週盤點依賴,未必需要一邊做一邊對話。Claude Code 嘅 -p 會執行任務再輸出結果,可以由腳本呼叫。
但「非互動」唔等於「只會答文字」,亦唔等於可以放心略過權限。先做一個只讀指定資料、將報告留喺本機嘅流程,確認結果可靠,再考慮排程。
1. 試最細一次執行
喺你已信任嘅專案目錄:
claude -p "讀 README.md,用三句廣東話整理用途,唔改檔案" \
--tools Read \
--output-format json \
--max-turns 3
--tools 決定可用工具;--allowedTools 決定哪些工具毋須逐次批准。後者唔係工具白名單隔離環境,唔應配上 --dangerously-skip-permissions 就宣稱已鎖死範圍。參考官方非互動執行文件。
JSON 輸出有助程式處理,但你仍要核對退出碼、錯誤狀態同結果欄位。模型回咗一段合理文字,唔代表佢完成晒任務。
2. 腳本自己收集資料,Claude 負責整理
如果只想睇最近提交,可以先用固定 Git 指令產生輸入,唔需要開放 shell 畀 Claude。以下喺乾淨、專用嘅 checkout 執行,唔會切分支或拉取新版本:
#!/usr/bin/env bash
set -euo pipefail
: "${TASK_REPO:?set TASK_REPO to a dedicated checkout}"
: "${TASK_REPORT_DIR:?set TASK_REPORT_DIR outside the repository}"
mkdir -p "$TASK_REPORT_DIR"
cd "$TASK_REPO"
report_path="$TASK_REPORT_DIR/health-$(date +%Y%m%d-%H%M%S).json"
input_path=$(mktemp)
trap 'rm -f "$input_path"' EXIT
git log --since='24 hours ago' --format='%h %s' > "$input_path"
claude -p "以下只係提交主旨。整理主題,唔好推斷程式已正確或測試已通過。" \
--tools "" --max-turns 1 --output-format json \
< "$input_path" > "$report_path"
printf 'Report saved: %s\n' "$report_path"
呢個例子只整理主旨,唔係程式審查。如果要審查差異,另外收集明確提交範圍嘅 diff,控制大小,同時保留需要追讀原始碼嘅限制。專案 hooks、skills 同其他設定亦要先審閱;--tools 本身唔係作業系統沙箱。
3. 排程前補齊四件事
- 執行環境:用絕對路徑,明確指定工作目錄同工具路徑,唔假設排程會載入你嘅 Terminal 設定。
- 身份驗證:用服務支援嘅憑證渠道,唔將密鑰寫入 crontab、plist、程式碼或報告。
- 上限:設定總執行時間、輪數、重試次數同開支監察;API 情境可按需要使用
--max-budget-usd。 - 結果紀錄:保存開始、結束、退出狀態同報告位置;失敗或長期冇完成記錄要有明確提示。
先親手用同排程相同嘅環境跑一次。macOS 可以按需要用 launchd;部機關機、休眠或者登出時嘅行為要實測,唔好當排咗七點就一定七點完成。
依賴審查,先出建議唔改版本
根據已提供嘅依賴清單、鎖定版本同官方更新資料,列出需要處理嘅項目。 分開安全修補、停止支援、一般更新同需要評估嘅 major 升級。每項附來源及影響,查唔到就列為未確認。 唔安裝、唔改檔案、唔提交或建立 PR。Patch 同 minor 亦唔可以直接當成零風險。
如果日後要自動修改,另設專用工作目錄同一個寫入者,遇到未完成改動就停低;唔好每次排程自動 stash、刪舊分支或者清空工作目錄。
PR 審查同對外通知要分開
外來 PR、README 同程式註解都係待分析資料,唔係可信操作指示。唔好畀不受信任嘅 PR 程式連同正式憑證執行,更唔好將模型一句「LGTM」接去自動合併。
先將報告存成工作產物。需要留言或 Slack 通知時,另外確認對象、內容同發送權限,並處理發送失敗。唔同平台嘅 Webhook 格式亦唔同。
當腳本涉及多輪工具呼叫、結構化輸出同細緻權限處理,再評估 Agent SDK。無論用邊個入口,完成依據都應該係可檢查嘅結果,唔係個排程冇報錯。
文中工具 · 連結
- Claude Code CLI· 付費
開發者用 — terminal 入面同 Claude pair coding
睇完想同 Claude 一齊行一次?
撳一下,複製教學提示詞同全文到剪貼簿。 貼入 Claude.ai 或 Claude Desktop,再按文章逐步試做, 整理出適合你情況嘅草稿或清單;未確認嘅資料會留低畀你核對。