没有VPS?教你零成本在ClawCloud上部署CLIProxyAPI
- 内容介绍
- 文章标签
- 相关推荐
由于该系列教程篇幅较长,因此我按主题拆分,大家可以点击目录快速跳转到感兴趣的篇章
- 手把手带你用上AI神器 - CLIProxyAPI(零:配置详细解说)
- 手把手带你用上AI神器 - CLIProxyAPI(壹:项目介绍+Qwen实战)
- 手把手带你用上AI神器 - CLIProxyAPI(贰:Gemini CLI+Codex实战)
- 手把手带你用上AI神器 - CLIProxyAPI(叁:NanoBanana实战)
- 手把手带你用上AI神器 - CLIProxyAPI(肆:中转转发接入篇)
- 手把手带你用上AI神器 - CLIProxyAPI(伍:Docker服务器部署)
- 手把手带你用上AI神器 - CLIProxyAPI(陆:新人最爱GUI)
- 没有VPS?教你零成本在ClawCloud上部署CLIProxyAPI
- 没有VPS?教你零成本在Render上部署CLIProxyAPI
- 没有VPS?教你零成本在Railway上部署CLIProxyAPI
- 没有VPS?教你零成本在HuggingFace上部署CLIProxyAPI
前段时间,我发了一篇文章《手把手带你用上AI神器 - CLIProxyAPI(伍:Docker服务器部署)》,许多网友反馈由于没有VPS,希望我能提供一个在容器云上部署的教程。
实际上,CLIProxyAPI 既然支持 Docker 部署,自然也能无缝地在容器云上运行。但若将其直接运行在容器云上,会存在以下两个主要问题:
-
配置文件持久化:对于程序启动所需的配置文件,容器云往往是通过把配置文件内容映射到特定文件来解决,虽然可以运行,但如果你对配置文件做过修改,一旦容器重启,所有变更都会丢失。这种配置丢失的情况是我们不能接受的。
-
OAuth 认证复杂:对于需要 OAuth 认证的供应商,在 VPS 的 Docker 环境下,我们可以通过 SSH 隧道将认证回调结果转发到服务器上。而纯容器云环境通常不支持 SSH 隧道,需要通过添加多个端口并在回调时手动修改域名来完成,整个过程非常繁琐。
因此,在 CLIProxyAPI 对容器云的部署进行适配更新后,本教程将一步步指导你如何在容器云上完成部署。
本次教程演示使用的容器云平台是 ClawCloud Run。在该平台使用注册时长超过180天的 Github 账号登录,即可获得每月5美元的循环额度。我们部署的 CLIProxyAPI 每天仅消耗约0.05美元,这个额度绰绰有余。其他容器云平台基本上大同小异,请参考该流程自行部署。
登录 ClawCloud Run 之后,我们点击 App Launchpad
1153×648 66.4 KB
点击 Create APP
1153×648 43.7 KB
首先我们填写基础信息
-
应用名称 (Application Name):可自定义,此处填写
cliproxyapi -
镜像名称 (Image Name):
eceasy/cli-proxy-api:latest -
网络 (Network):容器端口修改为
8317,同时打开 Public Access
1153×1093 54.9 KB
页面向下拉动,在高级设置中,我们需要填写:
-
启动命令 (Command):
/CLIProxyAPI/CLIProxyAPI --config /data/config.yaml -
环境变量 (Environment Variables):
DEPLOY=cloud -
持久化存储 (Local Storage):
/data
812×561 22.3 KB
环境变量和存储的填写方法参看下图
517×347 6.7 KB
443×306 7.21 KB
确认所有信息填写无误后,点击右上角的 Deploy Application,应用将开始部署
1153×460 15 KB
稍等片刻,应用即可部署成功。当 Public Address 状态变为 Available 时,其对应的就是我们访问 CLIProxyAPI 的网址,请保存备用
1153×1124 53.2 KB
在等待部署的过程中,我们可以先准备 config.yaml 配置文件。本次使用的示例如下,请注意:remote-management.secret-key 是远程管理的密钥,而 api-keys 是 AI 客户端连接 CLIProxyAPI 所使用的密钥,要注意区分
port: 8317
remote-management:
allow-remote: true
secret-key: "ABCD-1234"
disable-control-panel: false
auth-dir: "/data/auths"
debug: false
logging-to-file: false
usage-statistics-enabled: false
request-retry: 3
quota-exceeded:
switch-project: true
switch-preview-model: true
api-keys:
- "EFGH-5678"
当容器状态变为 Active 之后
1007×225 11.7 KB
我们点击图中的按钮,打开之前添加的 Local Storage
1007×225 11.9 KB
点击右上角的 Upload,选择刚才准备好的 config.yaml 文件并上传
1074×354 17.8 KB
上传完成后,点击 Restart 重启容器
1007×225 11.3 KB
稍等片刻,待容器状态再次变为 Active 后,我们可以看到 Local Storage 中已生成了新的文件
1068×483 27.3 KB
同时,点击 Logs 标签页,可以看到如下图所示的日志信息
1007×225 11.4 KB
1064×363 27.8 KB
至此,CLIProxyAPI 便成功完成了整个部署流程。
使用 EasyCLI 进行远程 OAuth 认证
接下来,我们使用官方的另一个项目 EasyCLI 来进行远程 OAuth 添加。
EasyCLI 是 CLIProxyAPI 的配套项目,提供了一个图形用户界面(GUI)来管理 CLIProxyAPI。其最大亮点是支持完整的 OAuth 认证授权流程(不仅是上传授权文件,而是能处理整个授权回调过程),这是 CLIProxyAPI 自带的 WebUI 无法做到的。
请前往 EasyCLI 程序发布页面 下载适合你操作系统的版本(作者提供了 Mac、Linux、Windows 版本)。本教程以 Windows x64 版本为例。
打开程序后,选择 Remote,输入我们之前记录下的 URL 网址
532×412 10.7 KB
密码输入 config.yaml 中设置的 remote-management.secret-key(本例中是 ABCD-1234)
依次点击 Authentication Files → New
932×632 27.2 KB
本次我们仍以添加 Gemini CLI 为例进行演示,准备工作可参照《手把手带你用上AI神器 - CLIProxyAPI(贰:Gemini CLI+Codex实战)》
输入 Project ID,点击 Confirm
932×632 26.8 KB
页面中会出现 OAuth 链接,点击 Open Link
932×632 28.2 KB
程序会自动打开浏览器并跳转到 OAuth 链接,同时 EasyCLI 自身会进入回调接收状态
932×632 31.6 KB
在打开的浏览器页面中,我们登录账号并完成授权认证过程
509×607 17.4 KB
完成后,在 Authentication Files 列表中就可以看到新生成的配置文件了
932×632 22.4 KB
验证
我们再用 Cherry Studio 测试一下。如图所示,根据配置文件内容填写 API 密钥和 API 地址
964×614 23.9 KB
成功!
517×427 10.8 KB
EasyCLI 的其余功能就交给各位自行探索了。实际上,除了 OAuth 认证部分,EasyCLI 的其他功能与系统内置的 WebUI 基本一致。你也可以通过访问 https://你的CLIProxyAPI访问链接/management.html 来进行其他配置管理(关于 WebUI 的介绍可参考这篇文章《手把手带你用上AI神器 - CLIProxyAPI(陆:新人最爱GUI)》,虽然介绍也相对简短=。=)
--【壹】--:
感谢佬的分享,好文收藏了
--【贰】--:
太棒了!马上研究怎么部署
--【叁】--:
佬是CLIProxyAPI作者吗,报告个问题,我曾经在/management.html页面上添加codex(还是openai?记不清了)的key时,遇到过整个配置文件被重置,添加的信息全丢失的情况,佬有空可以看一下
--【肆】--:
在clawcloud上看过logs在正常运行吗?
--【伍】--:
请求都是404了,是没启动远程管理吧
--【陆】--:
问下佬,部署完成了,yaml也上传了,但是用EasyCLI登录提示Server address error,怎么解决啊?
--【柒】--:
重新看下文章中的配置文件,之前渲染有问题,已经改回来了
--【捌】--:
我不是作者,我已经把这个问题报给作者了,让他看看
--【玖】--:
爪云很不稳,比如昨天我的 moontv 就报了一整天的上游问题
--【拾】--:
那应该差不多,CLIProxyAPI是Go语言写的,资源需求低很多,整个程序只有几MB,启动时不到10MB的内存占用
--【拾壹】--:
太好了,我正在尝试怎么往northflank上搭,这下直接抄作业,感谢大佬
兴奋1024×1536 175 KB
--【拾贰】--:
嗯,因为配合容器云的部署流程,需要改一下程序,不然要走两步部署的步骤,比较麻烦
另外之前EasyCLI程序也有点问题,现在修好了,所以一并端上来了
--【拾叁】--:
终于来了
--【拾肆】--: raokj:
claude-relay-service
看了一下claude-relay-service是claude中转的?
关于cliproxyapi可以看系列教程,讲的很清楚了
由于该系列教程篇幅较长,因此我按主题拆分,大家可以点击目录快速跳转到感兴趣的篇章 手把手带你用上AI神器 - CLIProxyAPI(零:配置详细解说) 手把手带你用上AI神器 - CLIProxyAPI(壹:项目介绍+Qwen实战) 手把手带你用上AI神器 - CLIProxyAPI(贰:Gemini CLI+Codex实战) 手把手带你用上AI神器 - CLIProxyAPI(叁:Nan…
--【拾伍】--:
爪云不是不稳定吗
--【拾陆】--:
我的瓜云启动的项目全挂了
--【拾柒】--:
emmm
EasyCLI链接时,提示Server address error
在log里我能看到服务器端收到了什么
image1202×129 5.38 KB
--【拾捌】--:
不懂就问,cli-proxy-api和claude-relay-service有区别吗?
--【拾玖】--:
感谢佬回答,ClaudeRelayService可以将ClaudeCode、CodexCli、GeminiCli的OAuth或者key转发为api,我们部门在用claudeRelayService来做CodexCli的中转,CliProxyApi看着感觉功能很像,我去了解下
由于该系列教程篇幅较长,因此我按主题拆分,大家可以点击目录快速跳转到感兴趣的篇章
- 手把手带你用上AI神器 - CLIProxyAPI(零:配置详细解说)
- 手把手带你用上AI神器 - CLIProxyAPI(壹:项目介绍+Qwen实战)
- 手把手带你用上AI神器 - CLIProxyAPI(贰:Gemini CLI+Codex实战)
- 手把手带你用上AI神器 - CLIProxyAPI(叁:NanoBanana实战)
- 手把手带你用上AI神器 - CLIProxyAPI(肆:中转转发接入篇)
- 手把手带你用上AI神器 - CLIProxyAPI(伍:Docker服务器部署)
- 手把手带你用上AI神器 - CLIProxyAPI(陆:新人最爱GUI)
- 没有VPS?教你零成本在ClawCloud上部署CLIProxyAPI
- 没有VPS?教你零成本在Render上部署CLIProxyAPI
- 没有VPS?教你零成本在Railway上部署CLIProxyAPI
- 没有VPS?教你零成本在HuggingFace上部署CLIProxyAPI
前段时间,我发了一篇文章《手把手带你用上AI神器 - CLIProxyAPI(伍:Docker服务器部署)》,许多网友反馈由于没有VPS,希望我能提供一个在容器云上部署的教程。
实际上,CLIProxyAPI 既然支持 Docker 部署,自然也能无缝地在容器云上运行。但若将其直接运行在容器云上,会存在以下两个主要问题:
-
配置文件持久化:对于程序启动所需的配置文件,容器云往往是通过把配置文件内容映射到特定文件来解决,虽然可以运行,但如果你对配置文件做过修改,一旦容器重启,所有变更都会丢失。这种配置丢失的情况是我们不能接受的。
-
OAuth 认证复杂:对于需要 OAuth 认证的供应商,在 VPS 的 Docker 环境下,我们可以通过 SSH 隧道将认证回调结果转发到服务器上。而纯容器云环境通常不支持 SSH 隧道,需要通过添加多个端口并在回调时手动修改域名来完成,整个过程非常繁琐。
因此,在 CLIProxyAPI 对容器云的部署进行适配更新后,本教程将一步步指导你如何在容器云上完成部署。
本次教程演示使用的容器云平台是 ClawCloud Run。在该平台使用注册时长超过180天的 Github 账号登录,即可获得每月5美元的循环额度。我们部署的 CLIProxyAPI 每天仅消耗约0.05美元,这个额度绰绰有余。其他容器云平台基本上大同小异,请参考该流程自行部署。
登录 ClawCloud Run 之后,我们点击 App Launchpad
1153×648 66.4 KB
点击 Create APP
1153×648 43.7 KB
首先我们填写基础信息
-
应用名称 (Application Name):可自定义,此处填写
cliproxyapi -
镜像名称 (Image Name):
eceasy/cli-proxy-api:latest -
网络 (Network):容器端口修改为
8317,同时打开 Public Access
1153×1093 54.9 KB
页面向下拉动,在高级设置中,我们需要填写:
-
启动命令 (Command):
/CLIProxyAPI/CLIProxyAPI --config /data/config.yaml -
环境变量 (Environment Variables):
DEPLOY=cloud -
持久化存储 (Local Storage):
/data
812×561 22.3 KB
环境变量和存储的填写方法参看下图
517×347 6.7 KB
443×306 7.21 KB
确认所有信息填写无误后,点击右上角的 Deploy Application,应用将开始部署
1153×460 15 KB
稍等片刻,应用即可部署成功。当 Public Address 状态变为 Available 时,其对应的就是我们访问 CLIProxyAPI 的网址,请保存备用
1153×1124 53.2 KB
在等待部署的过程中,我们可以先准备 config.yaml 配置文件。本次使用的示例如下,请注意:remote-management.secret-key 是远程管理的密钥,而 api-keys 是 AI 客户端连接 CLIProxyAPI 所使用的密钥,要注意区分
port: 8317
remote-management:
allow-remote: true
secret-key: "ABCD-1234"
disable-control-panel: false
auth-dir: "/data/auths"
debug: false
logging-to-file: false
usage-statistics-enabled: false
request-retry: 3
quota-exceeded:
switch-project: true
switch-preview-model: true
api-keys:
- "EFGH-5678"
当容器状态变为 Active 之后
1007×225 11.7 KB
我们点击图中的按钮,打开之前添加的 Local Storage
1007×225 11.9 KB
点击右上角的 Upload,选择刚才准备好的 config.yaml 文件并上传
1074×354 17.8 KB
上传完成后,点击 Restart 重启容器
1007×225 11.3 KB
稍等片刻,待容器状态再次变为 Active 后,我们可以看到 Local Storage 中已生成了新的文件
1068×483 27.3 KB
同时,点击 Logs 标签页,可以看到如下图所示的日志信息
1007×225 11.4 KB
1064×363 27.8 KB
至此,CLIProxyAPI 便成功完成了整个部署流程。
使用 EasyCLI 进行远程 OAuth 认证
接下来,我们使用官方的另一个项目 EasyCLI 来进行远程 OAuth 添加。
EasyCLI 是 CLIProxyAPI 的配套项目,提供了一个图形用户界面(GUI)来管理 CLIProxyAPI。其最大亮点是支持完整的 OAuth 认证授权流程(不仅是上传授权文件,而是能处理整个授权回调过程),这是 CLIProxyAPI 自带的 WebUI 无法做到的。
请前往 EasyCLI 程序发布页面 下载适合你操作系统的版本(作者提供了 Mac、Linux、Windows 版本)。本教程以 Windows x64 版本为例。
打开程序后,选择 Remote,输入我们之前记录下的 URL 网址
532×412 10.7 KB
密码输入 config.yaml 中设置的 remote-management.secret-key(本例中是 ABCD-1234)
依次点击 Authentication Files → New
932×632 27.2 KB
本次我们仍以添加 Gemini CLI 为例进行演示,准备工作可参照《手把手带你用上AI神器 - CLIProxyAPI(贰:Gemini CLI+Codex实战)》
输入 Project ID,点击 Confirm
932×632 26.8 KB
页面中会出现 OAuth 链接,点击 Open Link
932×632 28.2 KB
程序会自动打开浏览器并跳转到 OAuth 链接,同时 EasyCLI 自身会进入回调接收状态
932×632 31.6 KB
在打开的浏览器页面中,我们登录账号并完成授权认证过程
509×607 17.4 KB
完成后,在 Authentication Files 列表中就可以看到新生成的配置文件了
932×632 22.4 KB
验证
我们再用 Cherry Studio 测试一下。如图所示,根据配置文件内容填写 API 密钥和 API 地址
964×614 23.9 KB
成功!
517×427 10.8 KB
EasyCLI 的其余功能就交给各位自行探索了。实际上,除了 OAuth 认证部分,EasyCLI 的其他功能与系统内置的 WebUI 基本一致。你也可以通过访问 https://你的CLIProxyAPI访问链接/management.html 来进行其他配置管理(关于 WebUI 的介绍可参考这篇文章《手把手带你用上AI神器 - CLIProxyAPI(陆:新人最爱GUI)》,虽然介绍也相对简短=。=)
--【壹】--:
感谢佬的分享,好文收藏了
--【贰】--:
太棒了!马上研究怎么部署
--【叁】--:
佬是CLIProxyAPI作者吗,报告个问题,我曾经在/management.html页面上添加codex(还是openai?记不清了)的key时,遇到过整个配置文件被重置,添加的信息全丢失的情况,佬有空可以看一下
--【肆】--:
在clawcloud上看过logs在正常运行吗?
--【伍】--:
请求都是404了,是没启动远程管理吧
--【陆】--:
问下佬,部署完成了,yaml也上传了,但是用EasyCLI登录提示Server address error,怎么解决啊?
--【柒】--:
重新看下文章中的配置文件,之前渲染有问题,已经改回来了
--【捌】--:
我不是作者,我已经把这个问题报给作者了,让他看看
--【玖】--:
爪云很不稳,比如昨天我的 moontv 就报了一整天的上游问题
--【拾】--:
那应该差不多,CLIProxyAPI是Go语言写的,资源需求低很多,整个程序只有几MB,启动时不到10MB的内存占用
--【拾壹】--:
太好了,我正在尝试怎么往northflank上搭,这下直接抄作业,感谢大佬
兴奋1024×1536 175 KB
--【拾贰】--:
嗯,因为配合容器云的部署流程,需要改一下程序,不然要走两步部署的步骤,比较麻烦
另外之前EasyCLI程序也有点问题,现在修好了,所以一并端上来了
--【拾叁】--:
终于来了
--【拾肆】--: raokj:
claude-relay-service
看了一下claude-relay-service是claude中转的?
关于cliproxyapi可以看系列教程,讲的很清楚了
由于该系列教程篇幅较长,因此我按主题拆分,大家可以点击目录快速跳转到感兴趣的篇章 手把手带你用上AI神器 - CLIProxyAPI(零:配置详细解说) 手把手带你用上AI神器 - CLIProxyAPI(壹:项目介绍+Qwen实战) 手把手带你用上AI神器 - CLIProxyAPI(贰:Gemini CLI+Codex实战) 手把手带你用上AI神器 - CLIProxyAPI(叁:Nan…
--【拾伍】--:
爪云不是不稳定吗
--【拾陆】--:
我的瓜云启动的项目全挂了
--【拾柒】--:
emmm
EasyCLI链接时,提示Server address error
在log里我能看到服务器端收到了什么
image1202×129 5.38 KB
--【拾捌】--:
不懂就问,cli-proxy-api和claude-relay-service有区别吗?
--【拾玖】--:
感谢佬回答,ClaudeRelayService可以将ClaudeCode、CodexCli、GeminiCli的OAuth或者key转发为api,我们部门在用claudeRelayService来做CodexCli的中转,CliProxyApi看着感觉功能很像,我去了解下

