过去半年多,我做的最值的一件事,就是把“内容创作—定稿—发布”这条链路从手动模式改成了自动模式。原先一个选题从记录灵感、查资料、写大纲、出初稿到排版发布,零零散散至少要占用两三天;现在我用 OpenClaw 做智能体编排,配合优云智算的 Coding Plan 提供云端模型算力支持,把从灵感到成文、再到发布的主要环节全部串了起来,基本能做到当天产出、当天发布。这篇不是吹方案多完美,而是把整套落地过程、踩坑记录和能直接照抄的操作步骤都整理出来,给同样想搭“AI内容工厂”的博主、独立开发者或者小团队参考。
这套东西适合谁,我先说清楚。如果你只是偶尔写一两篇文章,那手动写完全没问题,不需要上自动化;但如果你像我一样,有固定更新频率,手头还有好几个内容账号,或者说需要把客户方案、项目文档、技术博客批量生产,那一个能自动收集灵感、自动写稿、自动走发布流程的智能体就非常实用。接下来的内容会围绕“为什么选这套组合”、“怎么部署”、“怎么花最小成本把它跑起来”三个问题展开,全程都是实际可复现的路径。
1. 为什么选 OpenClaw 加 Coding Plan 这套组合
1.1 全流程自动化的关键瓶颈
内容自动化的难点从来不是“让 AI 写一段话”,而是把零散环节串起来。常见的做法是打开某个 AI 对话网站,复制灵感进去,让它生成初稿,再把稿子搬到编辑器排版,最后人工去后台发布。这个流程里每一步都有上下文切换损耗,灵感在剪贴板里待久了还会丢。真正的自动化要求的是,一个调度中枢能自己完成“读取内容——规划任务——调用模型生成——按规则输出——触发外部动作”这一长串行为。
我之前试过几类方案。第一类是纯脚本加 API,写起来不算难,但一旦任务需要多轮判断,比如“这篇稿子该配什么结构”“读者反馈需要怎么吸收”,脚本就会变得特别脆。第二类是各家云厂商的在线 IDE 搭配 AI 助手,它们适合人在浏览器里操作,做批量自动化就不顺手了。所以最终落脚点还是智能体框架。
1.2 OpenClaw 在流程里的角色
OpenClaw 在我的链路里承担的是“总调度”角色。它本质上是一个能自己规划任务、调用工具、操作文件系统、执行命令的智能体运行环境,类似一个常驻电脑里的 AI 助理。我给它一个灵感草稿,它能根据预设的写作 Skill 去规划文章结构,调模型分节生成内容,再把成品写进指定目录;我给它一个“去发布”的指令,它能触发发布脚本,走完原本需要在浏览器里手动操作的那几步。
这类框架有个很重要的设计:智能体不会在不经许可的情况下乱执行命令,任何敏感操作会先询问。OpenClaw 把执行批准的记录放在 exec-approvals.json 里,比如升级到新版后第一次启动,它发现旧的审批文件会提示 legacy exec approvals exist at /root/.openclaw/exec-approvals.json,意思就是旧的审批记录还在,需要确认要不要迁移。这层安全机制在自动化发布场景里很有用,我会在后面的安全经验里专门讲。
1.3 优云智算 Coding Plan 解决模型成本与稳定问题
模型从哪来,是整套方案里必须回答的问题。纯本地方案在内容生成质量、长文本稳定性和并发能力上都差点意思,尤其是中文长文写作,开源本地模型和商业模型差距明显。但直接一家一家开通商业模型服务,调用分散、账单也散,管理成本太高。我后来选择把模型请求统一走优云智算的 Coding Plan 通道,平台那边提供面向编程和内容生成的模型访问额度和稳定接口,省去了自己维护多套 API Key 的麻烦。
实际使用中,Coding Plan 里能配到模型选择很关键。日常内容生成我会用偏向文本质量的模型,写代码或者处理结构化配置的时候再切换到编程能力更强的模型。后面第三节我会给出具体的模型拆分配置,这种“量体裁衣”的策略能让成本和质量得到平衡。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础部署:先把 OpenClaw 跑起来
2.1 选型:云服务器加 Docker 的落地方式
OpenClaw 的部署方式不少,官方一直推荐的方式是命令行安装,Windows 下能在 PowerShell 里跑安装命令,也有便携包可以直接解压运行。我在本地 Windows 机器上试过便携包版本,适合体验功能,但做常驻自动化服务还是放云服务器上更稳,原因有三个:一是服务器不关机,定时任务不会断;二是发布脚本需要对外访问,走服务器网络比本地更干净;三是多个人或多台设备可以共用同一个实例,素材和配置都集中。
云服务器配置不需要太高,2 核 4G 就够跑基础流程,如果要用到本地模型做辅助,再把内存加到 8G 以上。系统我建议选 Ubuntu 22.04 这类 LTS 版本,坑少。整体步骤其实就三步:装 Docker、拉镜像或执行安装脚本、做目录映射。
注意:如果是纯 Windows 环境想快速玩,记得安装后把 openclaw 所在目录加进系统 PATH,否则会看到“无法将 openclaw 项识别为 cmdlet、函数、脚本文件”的报错。这个报错本质是 PowerShell 找不到可执行文件,加环境变量就能解决。
2.2 安装与初始化配置文件
以服务器部署为例,我走的路径是 Docker + 数据目录挂载。先建一个 OpenClaw 的工作根目录,比如 /opt/openclaw,然后把容器内部的数据目录映射到宿主机,方便备份和查看产出文件。启动容器前要做两个准备:一个是确认端口规划,另一个是确保工作目录有写入权限,否则容器起来后智能体连 workspace 都建不了。
我第一次启动时遇到过目录权限问题,OpenClaw 会在用户目录下生成 .openclaw 文件夹,里面放 workspace(工作区)、配置文件、日志和刚才提到的执行审批文件。如果你在 Windows 上看到类似 workspace: c:\users\administrator\.openclaw\workspace 的提示,那就说明数据目录已经被正确识别。首次启动完成后,建议先看一眼配置目录结构和日志,确认没有报错再继续配模型。
初始化完成后,主配置文件里需要指定默认的模型服务信息。OpenClaw 的模型配置兼容 OpenAI 风格的接口字段,核心是 base_url、api_key 和 model。我通常会在 settings 区域配置默认模型,再在 models 列表区域声明多个备选模型。配置改完记得重启进程,让配置重新加载。
2.3 验证智能体正常回话
配置完成后的第一件事不是急着接业务,而是跑一条最简单的对话,确认智能体能正常回复。直接在命令行里进入 OpenClaw 交互界面,输入一句类似“请输出当前工作目录下的文件列表”的指令。如果它能正确执行并返回结果,说明核心链路已经通了。
这一步我见过很多翻车的例子,最常见的是启动后直接报错 agent failed before reply: unknown model: deepseek。这个报错的字面意思是“未知模型: deepseek”,问题根源几乎都在配置里,要么是模型名字和实际服务商提供的名字不一致,要么是代码里默认写了某个模型名,但你的 API Key 没有该模型的访问权限。排查逻辑很简单:先确认平台提供的模型标识,再去 OpenClaw 配置里把默认模型改成实际可用的标识,改完重启。
一个小习惯:每改一次配置,我都建议跑一遍“最小验证”,也就是只问一句话让智能体回复。不要等到接完所有技能再去排错,那时候变量太多,定位问题会非常痛苦。
3. 接入优云智算 Coding Plan
3.1 开通与 API 配置
优云智算的 Coding Plan 开通流程不复杂,核心是拿到一个能发起模型请求的 API Key 和对应的接口地址。套餐的实际计费逻辑根据平台规则而定,有的是按 token 消耗,有的是按月额度,我自己的做法是先充小额体验包,验证稳定后再升级。因为智能体跑的每个环节都会产生 token,一次多轮交互的消耗比单次问答高不少,你得先估算出自己一篇长文的平均消耗,才好选套餐档位。
拿到 API Key 后,把它配置到 OpenClaw 时我强烈建议使用环境变量而不是直接明文写进主配置。比如把 Key 放在 .env 文件或者系统环境变量里,OpenClaw 加载配置时读取环境变量注入。这样即使后期把配置分享给同事,也不会把密钥泄露出去。
伪配置长这样:
json复制{
"provider": "youyun-coding-plan",
"api_base": "https://api.example.com/v1",
"api_key_env": "YOUYUN_API_KEY",
"default_model": "glm-4-plus"
}
注意这里的 api_base 需要替换成优云智算控制台里给你的真实地址,配置完成后在 OpenClaw 里发起一次对话,确认请求能正常返回。“返回正常”的标准不只是“有回复”,而是你要看一眼回复里是否带出了正确的模型名,有时候接口能通但模型被降级,内容质量会明显变化。
3.2 OpenClaw 多模型配置
OpenClaw 支持在同一套环境里配置多个模型,这在自动化流程里非常有用。我会把模型分成三类:轻量对话模型负责日常指令解析、选题碰撞;主力写作模型负责长文生成;编程增强模型负责处理发布脚本、正则清洗和数据抓取的小程序。多模型配置的写法是给每个模型指定 service 标识,然后在 Skill 文件或者任务指令里指定“这一步用哪个模型”。
我之前在试某次更新后的版本时,OpenClaw 会缓存一套默认模型列表,如果你没有显式声明,它可能尝试去调一个不属于当前服务商的模型,然后报 unknown model。实际上你只要把几个常用模型名配成别名,就不会有这个问题。比如把 DeepSeek 系列配成 deepseek-chat,把千问系列配成 qwen-max,把 GLM 系列配成 glm-4-plus,具体以服务商接口文档为准。
经验:不要让智能体在“每步自由选择模型”,而是给每个步骤指定模型。尤其在长文生成时,如果中途切换模型,风格容易断层,标题和正文甚至会出现两套文风。自动化内容流程里,可控比智能更重要。
3.3 为什么要把“写作”和“编程”拆成两个模型
很多刚接触这套玩意的朋友会问我,为什么不能一个模型干完所有事。答案在于成本和质量。写作模型的上下文理解能力、中文表达风格通常更优,但代码生成时它可能输出过多注释、结构反而啰嗦;编程模型写脚本非常利落,但让它生成一篇自然流畅的博文,又会显得机械。而且两者 token 计价往往不同,拆开用,长文生成走写作模型,发布脚本生成走编程模型,整体成本比全程用顶级模型低不少。
拆开用还有一个额外好处:故障隔离。某一次我用的写作模型接口临时限流,如果所有任务都压在这一个模型上,整条流水线就断了。但我把技能型任务放在另一个编程模型上,它不受影响,至少发布脚本还能正常跑,不至于全盘停摆。这套冗余思想在自动化里非常重要,你的系统越自动化,就越要给关键路径留降级方案。
4. 自动化工作流设计与 Coding Plan 实操
4.1 整体流程文件化设计
在动手写复杂逻辑之前,我先把流程画在纸面上:灵感输入→素材整理→生成大纲→分节写作→汇总润色→质量检查→人工确认→自动发布。这里有个核心原则,就是每一个环节都要形成“文件”而不是只存在于对话里。灵感是 inbox 目录下的一个 md 文件,大纲是 drafts/ 下的一个 md 文件,最终成品是 ready/ 下的文件,发布动作读取指定目录里的成品并执行。
文件化设计的好处有三个:第一,任务可以断点续跑,即使智能体中途卡住,文件还在,手动接管也容易;第二,日志和过程资产可回溯,每一篇稿子的演变过程都看得见;第三,方便外部工具介入,比如同行评审时我只需要把文件发出去,不需要让人去翻聊天记录。可以说文件系统就是整套自动化的“数据库”。
4.2 灵感采集:给智能体一个稳定入口
灵感是内容生产的源头,我觉得最值得优先搞定的是输入体验。如果记录灵感的过程比灵感本身还费力,那用户很快就会放弃。我的做法是让 OpenClaw 暴露一个简单的输入入口,建立几个 /topic、/idea 快捷指令,在命令行里随手打一句半句话,智能体就能把它结构化写入 inbox/ 目录,并打上时间戳。
有些朋友想接入 IM 工具,比如让 OpenClaw 接入飞书或微信,通过给自己发消息来记录灵感。从工程角度,飞书机器人接 webhook 是比较稳妥的方案,用机器人把消息转发到 OpenClaw 的 HTTP 接口,再由接口层写入 inbox。不推荐去折腾个人微信号的自动化 hook,一方面账号安全风险大,容易被平台风控;另一方面也没必要,机器人方案已经足够轻量。
4.3 成文:Skill 驱动的内容生产
灵感进入 inbox 之后,成文环节由一系列 Skill 驱动。Skill 可以理解成给智能体写的“操作手册”,里面包含触发条件、执行步骤和产出格式。我建了三个核心 Skill:一个是 outline_skill,负责读入灵感、分析写作角度、生成文章大纲;一个是 writer_skill,负责按大纲分节生成正文,写完后会自行拼接成完整草稿;还有一个是 polish_skill,负责检查逻辑连贯性、错别字和重复表达。
实际配置 writer_skill 时,有个细节值得注意:让模型“分节写”而不是“一次写完”。长文一次性生成的后期质量下降明显,分节写每一节保持在 500 字左右,生成完一节就落盘到临时文件,等全部写完再合并,这样每一节的输出长度可控,token 损耗也低。合并之后再用 polish_skill 对整个文档做一次全局视角的润色,比直接让模型通篇重写节省不少成本。
4.4 发布:安全执行与定时触发
成文只是前半段,发布才是流程的临门一脚。我的发布动作被封装成一个发布脚本,脚本接收成品文件路径、目标平台和自定义摘要三个参数。脚本内部实现登录态检查、内容格式化、网络请求发送和回传发布链接。由于发布是不可逆动作,我会在智能体配置里保留执行审批策略,脚本第一次运行前需要人工确认一次,确认后把它加入允许执行目录。此后智能体再调用,就不会反复弹确认。
定时触发方面,我用的方案是服务器 crontab 定时执行一条扫描命令,每天检查 inbox/ 里是否有未处理的新灵感。如果有,就触发 OpenClaw 的批处理模式,跑完整个从大纲到发布的流程,并把结果写入 logs/。这个设计让自动化变成了“有活干活、没活休息”,不会因为定时任务空跑浪费模型额度。
5. 实测记录:一条灵感如何变成线上文章
5.1 一个真实跑通的运行序列
我举一个最近跑通的案例。当天我在命令行里输入了一条灵感:“后端接口异常排查的自动化实践,结合 OpenClaw 里的可观测性思路。”这条指令触发后,OpenClaw 依次做了以下操作:先是建立任务卡片,把灵感标准化写入 inbox;然后调用 outline_skill 生成了一段标题备选和三级大纲;接着根据大纲分节写作,每写完一节都保存到草稿文件;全文合并后,polish_skill 做了一轮润色,重点修改了重复的“排查”表述和口语化连接词。
最终文章进入 ready 目录后,我没有直接自动发布,而是先人工快速浏览了一遍正文。这一步要保留,机器生成的稿件还是要人来把关。确认没问题后,我发出“发布当前 ready 目录下最新的文章到指定平台”指令,OpenClaw 调用发布脚本完成排版转换、标签设置和网络请求,前后大约十几秒。整个环节从灵感到成品,真正的人工操作时间不到十分钟。
5.2 token 与耗时估算
我把这套流程跑熟之后,统计过一次资源消耗。一篇 3000 字左右的文章,包含两轮大纲生成、六轮分节写作、一轮全局润色和一次格式检查,大概消耗 2 万到 3 万 token。按照 Coding Plan 的额度逻辑折合算下来,单篇成本很低,但对比单次直接的“帮我写一篇文章”问答,多出来的 token 主要耗在中间检查和分节生成上。
耗时上,模型响应速度快时,全文生成大约在 5 到 10 分钟;如果模型接口出现限流,可能延长到 20 分钟以上。所以我给定时任务做了超时保护:单篇任务最长跑 30 分钟,超时自动暂停并保留中间草稿,等模型服务恢复后手动续跑,不至于把服务器资源白白耗尽。
6. 常见问题与排查技巧速查
6.1 安装与启动阶段的典型问题
最常遇到的还是命令找不到的问题。Windows 用户在 PowerShell 里安装后,直接输入 openclaw 报“无法识别项”,十有八九是安装目录没有加入 PATH。解决办法是手动添加环境变量,或者用完整路径执行一次,正常后再重新打开终端验证。
服务器端启动后立刻退出,常见原因是数据目录没有写权限。OpenClaw 需要在数据目录下写配置、日志和 workspace,如果目录属主不对,进程会静默失败。用 ls -ld ~/.openclaw 看属主,如果是 root 而进程以普通用户跑,改成普通用户属主即可。还有一个隐藏问题是版本升级后提示旧的 exec approvals 文件要迁移,这时不要直接删除文件,先看提示内容,确认哪些命令是之前允许的,再决定是否迁移,盲目清空会让很多原本顺畅的自动化动作重新弹审批。
6.2 模型连接与输出质量阶段
模型连接问题里,401 认证失败和模型名不存在出现频率最高。401 多半是 API Key 配置错了,检查有没有多余空格,或者环境变量有没有被正确读取;模型名不存在就是我在前面提到的 unknown model 问题,登录平台后台确认实际模型标识,然后再改 OpenClaw 配置。
输出质量方面,如果发现生成内容越来越“水”,不要急着换模型,先检查上下文是否被塞太多历史信息。OpenClaw 有 Active Memory 设计,可以让智能体把重要的用户偏好长期保存下来,比如“读者喜欢短段落”“标题要带数字”。这个机制在自动化内容里就是双刃剑:记忆准确时稿子风格稳定,记忆错位时整篇文章会带着错误偏好。建议每隔几周清理一次长期记忆,只保留真正稳定的风格规则。
6.3 自动化发布阶段
发布脚本报错集中在登录态失效和目标平台接口调整。我的经验是不要把登录态长时间保存在脚本里,而是做成独立的登录刷新模块,每几天自动刷新一次,或者在检测到 401 时主动抛出让管理员人工登录的提示。平台接口调整属于不可控因素,所以发布函数要写得足够薄,方便平台改动时只改映射层,不用动核心流程。
还有一个细节,自动化发布容易触发平台的内容风控。我的策略是:发布前用检查脚本跑一遍敏感词检测,把机器生成内容里可能的联系方式、夸张宣传词和非必要外链全部过滤掉。合规是红线,自动化让发布变快,也意味着风险扩散变快,所以闸门必须保留。
最后再分享一个我实际养成的小习惯。整套流程跑通后,我会定期随机抽一篇由智能体自动生成的稿件,重新读一遍并记录它哪里写得不好。不要因为有了自动化就放弃对内容的判断力,自动化的价值是省下“跑腿”的时间,而不是代替你做最终决策。把省下来的时间花在选题把控和深度思考上,这套流程才算真正发挥出了价值。
