OpenClaw指挥Claude Code开发实战测评

2026-06-05阅读 0热度 0
OpenClaw

导语

将开发任务交给 Claude Code 后,转身离开工位,回来却发现进程只走了几步就陷入停滞——要么在等待权限确认,要么弹出“您看这样可以吗?”的询问。即便提前写好了完整的实施计划,它依然会在中途停下来等待人工反馈。

能否让 OpenClaw 驱动 Claude Code 执行开发,由小龙虾(OpenClaw)全程监督,确保任务持续推进直至完全落地?经过一整天的反复调试,尝试四种方案,踩过无数坑,最终打通了这条自动化链路:在飞书中提交需求 → OpenClaw 自动拆解任务 → Claude Code 持续执行 → 完成后发起 PR 并通知验收。整个过程无需任何人工干预。

最令人惊喜的是,Claude Code 始终运行在同一个会话内,上下文连续,能准确记住之前的操作,不会出现“我是谁、我在哪”的断片问题。

如果你也希望让 AI 真正托管开发工作,而不是像“挤牙膏”一样一轮一轮手动操作,这篇文章正是为你准备的。

一、为什么不让 OpenClaw 直接开发?

尝试过让 OpenClaw 直接开发,但它对项目的工程级上下文理解能力仍然不足。Claude Code 具备几个不可替代的核心优势:

第一,它拥有成熟的项目上下文持续集成优化机制,能按项目维度划分工作区,对技术架构和业务逻辑的理解可以不断累积。

第二,它是专为 coding 设计的 agent,工具链更完善,写代码的体验更流畅。

第三,长期迭代时,Claude Code 能记住之前的决策和改动,避免每次从零开始。

因此,目标非常明确:用 OpenClaw 充当“技术 PM”,负责任务拆解与调度;用 Claude Code 充当“执行工程师”,负责具体编码。

在飞书中对机器人说一句“帮我开发一个用户注册功能”,然后可以离开去做其他事情。等 OpenClaw 通知“做完了,PR 已发起”,回来验收即可。整个过程无需反复确认或重复下指令。

二、架构设计:OpenClaw 当 PM,Claude Code 当工程师

分工明确后,架构自然清晰:

飞书用户 → OpenClaw(调度层) → Claude Code(执行层)

飞书作为入口,随时随地提交需求,无需打开 IDE。

OpenClaw 担任技术 PM,负责理解需求、拆解任务、调度执行、整合结果。它具备 LLM 能力,能通过自然语言与人沟通,也能调用各类工具。

Claude Code 担任执行工程师,负责具体的编码工作。它专业高效,并能持续积累项目上下文。

关键设计点:

OpenClaw 通过 exec 命令调用 acpx claude,每 5-10 秒轮询一次输出,识别到“Claude complete”标记即可判定任务完成。如果 Claude Code 遇到问题暂停,OpenClaw 能基于对需求的理解自主决策,告知它下一步操作。只有当遇到权限等重大问题时,才会请求用户介入。

这样一来,整个链路就活了起来。

三、核心难点:持续会话是成败关键

整个链路最困难的地方,不是配置环境,也不是编写调度逻辑,而是保持同一个 Claude Code 会话。

为什么如此重要?因为 Claude Code 的上下文记忆绑定在 session 上。如果每次调用都是新 session,它完全不记得之前做了什么,相当于每次从零开始。这种情况下,OpenClaw 的调度失去意义——它需要把之前的对话历史重新讲述一遍,效率极低。

这一步卡了整整一天。

尝试了很多种方法,最初使用官方推荐的 OpenClaw ACP 方式,配置了半天,不是参数不对,就是接口报错。更麻烦的是,很多配置问题OpenClaw 自己也排查不到,询问它时,它甚至可能给出错误信息——工具调用的输入输出有些黑盒,看不到真实证据。

后来学到经验,每次修改配置后,让 OpenClaw 提供调用工具的真实日志,这才逐步摸清问题所在。

四、踩坑排查:四种方案对比

现将尝试过的方案整理成表格,一目了然:

方案会话复用OpenClaw 调度流式输出状态
ACP + resumeSessionId失败
ACP + /acp steer可用但不推荐
acpx claude -s可用但无调度
Agent + exec acpx推荐

方案一:ACP + resumeSessionId(失败)

官方文档说明使用 sessions_spawn 加上 resumeSessionId 参数即可复用会话。配置了半天,发现每次都是新会话。

深入排查后发现,resumeSessionId 是 OpenClaw ACP 会话的 ID,并非 Claude Code 的 session ID。复用 OpenClaw 的会话 ID 根本无法维持同一个 Claude 会话。该参数实用性有限,可能仅在 thread 和 mode=session 下才有效。

方案二:ACP + /acp steer(可用但不推荐)

该方案能复用会话,但存在致命问题:/acp 指令只能由人工发送给 OpenClaw,它自身无法自动执行。这意味着每一条指令都需要手动发布,既然如此,直接使用 Claude Code 不是更直接?

这个方案无法解决核心需求:Claude Code 中断时,OpenClaw 自主决策并继续调度。

方案三:acpx claude -s(可用但无调度)

直接使用 acpx claude -s 会话名 确实能复用会话,而且操作简单直接。但问题在于不经 OpenClaw,无法发挥其任务拆解和调度能力。

这相当于绕过了 PM,直接与工程师对话。简单任务尚可,复杂任务则难以应对。

方案四:Agent + exec acpx(完美)

最终方案:OpenClaw Agent 通过 exec 调用 acpx claude -s 会话名

该方案兼顾了所有需求:

  • OpenClaw 可以调度(拆解任务、整合结果)
  • acpx claude 维持持续会话(-s 参数)
  • 支持流式输出(--format json + 定期 poll)
  • 用户体验好(自动执行,无需手动指令)

五、最终方案详解

架构

用户(飞书)↓OpenClaw Agent(任务调度层)- 理解需求(LLM)- 拆解任务- exec 调用 acpx claude- 整合结果↓acpx claude(执行层)- 持续会话(-s )- 执行编码任务- NDJSON 流式输出

关键配置

1. 安装依赖

# 安装 Claude Code CLInpm install -g @anthropic-ai/claude-code# 安装 acpx CLI(必须)npm install -g acpx# 验证安装claude --versionacpx --version

2. 配置 Claude Code(核心!)

这是最关键的一步,很多人都卡在此处。

为什么必须配置 ~/.claude/settings.json?因为 claude-agent-acp 调用 Claude Code CLI 时,环境变量可能不传递。Claude Code CLI 优先读取配置文件中的 model 字段。

# 手动编辑 ~/.claude/settings.json{  "model": "qwen3.5-plus"}

注意是 model 字段,不是 Anthropic_model。使用环境变量配置了半天没生效,最后发现必须修改配置文件。

可选的环境变量(用于认证):

export ANTHROPIC_BASE_URL="https://coding.dashscope.aliyuncs.com/apps/anthropic"export ANTHROPIC_API_KEY="sk-xxx"

3. OpenClaw 配置

最终方案不需要 OpenClaw acpx 插件,因为直接调用 acpx CLI。但为了其他功能,可以保留基础配置:

{  "tools": {    "sessions": { "visibility": "all" },    "agentToAgent": { "enabled": true, "allow": ["*"] }  }}

4. 重启 Gateway

openclaw gateway restart

会话复用

# 创建会话acpx claude sessions new --name output-manager# 测试复用acpx claude -s output-manager "收到请回复数字 11"# → 输出:11acpx claude -s output-manager "上一个数字 +2 等于多少"# → 输出:13 ✅ 成功复用

流式输出

acpx --format json claude -s output-manager "回复数字 11"

输出 NDJSON 格式,每行一个事件。OpenClaw 每 5-10 秒 poll 一次,解析 thinkingmessage 字段,实时发送给用户。

结束判断

Claude Code 执行结束会有一个“Claude complete”的标记语,识别到这个即可判定任务完成。

六、拿走即用

快速开始

1. 安装

npm install -g @anthropic-ai/claude-codenpm install -g acpx

2. 配置

# 编辑 ~/.claude/settings.json{  "model": "qwen3.5-plus"}

3. 创建会话

acpx claude sessions new --name my-project

4. 验证

# 第一轮acpx claude -s my-project "收到请回复 11"# 第二轮(验证上下文)acpx claude -s my-project "上一个数字 +2 等于多少"# 应该输出 13

开源计划

已经将此方案封装成 skill,整理完成后会开源。届时可直接安装使用,无需从头手动配置。

写在最后

虽然目前只能用 exec 方案,有些“曲线救国”的味道,但已能实现托管开发的目标。如果未来飞书能支持 thread,OpenClaw ACP 能丰富能力,更希望采用原生的 ACP 方式——那样相当于同一个 agent 会话,有 session 记录文件,便于追溯完整对话过程,可靠性和便捷性都会更高。

但在那之前,这个方案已经足够好用了。

创作:OpenClaw × Anton
创作时间:约 2 小时(素材收集 1 小时 + 写作 1 小时)

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策