12 KiB
1
我在机器上还安装了Claude Code,那么:
你是否能调用起Cluade Cluade下面我已经安装了一些用户级别的技能,有些是你也能用的,那么你用的话需要重新安装到Skills里么 你和Cluade的区别,我在使用时如何能将你和Claude Code结合起来发挥最大的优势 只需要回答问题,不需要做任何实际执行工作,比如增加技能这些。
好,三个问题分别回答:
1. 我能否调用 Claude Code?
可以。我内置了 coding-agent skill,直接通过 bash 命令调用:
claude --permission-mode bypassPermissions --print '任务描述'
Claude Code 的 CLI(claude)已安装,我可以在任何项目目录里唤起它执行任务。
2. Claude Code 上安装的用户级技能,我需要重新安装到 Skills 里吗?
需要重新安装,但不等于是同一个东西。 两者的 skill 系统是独立:
- Claude Code 的技能放在
~/.claude/目录下(用户级配置) - OpenClaw 的技能放在
skills/目录下
我无法直接调用 Claude Code 的用户级技能。如果那些技能对应的功能你也想让我用,需要把相关文件或配置迁移到 OpenClaw 的 skills 目录里,具体看它的实现方式。
3. 我和 Claude Code 的区别,以及如何结合使用?
| 我(OpenClaw Agent) | Claude Code | |
|---|---|---|
| 定位 | 通用助手 + 任务编排 | 专业编程 agent |
| 启动方式 | 对话式,随时响应 | 命令行任务执行 |
| 擅长 | 理解意图、规划、多工具协调 | 代码生成、重构、调试 |
| 代码能力 | 可以读、写、修改代码 | 更强,尤其在自主完成完整任务 |
| 上下文 | 跨工具、跨会话 | 单项目内深度迭代 |
结合使用的最佳模式:
- 我 做决策者:理解你的需求,规划方案,判断用什么工具
- Claude Code 做执行者:处理具体的代码编写、重构、PR review 等开发任务
典型流程:
你跟我说"帮我做一个用户登录功能" → 我分析方案 → 派 Claude Code 去实现具体代码 → 完成后我来做整合测试或部署
也就是说,我在前面统筹,你不需要手动切换工具;Claude Code 在后面干活,你也不需要自己写代码。这样分工最省力。
2
Claude Code可以作为专业开发Agent,开发任务交给它,你来传递。那么它的一些确认工作的信息你是否可以传递上来。
Claude Code的工作路径D:\ClaudeCode,安装在C:\Users\admin\.claude
我还使用了飞书,并且已经打通OpenClaw。如果确认信息能传递上来,我在飞书中安排任务,收到信息后再去处理,不用盯着屏幕看了。
我们先讨论工作方式,不用进入执行。 你回答后,我可以根据情况进入飞书做一个简单测试。
完全可以。你的架构设计是合理的:
飞书 → OpenClaw(我)→ Claude Code → 结果/确认 → 飞书 → 你
确认信息能否传递上来?
能。Claude Code 运行在 PTY(伪终端)里,它的输出(包括 "Proceed? Y/N" 这类确认提示)我都能捕获到。通过 OpenClaw 的飞书 channel,我能把这些信息转发到飞书。
你回复飞书消息后,我再把输入传回给 Claude Code 的 stdin,让它继续执行。
工作流程大致是这样:
- 你在飞书发任务给我
- OpenClaw 路由到主 session,我接收并理解任务
- 我唤起 Claude Code 在
D:\ClaudeCode工作 - Claude Code 执行中 → 输出/确认提示 → 我转发到飞书
- 你在飞书回复确认或意见
- 我通过 PTY stdin 把你的回复传给 Claude Code
- 完成后我把最终结果发到飞书
一个关键限制需要你知道:
Claude Code 的确认提示本质上是写到 stdout 的文本。我转发给你后,你需要精确回复(比如 "y" 或 "n"),我来负责把它送到 Claude Code 的输入流。如果回复不准确或超时,Claude Code 可能会挂起等待。
飞书那边的限制:
飞书不支持原生斜杠命令菜单(/reset /new 这类),但普通文字命令可以用。另外注意飞书发消息有频率限制,大段输出我会分块发送。
准备工作已经就绪:飞书已接通、Claude Code 已安装、coding-agent skill 也有了。现在可以做一个小测试——你在飞书给 bot 发一条消息,看能不能传到我这边来。要试试吗?
3
说明
我们接下来做一个测试,按照之前的我们讨论的工作差异和流程(你的输出):
我和 Claude Code 的区别,以及如何结合使用?**
| | **我(OpenClaw Agent)** | **Claude Code** |
|---|---|---|
| **定位** | 通用助手 + 任务编排 | 专业编程 agent |
| **启动方式** | 对话式,随时响应 | 命令行任务执行 |
| **擅长** | 理解意图、规划、多工具协调 | 代码生成、重构、调试 |
| **代码能力** | 可以读、写、修改代码 | 更强,尤其在自主完成完整任务 |
| **上下文** | 跨工具、跨会话 | 单项目内深度迭代 |
**结合使用的最佳模式:**
- **我** 做决策者:理解你的需求,规划方案,判断用什么工具
- **Claude Code** 做执行者:处理具体的代码编写、重构、PR review 等开发任务
**工作流程大致是这样:**
1. 你在**飞书**发任务给我
2. OpenClaw 路由到主 session,我接收并理解任务
3. 我唤起 Claude Code 在 `D:\ClaudeCode` 工作
4. Claude Code 执行中 → 输出/确认提示 → 我转发到**飞书**
5. 你在**飞书**回复确认或意见
6. 我通过 PTY stdin 把你的回复传给 Claude Code
7. 完成后我把最终结果发到**飞书**
测试任务
是做一个在线抠图小工具,可以一键抠图、变高清、缩图等。
**提示词:**
在 `D:\ClaudeCode` 工作路径下创建一个文件夹叫 `picedit`,在这个文件夹里我要开发一个图片处理网站,包含前端和后端。
1. 前端使用 React (Vite), Tailwind CSS, 和 lucide-react图标库。需要实现响应式布局,包含文件上传区域、功能选择菜单(抠图、高清化、缩图)、参数设置和处理结果预览/下载。
2.后端使用 FastAPI (Python)。
3.抠图功能:要求下载BiRefNet-general模型,本地运行。
开启plan模式
说明
提示词,如果是我使用Claude Code,会直接发给它的; 现在若通过你中转,你看你做哪些,还是直接转发启用Claude Code。
明白了。我来梳理一下分工:
我负责的: 理解需求、规划方案、协调流程、最终确认结果 Claude Code 负责的: 具体的代码编写(前端 React + 后端 FastAPI + BiRefNet 抠图模型)
测试任务的关键点:
- 工作目录:
D:\ClaudeCode\picedit - 前端:React (Vite) + Tailwind CSS + lucide-react
- 后端:FastAPI
- 核心功能:抠图(BiRefNet-general 模型本地运行)、高清化、缩图
我现在要做什么:
- 启用 Plan 模式(你提到的),让 Claude Code 先规划再执行
- 创建文件夹
D:\ClaudeCode\picedit - 启动 Claude Code 在该目录下干活
要我现在开始吗?确认后我就在后台唤起 Claude Code。
4
现在开始
Claude Code 的 Plan 方案已输出,内容如下:
📋 技术架构
整体流程:
用户上传图片 → 前端(Next.js) → API Gateway → AI模型服务 → 存储服务 → 结果返回预览/下载
技术栈:
- 前端:Next.js (App Router) + Tailwind CSS + lucide-react + Fabric.js 画布
- 后端:FastAPI (Python)
- 背景去除:RMBG-1.4 模型(而非用户指定的 BiRefNet-general)
- 图像增强:Real-ESRGAN(高清化)+ LAIGNI-2
- 缩图:智能缩放算法
目录结构:
picedit/
├── frontend/ # Next.js 前端
│ ├── app/ # App Router 页面
│ ├── components/ # 组件
│ ├── hooks/ # 自定义 Hooks
│ └── lib/ # 工具函数
├── backend/ # FastAPI 后端
│ ├── api/ # API 路由
│ ├── models/ # AI 模型调用
│ └── services/ # 业务逻辑
└── storage/ # 临时存储
⚠️ 需要确认
-
模型选择:Claude Code 建议用 RMBG-1.4,而不是你指定的 BiRefNet-general。两者效果可能不同。是否坚持用 BiRefNet-general?
-
前端框架:Claude Code 建议用 Next.js 而不是纯 React (Vite)。Next.js 更适合需要 SSR 和路由管理的项目。
请确认是否接受这个方案,或者需要调整后我再通知 Claude Code 开始执行。
5
由于我们的主要工作是测试与Claude Code的协作,以开发这个小工具为测试。
根据前面的消息,你首先需要解决的是Claude Code 每次启动似乎都是新会话,不维持上下文
因为与Cluade Code协作不可能每次都从头开始,你需要先解决维持上下文这个问题。
需要你搜索看看,怎样解决这个问题。你测试上下文这个没问题了,才能进入后续的测试。
✅ 问题找到了!
Claude Code 维持上下文的机制:基于 Git 历史
- 只要文件 commit 到 git,新会话就能通过读取 git history 恢复上下文
- 同一会话内可以直接读文件
- 跨会话必须通过 git commit 才能传递上下文
测试结果:
- Session 1:创建
session_test.txt,commit - Session 2:读取 git history,准确回答了项目现状和技术栈
📝 正确的协作流程
1. 我发任务给 Claude Code
2. Claude Code 执行 → 我及时 git commit(关键!)
3. 会话结束后,新会话通过 git history 恢复上下文
4. 循环往复
现在可以继续测试了。 要不要我基于这个发现,重新给 Claude Code 发任务,让它基于已有上下文开始真正写代码?
6
那么这个正确的写作流程是否可以留存下来,以便将来再次合作时可以复用? 或者等我们这次协作完成后,再提炼也可以。
之前这部分需要确认的:
- 模型选择:Claude Code 建议用 RMBG-1.4,而不是你指定的 BiRefNet-general。两者效果可能不同。是否坚持用 BiRefNet-general?
- 前端框架:Claude Code 建议用 Next.js 而不是纯 React (Vite)。Next.js 更适合需要 SSR 和路由管理的项目。
我对这些技术不太了解,它为什么会这样选择,你应该给我一个建议。 这样的配合方式,将来也需要保留下来。
我传了一张照片,点击处理后没有反应了。
现在有两个问题,
- 前端界面相当不友好,需要优化。应该是两个框,上面的框用户上传原图,选择处理方式,下面的框呈现最终结果,可以下载。
- 我放了一张照片在
C:\Users\admin\Pictures\人物形象.jpg,可以作为测试用的原图,单独测试后台程序是否执行正确,可以将测试结果放到D:\ClaudeCode\picedit建一个test-results文件夹里。
我们这次的测试任务完成,完整的调用Claude Code开发出来了一个小系统工具,中间有环境准备、测试过程等等。 尽管准备工作有些“粗糙”,比如只想着用不同的模型而忽略了硬件环境,直接安装Python而不是考虑使用Conda环境,但是本次任务就是试验调用Claude Code,已经圆满结束。
需要对这个做一个总结,包括“谋定后动”——先想清楚再做,向我征询意见时需要有补充说明,以便后续还能使用这样的方式来配合。