最後更新於 2026 年 8 月 18 日;資料核實自公開 jobs 文件、操作員契約、持久化說明、Apple 官方背景服務文件及目前可查閱的版本資料。
後台任務能啟動,不代表可以上線;本週你應先用一個可重現的長任務,逐項驗收所有權隔離、狀態可觀察性、取消與超時、完成通知,以及瀏覽器關閉、連線中斷、程式異常和作業系統重啟後的恢復證據,未完成其中任何一項,就不要把它交給無人值守環境。
這篇文章適合三類人:準備把耗時任務交給 DeepSeek Harness 的開發者、負責持續 AI Agent 環境交付與值守的運維人員,以及需要判斷是否擴容或拆分任務環境的項目負責人。
SECTION 01 先把「可啟動」和「可交付」分開
公開文件顯示,DeepSeek Harness 的批次與大量工作流程包含任務提交、狀態查看、結果取得、成本記錄、審核資料及可恢復的工作流程;其本地實作亦採用 SQLite 儲存狀態,並將工作區、執行紀錄與產物分開管理。jobs 與批次功能說明 可以作為契約核對起點。
但這些能力不能直接推導出「關閉瀏覽器後一定繼續」、「Harness 程式重啟後一定接續」或「遠端 Mac 重啟後一定不丟工作」。後台執行、跨進程持續、跨主機恢復,是不同層級的問題。macOS 本身也把系統層級 daemon、使用者層級 agent 及 GUI 應用程式分開管理;Apple 對這些背景進程的啟動與生命週期有不同定義,不能把一種進程的行為套用到另一種進程。Apple 背景服務與 daemon 生命週期說明
你至少要把以下限制列入驗收範圍:
- 所有權限制:任務 ID 能被另一個會話看見,不等於另一個會話有權讀取、等待或取消該任務。
- 工作區限制:多個 Agent 若共用目錄、鎖檔或輸出路徑,可能出現檔案競爭、依賴污染及產物歸屬不清。
- 狀態限制:畫面顯示「執行中」不等於子程式仍在工作;沒有工作區、輸入摘要及產物索引的狀態,無法作為交付證據。
- 資源限制:長時間建置會持續佔用 CPU、記憶體、硬碟空間及 API 預算;多個 background jobs 同時運行時,互相影響可能先表現在回應變慢,而不是立即報錯。
- 恢復限制:瀏覽器關閉、遠端連線斷開、Harness 程式退出及 Mac 重啟,必須分開測試,因為它們影響的進程、檔案鎖和工作目錄不一樣。
SECTION 02 用兩個受控會話驗收所有權隔離
不要只建立一個任務,再把任務 ID 複製給另一個操作員測試。這只能證明 ID 可以傳遞,不能證明權限邊界成立。
建議使用會話 A 和會話 B,並準備兩個不同工作區:
- 會話 A 建立長任務,記錄任務識別、執行者、工作區、輸入摘要及預期產物。
- 會話 B 嘗試列出、查看、等待及取消會話 A 的任務。
- 會話 A 再建立第二個任務,確認會話 B 看見的列表是否只包含被授權的範圍。
- 將每次操作的命令、時間、回應內容及退出結果保存成驗收附件。
- 檢查產物路徑、日誌及鎖檔是否包含正確的工作區識別,而不是只依賴任務 ID。
多個 Agent 的後台任務會不會互相影響?
會,至少在工作區、共享資源及取消權限三個層面可能互相影響。即使任務引擎能辨識不同所有者,只要兩個 Agent 寫入同一個專案目錄,仍可能由檔案競爭造成錯誤。因此,隔離測試必須同時驗證「誰能操作」和「誰能碰到哪些檔案」。
官方契約與本站實測要分開記錄:官方文件只能用來確認功能承諾;實際隔離結果則應由你的版本、權限設定及執行環境測試得出。操作員可參考批次工作安全契約,不要把 README 的功能列表當成完整的生產權限模型。若任務由 macOS 背景服務承載,也要確認它究竟運行於系統會話還是登入使用者會話;Apple 說明不同會話之間的進程通訊與權限邊界並不相同。Apple 使用者與系統會話說明
SECTION 03 把狀態觀察做成可定位的證據鏈
驗收時,至少要保存建立、執行、完成、失敗、取消五個階段的證據。每一份狀態快照都應能回答四個問題:哪個執行者建立、在哪個工作區執行、使用了哪份輸入、產物是否已經完整落盤。
可照以下步驟執行:
- 使用固定輸入建立基準任務,輸入檔先計算雜湊或保存唯一路徑。
- 在任務開始後記錄狀態輸出、工作區位置及目前產物清單。
- 任務結束時保存完成訊號、退出結果、日誌尾端及產物清單。
- 重新查詢同一任務,確認狀態仍能與原始輸入及工作區關聯。
- 人為製造失敗,例如讓測試命令回傳錯誤,確認失敗結果不是停留在模糊的「未完成」。
- 檢查重複查詢是否會改寫狀態,或造成同一任務被錯誤重新執行。
如果狀態頁面只能顯示一個短 ID,而無法連回執行對象、工作區、輸入及產物,該任務不應判定為交付通過。這不是介面美觀問題,而是故障發生後能否定位責任與重現結果的基本條件。
SECTION 04 取消、超時與殘留進程要分開測試
「取消」按鈕改變了畫面狀態,不代表相關工作已停止。你要分別測試正常取消、任務無響應,以及子進程殘留。Apple 對 XPC 服務的文件也提醒,受管理的背景服務可能被重新啟動或突然終止,因此需要明確處理狀態保存與連線失效,而不能只依賴前端畫面。Apple XPC 服務生命週期說明
後台任務卡住後應如何安全取消?
先保存取消前的狀態和進程清單,再執行取消;取消後檢查主進程、子進程、檔案鎖、暫存檔及 API 請求是否停止。若只清除前端狀態,卻留下編譯器、測試器或 Shell 子程式,下一個任務可能繼續受到資源或鎖檔影響。
建議採用這套順序:
- 正常取消:任務正在輸出日誌時執行取消,確認狀態變化、進程結束及工作區收尾。
- 無響應取消:讓任務等待外部輸入或進入長時間無輸出的階段,測試取消是否仍能回收控制權。
- 殘留檢查:取消後列出相關進程、開啟檔案及工作區鎖,確認沒有孤兒進程。
- 超時處理:先記錄超時判定依據,再確認超時後是取消、重試、標記失敗,還是只發出提醒。
- 重試保護:重新提交時確認不會重複寫入已完成產物,也不會把上一輪的鎖檔當成新任務狀態。
任何時間數據都必須標明來源、版本及測試日期;若你尚未取得官方固定定義,就不要自行填入「幾分鐘後必定取消」之類的數字。
SECTION 05 完成通知必須晚於產物落盤
無人值守最容易出錯的地方,是通知先到、產物後到。你應驗證完成、失敗及被取消三種結果,而且要分別確認 AI Agent 和操作人員收到的訊號。
驗收時可加入一個「完成標記」檔案或可檢查的產物清單,要求任務只有在檔案完整寫入後才進入完成狀態。通知到達時,立即核對:
- 工作區是否仍然存在;
- 主要產物能否讀取;
- 產物大小或雜湊是否完整;
- 日誌是否包含最後一個成功步驟;
- 操作人員是否能知道任務是完成、失敗還是被取消。
若通知缺失,人工巡檢路徑應包括任務列表、狀態查詢、日誌目錄、工作區產物及進程清單。對長期運作的團隊,這套巡檢方式應寫入值守文件,而不是依賴某一位開發者記得如何手動查找。
SECTION 06 斷線測試要按事件類型分開執行
DeepSeek Harness 關閉瀏覽器後後台任務還會運行嗎?
不能只用「瀏覽器關閉後我再打開,畫面還看得到任務」來判斷。你要比較關閉前後的進程、日誌時間線、狀態及產物變化,才能知道任務是真的持續執行,還是重新開頁後才重新整理到舊資料。
遠端 Mac 重啟後未完成任務能否繼續?
不能從本地 SQLite、工作區檔案或會話持久化直接推論跨重啟續跑。公開文件提到會話持久化、批次狀態及可恢復的大量工作流程,但這些能力與作業系統重啟後自動恢復不是同一件事。會話與持久化相關說明 只能作為核對入口,最終仍要在你的版本上實測。
若你希望把 Harness 進程納入 macOS 的啟動與管理機制,必須另外驗證其 launchd 設定、執行上下文、日誌位置及啟動後是否能重新接管未完成任務;Apple 文件說明 launchd 可按需求啟動及管理 daemon,但這不等同於應用程式自身具備工作狀態恢復能力。Apple launchd 工作管理說明
請依序測試:
- 關閉瀏覽器,保留遠端主機及 Harness 程式。
- 中斷 SSH、VNC 或其他遠端連線,稍後重新連線。
- 結束 Harness 程式,觀察任務、日誌及鎖檔。
- 重啟 Mac,確認啟動後是否有自動恢復機制。
- 每次事件都保存事件前後的狀態快照與產物差異。
若只有瀏覽器關閉仍能完成,而程式退出或 Mac 重啟後無法接續,你的結論應是「適合短暫離開互動介面」,而不是「適合跨故障無人值守」。
提醒:雲端或遠端環境不會天然免於中斷。穩定性取決於進程管理、持久化位置、重啟策略、工作區設計及人工接手流程,不能只看連線是否方便。
SECTION 07 用容量與交付指標形成三類結論
容量驗收不要先套用通用 CPU 或記憶體門檻,因為建置、測試、程式碼分析及批次推理的資源曲線不同。你應使用代表性任務,逐步增加同時執行數,記錄 CPU、記憶體、硬碟剩餘空間、工作區鎖、任務回應性及產物完整性。
若任務包含大量檔案處理,可參考大量工作流程文件,但不要直接把文件中的範例設定當成你的生產容量。
在正式簽收前,先建立一份版本化驗收包,包含:
- 基準任務輸入與預期產物;
- Harness、作業系統及相關依賴版本;
- 測試日期、執行環境及責任人;
- 每次中斷事件前後的狀態、日誌與進程記錄;
- 取消、失敗、通知及恢復結果;
- 同時執行任務數增加後的資源觀察。
最後的判定只有三類:所有關鍵指標都有證據,可上線;隔離或容量不足,需要拆分環境;恢復或交付證據不完整,暫不適合持續執行。
SECTION 08 上線前的三張簽收表
第一張表用來判斷任務是否具備基本生命週期控制能力:
| 驗收指標 | 必做檢查 | 合格證據 | 判定 |
|---|---|---|---|
| 所有權隔離 | 以兩個受控會話交叉查看、等待、取消 | 操作記錄與回應結果 | 允許或拒絕邊界清楚 |
| 狀態可觀察 | 保存建立、執行、完成、失敗、取消快照 | 狀態、工作區、輸入及產物可互相對應 | 可定位 |
| 取消與超時 | 測試正常取消、無響應及子進程殘留 | 進程、鎖檔及日誌前後差異 | 真正止損 |
| 完成通知 | 測試完成、失敗及取消三種訊號 | 通知時間與產物落盤證據 | 通知不早於交付 |
| 異常恢復 | 分別測試瀏覽器、連線、程式及系統事件 | 每種事件的狀態與產物記錄 | 恢復邊界明確 |
第二張表用來選擇執行方案,不把「能跑」誤當成「應該長期跑」:
| 方案 | 適合情況 | 主要風險 | 決策 |
|---|---|---|---|
| 互動工作區 | 短任務、需要頻繁確認及人工介入 | 關閉介面或離線後可觀察性不足 | 不作關鍵無人值守 |
| 獨立遠端 Mac | 工作區需隔離、任務需持續運作及可回訪 | 仍需驗收程式退出與系統重啟 | 通過恢復測試後採用 |
| 拆分多個環境 | 多 Agent 互相搶資源或共用鎖檔 | 管理成本及交付紀錄增加 | 以責任邊界拆分 |
| 暫停上線 | 取消、通知或恢復證據不完整 | 失敗後難以定位及重跑 | 先修正再簽收 |
第三張表放在交付文件最後,確保未來復測時不會失去基準:
| 簽收項目 | 必填內容 |
|---|---|
| 基準任務 | 輸入、預期產物、成功條件 |
| 版本資料 | Harness、作業系統、依賴及設定版本 |
| 復測條件 | 執行時間、同時任務數、工作區配置 |
| 責任分工 | 開發者、運維人員、項目負責人 |
| 例外處理 | 取消、通知缺失、斷線及重啟後的人工步驟 |
| 最終結論 | 可上線、需拆分環境或暫不適合持續執行 |
如果你目前的方案是個人 Mac、短期雲端工作區或共用遠端主機,常見缺點通常不是啟動失敗,而是工作區互相污染、離線後缺乏可觀察性,以及重啟後沒有明確的接續責任;這些問題會在任務變長、Agent 增加或需要夜間執行時放大。當驗收表顯示現有環境無法穩定承載長任務,你可以按任務占用窗口與隔離邊界評估獨立的遠端 Mac 方案,再用同一份基準任務先做試運行,而不是直接把未驗收的環境投入生產。
若你需要比較租用週期、資源配置與任務分工,可先查看VPSNIX 的方案與價格說明;但長期穩定重負載、必須使用特定實體介面,或需要完全自行控制硬體的場景,仍應如實比較自購 Mac、本地執行及其他環境。租用的價值在於快速取得隔離且可回訪的測試環境,前提是你仍然用上述驗收表確認它真的符合 DeepSeek Harness 的長任務邊界。