这篇写给 0 基础同学:你已经把 OpenClaw 跑起来了(或准备跑),但还不知道“模型怎么接入、Telegram 怎么配、控制台怎么安全访问、CLI Proxy API 怎么搭”。我按从 0 到能用的顺序写一遍,照着做基本就能跑通。
🧾 你需要什么
- 一台 Linux 服务器(Ubuntu/Debian 都可)
- 建议配置:2H4G 起步
- 一个 Telegram 账号(可选,但强烈建议)
- (可选)域名 + Nginx/宝塔:你想从外网打开 Control UI 才需要
⚠️ 注意注意注意(安全 & 合规)
- 管理面板不要裸奔公网。不管是 OpenClaw 还是 CLI Proxy API,都建议只监听
127.0.0.1,再用反代加认证。 - 如果你的网络环境访问某些上游服务失败,请使用合规的网络/服务提供商。本文不提供绕过封锁、规避访问限制的落地步骤。
🚀 第一部分:先把 CLI Proxy API 搭起来(Docker 方式)
1)装 Docker
# Ubuntu/Debian
apt update -y
apt install -y ca-certificates curl gnupg
# 官方 Docker 源(以 Debian/Ubuntu 官方文档为准)
# 也可以直接装系统仓库的 docker.io(版本可能旧一点)
apt install -y docker.io
systemctl enable docker --now
docker version
2)准备目录 + 配置文件
这里我给一个最小可用的配置模板(注意:下面的密码/key 只是示意,你自己换成强密码)。
mkdir -p /root/cliproxy
mkdir -p /root/cliproxy/auth-dir
cat > /root/cliproxy/config.yaml << 'EOF'
port: 8317
management:
password: "你的面板密码(强密码)"
# auth-dir 用来存 OAuth/授权文件
auth-dir: "/root/.cli-proxy-api"
api-keys:
- kpi_你的API密钥
# 建议先开 debug,跑通后再关
debug: true
usage-statistics-enabled: true
EOF
我个人建议:
management.password:这是管理面板密码(不要用太简单)api-keys:这是给 /v1 接口用的 key(给 OpenClaw 用)auth-dir:一定要挂出来,不然容器重启授权丢了你会很崩溃
3)启动容器
如果你不需要公网暴露,建议只绑定到本机回环:
docker run -d
--name cliproxy
--restart always
-p 127.0.0.1:8317:8317
-v /root/cliproxy/config.yaml:/CLIProxyAPI/config.yaml
-v /root/cliproxy/auth-dir:/root/.cli-proxy-api
eceasy/cli-proxy-api:latest
# 看日志
docker logs -n 50 cliproxy --tail 50
验证 /v1/models:
curl -sS http://127.0.0.1:8317/v1/models
-H "Authorization: Bearer kpi_你的API密钥" | jq .
4)管理面板怎么访问(建议走反代)
面板通常在:
http://127.0.0.1:8317/management.html
如果你一定要远程打开面板,建议用 Nginx 反代 + BasicAuth + IP 白名单(而不是直接把 8317 暴露公网)。
🦞 第二部分:OpenClaw 怎么接入 CLI Proxy API(核心是 openclaw.json)
1)安装 OpenClaw
npm install -g openclaw@latest
openclaw --version
2)配置 models provider(cliproxy)
你需要把 OpenClaw 的 provider 指到 CLI Proxy API 的 /v1:
{
"models": {
"mode": "merge",
"providers": {
"cliproxy": {
"baseUrl": "http://127.0.0.1:8317/v1",
"apiKey": "kpi_你的API密钥",
"api": "openai-completions"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "cliproxy/gpt-5.2",
"fallbacks": ["cliproxy/gpt-5.3-codex"]
},
"timeoutSeconds": 1800
}
}
}
改完记得验证:
openclaw config validate
🤖 第三部分:Telegram 接入(最常用、最顺手)
1)创建 Bot
- Telegram 搜索
@BotFather /newbot创建一个 bot- 拿到 bot token(类似:
123:ABC...)
2)写入 OpenClaw 配置
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "你的BotToken",
"dmPolicy": "pairing"
}
}
}
3)配对(pairing)
给你的 bot 发一句话,它会回一个配对码,然后在服务器上 approve:
openclaw pairing approve telegram <配对码>
小坑:如果你把 Telegram 群消息策略设成 allowlist,记得填 allowFrom/groupAllowFrom,不然会出现“群消息静默丢弃”的情况。
🌐 第四部分:Control UI 安全远程访问(我最推荐的做法)
如果你需要在浏览器远程打开 Control UI,我建议走:
- Nginx BasicAuth(挡住外网)
- OpenClaw 启用
trusted-proxy(解决 WebSocket 授权)
Nginx 关键片段(示意):
location / {
auth_basic "OpenClaw";
auth_basic_user_file /path/to/htpasswd;
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header x-forwarded-user $remote_user;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
重点:X-Forwarded-Host / X-Forwarded-Proto 不要漏,不然会看到 1008 unauthorized。
🧯 最后:我建议你按这个顺序排障
- OpenClaw 能不能本机打开控制台:
http://127.0.0.1:18789/ - CLI Proxy API 的
/v1/models能不能 200(带 key) - OpenClaw 是否能正常请求模型(看日志是否 timeout)
- 再做反代(Nginx)和 trusted-proxy
按这个顺序走,基本不会“一上来就一团乱”。