文章目录
- 为什么你的AI助手应该"住"在本地?
-
- 一、OpenClaw究竟是什么?别再把它当简单的微信机器人了
- 二、安装前的准备:你的电脑能不能养得起这只"小龙虾"?
-
- 2.1 基础环境要求
- 2.2 安装OpenClaw
- 三、核心配置:Gateway是你的"数字客厅"
-
- 3.1 环境变量配置详解
- 四、接入豆包:让国产大模型住进你的本地环境
-
- 4.1 在Coze上搭建桥梁
- 4.2 打通本地与Coze的通信
- 五、OpenAI集成:给"小龙虾"装上最强大脑
-
- 5.1 基础接入配置
- 5.2 双模型热切换实战
- 六、Docker部署:让"小龙虾"住进隔离的沙盒
-
- 6.1 Docker Compose配置
- 6.2 沙盒安全策略
- 七、实战场景:从"玩具"到"生产力工具"的跨越
-
- 7.1 智能客服机器人
- 7.2 自动化编程助手
- 7.3 跨平台信息同步
- 八、避坑指南:新手最容易踩的五个坑
目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
为什么你的AI助手应该"住"在本地?
想象这样一个场景:你把所有秘密都告诉了一个住在大厂宿舍的"室友"——你让他帮你写情书、改简历、分析公司的财务报表。每次对话,这些信息都要先穿过半个地球,在别人的服务器里转一圈。有没有觉得哪里不对劲?
这就是当下大多数人与AI的相处模式。我们习惯了在网页端ChatGPT、在手机App里跟豆包聊天,却忘了数据隐私这件事就像家里的钥匙——你肯定不会把钥匙交给陌生人保管,对吧?
OpenClaw(社区爱称"小龙虾")的出现,就是为了解决这个问题。它不是又一个聊天机器人,而是一个运行在你自己电脑上的AI指挥中心。从2025年底那个被称为Clawdbot的周末小项目,到如今GitHub上斩获20万Star的开源现象级作品,这个由奥地利开发者Peter Steinberger打造的框架,正在重新定义"个人AI助理"的边界。
今天这篇文章,咱们就来聊聊怎么把这位"数字室友"请进家门,顺便让它同时接入豆包和OpenAI两大"大脑",实现"本地运行,云端智能"的混搭玩法。
一、OpenClaw究竟是什么?别再把它当简单的微信机器人了
很多人第一次听说OpenClaw,是因为网上盛传的"100%AI生成代码"的噱头。确实,Peter Steinberger公开承认过,整个项目的代码几乎都是由Claude自动编写的,他本人更像是个"产品经理"角色。但这并不是重点。
重点是,OpenClaw本质上是一个AI Agent的通用框架。它通过在本机启动一个Gateway(网关)服务,默认监听18789端口,把你的本地环境变成一个AI可以直接操作的"数字工作台"。
你可以把它理解为一个Translator(翻译官)+ Butler(管家)的混合体:
- 它一边连接着各种聊天软件(微信、Telegram、Discord等)
- 一边连接着各种AI模型(OpenAI GPT系列、Anthropic Claude、国产的豆包/Kimi等)
- 更重要的是,它拥有对你本地文件系统的访问权限,可以执行命令、读写文件、甚至帮你初始化项目
这种设计的妙处在于数据主权。你的聊天记录、生成的文件、修改的代码,全都留在你自己的硬盘里,而不是某个云厂商的数据库中。对于那些处理敏感信息(比如财务数据、商业计划、个人日记)的场景,这简直就是刚需。
二、安装前的准备:你的电脑能不能养得起这只"小龙虾"?
别看OpenClaw功能强大,它对硬件的要求其实相当亲民。因为它本身只是一个"中间层",真正的计算量发生在模型端——如果你接的是OpenAI或豆包的云端API,本地几乎不需要什么算力。
2.1 基础环境要求
首先,你需要一个Node.js 22或更高版本的环境。别小看这个版本要求,2026年的LTS版本已经是Node 22/24的天下了,如果你还在用Node 16,那就像试图用Windows XP跑原神——不是不可能,但没必要跟自己过不去。
检查Node版本的命令很简单:
node –version
如果输出是v22.x.x或更高,恭喜你,可以进入下一步。如果不是,建议去Node.js官网下载最新的LTS版本,或者用nvm(Node Version Manager)切换版本。
2.2 安装OpenClaw
安装过程简单到令人发指,一行命令搞定:
npm install -g openclaw@latest
装完之后,你需要执行初始化流程。这个onboard命令会引导你完成基础配置:
openclaw onboard –install-daemon
这里的–install-daemon参数会把OpenClaw注册为系统服务,让它随开机自启。如果你只是想在命令行里手动玩玩,可以去掉这个参数。
三、核心配置:Gateway是你的"数字客厅"
安装完成后,OpenClaw会在你的机器上启动一个Gateway服务。你可以把它想象成你家客厅的"总机"——所有AI模型、聊天软件、本地工具都要通过这个总机才能互相通信。
默认情况下,Gateway会占用18789端口,并提供一个Web管理界面。在浏览器里打开http://127.0.0.1:18789,你会看到一个简洁的控制面板。第一次访问时,系统会要求输入Token,这个Token是在初始化时自动生成的,可以在命令行输出里找到。
3.1 环境变量配置详解
OpenClaw的行为主要通过环境变量控制。以下是几个最关键的参数:
| ANTHROPIC_API_KEY | Claude模型API密钥 | sk-ant-xxxxx |
| OPENAI_API_KEY | OpenAI API密钥 | sk-xxxxxxxx |
| CLAWDBOT_GATEWAY_TOKEN | 本地Gateway的访问令牌 | 随机生成的字符串 |
| CLAWDBOT_CONFIG_DIR | 配置文件存放目录 | ~/.clawdbot |
| CLAWDBOT_WORKSPACE_DIR | AI的工作目录 | ~/clawd |
这些变量可以写在系统的环境变量里,也可以放在项目根目录的.env文件中。个人建议后者,方便不同项目使用不同配置。
四、接入豆包:让国产大模型住进你的本地环境
豆包(Doubao)作为字节跳动旗下的AI产品,在中文理解和语音交互方面有着不错的表现。把豆包接入OpenClaw的流程,需要借助Coze平台作为"中转站"。
4.1 在Coze上搭建桥梁
整个接入路径是这样的:豆包 ↔ Coze智能体 ↔ OpenClaw本地服务。
首先,你需要访问Coze的开发者平台(https://code.coze.cn/),登录后创建一个新的智能体。记得点击右上角的"回到旧版"按钮,因为新版界面有些功能还在调整中。
在智能体配置页面,关键的一步是更改类型为"对话流"。选择添加"对话流"后,点击"官方示例",找到libai模板并复制。这个模板提供了基础的HTTP回调能力,正好用来对接OpenClaw。
进入"对话流配置"后,把默认的模型改成**“豆包角色扮演模型”**。这个版本对长对话的支持更好,也支持更自然的语音交互。配置完成后,先点击"发布"并选择发布到"豆包",测试一下基础功能是否正常。
4.2 打通本地与Coze的通信
这是最技术向的一步。你需要在Coze的"对话流"中添加一个HTTP请求节点,让它能够调用你本地运行的OpenClaw Gateway。
由于本地服务通常在内网,而Coze在公网,这里需要解决内网穿透的问题。最简单的方案是使用Cloudflare Tunnel或者ngrok,把你的本地18789端口映射到一个公网URL。
假设你已经通过ngrok获得了https://abc123.ngrok.io这个转发地址,那么在Coze的HTTP节点中,你需要配置:
- 请求方法:POST
- 请求地址:https://abc123.ngrok.io/api/chat
- 请求头:Content-Type: application/json
- 请求体:包含message和session_id等字段
在OpenClaw这边,你需要在配置文件中添加对这个Webhook的响应逻辑。编辑~/.clawdbot/config.json,在agents部分添加一个新的endpoint:
{
"agents": {
"doubao-bridge": {
"type": "webhook",
"endpoint": "https://abc123.ngrok.io/api/chat",
"model": "custom",
"customModelConfig": {
"baseURL": "https://api.coze.cn/open_api/v2/chat",
"apiKey": "你的Coze个人令牌"
}
}
}
}
这里的apiKey需要你在Coze平台的"个人设置"里生成一个Personal Access Token。务必妥善保管,不要提交到Git仓库。
五、OpenAI集成:给"小龙虾"装上最强大脑
相比豆包需要通过Coze中转,OpenAI的接入要直接得多。OpenClaw原生支持OpenAI的API格式,只需要配置好密钥就能直接用。
5.1 基础接入配置
在环境变量或.env文件中添加:
OPENAI_API_KEY=sk-你的OpenAI密钥
OPENAI_MODEL=gpt-4o
然后在OpenClaw的配置文件里指定使用OpenAI作为默认模型:
{
"agents": {
"main": {
"model": "openai",
"openaiConfig": {
"model": "gpt-4o",
"temperature": 0.7,
"maxTokens": 4096
}
}
}
}
如果你使用的是Azure OpenAI服务,配置略有不同,需要额外指定baseURL和apiVersion:
{
"azure": {
"endpoint": "https://你的资源名.openai.azure.com/",
"apiKey": "你的Azure密钥",
"deploymentName": "gpt-4o-deployment",
"apiVersion": "2025-01-01-preview"
}
}
5.2 双模型热切换实战
真正好玩的玩法是让OpenClaw根据任务类型自动切换模型,或者让用户在对话中指定用哪个模型。比如你只想让豆包处理日常闲聊,而把代码编写任务交给GPT-4o。
这种"智能路由"可以通过配置skills来实现。在OpenClaw中,Skills是扩展功能的基本单位,社区已经贡献了700多个现成技能。
创建一个自定义Skill文件~/.clawdbot/skills/model-router.js:
module.exports = {
name: 'model-router',
description: '根据用户意图切换AI模型',
async onMessage(message, context) {
const { content } = message;
// 如果用户明确@了某个模型
if (content.includes('@豆包')) {
return context.switchModel('doubao-bridge');
}
if (content.includes('@GPT4')) {
return context.switchModel('openai');
}
// 自动判断:代码相关用OpenAI,闲聊用豆包
const codeKeywords = ['写代码', 'debug', '函数', 'bug', '报错'];
const isCodeTask = codeKeywords.some(kw => content.includes(kw));
return isCodeTask ? context.switchModel('openai') : context.switchModel('doubao-bridge');
}
};
重启Gateway后,这个Skill就会自动生效。现在你可以试着发送"帮我写个Python爬虫"和"今天天气怎么样",看看OpenClaw会不会自动调用不同的模型来回答。
六、Docker部署:让"小龙虾"住进隔离的沙盒
虽然OpenClaw可以直接运行在裸机上,但考虑到它会执行代码、访问文件系统,强烈建议用Docker把它隔离起来。这就好比给这位"数字室友"单独租了间公寓,而不是让它直接睡在你的主卧——即便它看起来人畜无害,防一手总没错。
6.1 Docker Compose配置
创建一个docker-compose.yml文件:
version: '3.8'
services:
openclaw-gateway:
image: node:22–alpine
container_name: openclaw
environment:
– NODE_ENV=production
– ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
– OPENAI_API_KEY=${OPENAI_API_KEY}
– CLAWDBOT_GATEWAY_TOKEN=${CLAWDBOT_GATEWAY_TOKEN}
volumes:
– ./config:/home/node/.clawdbot
– ./workspace:/home/node/clawd
– /var/run/docker.sock:/var/run/docker.sock
ports:
– "18789:18789"
– "18790:18790"
working_dir: /app
command: >
sh -c "npm install -g openclaw@latest &&
openclaw gateway –bind 0.0.0.0"
restart: unless–stopped
networks:
– openclaw–net
# 可选:为AI执行代码创建隔离沙盒
sandbox:
image: alpine:latest
container_name: openclaw–sandbox
command: tail –f /dev/null
security_opt:
– no–new–privileges:true
cap_drop:
– ALL
networks:
– openclaw–net
profiles:
– donotstart
networks:
openclaw-net:
driver: bridge
这个配置有几个关键点:
6.2 沙盒安全策略
如果你打算让OpenClaw执行代码(比如让它帮你写个脚本并运行测试),强烈建议启用Docker-in-Docker沙盒模式。在配置文件中添加:
{
"agents": {
"defaults": {
"sandbox": {
"docker": {
"image": "node:22-alpine",
"workdir": "/workspace",
"readOnlyRoot": true,
"network": "none",
"memory": "1g",
"cpus": 1,
"pidsLimit": 256
}
}
}
}
}
这套配置相当于给AI戴上"手铐":只读文件系统、无网络访问、内存和CPU限制、进程数限制。即便AI想"造反",也掀不起什么大浪。
七、实战场景:从"玩具"到"生产力工具"的跨越
配置好双模型接入后,OpenClaw就不再是个简单的聊天玩具了。以下是几个笔者亲测有效的实战场景:
7.1 智能客服机器人
假设你运营着一个技术社群,可以把OpenClaw接入微信群(通过wechaty等协议),并配置自动回复逻辑。当群友问基础问题时,路由给豆包(中文回答更自然);当遇到具体的技术Bug时,转发给GPT-4o分析错误日志。
配置示例:
{
"integrations": {
"wechat": {
"enabled": true,
"webhook": "http://localhost:18789/api/wechat",
"autoReply": true,
"modelRouter": "model-router"
}
}
}
7.2 自动化编程助手
这是最符合OpenClaw设计初衷的场景。你可以直接在聊天窗口里说:“帮我创建一个React项目,用Tailwind CSS做样式,实现一个Todo List应用”。
OpenClaw会:
整个过程你只需要动嘴(或者打字),剩下的交给这位"数字实习生"。
7.3 跨平台信息同步
利用豆包的语音输入优势和GPT-4o的长文本分析能力,你可以构建一个"语音速记→AI整理→多端同步"的工作流:
- 在豆包App里用语音快速记录灵感(利用豆包优秀的语音识别)
- OpenClaw接收到文本后,调用GPT-4o进行结构化整理(提取待办事项、关键结论)
- 整理后的内容自动写入本地Markdown文件,或者通过API同步到你的Notion、飞书文档
八、避坑指南:新手最容易踩的五个坑
目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

网硕互联帮助中心




评论前必须登录!
注册