作者:CSDN博客
目录
一、源码Docker镜像部署
1.第一步:安装Node.js
2.第二步:配置环境变量
3.第三步:构建镜像
4.第四步:初始化openclaw配置
5.第五步:启动容器
二、配置国内模型API
1.方法一:交互式配置
2.方法二:openclaw CLI 命令工具
3.方法三:直接修改配置文件
阶段性完结
一、源码Docker镜像部署
github地址:https://github.com/openclaw/openclaw
下载源码到本地。
1.第一步:安装Node.js
安装地址:https://nodejs.org/zh-cn
2.第二步:配置环境变量
复制示例环境文件,也可以直接创建一个空的.env文件 解释几个需要填写参数:
OPENCLAW_GATEWAY_TOKEN:访问 Gateway 的认证密钥(关键核心配置)。Gateway 启动后会暴露 WebSocket 和 HTTP 接口,没有这个 token 任何人都能连进来。相当于你家门的钥匙,必须设置。
OPENCLAW_CONFIG_DIR:OpenClaw 存放配置文件(后续可修改模型配置)(openclaw.json、频道凭证、身份信息等)的目录。Docker 容器通过 volume 挂载这个目录,这样容器重启后配置不会丢失。
OPENCLAW_WORKSPACE_DIR: Agent 的工作目录(后续可查看agent操作文件),它在这里读写文件、执行任务。
OPENCLAW_GATEWAY_PORT:Gateway 监听的端口,默认 18789。
OPENCLAW_GATEWAY_BIND:决定 Gateway 监听哪个网卡。loopback = 只有本机能访问(127.0.0.1),但 Docker bridge 网络下宿主机也访问不到;lan = 监听所有网卡(0.0.0.0),宿主机和局域网都能访问,Docker 部署必须用这个。- # .env文件内容
- OPENCLAW_GATEWAY_TOKEN=xxxxxxxxx # 需自定义修改(类似账户密码)
- OPENCLAW_CONFIG_DIR=X:xxx/openclaw # 本地创建一个文件夹,填写绝对路径
- OPENCLAW_WORKSPACE_DIR=X:xxx/openclaw/workspace # 本地创建一个文件夹,填写绝对路径
- OPENCLAW_GATEWAY_PORT=18789
- OPENCLAW_GATEWAY_BIND=lan
复制代码 OPENCLAW_GATEWAY_TOKEN随机生成指令方式:- # Powershell方式
- -join ((1..32) | ForEach-Object { '{0:x2}' -f (Get-Random -Max 256) })
- # Python方式
- python -c "import secrets; print(secrets.token_hex(32))"
复制代码 复制打印的字符串token即可。
3.第三步:构建镜像
配置docker中镜像源加速- # docker配置镜像源
- {
- "builder": {
- "gc": {
- "defaultKeepStorage": "20GB",
- "enabled": true
- }
- },
- "experimental": false,
- "registry-mirrors": [
- "https://docker.m.daocloud.io",
- "https://dockerproxy.com",
- "https://hub-mirror.c.163.com"
- ]
- }
复制代码
源码路径下cmd,使用构建指令,耐心等待镜像构建完成。- docker build -t openclaw:local .
复制代码 完成后可以看到docker镜像images中新添内容
4.第四步:初始化openclaw配置
使用以下指令进入docker容器内部openclaw安装初始化- docker compose run --rm openclaw-cli onboard --mode local --no-install-daemon
复制代码 选择Yes
选QuickStart。先跑起来,后续可以随时用 openclaw configure 补充配置;Manual 模式会逐项填写所有配置项,比较繁琐
模型服务商选择, 先跳过Skip for now,后期自己配置。
模型平台的 API key。还没有任何 API key,选 All providers 先跳过,后面再配。
默认选择模型。第一个就好,后期可自行设置
这一步是选择想通过哪个聊天平台来使用 AI 助手。
比如选 Feishu/Lark (飞书),配置好认证 token 之后,你就可以直接在 Feishu/Lark (飞书) 里跟 AI 对话;选 Twitch 就在 Twitch 里对话,以此类推。
选 Skip for now 跳过,后续有需求再配。
下面选项是给 AI 助手配置联网搜索能力。
配置平台 API key 之后,在跟 AI 对话时它可以主动去搜索最新信息,比如"帮我查一下今天的新闻"、"搜索某个技术文档"之类的。
没有对应平台的 API key 的话,选 Skip for now 跳过,不影响基本使用,AI 还是能正常对话,只是没有联网搜索功能。
下一个Skills 是给 AI 助手扩展能力的插件,比如读取文件、执行代码、操作浏览器等工具能力。
选 No 跳过就行,先把基础跑通,Skills 后面有需要再单独配置。安装skills需谨慎,以防投毒风险。
Hooks 是自动化触发器,当特定事件发生时自动执行某些操作。
几个选项的含义:
boot-md — 每次 agent 启动时自动加载一个 markdown 文件作为上下文
bootstrap-extra-files — 启动时自动注入额外的文件到 agent 上下文
command-logger — 记录所有命令日志
session-memory — 执行 /new 或 /reset 重置会话时,自动把当前会话内容保存到记忆里,下次还能记住
现在先选 Skip for now 跳过,把主流程跑通再说。
5.第五步:启动容器
先设置运行访问来源地址- docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins "["http://localhost:18789"]" --strict-json
复制代码 使用命令直接启动- docker compose up -d openclaw-gateway
复制代码 启动后,网页访问 http://localhost:18789 (.env文件中配置的本地端口)
ci'hc输入.env文件中配置的OPENCLAW_GATEWAY_TOKEN即可登录。
此时还不能登录,需要后台允许设备访问。
(关键步骤)继续需要配置允许设备访问:
下面指令查看已配对的设备- docker compose run --rm openclaw-cli devices list
复制代码 下面指令修改最后的设备id为上述查询到的Pending Request下的字符串- docker compose run --rm openclaw-cli devices approve xxxxxx # 修改xxxxx为实际设备id
复制代码 修改成功后,可正常登录到使用界面
二、配置国内模型API
回顾第二步配置环境文件.env中的两个参数OPENCLAW_CONFIG_DIR、OPENCLAW_WORKSPACE_DIR,这两个配置的本机路径,就是映射到docker容器中的相关文件了。
可以直接在windows系统下,到配置的本机目录下找到 openclaw 配置文件 openclaw.json 进行文本修改,无需进入容器的bash交互麻烦。
配置自定义的外部模型API:
1.方法一:交互式配置
如果还不熟悉 openclaw,可以使用其提供的命令行CLI工具进行自动化配置。- # 交互式配置模型
- docker compose run --rm openclaw-cli models auth login
复制代码 实际就是重新进入第四步安装界面进行配置
2.方法二:openclaw CLI 命令工具
直接用 config set 命令逐项写入- # 设置 provider 配置(base URL + API key + 模型定义)
- docker compose run --rm openclaw-cli config set models.providers.my-provider "{"baseUrl":"https://dashscope.aliyuncs.com/compatible-mode/v1","api":"openai-completions","apiKey":"sk-你的key","models":[{"id":"qwen-plus","name":"qwen-plus","reasoning":false,"input":["text"],"contextWindow":128000,"maxTokens":4096,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0}}]}" --strict-json
- # 设置默认模型
- docker compose run --rm openclaw-cli models set "my-provider/qwen-plus"
复制代码 3.方法三:直接修改配置文件
熟悉的话,可以直接在本地docker映射的目录下,找到 openclaw.json 文件直接修改。但是修改完之后要重新 docker 以生效- # 修改配置完之后运行
- docker compose restart openclaw-gateway
复制代码- "models": {
- "providers": {
- "my-provider": {
- "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
- "apiKey": "sk-xxxxx",
- "api": "openai-completions",
- "models": [
- {
- "id": "qwen-plus",
- "name": "qwen-plus",
- "reasoning": false,
- "input": [
- "text"
- ],
- "cost": {
- "input": 0,
- "output": 0,
- "cacheRead": 0,
- "cacheWrite": 0
- },
- "contextWindow": 128000,
- "maxTokens": 4096
- }
- ]
- }
- }
- },
- "agents": {
- "defaults": {
- "model": {
- "primary": "my-provider/qwen-plus"
- },
- "models": {
- "my-provider/qwen-plus": {}
- },
- "workspace": "/home/node/.openclaw/workspace"
- }
- },
复制代码
阶段性完结
上述任一方法配置完模型后,再次访问 http://localhost:18789 ,就可以正常对话了。
后续继续发布使用openclaw基础功能、openclaw插件安装、skills使用、3D可视化Agent工作......
原文地址:https://blog.csdn.net/qq_58718853/article/details/159350686 |