2128 字
11 分鐘

Qwen Code 0.23.4:用 Codex executor 建立可控的 Agent 工作流

Qwen Code 0.23.4 在 2026 年 9 月 14 日發布,最值得注意的不是單一模型更新,而是它把外部原生 Agent 接進工作流:現在可以從 Qwen Code 委派一個由本機 Codex 執行的任務。這也同時帶來新的信任工作區、權限模式與不可續接邊界。

直接結論是:先用唯讀的 Codex review agent 驗證整條鏈路,再把寫入權限縮到專用 worktree 和明確的 auto-edit 工作階段。 yolo 不是升級後的預設值,也不應該成為第一個排錯手段。

0.23.4 這次到底新增了什麼#

變更對日常開發的意義
Codex executor 與 native agent builtinsQwen Code 可以委派給 PATH 上的原生 Codex,使用 Codex 自己的模型與驗證設定
Web Shell 的 Goal approved 後自動啟動已批准的 Goal 不必再手動複製 /goal set;仍可用 model.goalMaxTurns 與 model.goalMaxActiveMinutes 設上限
peer endpoint外部程式可以加入跨 session 訊息;適合整合控制面,但要先釐清誰能送訊息與誰擁有 session
Agent Board不同時間啟動的 Agent 可以共享工作進度,較適合拆分研究、實作與審查
hook 輸入增加 permission_mode、agent_id、prompt_idhook 可以更精確記錄執行來源,也要重新檢查既有 hook 是否依賴舊格式

其中 Codex executor 是這篇的主角;它不是把 Qwen 的模型換成 Codex,而是把某一個子任務交給另一個已安裝的原生工具。

Codex executor 和一般 Qwen subagent 的差異#

一般 subagent 使用 Qwen Code 自己的模型與工具邊界;codex executor 則委派給另外安裝的 codex executable。找不到執行檔時,Qwen Code 不會自動退回自己的模型,因此 PATH 和登入狀態都是前置條件。

原生 Codex 任務的幾個邊界要先記住:

  • 預設在前景執行;需要背景通知時才設定 run_in_background: true。
  • Qwen Code 會以一次性的 app-server thread 執行 Codex 任務;完成後不能向同一個原生 Codex 任務送訊息或 resume,要重新建立任務。
  • 原生 Codex 的進度、token 數與費用不會回報給 Qwen Code。
  • 原生 executor 需要 trusted workspace,safe mode 不能啟動;支援 macOS、Linux 與 WSL,原生 Windows 啟動會在開始前被拒絕。

這表示它很適合「讀取目前 diff、做一次獨立審查、回傳結果」,但不適合被當成一個可以長期聊天和逐步接手的 Qwen 子 session。

升級前先確認執行環境#

在專案根目錄先確認兩個版本和執行檔位置:

Terminal window
qwen --version
command -v codex
codex --version

如果 command -v codex 沒有輸出,先安裝並登入原生 Codex,再回到 Qwen Code 測試。不要把 API key 寫入 agent Markdown;Qwen executor 會使用原生 Codex 自己的驗證與模型設定。

接著確認專案是 trusted workspace。若工作目錄包含 .env、部署憑證或尚未推送的私有程式碼,先建立一次性的 worktree,並把「審查」和「修改」拆成不同任務。可以參考 Git worktree 與 AI coding agent 的隔離工作流

建立最小的唯讀 Codex review agent#

專案層級的自訂 subagent 放在 .qwen/agents/。先建立 .qwen/agents/codex-review.md:

---
name: codex-review
description: Review the current diff and report verified defects without editing files
executor:
kind: codex
command: codex
approvalMode: plan
background: false
---
Review the current diff.
Do not modify files, run destructive commands, or ask for broad permissions.
Report only reproducible defects, affected files, and the smallest verification command.

這份設定的重點有三個:

  1. kind: codex 選擇原生 Codex executor;省略 executor.args 時,Qwen Code 會使用 codex app-server —stdio。
  2. approvalMode: plan 讓這個審查角色先維持分析導向;提示文字是工作要求,不是作業系統層級的安全邊界。
  3. background: false 讓目前 turn 直接等結果,方便第一次安裝時觀察失敗位置。

從 Qwen Code 呼叫它時,要求主 Agent 使用 codex-review 審查目前 diff,再檢查:

Terminal window
git status --short
git diff --check

若 review agent 找不到 Codex,先修 PATH、登入和 trusted workspace,不要立刻改成 yolo。

要寫檔時,先分清楚三種權限模式#

Qwen Code 的 agent 可以用 approvalMode 控制工具核准方式,但父 session 的寬鬆模式可能優先於 agent 本身的設定:

模式適合用途風險
plan讀檔、分析、列出修改計畫不應執行修改
auto-edit在已隔離 worktree 內自動修改和測試會自動核准工具操作,仍要限制工作目錄
yolo只有在明確、短期且可拋棄的環境使用包含可能具破壞性的工具,不能當成一般升級設定

對需要寫入的 Codex 任務,先建立專用 worktree,明確選擇 auto-edit,再設定 runConfig.max_time_minutes 或等效的執行上限。原生 Codex 若需要額外權限或使用者輸入,Qwen Code 不會替它暫停等待確認;這正是不能把它丟進含有正式憑證的工作目錄的原因。

另外,Qwen Code 的 permissions 設定和 slashCommands.disabled 是兩件事。前者控制工具的 allow、ask、deny 規則,例如:

{
"permissions": {
"allow": ["Bash(git diff *)", "Bash(pnpm test *)"],
"ask": ["Bash(git push *)", "Edit"],
"deny": ["Bash(rm -rf *)", "Read(.env)"]
}
}

互動式 CLI 可以使用 /permissions 檢視和修改規則。這層設定不能取代 worktree 隔離,也不能讓原生 Codex 變成可 resume 的長期 session;它只是把可核准的工具操作範圍縮小。

Goal、peer endpoint 與 hooks 要怎麼採用#

0.23.4 的 Goal 自動啟動適合固定邊界的背景工作,例如在 Web Shell 中先批准一個有明確 turn 和分鐘上限的檢查。不要因為省掉一次 /goal set 就移除原本的輸出、時間和檔案範圍限制。

peer endpoint 可以讓外部程式加入跨 session 訊息。若要做排程器或內部控制面,先記錄 session owner、傳送者驗證、可接受的命令和撤銷方式;這是整合設計的安全邊界,不應只因為 endpoint 存在就把它暴露到公開網路。

每個 agent 的 hooks 也要特別小心:Qwen Code 0.23.4 的文件指出,agent 執行期間註冊的 hook 會對 session 中符合條件的事件觸發,不只限於該 agent 自己的工具呼叫。因此第一版優先放安全的 logging hook,不要讓它在共享 session 中自動改寫檔案或權限。

升級後的最小驗證清單#

依序做一次即可留下可重現證據:

  1. qwen —version 確認已切到 0.23.4,codex —version 確認原生執行檔在預期的 PATH。
  2. 用 approvalMode: plan 的 codex-review 審查一個刻意很小的 diff。
  3. 確認 review 完成後 git status —short 沒有非預期檔案。
  4. 只在 disposable worktree 測試 auto-edit,限制命令、工作目錄和執行時間。
  5. 可驗證完成的 AI coding agent 工作流 把 diff、測試命令和結果一起留下。
  6. 若要依賴背景 Goal 或 Agent Board,另外測試中斷、重啟、權限拒絕和輸出遺失時的回復路徑。

這個清單刻意把「Qwen Code 升級成功」和「Codex 能安全修改正式專案」分開。前者只代表 executor 能啟動;後者還需要 worktree、權限、測試和人工 review 的證據。

結論:把 0.23.4 當成委派邊界的升級#

Qwen Code 0.23.4 新增的 Codex executor,讓原生 Codex 成為可委派的單次 Agent;Goal 自動啟動、peer endpoint 和 Agent Board 則擴大了背景工作與跨 session 整合的可能性。最穩妥的落地順序是:先確認 PATH 和 trusted workspace,再用 plan-mode review agent 驗證,最後才在隔離 worktree 以 auto-edit 執行有界的修改。

不要把 yolo、共享正式目錄或「模型回覆說完成」當成完成條件。真正可交付的結果仍然是可檢查的 diff、測試輸出和可回退的執行紀錄。

常見問題#

Q: 沒有安裝 Codex,Qwen Code 會自動用自己的模型代替嗎?#

A: 不會。codex executor 需要 PATH 上另行安裝的 codex executable,並使用原生 Codex 的驗證與模型設定;執行檔不存在時會直接失敗。

Q: 原生 Codex 任務可以像一般 subagent 一樣繼續對話嗎?#

A: 不行。Qwen Code 會替 Codex 建立一次性的 app-server thread,完成後不能送訊息或 resume。需要追問時,應保留上一個結果並建立新的任務。

Q: 為什麼用了 approvalMode: plan,還是要小心父 session?#

A: 父 session 的 auto-edit 或 yolo 等寬鬆模式可能優先,且提示文字不是安全邊界。請把敏感檔案放在隔離 worktree,搭配 permissions 規則和可驗證的 diff;不要只相信 agent frontmatter。

參考資料:

Qwen Code v0.23.4 release notes

Qwen Code:Subagents

Qwen Code:Settings permissions

Qwen Code 0.23.4:用 Codex executor 建立可控的 Agent 工作流
https://laplusda.com/posts/qwen-code-0-23-4-codex-executor-agent-workflow/
作者
Zero
發佈於
2026-09-15
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。