如何在OpenClaw中调用OpenCode完成开发任务?

摘要:title: AI工具实践日记(二):在 OpenClaw 中调用 OpenCode 进行开发任务 date: 2026-02-12 12:00:00 +0800 categories: [AI工具, 开发实践, 树莓派]
引言:AI 开发需要"指挥中心" 上一篇日记讲了如何在树莓派上搭建 OpenClaw。这篇来说说真正用 OpenClaw 干活的体验。 直接用 Claude、GPT 或 OpenCode 写代码有个问题:对话散落在各个窗口,进度没法追踪,结果也不好管理。 OpenClaw 解决的就是这个问题——它像一个"指挥中心",让你能: 启动 AI 编程任务(后台运行,不阻塞) 实时监控进度(随时查看输出) 自动处理错误(卡住时自动恢复或报警) 统一管理上下文(workspace、memory、技能) 这篇日记记录了我用 OpenClaw + OpenSpec + OpenCode 组合开发任务看板的真实过程。 为什么要用 OpenSpec:规范先于代码 AI 编程的痛点 用 AI 写代码很方便,但有个致命问题:需求只存在于聊天记录里。 想象这个场景: 你跟 Claude 说:"帮我加个标签功能" AI 写好了代码 一周后你想改这个功能,但找不到当时的对话 你重新描述需求,但描述得不完全一样 AI 写的代码和之前不兼容 结果:代码一团糟,还得自己重写。 OpenSpec 是什么 OpenSpec 是一个规范驱动开发(Spec-Driven Development)框架。 它的核心理念:先写规范,再写代码。 所有需求、设计、任务都写成文档,放在 openspec/ 目录下。AI 按照规范文档执行,而不是根据聊天内容猜测。 OpenSpec 目录结构 openspec/ ├── specs/ # 系统行为的源头(当前状态) │ └── <domain>/ │ └── spec.md # 系统规格文档 ├── changes/ # 提议的变更(每个功能一个文件夹) │ └── <功能名>/ │ ├── proposal.md # 为什么要做(意图和范围) │ ├── design.md # 怎么做(技术方案) │ ├── tasks.md # 任务清单 ⭐ 最关键 │ └── specs/ # 变更的具体规格 └── config.yaml # 项目配置 使用 OpenSpec 的必要性 1. 需求可追溯 方式 需求在哪里 一个月后还能找到吗 直接聊天 聊天记录 ❌ 找不到了 OpenSpec changes/功能名/proposal.md ✅ 永远在文件里 2. 设计可复用 设计文档 design.md 记录了技术方案。下次遇到类似功能,可以直接参考。 3. 任务可拆分 tasks.md 把复杂功能拆成可执行的小任务。AI 按清单逐个完成,不会遗漏。 4. 进度可监控 每个任务完成后,AI 输出 [DONE] 任务X.X。你可以实时知道: 完成了多少任务 还剩多少任务 有没有卡住 5. 变更有历史 # 查看所有变更 $ ls openspec/changes/ add-archive-feature/ # 归档功能 add-task-tags/ # 标签功能 migrate-to-sqlite/ # 数据库迁移 # 每个变更都有完整的提案、设计、任务记录 不用 OpenSpec 的后果 我做过对比实验: 项目 使用 OpenSpec 不使用 OpenSpec 标签功能 6个任务,10分钟,一次成功 反复沟通,30分钟,代码混乱 数据库迁移 24个任务拆成2个变更,5分钟 直接说"迁移到SQLite",卡住 可维护性 3个月后仍能看懂设计 1周后忘记当时怎么想的 结论:OpenSpec 是 AI 编程的"基础设施",不用它就是在裸奔。
阅读全文