截至 2026 年 8 月 18 日核對的官方架構文件,DeepSeek Harness 把執行流程拆成 3 類事件層:可持久化的 Session events、處理進行中工作的 Agent events,以及承載權限與工具適配的 Capability events。官方架構文件
適合直接執行: 單一檔案、低影響、已有測試且可在短時間內回退的修改。
不適合直接執行: 跨目錄重構、陌生倉庫、高權限操作或回退責任不清的任務,應先進入 DeepSeek Harness Plan Mode。
這篇文章適合三類讀者:獨立開發者可用它減少簡單任務的流程負擔;研發團隊可據此統一 Agent 從調研到執行的交接標準;安全或平台負責人則能把規劃階段的寫入能力、憑據範圍與審查節點分開管理。
00先按改動可逆性決定模式
不要先問「Plan Mode 有哪些指令」,而要先問「這次錯了,能否在不影響其他工作的情況下恢復」。可先用以下條件分支建立預設判斷:
- 若只改 一個檔案或單一小模組,改動前已有乾淨提交,驗收命令明確,且回退只需還原該提交,選擇直接執行。
- 若涉及多個目錄、介面契約、資料格式、建置設定或共用元件,選擇先規劃。
- 若倉庫沒有清楚的測試入口、依賴關係尚未確認,或 Agent 仍不知道哪個程式是實際入口,先保持只讀調研。
- 若修改會觸及憑據、部署設定、付款流程、使用者資料或生產環境,不能因為開啟計劃模式就取消隔離,應採用雙階段流程。
- 若團隊無法回答「誰批准寫入、誰執行測試、誰負責回退」,不要直接讓 Agent 修改共享工作區。
這個判斷也回答了「什麼任務需要先進入計劃模式」:不是所有複雜問題都需要長篇計劃,而是當影響範圍、認知不確定性或回退成本超過單人即時判斷能力時,才需要先規劃。
官方文件指出,工具執行、Session log、沙盒與審批政策都屬於可組合的核心層;因此,模式選擇實際上會影響「Agent 看見甚麼、可以呼叫甚麼,以及哪些工作能夠在會話恢復後重建」,而不只是畫面上的工作流程選項。官方 README
01第一步:陌生倉庫先建立只讀認知
首次接觸倉庫時,最容易出現的錯誤不是程式碼寫錯,而是 Agent 對專案入口、依賴方向與驗證命令的理解根本不完整。此時應把計劃模式當作「建立證據」的階段,而不是把產出的文字當成已經批准的改動方案。
至少要完成以下核對:
- [ ] 找到實際啟動入口、主要套件與建置腳本。
- [ ] 確認共用型別、API 介面或資料結構由哪些目錄共同使用。
- [ ] 確認測試、型別檢查、Lint 與建置命令,並記錄執行條件。
- [ ] 確認目前分支、未提交修改與工作區是否乾淨。
- [ ] 確認依賴版本、環境變數及外部服務是否會影響驗證。
- [ ] 把每個計劃步驟對應到檔案、驗證方式與回退方式。
官方開發文件列出 Node.js 22.19+ 與 24+ 的支援範圍,並指出專案固定使用 pnpm 11.7.0;這類環境前提應納入計劃,而不能等到執行階段才發現測試命令無法重現。官方開發指南
DeepSeek Harness Plan Mode 會不會修改程式碼?
不能只憑模式名稱作保證。官方資料目前確認了 Plan Mode 狀態及權限、Session 事件等相關架構,但介面入口、預設行為與權限聯動仍可能隨開發者預覽版本變化。較穩妥的做法,是檢查當前 profile、工具政策與實際工作區狀態;若沒有明確的寫入限制,仍應把規劃環境放在只讀權限或獨立工作區中。
02第二步:把計劃轉成可交接的任務契約
研發團隊不應用「計劃寫完了」作為切換標準,因為計劃太粗會令下一位執行者重新調研,太細則會增加等待與審批負擔。較可靠的交接契約應包含四項內容:
- 範圍: 明確列出允許修改與禁止觸及的目錄。
- 依據: 說明每項結論來自哪個檔案、測試、設定或現有行為。
- 驗收: 指定命令、預期結果與不能接受的回歸。
- 回退: 指定提交邊界、資料備份或撤銷方式。
當這四項資料齊全,且審核者能在不重新瀏覽整個倉庫的情況下判斷風險,才適合由 Plan Mode 轉到執行階段。
Plan Mode 完成後怎麼轉為執行?
先不要直接沿用舊會話中的「已了解」狀態。應重新確認計劃關聯的提交、分支、工作區差異與依賴狀態,再由指定審核者批准寫入;執行後保留變更摘要、測試輸出及未完成項目。若任何一項基準已變動,應退回規劃,而不是把舊計劃硬套到新工作區。
03第三步:高風險專案分離規劃與執行環境
計劃模式不是天然安全邊界。它只能成為權限政策的一部分,不能取代憑據管理、沙盒、分支隔離與人工審批。
規劃環境應優先提供必要的讀取範圍,例如原始碼、測試設定與依賴描述;執行環境才按任務臨時擴大權限。以下內容不應在規劃階段預先暴露:
- 生產環境憑據、長期 API 金鑰與部署祕密。
- 不屬於本次任務的私人資料或其他專案工作區。
- 能直接觸發生產寫入、刪除或外部推送的工具。
- 沒有清楚審批紀錄的高權限 Shell 操作。
官方架構文件說明,工具登錄與執行流程本身具有受保護的政策層,而 Session log 會保存能夠影響模型上下文的持久化事件;這表示審查人員應同時檢查「模型看過甚麼」與「工作區改過甚麼」,不能只看最後的差異檔案。官方 Session 與工具架構說明
04遠端 Mac 工作區加入中斷恢復檢查
遠端執行時,計劃與實際工作區可能因會話斷線、伺服器重啟、分支切換或依賴重新安裝而脫節。因此,「能恢復會話」不等於「已恢復完整執行現場」。
重新連線後,應依序完成:
- [ ] 比對計劃建立時與目前的 Git 提交。
- [ ] 確認目前分支及 worktree 沒有被其他任務改寫。
- [ ] 重新檢查未提交差異、產生檔案與暫存資料。
- [ ] 確認依賴鎖定檔及環境變數仍然一致。
- [ ] 重新執行最小驗證命令,再恢復寫入。
- [ ] 將中斷前已完成、正在執行及尚未開始的項目分開記錄。
官方架構文件指出,Session log 可用於恢復、分叉、轉錄與持久化,但這只代表會話事件能被重建;它不代表遠端 Mac 的程序、暫存檔、外部服務連線或未寫入的 Shell 狀態必然仍然存在。官方 Session log 說明
遠程運行時計劃模式是否更安全?
只有在遠端工作區採用最小權限、獨立憑據、可追蹤提交與斷線後重新驗收時,風險才可能下降。單純把工作搬到遠端 Mac,或只開啟 Plan Mode,並不會自動阻止敏感資料外流,也不會替使用者確認執行現場仍然一致。
05用三種預設策略決定切換點
| 判斷條件 | 建議模式 | 切換觸發條件 | 必須留下的驗收產物 |
|---|---|---|---|
| 單檔、低影響、測試明確、可快速回退 | 直接執行 | 發現跨模組依賴、測試失敗或變更超出原範圍 | 差異檔案、測試輸出、回退提交 |
| 陌生倉庫、跨目錄、涉及共用介面 | 先規劃 | 入口、依賴、驗證命令與檔案範圍已確認,並完成審批 | 計劃文件、證據清單、批准紀錄 |
| 高風險、多人交接、遠端長時間執行 | 雙階段 | 工作區基準重新核對、權限臨時批准、執行者接手 | 計劃版本、權限變更、測試報告、恢復記錄 |
團隊的預設策略不應是「永遠 Plan Mode」或「永遠直接執行」。真正需要固定的是切換門檻:改動範圍擴大就回到規劃;倉庫證據不足就保持只讀;驗收責任不清就暫停寫入;遠端狀態不一致就重新建立基準。
對獨立開發者而言,這套規則能避免簡單修正被過度流程化;對團隊而言,它把審批責任從個人習慣轉成可檢查的任務契約;對安全負責人而言,則能把規劃、寫入與生產操作拆成不同權限階段。若需要進一步核對遠端工作區、權限與恢復條件,可先參考 NUKCLOUD 的遠端 Mac 工作區說明,再依需要選擇 NUKCLOUD 遠端 Mac 方案。
相較於在本機長時間保持單一 Agent 會話,直接執行的方案常見缺點是工作區狀態難以交接、權限容易隨手放大,以及斷線後很難證明實際執行現場仍與原計劃一致;相較於一開始就把所有任務送入 Plan Mode,固定規劃又會增加簡單修改的等待成本。若任務只是短期測試、臨時調研或需要一個可清理的 Mac 工作區,租用 NUKCLOUD 的遠端 Mac,配合提交基準、權限驗收與中斷恢復記錄,通常比把長期開發環境直接搬到不易隔離的共用主機更容易管理;但若工作負載長期穩定、需要實體周邊或必須完全掌控硬體,仍應評估自購 Mac,而不是勉強採用租用方案。