讓OpenClaw指揮Claude Code開發(fā)的最佳方案
導(dǎo)語
有時候把開發(fā)任務(wù)交給 Claude Code 就離開了做別的了,回來發(fā)現(xiàn)它執(zhí)行個三五步就停了,不是等你給權(quán)限就是問"您看這樣可以嗎?",哪怕你提前寫好了完整的實(shí)施計(jì)劃,它還是會中途停下來等你確認(rèn)。
要是能讓 OpenClaw 使用 Claude Code 進(jìn)行開發(fā),讓小龍蝦監(jiān)督它持續(xù)工作直到完全實(shí)施完成就好了。
于是我折騰了一整天,試了四種方案,踩了無數(shù)個坑,終于打通了這條鏈路:在飛書里提需求→OpenClaw 自動拆解任務(wù)→Claude Code 持續(xù)執(zhí)行→完成后發(fā)起 PR 通知驗(yàn)收。中間完全不需要人工介入。
最爽的是,整個過程 Claude Code 始終在同一個會話里,上下文是連續(xù)的,它記得之前做了什么,不會出現(xiàn)"我是誰我在哪"的情況。
如果你也想讓 AI 真正幫你托管開發(fā),而不是"擠牙膏式"的一輪一輪做,這篇文章就是為你寫的。

一、為什么不讓 OpenClaw 直接開發(fā)?
我試過讓 OpenClaw 直接開發(fā),但他對項(xiàng)目的工程級上下文能力還是很欠缺,Claude Code 則有幾個不可替代的優(yōu)勢:
第一,它有成熟的項(xiàng)目上下文持續(xù)集成優(yōu)化機(jī)制,以項(xiàng)目維度劃分工作區(qū),對項(xiàng)目的技術(shù)架構(gòu)、業(yè)務(wù)邏輯的理解能持續(xù)積累。
第二,它是專門為 coding 設(shè)計(jì)的 agent,工具鏈更完善,寫代碼的手感更好。
第三,長期迭代時,Claude Code 能記住之前的決策和改動,不會每次都從零開始。
所以我的目標(biāo)很明確:用 OpenClaw 當(dāng)"技術(shù) PM"負(fù)責(zé)任務(wù)拆解和調(diào)度,用 Claude Code 當(dāng)"執(zhí)行工程師"負(fù)責(zé)寫代碼。
在飛書里跟機(jī)器人說一聲"幫我開發(fā)個用戶注冊功能",然后該干嘛干嘛去。等 OpenClaw 通知我"做完了,PR 已發(fā)起",我去驗(yàn)收一下就行。中間不需要我反復(fù)確認(rèn)、反復(fù)給指令。
二、架構(gòu)設(shè)計(jì):OpenClaw 當(dāng) PM,Claude Code 當(dāng)工程師
想清楚分工后,架構(gòu)就清晰了:
飛書用戶 → OpenClaw(調(diào)度層) → Claude Code(執(zhí)行層)
飛書是入口,隨時隨地提需求,不用打開 IDE。
OpenClaw是技術(shù) PM,負(fù)責(zé)理解需求、拆解任務(wù)、調(diào)度執(zhí)行、整合結(jié)果。它有 LLM 能力,能跟人自然語言溝通,也能調(diào)用各種工具。
Claude Code是執(zhí)行工程師,負(fù)責(zé)具體的編碼工作。它專業(yè)、高效,而且能持續(xù)積累項(xiàng)目上下文。
關(guān)鍵設(shè)計(jì)點(diǎn):
OpenClaw 通過 exec 命令調(diào)用 acpx claude,每 5-10 秒輪詢一次輸出,識別到"Claude complete"標(biāo)記就知道任務(wù)完成了。如果 Claude Code 遇到問題停下來,OpenClaw 能基于對需求的理解自主決策,告訴它下一步該做什么。只有遇到權(quán)限等重大問題時,才會問我。
這樣一來,整個鏈路就活了。

三、核心難點(diǎn):持續(xù)會話是成敗關(guān)鍵
整個鏈路最難的地方,不是配置環(huán)境,不是寫調(diào)度邏輯,而是保持同一個 Claude Code 會話。
為什么這個這么重要?
因?yàn)?Claude Code 的上下文記憶是綁定在 session 上的。如果每次調(diào)用都是新 session,它就完全不記得之前做了什么,相當(dāng)于每次都要從零開始。這樣的話,OpenClaw 的調(diào)度就失去了意義——它得把之前的對話歷史重新講一遍,效率極低。
我卡在這里整整一天。
試了很多種辦法,一開始用官方推薦的 OpenClaw ACP 方式,配置了半天,一會兒是這個參數(shù)不對,一會兒是那個接口報(bào)錯。最煩的是,很多配置問題 OpenClaw 自己也排查不到,問它吧,它還可能說謊——工具調(diào)用的輸入輸出有點(diǎn)黑盒,看不到真實(shí)證據(jù)。
后來我學(xué)聰明了,每改一次配置就讓 OpenClaw 提供調(diào)用工具的真實(shí)日志,這才慢慢摸清楚問題在哪。
四、踩坑排查:四種方案對比
我把嘗試過的方案整理成表格,一目了然:
| 方案 | 會話復(fù)用 | OpenClaw 調(diào)度 | 流式輸出 | 狀態(tài) |
|---|---|---|---|---|
| ACP + resumeSessionId | ? | ? | ? | 失敗 |
| ACP + /acp steer | ? | ? | ? | 可用但不推薦 |
| acpx claude -s | ? | ? | ? | 可用但無調(diào)度 |
| Agent + exec acpx | ? | ? | ? | 推薦 |
方案一:ACP + resumeSessionId(失?。?/strong>
官方文檔說用 sessions_spawn 加上 resumeSessionId 參數(shù)就能復(fù)用會話。我配了半天,發(fā)現(xiàn)每次都是新會話。
后來仔細(xì)研究才發(fā)現(xiàn),resumeSessionId 是 OpenClaw ACP 會話的 ID,不是 Claude Code 的 session ID。復(fù)用 OpenClaw 的會話 ID 根本維持不了同一個 Claude 會話。這個參數(shù)有點(diǎn)雞肋,可能在 thread 和 mode=session 下才有用。
方案二:ACP + /acp steer(可用但不推薦)
這個方案能復(fù)用會話,但有個致命問題:/acp 指令只能人為發(fā)送給 OpenClaw,它自己不能執(zhí)行。也就是說,每一條指令都需要我手動發(fā)布,那直接用 Claude Code 不香嗎?
這個方案解決不了核心需求:Claude Code 中斷時,OpenClaw 自主決策繼續(xù)調(diào)度。
方案三:acpx claude -s(可用但無調(diào)度)
直接用 acpx claude -s 會話名 確實(shí)能復(fù)用會話,而且很簡單直接。但問題是不經(jīng)過 OpenClaw,無法發(fā)揮它的任務(wù)拆解和調(diào)度能力。
這就相當(dāng)于繞過了 PM,直接跟工程師對話。簡單任務(wù)還行,復(fù)雜任務(wù)就抓瞎了。
方案四:Agent + exec acpx(完美)
最終方案:OpenClaw Agent 通過 exec 調(diào)用 acpx claude -s 會話名。
這個方案兼顧了所有需求:
- OpenClaw 可以調(diào)度(拆解任務(wù)、整合結(jié)果)
- acpx claude 持續(xù)會話(-s 參數(shù))
- 支持流式輸出(--format json + 定期 poll)
- 用戶體驗(yàn)好(自動執(zhí)行,不需要手動指令)

五、最終方案詳解
架構(gòu)
用戶(飛書) ↓ OpenClaw Agent(任務(wù)調(diào)度層) - 理解需求(LLM) - 拆解任務(wù) - exec 調(diào)用 acpx claude - 整合結(jié)果 ↓ acpx claude(執(zhí)行層) - 持續(xù)會話(-s <name>) - 執(zhí)行編碼任務(wù) - NDJSON 流式輸出
關(guān)鍵配置
1. 安裝依賴
# 安裝 Claude Code CLI npm install -g @anthropic-ai/claude-code # 安裝 acpx CLI(必須) npm install -g acpx # 驗(yàn)證安裝 claude --version acpx --version
2. 配置 Claude Code(核心?。?/strong>
這是最關(guān)鍵的一步,很多人(包括我)都卡在這里。
為什么必須配置 ~/.claude/settings.json?因?yàn)?claude-agent-acp 調(diào)用 Claude Code CLI 時,環(huán)境變量可能不傳遞。Claude Code CLI 優(yōu)先讀取配置文件中的 model 字段。
# 手動編輯 ~/.claude/settings.json
{
"model": "qwen3.5-plus"
}注意是 model 字段,不是 Anthropic_model。我用環(huán)境變量配了半天沒生效,最后發(fā)現(xiàn)得改配置文件。

可選的環(huán)境變量(用于認(rèn)證):
export ANTHROPIC_BASE_URL="https://coding.dashscope.aliyuncs.com/apps/anthropic" export ANTHROPIC_API_KEY="sk-xxx"
3. OpenClaw 配置
最終方案不需要 OpenClaw acpx 插件,因?yàn)橹苯诱{(diào)用 acpx CLI。但為了其他功能,可以保留基礎(chǔ)配置:
{
"tools": {
"sessions": { "visibility": "all" },
"agentToAgent": { "enabled": true, "allow": ["*"] }
}
}4. 重啟 Gateway
openclaw gateway restart
會話復(fù)用
# 創(chuàng)建會話 acpx claude sessions new --name output-manager # 測試復(fù)用 acpx claude -s output-manager "收到請回復(fù)數(shù)字 11" # → 輸出:11 acpx claude -s output-manager "上一個數(shù)字 +2 等于多少" # → 輸出:13 ? 成功復(fù)用
流式輸出
acpx --format json claude -s output-manager "回復(fù)數(shù)字 11"
輸出 NDJSON 格式,每行一個事件。OpenClaw 每 5-10 秒 poll 一次,解析 thinking 和 message 字段,實(shí)時發(fā)送給用戶。
結(jié)束判斷
Claude Code 執(zhí)行結(jié)束會有一個"Claude complete"的標(biāo)記語,識別到這個就知道任務(wù)完成了。
六、拿走即用
快速開始
1. 安裝
npm install -g @anthropic-ai/claude-code npm install -g acpx
2. 配置
# 編輯 ~/.claude/settings.json
{
"model": "qwen3.5-plus"
}3. 創(chuàng)建會話
acpx claude sessions new --name my-project
4. 驗(yàn)證
# 第一輪 acpx claude -s my-project "收到請回復(fù) 11" # 第二輪(驗(yàn)證上下文) acpx claude -s my-project "上一個數(shù)字 +2 等于多少" # 應(yīng)該輸出 13

開源計(jì)劃
我已經(jīng)把這套方案封裝成了 skill,整理好會開源。到時候可以直接安裝使用,不用自己從頭配置。
寫在最后
雖然現(xiàn)在只能用 exec 方案,有點(diǎn)"曲線救國"的意思,但已經(jīng)能達(dá)到托管開發(fā)的目的。如果未來飛書能支持 thread,OpenClaw ACP 能豐富能力,我還是更希望用原生的 ACP 方式——那樣等同一個 agent 會話,有 session 記錄文件,很方便追溯完整對話過程,可靠性和便捷性都更高。
但在那之前,這個方案已經(jīng)足夠好用了。
到此這篇關(guān)于讓OpenClaw指揮Claude Code開發(fā)的文章就介紹到這了,更多相關(guān)OpenClaw指揮Claude Code開發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

OpenClaw+Claude Code插件打通AI全鏈路開發(fā)的完整實(shí)戰(zhàn)指南
這篇文章主要為大家介紹了OpenClaw-ClaudeCode插件通過引入AI Agent團(tuán)隊(duì)協(xié)作,實(shí)現(xiàn)了從需求分析到最終交付的完整軟件開發(fā)流程的自動化,,需要的朋友可以參考下2026-04-17


