例行任務
任務只要儲存一次,Perch 就會依排程,或在你自己的程式碼呼叫時,於雲端執行它,即使你的電腦關機也一樣。每次執行都會開啟一個對話,你可以閱讀並繼續。Pro 測試版功能。
測試版
例行任務是儲存起來的雲端任務:包含名稱、指示、模型,以及啟動它的方式。時間一到,Perch 就會啟動一個雲端代理,並以你的指示作為第一則訊息。它在私有雲端工作區中執行,因此你的電腦可以關機。之後,你可以開啟該次執行的對話,看看它做了什麼;如果還需要更多,也可以繼續對話。
例行任務適合你原本得一再交代的工作:每天早上檢查儲存庫中的錯誤、每個工作日整理一次客服收件匣、每週的指標摘要,或是你自己的工具在每次部署後啟動的檢查。
建立例行任務
開啟 Routines
在網頁版 Perch Terminal 或 Perch Desktop 中,選擇側欄的 Routines,再選擇 New routine。
命名並撰寫指示
像向同事交代工作一樣撰寫指示:要看什麼、要做什麼,以及你希望拿回什麼。例如:「閱讀客服收件匣中的新郵件。為每個簡單的問題草擬回覆,並儲存為 Gmail 草稿。其餘郵件加上標籤。絕對不要寄出任何東西。」
模型選單位於指示方塊的右下角,提供的選項與訊息輸入區相同。
任務需要時選擇儲存庫
進行程式碼工作時,選擇 GitHub 儲存庫與分支。每次執行都會複製該儲存庫,並將成果推送到以 perch/ 加上簡短識別碼命名的新分支。不會替你合併任何內容。不涉及儲存庫的工作,則維持 No repository。
設定連線、行為與通知
觸發方式下方的三個分頁,決定例行任務可以使用哪些應用程式、執行有風險的動作前是否先停下來詢問,以及如何通知你執行結果。請參閱設定。
選擇 Create routine
例行任務從你儲存的那一刻起就會開啟。表單會顯示它的首次執行時間。
或請 Perch 建立
在任何 Perch Terminal 對話中,無論是在網頁、Perch Desktop 或 CLI,描述你想要的例行任務,或輸入 /schedule(/routines 也可以)。Perch 會詢問缺少的資訊,然後顯示一張卡片,列出它將儲存的所有內容:名稱、完整指示、以你的時區表示的排程與下次執行時間、模型、連線、儲存庫與設定。
在你核准卡片之前,不會儲存任何內容。這張卡片在每種權限模式下都會出現,包括 Take the Wheel,而 Auto Review 也絕不會替你核准它。除非你另外指定,例行任務會使用該對話目前使用的模型,以及你裝置的時區。
例行任務本身的執行無法建立或變更例行任務。
觸發方式
排程
| 重複 | 執行時間 |
|---|---|
| Every hour | 在你選擇的每小時第幾分鐘執行。 |
| Every day | 每天的某個時間。 |
| Weekdays | 週一至週五的某個時間。 |
| Every week | 每週的某一天、某個時間。 |
| Custom | 依包含五個欄位的 cron 排程執行:分、時、日、月、星期。 |
| Once | 在某個日期和時間。之後,例行任務會顯示 Done: it ran once. 狀態。 |
每個排程都依你選擇的時區執行,因此日光節約時間切換時,執行時間不會因此改變。例行任務最多每小時執行一次,執行頻率高於此的自訂排程會被拒絕。
API
使用 API 觸發方式,可以從部署指令碼、監控警示或其他應用程式啟動例行任務。儲存時,Perch 只會顯示一次秘密 token,請當下複製。
在例行任務的頁面上,Trigger from another app 會顯示網址與範例請求:
curl -X POST https://chat.perchai.app/api/routines/fire \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"text": "..."}'text為選填,最多 2,000 個字元。它會以資料的形式傳入該次執行,絕不會被當成命令,因此 Perch 只會依照你的指示所說的方式使用它。例如:「已附上警示內容。請在儲存庫中找出它的原因。」- Perch 會回應
202,以及新執行的runId與chatUrl。 - 同一個例行任務以這種方式啟動,每小時最多 30 次。
- Make a new token 會更換 token,舊的 token 隨即失效。Delete token 會關閉 API 觸發方式。
立即執行
不論觸發方式為何,每個例行任務的頁面上都有 Run now。若要為這一次執行附上額外文字,請先選擇 Add a note。
設定
連線
例行任務只能使用你在這個分頁加入的連線。系統不會替你預先選擇任何連線。你可以加入任何已在 Settings › Connections 連接的應用程式,每個例行任務最多 10 個。
例行任務在雲端執行,因此無法使用你電腦上設定的本機 MCP 伺服器,這點與任何雲端代理相同。
行為
- Ask before risky actions 是預設值。執行會在任何有風險的動作前等待你的核准,狀態會顯示 Waiting for you。例行任務頁面會顯示 A run is waiting for your approval,並附上開啟對話的 Review 按鈕。核准請求若 24 小時未回覆就會過期。
- Run without asking 讓 Perch 照指示行事而不停下來詢問,包括透過連線進行變更。請用於你之前看過它執行的任務。
- New chat each run 是預設值。Keep one chat 會讓每次執行接續上一次,讓它能告訴你自上次以來有哪些變化。
通知
Tell me 決定你何時會收到執行的通知:
- After every run(預設)
- Only when there's something to report. 每次執行都會說明是否有發現。沒有發現的執行會顯示 Nothing to report,而且不會通知你。
- Only when a run fails
- Never
在它下方選擇 Phone notification、Email 或兩者。手機通知需要先將 Perch 加入主畫面。電子郵件會寫出例行任務名稱與結果,以答案的開頭作為開場,並附上對話連結。
除非 Tell me 設為 Never,否則只要執行失敗、等待你的核准或無法開始,即使未勾選 Email,Perch 也一律會寄電子郵件給你。
追蹤你的例行任務
例行任務清單會顯示每個例行任務的排程、下次執行時間、上次執行的結果,以及開關。計數會標示你尚未開啟的結果。
開啟例行任務即可查看它的執行紀錄:每次執行的開始時間、啟動方式(Schedule、API 或 Run now)、結果,以及耗時。Open chat 會開啟該次執行的對話。例行任務的對話不會出現在對話清單中,因此每小時執行一次的例行任務不會淹沒你的其他工作。每個對話都是一般的雲端對話:你可以提出後續問題、回覆核准請求,或在 Changes 面板審閱分支。
| 狀態 | 意義 |
|---|---|
| Running | 執行仍在進行中。 |
| Waiting for you | 執行需要你的核准才能繼續。 |
| Answered | 執行已完成。 |
| Nothing to report | 執行已完成,沒有發現值得告訴你的事。 |
| Failed | 執行因錯誤而停止。原因會一併顯示。 |
| Expired | 執行等待核准超過 24 小時。 |
| Stopped | 你停止了這次執行。 |
| Skipped | 執行沒有開始。原因會一併顯示。 |
在下列情況下,排定的執行會被略過,下一次執行則照常進行:
- 例行任務的上一次執行仍在進行中。同一個例行任務的兩次執行絕不會同時開始。
- 上一次執行正在等待你的核准,而該例行任務設定為保持同一個對話。
- Perch 無法在預定時間後 30 分鐘內啟動它。
- 在預定時間後的 30 分鐘內,你一直有三個雲端執行正在進行。
- 你已達到雲端執行的每日上限,或已用完本期的雲端工作區時數。
若要變更例行任務,請開啟它,並從 More actions 選單選擇 Edit。開關可以關閉或開啟例行任務。Delete 會移除例行任務,但保留它的對話。
如果例行任務的模型已不再提供,Perch 會關閉該例行任務並告知你,而不會自行切換模型。請選擇其他模型,然後再將它開啟。
用量與上限
- 最多 20 個例行任務可同時開啟。
- 每個例行任務最多每小時執行一次。
- 每次執行都是一次雲端代理執行。 模型用量計入方案的一般上限,工作區時間則計入每個計費週期 30 小時的雲端工作區時間。例行任務的執行與你的其他雲端對話,共用同時最多三個雲端執行的上限。
疑難排解
我看不到 Routines。 例行任務包含在 Pro 中。請確認已登入 Pro 帳號。
我的排程被拒絕。 例行任務最多每小時執行一次,而 Once 的時間必須在未來。
執行顯示 Skipped。 原因會顯示在旁邊。上方的清單說明了每一種情況。
我沒有收到電子郵件。 請確認 Tell me 沒有設為 Never,並檢查垃圾郵件資料夾。如果 Perch 目前無法寄送電子郵件,例行任務的頁面會顯示說明。