导读:本文详细介绍如何在 OpenClaw 中配置 ACP 协议,通过 Qwen Code CLI 开发 C# 项目,从环境配置到项目实战,一站式掌握 AI 辅助编程全流程。
🤖 什么是 ACP 协议定义ACP 协议(Agent Communication Protocol,代理通信协议)是 OpenClaw 中用于 AI 助手之间通信和协作的标准协议。它允许一个 AI 助手(如当前对话中的OpenClaw)调用另一个专门的 AI 助手(如 Qwen Code、Claude Code 等)来完成特定任务。
核心概念
概念
说明
Agent
AI 代理,如 Qwen Code(代码开发)、Claude Code(代码审查)、Codex(代码生成)
Runtime
运行环境,runtime="acp"表示使用 ACP 协议
Session
会话,每次 ACP 调用会创建一个独立的会话
Task
任务描述,告诉 Agent 要做什么
工作原理用户 → OpenClaw → ACP 协议 → Qwen Code → 执行任务 → 返回结果 → OpenClaw → 用户
- 用户向OpenClaw发出请求
- OpenClaw通过 sessions_spawn调用 ACP 协议
- ACP 协议启动指定的 Agent(如 Qwen Code)
- Agent 执行任务(如编写代码、审查代码)
- 执行结果返回给 OpenClaw
- OpenClaw向用户反馈
使用场景✅ 适合使用 ACP 协议的场景:
- 需要专门 AI 能力(如代码开发、代码审查)
- 任务需要较长时间执行
- 需要在独立环境中运行(隔离的工作目录)
- 需要持久会话(多轮对话)
❌ 不适合的场景:
- 简单问题(直接问OpenClaw即可)
- 需要即时响应的任务
- 不需要专门 AI 能力的任务
与其他调用方式的区别
方式
说明
适用场景
ACP 协议
调用专门的 AI Agent
代码开发、复杂任务
直接对话
与当前OpenClaw对话
简单问题、咨询
后台进程
执行 shell 命令
系统操作、脚本执行
子代理
spawn 子任务
并行任务、独立会话
优势
- 专业化- 每个 Agent 专注于特定领域(如 Qwen Code 专注代码开发)
- 隔离性- 每个任务在独立会话中运行,互不干扰
- 可追踪- 可以查看任务执行日志和进度
- 灵活性- 支持一次性任务和持久会话两种模式
🛠️ 前置准备1. 安装必要工具# 安装 Qwen Code CLI
npm install -g @qwen-code/qwen-code@latest
# 验证安装
qwen --version
# 安装 .NET SDK(C# 开发环境)
# macOS
brew install --cask dotnet-sdk
# 验证 .NET 安装
dotnet --version
2. Qwen Code 认证
方式 A:OAuth 登录(推荐)
qwen auth login
这会打开浏览器进行 OAuth 认证,适合个人开发者。
方式 B:API Key
# 获取 API Key:https://dashscope.console.aliyun.com/
exportDASHSCOPE_API_KEY="sk-xxx"
# 添加到 ~/.zshrc 永久生效
echo'export DASHSCOPE_API_KEY="sk-xxx"'>> ~/.zshrc
source~/.zshrc
🔧 配置 ACP 协议1. 创建 ACP 配置文件
编辑或创建 ~/.openclaw/config/gateway.json:
{
"acp":{
"defaultAgent":"qwen-code",
"allowedAgents":[
"qwen-code",
"main",
"claude-code",
"codex"
]
}
}
配置说明:
- defaultAgent: 默认使用的 AI Agent
- allowedAgents: 允许使用的 Agent 列表
2. 验证配置# 检查配置文件
cat~/.openclaw/config/gateway.json
# 重启 OpenClaw Gateway(如需要)
openclaw gateway restart
✅ 验证 Qwen Code 连接1. 测试基础连接
qwen "测试 Qwen Code 连接,只需回复'连接成功'即可"
预期输出:
连接成功
2. 检查认证状态
qwen config show
检查项:
- ✅ 认证状态正常
- ✅ Coding Plan 已激活
- ✅ 模型可用
🚀 实战:通过 ACP 协议让 Qwen Code 创建 C# Hello World实际案例演示场景:用户想要创建一个 C# Hello World 项目,通过 ACP 协议指挥 Qwen Code 完成。
步骤 1:用户发出指令
用户在飞书对话中输入:
帮我写个 C# 的 hello world
步骤 2:OpenClaw理解意图
OpenClaw分析用户需求:
- ✅ 需要使用 ACP 协议
- ✅ 调用 Qwen Code 执行任务
- ✅ 创建 C# 项目
- ✅ 实现 Hello World 功能
步骤 3:通过 sessions_spawn 调用 ACP 协议OpenClaw执行以下命令(后台自动执行,用户无需手动输入):
sessions_spawn runtime="acp"agentId="qwen-code"task="创建一个 C# Hello World 项目,包含完整的代码和项目文件"cwd="/Volumes/SSD/Source/csharp-hello"
参数说明:
- runtime="acp": 使用 ACP 协议运行时
- agentId="qwen-code": 指定使用 Qwen Code Agent
- task="...": 具体任务描述
- cwd="...": 工作目录
步骤 4:Qwen Code 执行任务Qwen Code 接收到任务后,自动执行以下操作:
- 创建项目目录
mkdir-p /Volumes/SSD/Source/csharp-hello
- 生成代码文件HelloWorld.cs
usingSystem;
namespaceHelloWorld
{
classProgram
{
staticvoidMain(string[] args)
{
Console.WriteLine("Hello, World!");
// ... 更多代码
}
}
}
- 生成项目文件HelloWorld.csproj
<ProjectSdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>ExeOutputType>
<TargetFramework>net8.0TargetFramework>
PropertyGroup>
Project>
步骤 5:OpenClaw反馈结果OpenClaw向用户回复:
✅ 完成!已创建 C# Hello World 项目。
📁 项目位置:/Volumes/SSD/Source/csharp-hello/
📄 创建的文件:
- HelloWorld.cs - 主程序代码
- HelloWorld.csproj - .NET 项目文件
🚀 运行方法:
cd /Volumes/SSD/Source/csharp-hello
dotnet run
步骤 6:用户验证运行
用户执行:
cd/Volumes/SSD/Source/csharp-hello
dotnet run
输出结果:
Hello, World!
=== 格式化输出 ===
Hello, 用户!欢迎使用 C#
=== 带时间戳 ===
[2026-03-14 09:38:44] Hello from C#!
=== 多语言问候 ===
中文:你好,世界!
English: Hello, World!
日本語:こんにちは、世界!
한국어: 안녕하세요, 세계!
[程序执行完成]
关键提示词技巧
✅ 好的提示词:
"帮我写个 C# 的 hello world"
"创建一个 C# 控制台应用,输出 Hello World"
"使用 ACP 协议让 Qwen Code 创建 C# 项目"
❌ 模糊的提示词:
"写个程序"(没说语言和平台)
"做个 hello world"(没说用什么技术栈)
提示词公式:
[动作] + [技术栈] + [具体功能] + [可选:输出位置]
示例:
"创建" + "C#" + "Hello World 项目" + "保存到 /Volumes/SSD/Source/"
🎯 使用 ACP 协议开发项目方式 1:在对话中直接使用
在 OpenClaw 对话中输入:
使用 ACP 协议让 Qwen Code 帮我创建一个 C# Web API 项目
系统会自动执行:
sessions_spawn runtime="acp"agentId="qwen-code"task="创建一个 C# Web API 项目"cwd="/Volumes/SSD/Source/my-api"
方式 2:手动调用 sessions_spawn
# 创建控制台应用
sessions_spawn runtime="acp"task="创建一个 C# 控制台应用,实现计算器功能"cwd="/Volumes/SSD/Source/calc-app"
# 创建 Web API
sessions_spawn runtime="acp"task="创建 ASP.NET Core Web API,包含用户 CRUD 接口"cwd="/Volumes/SSD/Source/webapi"
# 代码审查
sessions_spawn runtime="acp"task="审查 /Volumes/SSD/Source/my-project 的代码,找出潜在问题"
方式 3:配置定时任务
编辑 ~/.openclaw/cron/jobs.json,添加自动化任务:
{
"name":"每日代码审查",
"schedule":"0 10 * * 1-5",
"payload":{
"kind":"agentTurn",
"message":"使用 ACP 协议运行 Qwen Code 审查 /Volumes/SSD/Source/my-project 的代码"
},
"delivery":{
"mode":"announce"
}
}
📝 常用任务示例1. 创建项目
使用 ACP 协议让 Qwen Code 创建:
- React + Type 前端项目
- ASP.NET Core Web API 后端项目
- Blazor Web 应用
- MAUI 跨平台应用
2. 代码开发
使用 ACP 协议让 Qwen Code:
- 实现用户登录功能(JWT 认证)
- 添加数据库上下文和 Entity Framework 配置
- 创建 RESTful API 接口
- 编写单元测试
3. 代码审查
使用 ACP 协议让 Qwen Code:
- 审查代码质量和潜在 bug
- 检查代码规范和**实践
- 分析性能瓶颈
- 提供重构建议
4. 重构优化
使用 ACP 协议让 Qwen Code:
- 将同步代码改为异步
- 应用设计模式重构
- 优化数据库查询
- 添加缓存机制
⚠️ 常见问题排查问题 1:Qwen Code 未找到
错误信息:
qwen: command not found
解决方案:
npm install -g @qwen-code/qwen-code@latest
问题 2:认证失败
错误信息:
Authentication required. Please run: qwen auth login
解决方案:
qwen auth login
# 或设置 API Key
exportDASHSCOPE_API_KEY="sk-xxx"
问题 3:ACP 配置未生效
检查步骤:
# 1. 验证配置文件
cat~/.openclaw/config/gateway.json
# 2. 重启 Gateway
openclaw gateway restart
# 3. 检查日志
openclaw gateway logs
问题 4:dotnet 命令未找到
解决方案:
# macOS
brew install --cask dotnet-sdk
# 验证安装
dotnet --version
问题 5:程序运行时控制台输入错误
错误信息:
System.InvalidOperationException: Cannot read keys when either application does not have a console
解决方案:在代码中添加检查:
if(Console.IsInputRedirected == false)
{
Console.ReadKey;
}
🎯 **实践1. 明确任务描述
✅ 好:"创建 ASP.NET Core Web API,包含用户 CRUD 操作,使用 EF Core 和 SQL Server"
❌ 差:"做个 API"
2. 指定工作目录
✅ 总是指定 cwd: "/Volumes/SSD/Source/具体项目"
❌ 避免:不指定目录
3. 选择合适模式
# 一次性任务(默认)
runtime="acp"mode="run"
# 持久会话(多轮对话)
runtime="acp"mode="session"
4. 设置合理超时
# 简单任务:300 秒
timeoutSeconds=300
# 复杂项目:1800 秒
timeoutSeconds=1800
📚 相关资源官方文档
- Qwen Code 官方文档(https://qwenlm.github.io/qwen-code-docs/zh/)
- .NET 官方文档(https://docs.microsoft.com/zh-cn/dotnet/)
- OpenClaw 文档(https://docs.openclaw.ai)
学习资源
- C# 编程语言指南(https://docs.microsoft.com/zh-cn/dotnet/csharp/)
- ASP.NET Core 教程(https://docs.microsoft.com/zh-cn/aspnet/core/)
- .NET 下载(https://dotnet.microsoft.com/download)
📊 总结通过本文,你学会了:
- ✅ 配置 ACP 协议和 Qwen Code
- ✅ 验证环境和认证状态
- ✅ 创建 C# Hello World 项目
- ✅ 使用 ACP 协议开发项目
- ✅ 排查常见问题
下一步:尝试使用 ACP 协议让 Qwen Code 帮你开发一个完整的 C# 项目!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/243817.html