# wechat-auto-publisher **Repository Path**: qming/wechat-auto-publisher ## Basic Information - **Project Name**: wechat-auto-publisher - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微信公众号 AI 全链路自动发布系统 基于 wechatpy + OpenAI 的全自动公众号文章发布系统。从内容生成到发布,全程自动化。 ``` AI生成内容 → 内容安全检查 → HTML渲染 → 封面图生成 → 微信API发布 → 存档 ``` ## ✨ 特性 - 🤖 **AI内容生成** — 支持 OpenAI / DeepSeek / 通义千问 / 智谱 等多模型 - 🎨 **自动排版** — 纯文本自动转公众号友好HTML - 🖼️ **封面生成** — 自动生成美观封面图 - 🛡️ **安全检查** — 敏感词过滤、长度校验 - 📤 **一键发布** — 微信API全自动发布 - ⏰ **定时发布** — cron定时触发 - 📁 **文章存档** — 所有生成内容自动保存 ## 📁 项目结构 ``` wechat-auto-publisher/ ├── config/ │ ├── config.yaml # 主配置(你需要修改) │ └── config.yaml.example # 配置模板 ├── src/ │ ├── cli.py # 命令行入口 │ ├── pipeline.py # 主流程编排 │ ├── generators/ │ │ └── ai_generator.py # AI内容生成(多模型) │ ├── renderers/ │ │ ├── html_renderer.py # Markdown→HTML渲染 │ │ └── cover_generator.py # 封面图自动生成 │ ├── publishers/ │ │ └── wechat_publisher.py # 微信API发布(wechatpy) │ └── utils/ │ ├── config_loader.py # 配置加载(支持环境变量) │ ├── safety_checker.py # 内容安全检查 │ └── logger.py # 日志系统 ├── templates/ │ └── article.html # HTML模板 ├── covers/ # 生成的封面图 ├── output/ # 文章存档 ├── logs/ # 运行日志 ├── .env # 密钥(你需要创建) ├── .env.example # 密钥模板 ├── deploy.sh # 一键部署 ├── requirements.txt └── README.md ``` ## 🚀 快速开始 ### 1. 克隆 & 安装 ```bash cd wechat-auto-publisher chmod +x deploy.sh ./deploy.sh ``` 或手动安装: ```bash pip3 install wechatpy openai jinja2 markdown Pillow pyyaml requests schedule python-dotenv ``` ### 2. 配置密钥 编辑 `.env`: ```env WECHAT_APPID=wxfxxxxxxxxxxxxxxx WECHAT_APPSECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx AI_API_KEY=sk-xxxxxxxxxxxxxxxx ``` 编辑 `config/config.yaml`(按需调整AI模型、发布策略等)。 ### 3. 配置公众号 在[微信公众平台](https://mp.weixin.qq.com): 1. 开发 → 基本配置 → 获取 AppID 和 AppSecret 2. 设置 IP 白名单(你的服务器IP) ### 4. 测试 ```bash # 测试微信API连接 python3 -m src.cli test-wechat # 测试AI生成(仅生成,不发布) python3 -m src.cli test-ai --topic "今日科技热点速览" # 完整试运行(生成+渲染,不发布) python3 -m src.cli publish --topic "AI改变生活的10个场景" --dry-run # 正式发布 python3 -m src.cli publish --topic "你的主题" ``` ### 5. 设置定时发布 ```bash crontab -e ``` 添加(每天早上8点自动发布): ```cron 0 8 * * * cd /root/.openclaw/workspace/wechat-auto-publisher && /usr/bin/python3 -m src.cli publish --auto-topic >> logs/cron.log 2>&1 ``` ## 📖 命令参考 ```bash # 测试微信API连接 python3 -m src.cli test-wechat # 测试AI生成能力 python3 -m src.cli test-ai --topic "主题" python3 -m src.cli test-ai # 使用默认测试主题 # 生成文章(不发布) python3 -m src.cli generate --topic "你的主题" # 发布文章 python3 -m src.cli publish --topic "你的主题" # 指定主题 python3 -m src.cli publish --auto-topic # AI自动选题 python3 -m src.cli publish --topic "测试" --dry-run # 试运行 python3 -m src.cli publish --topic "测试" -v # 详细日志 ``` ## ⚙️ 配置说明 ### config.yaml 核心配置 ```yaml # AI模型选择 ai: provider: "openai" # openai / deepseek / qwen / zhipu model: "gpt-4o-mini" # 模型名称 temperature: 0.7 # 创意度 (0-1) # 发布策略 publish: mode: "auto" # auto=全自动 / review=人工审核 schedule: "0 8 * * *" # cron表达式 author: "自动发布系统" open_comment: true # 安全检查 safety: blocked_keywords: ["敏感词1", "敏感词2"] min_content_length: 500 ``` ### 多模型配置示例 ```yaml # DeepSeek ai: provider: "deepseek" base_url: "https://api.deepseek.com/v1" model: "deepseek-chat" # 通义千问 ai: provider: "qwen" base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1" model: "qwen-plus" # 智谱 ai: provider: "zhipu" base_url: "https://open.bigmodel.cn/api/paas/v4" model: "glm-4-flash" ``` ## 🔒 安全说明 - `.env` 包含密钥,**不要提交到Git** - 敏感词列表会自动过滤,不会发布违规内容 - 建议初期使用 `mode: "review"` 人工审核 - 确认稳定后切换到 `mode: "auto"` ## 📊 工作流程 ``` ┌─────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 选题 │ → │ AI生成 │ → │ 安全检查 │ → │ 渲染HTML │ → │ 生成封面 │ │(自动/手动)│ │(OpenAI等) │ │(敏感词等) │ │(排版) │ │(Pillow) │ └─────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ 存档 │ ← │ 状态轮询 │ ← │ API发布 │ ←──────┘ │(JSON+HTML)│ │(确认成功) │ │(wechatpy)│ └──────────┘ └──────────┘ └──────────┘ ``` ## 🛠️ 扩展建议 - [ ] Web管理后台(查看发布历史) - [ ] 多账号支持 - [ ] 阅读量数据回采 - [ ] A/B测试(标题/封面对比) - [ ] RSS订阅自动生成文章 - [ ] 接入更多内容源(新闻API、竞品监控) ## 文件总览 - 文件:25个,核心代码 1228 行 ### 模块清单 | 模块 | 文件 | 功能 | 状态 | |------|------|---|---| | AI生成器 | src/generators/ai_generator.py | 多模型内容生成(OpenAI/DeepSeek/通义/智谱) | ✅ | | HTML渲染 | src/renderers/html_renderer.py | 纯文本→公众号HTML,内联样式安全 | ✅ | | 封面生成 | src/renderers/cover_generator.py | Pillow自动生成封面图(8种配色方案) | ✅ 已测试生成 | | 微信发布 | src/publishers/wechat_publisher.py | wechatpy封装,封面→草稿→发布→轮询 | ✅ | | 安全检查 | src/utils/safety_checker.py | 敏感词、长度、格式校验 | ✅ 已测试 | | 主流程 | src/pipeline.py | 全链路编排 + 存档 | ✅ | | CLI | src/cli.py | 命令行入口(test/generate/publish) | ✅ | | 配置 | config/config.yaml.example | 模型、策略、安全规则 | ✅ | | 部署 | deploy.sh | 一键安装依赖+字体+配置 | ✅ |