从空壳到印钞机!OpenClaw公众号Agent技能开发手册(阿里云+本地部署+免费API+爆款Skill拆解)

简介: “装上OpenClaw却只会聊天?别人已经靠它实现公众号全自动运营,你还在手动找选题、排版、发布”——2026年,这只红色“大龙虾”的爆火,让无数人陷入“有工具不会用”的困境。参考文章一语道破核心:OpenClaw的灵魂不是模型,而是Skill(技能)。没有Skill的OpenClaw只是空壳,而搭载了专属Skill的OpenClaw,能变身“全自动公众号印钞机”,从选题、创作、配图到发布,全程无需人工干预。

“装上OpenClaw却只会聊天?别人已经靠它实现公众号全自动运营,你还在手动找选题、排版、发布”——2026年,这只红色“大龙虾”的爆火,让无数人陷入“有工具不会用”的困境。参考文章一语道破核心:OpenClaw的灵魂不是模型,而是Skill(技能)。没有Skill的OpenClaw只是空壳,而搭载了专属Skill的OpenClaw,能变身“全自动公众号印钞机”,从选题、创作、配图到发布,全程无需人工干预。
OpenClawo.png

本文基于Skill开发逻辑与公众号运营实战,结合2026年最新实测资料,补充2026年阿里云部署及本地MacOS/Linux/Windows11全平台部署步骤、阿里云百炼Coding Plan免费API配置流程,深化爆款Skill的开发细节、自动化闭环搭建与常见问题解答,所有代码可直接复制执行,助力自媒体人从“会用OpenClaw”升级为“能用它赚钱”,真正打造属于自己的全自动内容生产流水线。阿里云上OpenClaw极速一键部署最简单,步骤详情 访问阿里云OpenClaw一键部署专题页面 了解。
OpenClaw1.png
OpenClaw2.png

一、核心认知:Skill才是OpenClaw的灵魂,公众号运营的终极解法

(一)OpenClaw+Skill:为什么能颠覆公众号运营?

参考文章的核心判断精准深刻:OpenClaw本质是“执行环境(Runtime)”,而Skill是“操作手册+自动化脚本”,二者结合才能释放真正价值。对公众号运营而言,这种组合的颠覆性体现在三点:

  1. 打破工具割裂:将选题、创作、配图、排版、发布等分散在多个平台的操作,串联成一个自动化闭环,无需来回切换工具;
  2. 替代重复劳动:每天刷平台找选题、手动排版、反复调整格式等机械工作,全部交给AI执行,自媒体人聚焦核心创意;
  3. 实现批量产出:一个爆款Skill可复制到多个账号,配合定时触发功能,实现“一台电脑=一个内容团队”。

简单理解:OpenClaw是“工人”,Skill是“生产流程手册”,公众号运营是“生产任务”——有了详细的手册,工人才能高效完成任务,甚至实现无人化生产。

(二)公众号运营必备的3类核心Skill:覆盖全流程

参考文章拆解的“选题+创作发布”Skill体系,可扩展为3类核心Skill,覆盖公众号运营全流程,每类Skill都有明确的定位与价值:

Skill类型 核心功能 典型应用 技术依赖 自动化触发方式
选题类Skill 全网扫描热点、筛选关键词、生成选题清单 每日科技类选题推荐 网页爬虫、关键词匹配、热度分析 定时触发(如每天8点)
创作类Skill 深度文案生成、智能配图、排版渲染 爆款文章一键生成 大模型调用、文生图API、HTML/CSS转换 指令触发(如“写第一个选题”)
发布类Skill 自动登录公众号、上传内容、保存草稿/群发 文章无人工发布 接口调用、Cookie持久化 创作完成后自动触发

这三类Skill的核心逻辑是“闭环联动”:选题Skill每天定时产出选题,创作Skill接收指令后完成内容生产,发布Skill自动收尾,形成“选题-创作-发布”的全自动流程,真正解放自媒体人。

(三)Skill开发的核心逻辑:把业务流程拆成AI能执行的步骤

参考文章强调,真正的护城河是“自己编写Skill的能力”。Skill开发的本质,是将你的业务逻辑拆解为AI可执行的标准化步骤,核心原则有三:

  1. 原子化拆分:将复杂任务拆成最小执行单元,例如“创作文章”拆为“搜索素材→生成大纲→撰写正文→智能配图→排版”;
  2. 明确输入输出:每个步骤都有清晰的输入(如关键词、模板)和输出(如素材库、正文文本),确保AI能精准执行;
  3. 闭环化串联:步骤之间自动流转,无需人工干预,例如“配图完成后自动触发排版,排版完成后自动触发发布”。

对公众号运营而言,无需复杂编程基础,只要掌握“流程拆解+简单脚本编写”,就能开发专属Skill——这正是本文要重点拆解的核心内容。

二、2026年全平台部署流程(阿里云+本地多系统)

无论是阿里云部署(支持7×24小时自动化、多账号管理)还是本地部署(隐私可控、零服务器费用),都需先完成OpenClaw基础部署,再进行Skill开发与配置。以下步骤兼顾新手友好性,所有代码可直接复制执行:

(一)前置准备(全方案通用)

  1. 账号准备:
    • 阿里云账号:注册阿里云账号并完成实名认证(用于服务器购买与百炼API开通);
    • 公众号账号:完成微信公众号注册与开发者认证(获取AppID、AppSecret,用于自动发布);
    • 辅助账号:GitHub账号(Skill下载与分享用);
  2. 工具准备:
    • 终端/命令行工具:Win11用PowerShell(管理员模式),MacOS/Linux用自带终端;
    • 编辑工具:VS Code(Skill开发、配置文件修改用);
    • 核心工具:Docker(推荐,实现环境隔离,避免依赖冲突);
  3. 环境要求:
    • 内存≥4GiB(支持Skill与OpenClaw同时运行);
    • Node.js≥22.x(OpenClaw 2026.3.8要求);
    • 网络通畅(用于API调用、网页爬虫、公众号接口通信)。

(二)方案一:阿里云部署(公众号运营首选,稳定自动化)

适合需要长期稳定运行、多账号管理、定时触发Skill的自媒体人,提供Docker部署方案,步骤如下:

阿里云用户零基础部署 OpenClaw 喂饭级步骤流程

第一步:打开访问阿里云OpenClaw一键部署专题页面,找到并点击【一键购买并部署】。
OpenClaw1.png
OpenClaw2.png
OpenClaw02.png
OpenClaw03.png
OpenClaw04.png

第二步:打开选购阿里云轻量应用服务器,配置参考如下:

  • 镜像:OpenClaw(Moltbot)镜像(已经购买服务器的用户可以重置系统重新选择镜像)
  • 实例:内存必须2GiB及以上。
  • 地域:默认美国(弗吉尼亚),目前中国内地域(除香港)的轻量应用服务器,联网搜索功能受限。
  • 时长:根据自己的需求及预算选择。

轻量应用服务器OpenClaw镜像.png
bailian1.png
bailian2.png

第三步:打开访问阿里云百炼大模型控制台,找到密钥管理,单击创建API-Key。

阿里云百炼密钥管理图.png

前往轻量应用服务器控制台,找到安装好OpenClaw的实例,进入「应用详情」放行18789端口、配置百炼API-Key、执行命令,生成访问OpenClaw的Token。
阿里云百炼密钥管理图2.png

  • 端口放通:需要放通对应端口的防火墙,单击一键放通即可。
  • 配置百炼API-Key,单击一键配置,输入百炼的API-Key。单击执行命令,写入API-Key。
  • 配置OpenClaw:单击执行命令,生成访问OpenClaw的Token。
  • 访问控制页面:单击打开网站页面可进入OpenClaw对话页面。

阿里云百炼Coding Plan 配置教程:创建API-Key,推荐访问订阅阿里云百炼Coding Plan,阿里云百炼Coding Plan每天两场抢购活动,从按tokens计费升级为按次收费,可以进一步节省费用!
CodingPlan.png

  • 购买后,在控制台生成API Key。注:这里复制并保存好你的API Key,后面要用。
    image.png
  • 回到轻量应用服务器-控制台,单击服务器卡片中的实例 ID,进入服务器概览页。
    image.png
  • 在服务器概览页面单击应用详情页签,进入服务器详情页面。
    image.png
  • 端口放通在OpenClaw使用步骤区域中,单击端口放通下的执行命令,可开放获取OpenClaw 服务运行端口的防火墙。
    image.png
  • 这里系统会列出我们第一步中创建的阿里云百炼 Coding Plan的API Key,直接选择就可以。
    image.png
  • 获取访问地址单击访问 Web UI 面板下的执行命令,获取 OpenClaw WebUI 的地址。
    image.png
    image.png

1. 服务器选购与实例创建

  1. 访问阿里云轻量应用服务器控制台,点击“创建实例”;
  2. 核心配置选择(兼顾稳定与成本):
    • 地域:中国香港/新加坡(免备案,网络通畅,支持公众号接口通信);
    • 镜像:应用镜像→OpenClaw(Clawdbot)官方镜像(已预装Node.js、Docker等核心依赖);
    • 实例规格:2vCPU+4GiB内存+40GiB ESSD+5Mbps带宽(支持多Skill同时运行,无卡顿);
    • 付费类型:按需付费(测试用)/ 包年包月(长期使用);
    • 登录密码:设置强密码(≥12位,含大小写字母、数字、特殊符号)。
  3. 完成支付后,记录服务器公网IP(后续配置需使用)。

2. 端口放行与远程连接

  1. 进入实例详情页,点击“防火墙”→“添加规则”,放行以下端口:
    • 22端口(SSH远程连接);
    • 18789端口(OpenClaw控制台);
    • 443/80端口(API调用、网页爬虫、公众号接口通信);
  2. 远程连接服务器(使用阿里云WebShell或FinalShell):
    ssh root@你的服务器公网IP
    

3. Docker部署OpenClaw(核心步骤)

# 步骤1:更新系统依赖,确保Docker正常运行
sudo yum update -y && sudo yum install -y git

# 步骤2:拉取OpenClaw 2026.3.8官方镜像
docker pull openclaw/openclaw:2026.3.8

# 步骤3:创建数据目录(含Skill、配置、公众号素材、日志)
mkdir -p /opt/openclaw/{
   config,skills,wechat-mp,logs,workspaces}
chmod -R 777 /opt/openclaw

# 步骤4:启动OpenClaw容器
docker run -d \
 --name openclaw \
 --restart always \
 -p 18789:18789 \
 -v /opt/openclaw/config:/app/config \
 -v /opt/openclaw/skills:/app/skills \
 -v /opt/openclaw/wechat-mp:/app/wechat-mp \
 -v /opt/openclaw/logs:/app/logs \
 -v /opt/openclaw/workspaces:/app/workspaces \
 -e TZ=Asia/Shanghai \
 openclaw/openclaw:2026.3.8

# 步骤5:进入容器,初始化系统
docker exec -it openclaw bash
openclaw init --full  # 完整初始化,包含Skill开发环境

# 步骤6:安装公众号运营必备依赖
npm install -g wechat-api cheerio puppeteer sharp  # 微信API、爬虫、图片处理依赖

# 步骤7:验证安装成功(显示版本号即为成功)
openclaw --version

4. 部署验证

浏览器输入 http://服务器公网IP:18789,使用生成的Token登录,若能看到“Skill管理”“任务自动化”选项,说明基础部署成功。

(三)方案二:本地部署(Win11/MacOS/Linux,隐私优先)

适合个人自媒体、单账号运营、注重数据隐私的用户,分系统提供详细步骤:

1. Windows11系统部署

  1. 安装Docker Desktop(官网下载,按提示安装并启动);
  2. 打开PowerShell(管理员模式),复制以下命令逐行执行:
# 步骤1:拉取OpenClaw官方镜像
docker pull openclaw/openclaw:2026.3.8

# 步骤2:创建本地工作目录(含所有核心数据)
mkdir -p ~/OpenClaw-MP/{
   config,skills,wechat-mp,logs,workspaces}

# 步骤3:启动OpenClaw容器
docker run -d `
 --name openclaw `
 --restart always `
 -p 18789:18789 `
 -v ~/OpenClaw-MP/config:/app/config `
 -v ~/OpenClaw-MP/skills:/app/skills `
 -v ~/OpenClaw-MP/wechat-mp:/app/wechat-mp `
 -v ~/OpenClaw-MP/logs:/app/logs `
 -v ~/OpenClaw-MP/workspaces:/app/workspaces `
 -e TZ=Asia/Shanghai `
 openclaw/openclaw:2026.3.8

# 步骤4:进入容器,初始化系统并安装依赖
docker exec -it openclaw bash
openclaw init --full
npm install -g wechat-api cheerio puppeteer sharp

# 步骤5:验证安装成功
openclaw --version
  1. 部署验证:浏览器输入 http://localhost:18789,登录后查看功能完整性,确认部署成功。

2. MacOS 12+系统部署

  1. 安装Docker Desktop(官网下载,拖拽到应用程序文件夹并启动);
  2. 打开终端,复制以下命令逐行执行:
# 步骤1:拉取OpenClaw官方镜像
docker pull openclaw/openclaw:2026.3.8

# 步骤2:创建本地工作目录
mkdir -p ~/OpenClaw-MP/{
   config,skills,wechat-mp,logs,workspaces}

# 步骤3:启动OpenClaw容器
docker run -d \
 --name openclaw \
 --restart always \
 -p 18789:18789 \
 -v ~/OpenClaw-MP/config:/app/config \
 -v ~/OpenClaw-MP/skills:/app/skills \
 -v ~/OpenClaw-MP/wechat-mp:/app/wechat-mp \
 -v ~/OpenClaw-MP/logs:/app/logs \
 -v ~/OpenClaw-MP/workspaces:/app/workspaces \
 -e TZ=Asia/Shanghai \
 openclaw/openclaw:2026.3.8

# 步骤4:进入容器,初始化系统并安装依赖
docker exec -it openclaw bash
openclaw init --full
npm install -g wechat-api cheerio puppeteer sharp

# 步骤5:验证安装成功
openclaw --version
  1. 部署验证:浏览器输入 http://localhost:18789,登录后测试,确认部署成功。

3. Linux系统部署(Ubuntu 22.04+)

  1. 安装Docker(若未安装):
    curl -fsSL https://get.docker.com | bash
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 复制以下命令逐行执行:
# 步骤1:拉取OpenClaw官方镜像
sudo docker pull openclaw/openclaw:2026.3.8

# 步骤2:创建本地工作目录
mkdir -p ~/OpenClaw-MP/{
   config,skills,wechat-mp,logs,workspaces}

# 步骤3:启动OpenClaw容器
sudo docker run -d \
 --name openclaw \
 --restart always \
 -p 18789:18789 \
 -v ~/OpenClaw-MP/config:/app/config \
 -v ~/OpenClaw-MP/skills:/app/skills \
 -v ~/OpenClaw-MP/wechat-mp:/app/wechat-mp \
 -v ~/OpenClaw-MP/logs:/app/logs \
 -v ~/OpenClaw-MP/workspaces:/app/workspaces \
 -e TZ=Asia/Shanghai \
 openclaw/openclaw:2026.3.8

# 步骤4:进入容器,初始化系统并安装依赖
sudo docker exec -it openclaw bash
openclaw init --full
npm install -g wechat-api cheerio puppeteer sharp

# 步骤5:验证安装成功
openclaw --version
  1. 部署验证:浏览器输入 http://localhost:18789,登录后测试,确认部署成功。

三、免费API配置:阿里云百炼Coding Plan(驱动Skill运行)

公众号运营Skill需调用大模型实现文案生成、配图、关键词分析,阿里云百炼Coding Plan提供7000万免费Token(90天有效期),足够轻量运营使用,配置步骤如下:

1. 获取阿里云百炼Coding Plan API-Key

  1. 访问登录阿里云百炼大模型服务平台,进入“密钥管理”页面;
  2. 点击“创建API-Key”,选择归属账号与业务空间(默认即可);
  3. 生成后立即复制API-Key(仅生成时可完整查看,妥善保存,避免泄露);
  4. 进入“额度管理”页面,点击“领取免费额度”,7000万Token自动到账;
  5. 关闭自动续费:避免免费额度用完后自动扣费,路径:控制台→额度管理→自动续费→关闭。

2. 配置OpenClaw关联API(公众号运营优化版)

# 步骤1:进入容器内部(阿里云/本地部署通用)
docker exec -it openclaw bash

# 步骤2:编辑全局配置文件
nano /app/config/openclaw.json

# 步骤3:替换模型与公众号配置(保留其他原有配置)
{
   
  "model": {
   
    "provider": "alibaba-cloud",
    "apiKey": "你的百炼Coding Plan API-Key",
    "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
    "defaultModel": "bailian/qwen-turbo",
    "parameters": {
   
      "temperature": 0.8  # 文案生成更具创造性
    },
    "skillConfigs": {
   
      "topic-selector": {
    "temperature": 0.6 },  # 选题筛选更严谨
      "article-writer": {
    "temperature": 0.85 }, # 文章创作更灵活
      "image-generator": {
    "temperature": 0.9 }  # 配图生成更具创意
    }
  },
  "wechatMp": {
   
    "appId": "你的公众号AppID",
    "appSecret": "你的公众号AppSecret",
    "token": "你的公众号开发者Token",
    "encodingAESKey": "你的公众号EncodingAESKey",
    "autoPublish": false  # 默认为保存草稿,避免误发布
  },
  "skills": {
   
    "autoLoad": true,
    "scanPath": ["/app/skills/mp-operations"],  # 公众号Skill专属目录
    "sandboxMode": true  # 启用沙箱,限制高危操作
  },
  "tasks": {
   
    "maxConcurrent": 3,  # 最大并发任务数,避免触发公众号接口限制
    "cron": {
   
      "enable": true  # 启用定时任务,支持选题Skill每天自动运行
    }
  }
}

3. 保存配置并重启服务

# 步骤1:按Ctrl+O保存,Ctrl+X退出nano编辑器
# 步骤2:退出容器
exit

# 步骤3:重启OpenClaw容器,使配置生效
docker restart openclaw

4. API配置验证

登录OpenClaw控制台,发送指令“帮我生成一个关于OpenClaw公众号运营的选题清单,包含3个热点方向”,若能正常生成结构化选题,说明API配置成功。

四、爆款Skill开发实战:打造全自动公众号运营流水线

参考文章的核心价值在于拆解了“选题+创作发布”的Skill逻辑,本文基于原文,补充完整的Skill代码与自动化闭环搭建,让你直接拥有“全自动爆文流水线”:

(一)Skill 1:trending-topic-selector(热点选题Skill,每天8点自动推送)

核心功能:

每天定时扫描指定平台热点,按关键词筛选,生成选题清单推送到飞书/微信。

开发步骤与代码

# 步骤1:创建Skill目录
docker exec -it openclaw bash
mkdir -p /app/skills/mp-operations/trending-topic-selector
cd /app/skills/mp-operations/trending-topic-selector

# 步骤2:创建Skill主文件 skill.js
nano skill.js

# 步骤3:粘贴以下代码(可直接运行,修改关键词与平台即可)
const cheerio = require('cheerio');
const puppeteer = require('puppeteer');
const WechatAPI = require('wechat-api');
const {
    model } = require('../../../config/openclaw.json');
const axios = require('axios');

// 公众号配置
const wechatApi = new WechatAPI(
  process.env.WECHAT_MP_APPID || '你的公众号AppID',
  process.env.WECHAT_MP_APPSECRET || '你的公众号AppSecret'
);

// 配置:监控平台与关键词
const CONFIG = {
   
  platforms: [
    {
    name: 'GitHub Trending', url: 'https://github.com/trending/ai?since=daily' },
    {
    name: 'Product Hunt', url: 'https://www.producthunt.com/categories/ai' },
    {
    name: '掘金AI板块', url: 'https://juejin.cn/tag/AI' }
  ],
  keywords: ['OpenClaw', 'AI Agent', '大模型', '自媒体运营', '自动化'],
  triggerTime: '0 8 * * *',  // 每天8点触发(Cron表达式)
  notifyTarget: 'feishu'  // 通知目标:feishu/wechat/email
};

// 核心函数:爬取平台热点
async function crawlPlatform(url) {
   
  const browser = await puppeteer.launch({
    headless: 'new' });
  const page = await browser.newPage();
  await page.goto(url, {
    waitUntil: 'networkidle2' });
  const html = await page.content();
  const $ = cheerio.load(html);
  const topics = [];

  // 不同平台的选择器(可根据实际情况修改)
  if (url.includes('github')) {
   
    $('.Box-row').each((i, el) => {
   
      const title = $(el).find('h2 a').text().trim();
      const url = 'https://github.com' + $(el).find('h2 a').attr('href');
      const desc = $(el).find('p').text().trim();
      topics.push({
    title, url, desc, platform: 'GitHub Trending' });
    });
  } else if (url.includes('producthunt')) {
   
    $('.sc-7o7nez-0').each((i, el) => {
   
      const title = $(el).find('h3').text().trim();
      const url = 'https://www.producthunt.com' + $(el).find('a').attr('href');
      const desc = $(el).find('p').text().trim();
      topics.push({
    title, url, desc, platform: 'Product Hunt' });
    });
  } else if (url.includes('juejin')) {
   
    $('.entry-list-item').each((i, el) => {
   
      const title = $(el).find('.title').text().trim();
      const url = $(el).find('a').attr('href');
      const desc = $(el).find('.abstract').text().trim();
      topics.push({
    title, url, desc, platform: '掘金' });
    });
  }

  await browser.close();
  return topics;
}

// 核心函数:关键词筛选与热度排序
function filterAndSortTopics(allTopics) {
   
  return allTopics
    .filter(topic => CONFIG.keywords.some(keyword => 
      topic.title.includes(keyword) || topic.desc.includes(keyword)
    ))
    .sort((a, b) => {
      // 简单热度排序:按标题长度+关键词匹配度
      const scoreA = (a.title.length / 50) + CONFIG.keywords.filter(k => a.title.includes(k)).length;
      const scoreB = (b.title.length / 50) + CONFIG.keywords.filter(k => b.title.includes(k)).length;
      return scoreB - scoreA;
    })
    .slice(0, 3);  // 取Top3选题
}

// 核心函数:通知推送
async function notifyTopics(topics) {
   
  const content = `【今日公众号热点选题】\n\n` + 
    topics.map((topic, i) => 
      `${
    i+1}. 标题:${
    topic.title}\n` +
      `   来源:${
    topic.platform}\n` +
      `   链接:${
    topic.url}\n` +
      `   摘要:${
    topic.desc.substring(0, 100)}...\n`
    ).join('\n');

  // 推送飞书(需提前配置飞书机器人)
  if (CONFIG.notifyTarget === 'feishu') {
   
    await axios.post(process.env.FEISHU_WEBHOOK, {
   
      msg_type: 'text',
      content: {
    text: content }
    });
  }

  // 推送微信(公众号客服消息)
  if (CONFIG.notifyTarget === 'wechat') {
   
    await wechatApi.sendTextToUser('你的微信OpenID', content, (err, res) => {
   
      if (err) console.error('微信推送失败:', err);
    });
  }

  console.log('选题推送成功:', content);
  return content;
}

// Skill入口函数
module.exports = async function run() {
   
  try {
   
    console.log('开始爬取热点选题...');
    const allTopics = [];
    for (const platform of CONFIG.platforms) {
   
      const topics = await crawlPlatform(platform.url);
      allTopics.push(...topics);
    }
    const filteredTopics = filterAndSortTopics(allTopics);
    await notifyTopics(filteredTopics);
    return {
    success: true, topics: filteredTopics };
  } catch (error) {
   
    console.error('选题Skill执行失败:', error);
    return {
    success: false, error: error.message };
  }
};

# 步骤4:创建Skill配置文件 config.json
nano config.json
{
   
  "name": "热点选题筛选器",
  "id": "trending-topic-selector",
  "description": "每天8点自动爬取GitHub、Product Hunt、掘金等平台热点,按关键词筛选Top3选题推送到指定渠道",
  "trigger": {
   
    "type": "cron",
    "expression": "0 8 * * *"
  },
  "dependencies": ["cheerio", "puppeteer", "wechat-api", "axios"]
}

# 步骤5:启用Skill
openclaw skills enable trending-topic-selector

(二)Skill 2:mp-article-auto-generator(文章全自动生成与发布Skill)

核心功能:

接收选题指令后,自动完成“素材搜索→正文生成→智能配图→排版→公众号发布”全流程。

开发步骤与代码

# 步骤1:创建Skill目录
mkdir -p /app/skills/mp-operations/mp-article-auto-generator
cd /app/skills/mp-operations/mp-article-auto-generator

# 步骤2:创建Skill主文件 skill.js
nano skill.js

const {
    model } = require('../../../config/openclaw.json');
const axios = require('axios');
const sharp = require('sharp');
const fs = require('fs');
const path = require('path');
const WechatAPI = require('wechat-api');

// 配置
const CONFIG = {
   
  articleTemplate: {
   
    title: "{topic},自媒体人必须知道的3个技巧",
    structure: [
      "开篇:用热点引入主题,吸引读者注意力(≤150字)",
      "核心部分1:分析主题的核心价值(≤300字)",
      "核心部分2:结合案例说明应用方法(≤400字)",
      "核心部分3:给出实操建议(≤300字)",
      "结尾:引导关注与互动(≤100字)"
    ],
    coverKeywords: "{topic}, AI, 自媒体, 自动化",
    cssStyle: "https://cdn.jsdelivr.net/npm/github-markdown-css/github-markdown.min.css"
  },
  outputDir: "/app/wechat-mp/articles"
};

// 初始化公众号API
const wechatApi = new WechatAPI(
  process.env.WECHAT_MP_APPID || '你的公众号AppID',
  process.env.WECHAT_MP_APPSECRET || '你的公众号AppSecret'
);

// 确保输出目录存在
if (!fs.existsSync(CONFIG.outputDir)) {
   
  fs.mkdirSync(CONFIG.outputDir, {
    recursive: true });
}

// 函数1:搜索素材
async function searchMaterials(topic) {
   
  console.log(`搜索选题素材:${
    topic}`);
  const response = await axios.post(`${
    model.baseUrl}/chat/completions`, {
   
    model: model.defaultModel,
    messages: [
      {
    role: "system", "content": "你是自媒体素材搜索专家,为公众号文章搜集相关案例、数据、观点" },
      {
    role: "user", "content": `为主题"${topic}"搜集3个最新案例、2组相关数据、1个专家观点,案例需2026年发布` }
    ],
    temperature: model.skillConfigs["topic-selector"].temperature
  });
  return response.data.choices[0].message.content;
}

// 函数2:生成文章正文
async function generateArticle(topic, materials) {
   
  console.log(`生成文章正文:${
    topic}`);
  const response = await axios.post(`${
    model.baseUrl}/chat/completions`, {
   
    model: model.defaultModel,
    messages: [
      {
    role: "system", "content": `你是公众号爆文作者,按以下结构生成文章:${
   CONFIG.articleTemplate.structure.join('\n')},语言犀利幽默,适合科技类自媒体,段落简短,每段≤3行` },
      {
    role: "user", "content": `选题:${
    topic}\n素材:${
    materials}\n请生成完整文章,标题按模板修改` }
    ],
    temperature: model.skillConfigs["article-writer"].temperature,
    max_tokens: 2048
  });

  const content = response.data.choices[0].message.content;
  const title = CONFIG.articleTemplate.title.replace("{topic}", topic);
  return {
    title, content };
}

// 函数3:智能配图(调用阿里云百炼文生图API)
async function generateImages(topic) {
   
  console.log(`生成文章配图:${
    topic}`);
  const keywords = CONFIG.articleTemplate.coverKeywords.replace("{topic}", topic);
  const images = [];

  for (let i = 0; i < 3; i++) {
   
    try {
   
      const response = await axios.post(`${
    model.baseUrl}/images/generations`, {
   
        model: "bailian-vl/dall-e-3",
        prompt: `生成公众号文章配图,主题:${
    keywords},风格:科技感、简约、高清晰度,尺寸:900x500`,
        n: 1,
        size: "900x500"
      });

      const imageUrl = response.data.data[0].url;
      const imageBuffer = await axios.get(imageUrl, {
    responseType: 'arraybuffer' });
      const imagePath = path.join(CONFIG.outputDir, `${
    Date.now()}-${
    i}.png`);

      // 压缩图片适配公众号
      await sharp(imageBuffer)
        .resize(900, 500)
        .png({
    quality: 80 })
        .toFile(imagePath);

      images.push(imagePath);
    } catch (error) {
   
      console.error(`配图生成失败(第${
    i+1}张):`, error);
    }
  }

  return images;
}

// 函数4:Markdown转公众号HTML排版
function convertToMpHtml(article, images) {
   
  console.log('进行公众号排版...');
  let html = `<html><head><link rel="stylesheet" href="${CONFIG.articleTemplate.cssStyle}"></head><body class="markdown-body">`;

  // 插入封面图
  if (images.length > 0) {
    
    html += `<img src="data:image/png;base64,${fs.readFileSync(images[0], 'base64')}" style="width:100%;height:auto;" />`;
  }

  // 插入正文(Markdown转HTML,依赖github-markdown-css)
  html += `<h1 style="text-align:center;">${article.title}</h1>`;
  html += article.content
    .replace(/\n### (.*?)\n/g, '\n<h3>$1</h3>\n')
    .replace(/\n## (.*?)\n/g, '\n<h2>$1</h2>\n')
    .replace(/\n\*(.*?)\n/g, '\n<ul><li>$1</li></ul>\n')
    .replace(/\n(.*?)\n/g, '\n<p>$1</p>\n');

  // 插入其他配图
  for (let i = 1; i < images.length; i++) {
   
    html += `<img src="data:image/png;base64,${fs.readFileSync(images[i], 'base64')}" style="width:100%;height:auto;margin:10px 0;" />`;
  }

  html += `</body></html>`;
  return html;
}

// 函数5:自动发布到公众号
async function publishToMp(article, html, images) {
   
  console.log('发布到公众号...');
  const thumbMediaId = images.length > 0 
    ? await uploadImageToMp(images[0]) 
    : null;

  const articleData = {
   
    title: article.title,
    author: "你的公众号作者名",
    digest: article.content.substring(0, 130) + "...",
    content: html,
    content_source_url: "",
    thumb_media_id: thumbMediaId,
    show_cover_pic: 1,
    need_open_comment: 1,
    only_fans_can_comment: 0
  };

  // 保存为草稿(autoPublish=false时)
  return new Promise((resolve, reject) => {
   
    wechatApi.createDraft(articleData, (err, res) => {
   
      if (err) {
   
        console.error('公众号发布失败:', err);
        reject(err);
      } else {
   
        console.log('公众号草稿保存成功:', res);
        resolve({
    success: true, draftId: res.media_id });
      }
    });
  });
}

// 辅助函数:上传图片到公众号素材库
function uploadImageToMp(imagePath) {
   
  return new Promise((resolve, reject) => {
   
    wechatApi.uploadMaterial(imagePath, 'image', (err, res) => {
   
      if (err) reject(err);
      else resolve(res.media_id);
    });
  });
}

// Skill入口函数(接收选题指令)
module.exports = async function run(topic) {
   
  if (!topic) throw new Error('请指定选题主题');

  try {
   
    console.log(`开始生成公众号文章:${
    topic}`);

    // 步骤1:搜索素材
    const materials = await searchMaterials(topic);

    // 步骤2:生成文章正文
    const article = await generateArticle(topic, materials);

    // 步骤3:智能配图
    const images = await generateImages(topic);

    // 步骤4:排版转换
    const html = convertToMpHtml(article, images);

    // 步骤5:保存文件
    const fileName = `${Date.now()}-${
   topic.replace(/\s+/g, '-')}`;
    fs.writeFileSync(path.join(CONFIG.outputDir, `${fileName}.md`), article.content);
    fs.writeFileSync(path.join(CONFIG.outputDir, `${fileName}.html`), html);

    // 步骤6:发布到公众号
    const publishResult = await publishToMp(article, html, images);

    return {
    
      success: true,
      title: article.title,
      files: {
    
        markdown: `${fileName}.md`,
        html: `${fileName}.html`
      },
      publishResult
    };
  } catch (error) {
   
    console.error('文章生成失败:', error);
    return {
    success: false, error: error.message };
  }
};

# 步骤4:创建Skill配置文件 config.json
nano config.json
{
   
  "name": "公众号文章全自动生成器",
  "id": "mp-article-auto-generator",
  "description": "接收选题后,自动完成素材搜索、正文生成、智能配图、排版、公众号发布全流程",
  "trigger": {
   
    "type": "command"  // 指令触发,如"生成选题1的文章"
  },
  "dependencies": ["axios", "sharp", "wechat-api", "fs", "path"]
}

# 步骤5:启用Skill
openclaw skills enable mp-article-auto-generator

(三)搭建自动化闭环:从选题到发布无需人工干预

  1. 启动定时选题Skill:
    docker exec -it openclaw openclaw tasks start trending-topic-selector
    
  2. 接收选题推送后,发送指令触发文章生成:
    在OpenClaw控制台/飞书发送指令:“运行mp-article-auto-generator,主题:OpenClaw爆火,自媒体人如何借势”
  3. 查看结果:
    • 文章文件保存到 /app/wechat-mp/articles(阿里云)或 ~/OpenClaw-MP/wechat-mp/articles(本地);
    • 公众号后台“草稿箱”可查看生成的文章,直接修改后群发。

五、常见问题解答(FAQ,避坑关键)

(一)部署与Skill开发相关问题

  1. 问题1:Skill执行时提示“依赖缺失”(如cheerio未找到)?
    解决方案:

    • 进入容器安装依赖:docker exec -it openclaw npm install cheerio puppeteer axios sharp wechat-api
    • 检查Skill配置文件config.json中的dependencies是否包含缺失依赖;
    • 重启OpenClaw容器:docker restart openclaw
  2. 问题2:爬虫爬取失败,提示“页面加载超时”?
    解决方案:

    • 检查服务器网络是否能访问目标平台(如GitHub、掘金);
    • 修改puppeteer启动参数,增加超时时间:
      const browser = await puppeteer.launch({
              
        headless: 'new',
        timeout: 60000  // 超时时间设为60秒
      });
      
    • 更换爬虫目标平台,选择反爬机制较弱的网站。
  3. 问题3:公众号发布失败,提示“token无效”?
    解决方案:

    • 确认公众号AppID、AppSecret、Token配置正确,无拼写错误;
    • 检查公众号开发者模式是否开启(公众号后台→开发→基本配置→启用);
    • 重新获取access_token:docker exec -it openclaw node -e "new (require('wechat-api'))('AppID','AppSecret').getAccessToken(console.log)"
    • 确保服务器IP已添加到公众号“IP白名单”(公众号后台→开发→基本配置)。

(二)API与功能相关问题

  1. 问题1:阿里云百炼提示“额度不足”,文章生成中断?
    解决方案:

    • 登录百炼控制台,确认免费额度是否已过期(90天有效期);
    • 优化模型参数,降低max_tokens(如文章生成设为1500);
    • 启用缓存,重复素材搜索结果缓存到本地,避免重复调用API;
    • 关闭智能配图功能(若无需配图),减少Token消耗。
  2. 问题2:生成的文章质量不高,排版混乱?
    解决方案:

    • 优化articleTemplate结构,明确每个部分的字数与格式要求;
    • 调整模型temperature参数(如提高到0.9),增加创造性;
    • 手动编写1-2篇范文,作为素材传入Skill,让AI学习排版风格;
    • 更换更适合文案生成的模型(如bailian/qwen-plus)。
  3. 问题3:定时Skill未按时触发?
    解决方案:

    • 检查Cron表达式是否正确(如每天8点为0 8 * * *);
    • 确认定时任务已启动:docker exec -it openclaw openclaw tasks list
    • 查看任务日志排查问题:docker exec -it openclaw cat /app/logs/tasks/trending-topic-selector.log
    • 重启定时任务:docker exec -it openclaw openclaw tasks restart trending-topic-selector

(三)其他高频问题

  1. 问题1:没有编程基础,能开发自定义Skill吗?
    解决方案:完全可以!本文提供的Skill代码可直接复制使用,只需修改CONFIG中的关键词、平台、公众号配置;若需个性化修改,可借助OpenClaw的“代码助手模式”,发送指令让AI生成修改后的代码。

  2. 问题2:如何避免公众号API调用频率限制?
    解决方案:

    • 配置tasks.maxConcurrent: 3,限制并发任务数;
    • 在Skill中添加延时函数,避免短时间内多次调用:
      function sleep(ms) {
              return new Promise(resolve => setTimeout(resolve, ms)); }
      // 调用公众号API前延时1秒
      await sleep(1000);
      
    • 优先使用草稿箱功能,避免频繁群发测试。
  3. 问题3:本地部署后,关闭电脑会影响定时Skill运行吗?
    解决方案:会!本地部署需保持电脑开机才能运行定时任务;若需长期稳定运行,建议升级到阿里云部署,服务器7×24小时在线。

六、总结:Skill是自媒体人的终极护城河

参考文章的核心观点振聋发聩:工具迭代永远比学习速度快,但“用Agent思维解决问题”的能力永远不过时。对公众号运营而言,OpenClaw只是工具,真正的竞争力是你开发专属Skill的能力——别人用现成工具手动运营,你用自定义Skill实现全自动生产,这就是效率差,也是赚钱差。

本文基于原文的Skill开发逻辑,补充了全平台部署、免费API配置、完整Skill代码与自动化闭环搭建,用户可按以下路径快速落地:

  1. 选型:多账号、长期运营选阿里云,个人、单账号选本地部署;
  2. 部署:用Docker完成OpenClaw基础部署,安装公众号运营依赖;
  3. 配置:申请阿里云百炼免费API,填写公众号配置信息;
  4. 开发:复制本文Skill代码,修改配置适配自己的账号;
  5. 闭环:启动定时选题Skill,指令触发文章生成,实现全自动运营。

2026年,自媒体行业的竞争不再是“谁更能写”,而是“谁更会用AI赚钱”。通过本文的指南,你也能打造属于自己的“全自动公众号印钞机”,把重复劳动交给AI,把时间还给创意与思考——这才是OpenClaw爆火的真正意义:让工具为你打工,而不是你为工具打工。

相关文章
|
3月前
|
人工智能 自然语言处理 监控
OpenClaw:让 AI 替你干活!基础定义 + 功能场景 + 部署教程
OpenClaw是本地优先、开源的AI智能体框架,让大模型真正“动手干活”:听懂自然语言指令,自动整理文件、发邮件、抓取网页、生成报表等。支持一键云端部署,轻松打造专属数字员工,释放创造力!
1067 3
|
3月前
|
人工智能 Linux API
零基础用OpenClaw实现公众号AI自动发文:阿里云/本地部署+Skill配置+避坑大全,效率提升90%
2026年,AI驱动内容自动化已经成为自媒体与企业运营的标配,而OpenClaw(Clawdbot)凭借极强的插件扩展能力、本地可控、全平台部署的优势,成为公众号自动发文、智能写稿、一键排版的最强工具。通过一套完整的Skill插件,用户只需要一句指令,就能让AI完成选题、写作、配图、排版、上传图片、生成草稿、推送预览的全流程,将原本2小时的工作压缩到10分钟以内,效率提升90%以上。
1446 7
|
3月前
|
人工智能 Linux API
OpenClaw 全自动公众号发文实战:阿里云/本地搭建+Skill集成+百炼API配置完整教程
在内容创作与自媒体运营日益高效的2026年,依靠人工撰写、排版、上传、发布公众号文章已经无法满足高频更新需求。借助AI智能体实现文章自动生成、Markdown排版、图片上传、草稿同步、定时发布,已经成为内容团队与个人博主的核心竞争力。OpenClaw(Clawdbot)作为本地优先、高度可扩展的AI执行框架,搭配专门用于公众号同步的wechat-publisher技能,可以实现从文章生成到草稿入库的全流程自动化,彻底解放双手,大幅提升内容产出效率。
2404 0
|
3月前
|
人工智能 Linux API
从0到130个龙虾AI员工!OpenClaw企微落地全流程(阿里云+本地部署+API配置+避坑实录)
2026年,AI协作的终极形态已从“单点工具”进化为“规模化AI员工军团”。当多数人还在纠结单Agent的功能调试时,已有先行者通过OpenClaw+The Agency在企微生态中搭建起130个AI员工团队——覆盖客户服务、内容创作、数据分析、项目管理等全场景,实现7×24小时无间断协作。OpenClaw作为核心基座,凭借其极速迭代的特性(2026年3月13日刚发布v2026.3.13版本,优化移动端布局与浏览器自动化能力),成为规模化AI部署的首选工具。
1043 5
|
3月前
|
人工智能 安全 API
AI效率革命!OpenClaw从入门到精通(阿里云/本地部署+百炼Coding Plan 配置+应用场景实战+常见问题解答)
“用AI聊得热闹,却没真正帮你干完一件事?”——这是2026年无数AI用户的共同困惑。参考文章一语道破核心:真正的AI价值不是“问答互动”,而是“自主执行”。OpenClaw作为首个开源本地部署的AI Agent平台,彻底打破了“AI只说不做”的僵局——它能自动抓取新闻、分拣邮件、监控代码漏洞,甚至指挥Claude Code/Codex搭建自动化工作流,3天完成原本两周的开发任务。
774 159
|
3月前
|
人工智能 JavaScript API
解放双手!OpenClaw Agent Browser全攻略(阿里云+本地部署+免费API+网页自动化场景落地)
“让AI聊聊天、写代码不难,难的是让它自己打开网页、填表单、查数据”——2026年,无数OpenClaw用户被这个痛点困扰。参考文章直击核心:当AI只能“纸上谈兵”,无法实际操控浏览器,就永远成不了真正的“数字员工”。而Agent Browser技能的出现,彻底打破了这一壁垒——它给OpenClaw装上“上网的手和眼睛”,让AI能像真人一样打开网页、点击按钮、填写表单、提取数据,24小时不间断完成网页自动化任务。
6782 8
|
4月前
|
人工智能 安全 API
2026年零门槛部署OpenClaw(Clawdbot):一键生成微信公众号文章并同步至草稿箱指南
2026年,OpenClaw(原Clawdbot、Moltbot)凭借“自然语言驱动+全流程自动化+多工具集成”的核心优势,成为开源AI智能体领域的标杆项目,尤其在自媒体创作场景中,其一键生成公众号文章、自动排版并同步至草稿箱的功能,彻底解决了创作者“磨灵感、调排版、反复修改”的低效痛点,让内容创作效率实现指数级提升。
3216 4
|
3月前
|
人工智能 安全 API
OpenClaw到底能做什么?OpenClaw两步部署(本地/云端)+Coding Plan API配置+9大真实场景+避坑指南
“花3小时部署好OpenClaw,却对着界面发呆——它到底能做什么?”——这是2026年无数“养虾人”(OpenClaw用户昵称)的共同困惑。正如参考文章中流传的AI圈段子:“90%的人部署OpenClaw的流程是:看到刷屏→买设备→安装配置→发现不知道自动化什么”。
928 4
|
3月前
|
人工智能 自然语言处理 API
OpenClaw是什么?阿里云部署OpenClaw(Clawdbot)+百炼API配置保姆级教程(含避坑指南)
在AI工具遍地开花的2026年,大多数AI仍停留在“只说不做”的阶段——能陪你聊天、给你思路,却无法动手完成实际任务。而OpenClaw(曾用名Clawdbot、Moltbot)的出现,彻底打破了这一僵局。作为一款开源本地优先的AI代理平台,它就像一个“专属数字员工”,能通过自然语言指令,自动完成网页操作、邮件处理、代码调试、内容同步等一系列任务,真正实现“指令一句话,AI跑全程”。
1172 22
|
3月前
|
人工智能 Linux API
OpenClaw从“单点工具”到“AI基础设施”:保姆级部署(阿里云+本地)+多Agent协作+免费API配置指南
2026年,用户对AI的需求已从“单点聊天工具”升级为“可长期复用、多角色协同、跨渠道调度”的基础设施。OpenClaw作为自托管式AI网关,恰好满足这一需求——它就像一个“消息入口+Agent路由层+会话中枢”,上接WhatsApp、Telegram等多聊天渠道,下连模型与工具,中间通过隔离与协作机制,让AI真正成为个人与团队的“数字员工体系”。
2242 6