薅羊毛这事我最近是真香了。联通云这波免费 Coding Plan乍一看只是送点模型调用额度但把它接到 OpenClaw 上之后等于白嫖了一套能 7x24 小时挂在 IM 里的 AI 助理。这篇文章就把我从领额度、部署 OpenClaw、到配置渠道和模型的全过程拆开讲透顺便把踩过的坑都列出来照着做基本能少走两三天弯路。先说清楚目标读者手里有一台 Linux 服务器哪怕是低配云主机、想跑一个开源 agent 但又不想花太多钱买 API、或者已经在用 OpenClaw 但苦于模型费用太高的朋友。如果你只是听说过 OpenClaw 还没动手这篇也适合前半段会把部署和配置思路讲明白。1. 联通云免费 Coding Plan 到底是个啥1.1 白嫖来的模型调用额度很多云厂商为了拉新或者推广自家 AI 生态都会送一点“编程助手”或“模型调用包”联通云这个 Coding Plan 就属于这类福利。它本质上是给你一批可用的模型调用额度比如若干次对话、若干万 token你可以在支持 OpenAI 兼容接口的地方直接调用。我拿到的是一张免费额度包在联通云控制台开通后就能看到套餐里包含的模型列表和抵扣次数。这种额度包通常不是让你去训练模型而是给开发者做应用接入、API 测试、自动化脚本用的。对于跑 OpenClaw 这种 agent 框架来说正好能把额度用在刀刃上agent 每和用户对话一次、每调用一次工具背后都是 token 消耗额度够的话相当于运行成本被云厂商包了。1.2 为什么适合 OpenClaw 这类 agent 项目OpenClaw 是一个偏向“无人值守”的 AI agent 框架你可以把它部署在服务器上接上飞书、Teams、Discord 这类聊天渠道让它随时响应消息。它本身不内置大模型需要你配置一个模型 API。问题来了主流的商业模型 API 按 token 计费一天挂机下来如果消息量大费用是真的肉疼。联通云 Coding Plan 给的免费额度恰好能缓解这个痛点。你不需要折腾任何合规备案之类的东西只需要在 OpenClaw 的配置里换一个 base_url 和 api_key告诉它去调联通云提供的兼容接口就行。说白了它就是一个大号“代金券”OpenClaw 正常跑账由额度顶着。这类云厂商额度包通常有几条共性有效期短、额度用完即止、并发限制严格。所以我会建议把它当“测试环境”或“轻量使用”的燃料而不是重负载生产环境的主力。想清楚这层定位后面配置起来就不会纠结。2. 领取免费 Coding Plan 的完整流程2.1 前提条件与账号准备领取之前先确认两件事一是有没有联通云账号二是账号有没有完成实名。虽然名字叫“免费”但云厂商发放额度一般还是需要你有个真实身份这是为了反滥用不是我随口说的门槛不同活动期要求可能还不一样。我建议用个人身份注册就行企业认证流程长而且个人账号领到的额度通常够用了。注册时注意保管好账号信息后面要往 API 配置里填的密钥如果泄露额度被别人刷走就很麻烦。另外联通云控制台可能要求你绑定手机号或者启用短信验证这步比较常规按页面引导操作就好。如果页面提示需要银行卡或者支付方式大概率是你点进了付费套餐免费 Coding Plan 是不需要绑卡的看到要求绑卡直接退出去重新找活动入口。2.2 开通步骤与额度查看我自己开通的流程大概是这样不同活动入口可能会有差异但大方向一致登录联通云官网进控制台找左侧菜单里的“开发者服务”或“AI 服务”板块。找到“Coding Plan”或“免费额度”相关的卡片点进去。页面一般会有“立即领取”或“试用开通”按钮确认使用协议后提交。领取成功后系统会给一个 API Key 或让你创建密钥这个 Key 就是后面 OpenClaw 要用的凭证。在“额度明细”或“资源包”页面查看剩余 token、剩余次数、有效期。这里有个容易看漏的点有些页面默认展示“按量计费”但不代表你已经切换到了免费额度。你要在资源包或代金券页面确认状态是“可用”否则 OpenClaw 调 API 时可能直接按后付费账单走那就不是薅羊毛而是反向充钱了。2.3 额度抵扣规则要提前弄明白联通云 Coding Plan 的抵扣规则直接影响你能跑多久。我在实际操作中发现官网对“各模型的抵扣次数”描述得比较细比如某些模型一次对话抵扣 1 次某些推理模型可能抵扣 3 次或更多。“星图 Coding Plan 各模型的抵扣次数”这个说法在开发者圈里经常被拿出来对比就是因为它不是所有模型统一计费。还有一点token 计费一般分输入和输出长上下文对话里输入 token 累积很快。OpenClaw 这种 agent 喜欢把多轮聊天记录全塞给模型一轮高上下文重试就能吃掉几千 token。所以别只看“免费 100 万 token”这种宣传数字实际能用多久取决于你喂给模型多少上下文。我建议领完额度后先查看模型的输入输出单价再估计一下自己日常会话长度。比如一个人一天闲聊几十句每句几百 token那一个月额度基本够如果你拿它跑自动化任务频繁调用工具和文件读写额度消耗会比你想象快好几倍。3. OpenClaw 部署从零到能跑起来3.1 OpenClaw 项目定位与部署方式选型面对一个开源 agent 项目第一时间要搞清楚的不是“装哪个版本”而是“它适合跑在哪”。OpenClaw 的定位和那些需要 GUI 的聊天机器人不同它更强调后台服务化一个进程长期挂机监听消息事件按规则回复。所以部署方式主流是 Docker 和裸机运行两种。如果你有一台常开的 Linux 服务器我推荐用 Docker 部署。原因有三隔离环境不会污染系统、升级版本只需拉新镜像、日志清理方便。你要是手头只有一台飞牛 NAS 这类设备也可以跑核心看 CPU 架构和内存x86_64 的机型问题不大ARM 版要注意镜像是否提供对应平台。裸机部署适合喜欢掌控一切的人但依赖冲突能把人搞疯。我一开始图省事直接裸机跑结果 Python 环境和系统库打架搞了一下午。后来老老实实换 Docker半小时跑通。所以这里我直接按 Docker 路线讲。3.2 本地一键部署实操以 Linux 为例Docker 部署 OpenClaw 的过程网上常说的“本地一键部署”其实就是拉镜像、改配置、起容器三步。下面给出一套我在 Ubuntu 22.04 上实测通过的流程# 1. 安装 Docker已装可跳过 curl -fsSL https://get.docker.com | bash systemctl enable --now docker # 2. 拉取 OpenClaw 镜像根据版本替换 tag docker pull openclaw/openclaw:latest # 3. 创建配置目录 mkdir -p /opt/openclaw/config cd /opt/openclaw # 4. 复制一份配置文件模板 docker run --rm -v /opt/openclaw/config:/config openclaw/openclaw:latest init这里有个关键步骤init命令会生成配置模板模板里通常包含config.yaml和.env文件。你需要把联通云给的 API Key 填进.env的API_KEY字段再把模型接口地址填到BASE_URL。不同版本字段名可能不同以模板注释为准。配置完成后正式启动# 使用 host 网络模式方便 OpenClaw 和本机其他服务通信 docker run -d --name openclaw \ --restartalways \ --networkhost \ -v /opt/openclaw/config:/config \ openclaw/openclaw:latest--restartalways这行很重要否则服务器一重启OpenClaw 不会自动拉起。我用的是 host 网络因为很多 IM 渠道回调地址就是本机端口省去端口映射的麻烦。如果你跑在群晖或飞牛上用 bridge 模式并映射端口也行但要多写几个端口映射规则。3.3 飞牛 NAS 这种环境能不能装热词里有人问“飞牛安装 OpenClaw”说明不少人是想把手边的 NAS 利用起来。飞牛 NAS 本质上也是 Linux 环境默认支持 Docker 容器所以方法是通用的。区别主要在路径飞牛的 Docker 管理界面支持图形化拉取镜像如果你不习惯命令行可以在界面上创建一个容器挂载/opt/openclaw/config到 NAS 的任意共享文件夹。需要注意NAS 的 CPU 一般不强内存如果只有 4G跑 OpenClaw 加模型推理会有点紧。Model 调用都是走远程 API本地只做编排所以 CPU 占用并不高。内存方面 OpenClaw 常驻进程大概占几百 MB4G 内存能跑但别同时开太多其他服务。还有NAS 上的 Docker 容器重启策略默认可能是“手动”你要手动改成“自动重启”。不然一断电OpenClaw 不会自己回来你还得靠 IM 里收不到回复才反应过来很被动。4. 把联通云 Coding Plan 接到 OpenClaw4.1 用 API 兼容模式配置模型联通云 Coding Plan 对外开放的接口通常兼容 OpenAI 的请求格式。这意味着 OpenClaw 不需要特判“联通云”这个厂商只要配置成 OpenAI 兼容协议就行。这是所有这类额度包最常见的接入方式你用天翼云的也是一样的道理。具体到config.yaml一般会有llm或model_provider这一段llm: provider: openai_compatible base_url: https://api.unicom.cloud/v1 # 以控制台展示为准 api_key: 你领取到的API Key model: qwen-plus # 按额度包内可选模型填写 temperature: 0.7 max_tokens: 2048这里最容易翻车的是model字段。不同活动批次的模型代号可能不同有的叫deepseek-chat有的叫qwen-turbo有的套餐里带有“星图”品牌的模型。你别想当然填打开控制台“资源包详情”或模型列表页把模型名称原样复制过来最稳。4.2 渠道 Channel 配置让 Agent 找到出口OpenClaw 里“channel”这个概念通俗讲就是 IM 渠道。你只在配置文件里填了模型不够还得告诉它“从哪个入口收消息往哪个出口回消息”。这个名称在版本迭代里可能叫channels、im_channels或connectors本质一样。以飞书为例你需要先前往飞书开放平台创建应用拿到 App ID 和 App Secret然后在 OpenClaw 配置里填进去同时填好事件订阅地址例如http://你的服务器IP:8000/webhook/feishu。之后飞书群里 机器人消息事件就会通过 webhook 推到 OpenClawOpenClaw 再走配置好的模型通道生成回复。我记得第一次配置时最容易被忽略的是“事件订阅”里的加密设置。飞书平台如果让你填 Encrypt Key你必须和 OpenClaw 配置里的encrypt_key保持一致不然回调会一直报“解密失败”。这个不是 OpenClaw 的 bug是平台侧的加密约定。4.3 接入 Teams 和飞书的区别如果你不只是用飞书还想接 Teams配置入口类似但细节有差异。OpenClaw 接 Teams 需要先在 Azure 门户注册一个 bot获取 Bot ID 和 Bot Password。和飞书不一样的是Teams 的消息通知方式不是普通的 webhook它要用的是一种基于 Activity 协议的通道所以 OpenClaw 对应模块里会有teams_app_id、teams_app_password这些字段。从我的体验看Teams 接入比飞书更折腾因为 Azure 那边权限配置多而且回调地址要求公网可访问。飞书则对国内服务器友好很多回调调试也直观。所以“OpenClaw 配置千问”这类话题在飞书群里出现得多不是没道理的——一套“飞书 千问 联通云额度”才是国内开发者最顺手的组合。如果你只是自用我更推荐只开一个 channel避免多个渠道同时触发导致上下文混乱。多个 channel 同时接入后OpenClaw 会对不同会话分别维护状态逻辑上没问题但日志会变得非常杂乱排查问题难度翻倍。4.4 配置千问模型时的参数细节兼容模式下一个容易踩的坑是“模型名字”。很多云厂商的兼容接口不会自动帮你映射别名你填成qwen-plus它可能返回 404 或者 “model not found”。这时候要去控制台确认套餐内模型的实际部署名可能叫qwen-plus-chinese或者qwen_max一字之差都失效。参数方面我建议把temperature调低到 0.3 到 0.5。OpenClaw 这类 agent 需要的是稳定输出温度太高它可能会在工具调用参数上随机出幺蛾子。max_tokens设置在 1024 到 2048 之间比较合适太小的话长回复直接被截断太大的话单次请求费用偏高、额度消耗快。另外要注意timeout参数。有些云平台首字延迟略高OpenClaw 默认的 HTTP 客户端超时可能只有 10 秒实际用起来容易出现“Agent failed before reply”这类半截报错。你在配置里可以把timeout调到 30 秒乃至 60 秒具体字段名可能是request_timeout或http_timeout。5. 薅羊毛路上的坑与排查实录5.1 session file locked 报错怎么破热词里那条 “agent failed before reply: session file locked (timeout 60000ms)” 我太熟了跑 OpenClaw 第一周就撞上。字面意思是某个会话文件被锁定进程等了 60 秒还没拿到锁于是放弃回复。这个问题的常见触发场景是你同时跑了多个 OpenClaw 实例或者同一实例被多个渠道并发触发导致两个会话都要写同一个 session 文件。我在排查时发现很多教程里都推荐用--restartalways拉起容器但如果你用 docker compose 又误设了副本数大于 1就会有两个进程抢文件。解决方式分几步确认是否同一条消息被多个渠道重复投递如果是关掉多余 channel。检查 Docker 是否重复启动多个容器docker ps | grep openclaw多余容器直接删掉。如果只是偶发可以在config.yaml里增加 session 锁超时时间把session_lock_timeout从 60000 调到 120000。这个报错最气人的地方在于它不会第一时间告诉你“哪个文件被锁”需要你翻日志目录下的 session 文件。有个小技巧看 lock 文件后缀.lock是否有残留如果有残留而进程已退出手动删除再重启就可以了。5.2 飞书输出被截断的解决办法“OpenClaw 在飞书输出容易被截断”这事本质是飞书消息长度上限所致。飞书普通消息单条长度限制约 15000 字不同版本有差异但 OpenClaw 默认可能一次把长答案整个丢出去超了就被截断。解决思路不是调模型而是改输出策略。你可以在 OpenClaw 配置里找类似max_reply_length的字段设置一个低于飞书限制的阈值比如 10000。超过阈值后让 OpenClaw 把回复拆成多条消息顺序发送或者在中间插入“内容过长分段发送”的提示。还有一个我没在文档里看到、但实测好用的办法给模型加一条 system prompt要求它在回复超过 800 字时主动总结要点。这样回答本身就变得简洁截断概率大幅下降同时也省 token。对用户来说回复太长本来也不是什么好体验。5.3 OpenClaw 和 WorkBuddy 怎么选有人把 OpenClaw 和 WorkBuddy 放一起比较这两个并不是同一类东西。OpenClaw 偏向开发者自部署的 agent可配置性高能接飞书、Teams还能在本地做各种工具调用WorkBuddy 则更偏向“开箱即用”的 AI 工作流工具用户不需要写配置文件界面化操作居多。选型的核心标准是“你的掌控欲”。想要完全自己控制数据流向、日志、模型通道选 OpenClaw 没错代价是学习曲线陡峭。想快速搭一个能跑的工具对底层原理不关心WorkBuddy 类产品体验会更好。免费额度这件事上OpenClaw 显然更划算因为你不受制于某个 SaaS 平台的模型绑定哪里有额度就往哪里接。联通云 Coding Plan、天翼云的同类计划本质上都是同一个模式谁家送额度你就把 base_url 切到谁家。5.4 每日额度用超了怎么办免费额度虽好总有见底的时候。我在薅完浪后发现一个规律联通云这类资源包在额度用完后接口不会直接报 403而是可能变成“欠费冻结”状态或者返回一个特别泛化的错误。OpenClaw 面对这种错误往往不具备自动识别能力它只会把报错原样丢给你。我的建议是设置双层保险。在 OpenClaw 里配置模型失败重试次数重试次数别太高否则额度耗尽时会连续触发多次请求反而可能产生额外费用。在云厂商控制台打开余额提醒不少服务商支持按剩余额度百分比发送短信设置 20% 提醒一次5% 再提醒一次这样你还有时间切备用模型。真要用完了最省事的方案是临时换一个base_url指向自带的本地模型或者直接停掉 OpenClaw 服务留着额度到真正需要时再开。别死磕一个厂商今天联通云送明天天翼云也可能有同类活动一个瓶盖换一个瓶盖才是白嫖党的正确节奏。最后分享一个实际体会把免费 Coding Plan 接到 OpenClaw 上跑最大的收获不是省那几十块钱而是逼着你把 base_url、api_key、model_name、channel 这一整条链路都摸了一遍。之后再切任何一个云厂商的额度包半小时内就能搞定。一个小建议接完记得把你的 API Key 放到.env里别直接硬编码在config.yaml否则到时候清理仓库或者截图分享时等于把免费额度拱手送人。这波羊毛薅得值但也别忘了防着点自己手滑。