自动化与脚本
需要端到端生产并发布微信公众号文章时:一键完成热点抓取…
用 WeWrite 技能从热点到草稿箱全流程自动生成微信公众号文章,适合有公众号 API 权限并配置了图片生成 Key 的运营/开发者。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要端到端生产并发布微信公众号文章时:一特定
解决思路
- 安装为 Claude Code 技能:git clone https://github.com/oaker-io/wewrite.git ~/.claude/skills/wewrite,或 cp -r wewrite ~/.claude/skills/wewrite
- 安装 Python 依赖:cd wewrite && pip install -r requirements.txt
- 初始化配置:cp config.example.yaml config.yaml,然后编辑 wechat.appid/wechat.secret、image_gen.provider(doubao 或 openai)及对应 api_key、output_dir
- 用环境变量管理密钥而非硬编码:export WECHAT_APPID、WECHAT_SECRET、DOUBAO_API_KEY、OPENAI_API_KEY
- 触发完整流水线:对 Claude 说「用 demo 的配置写一篇公众号文章」,或指定客户「用 clients/tech-blog 的风格,围绕今日热点写一篇公众号文章,发布到草稿箱」
- 抓取热点:python3 scripts/fetch_hotspots.py --limit 20,加 --json 输出 JSON;脚本从微博、头条、百度抓取实时热点,返回 rank/title/source/heat
- 做 SEO 关键词分析:python3 scripts/seo_keywords.py "AI大模型" "科技股"(加 --json 输出 JSON);或在 Python 中 from scripts.seo_keywords import analyze_keywords,对关键词列表输出 score、estimated_volume
- 选题:让 Claude 读取 references/topic-selection.md,生成 10 个候选选题并按热度、契合度、差异化三维度打分
- 框架与写作:让 Claude 读取 references/frameworks.md(5 种文章结构模板)和 references/writing-guide.md(去 AI 味风格规则),按客户 tone 改写成文
- 生成 AI 配图:python3 toolkit/image_gen.py --prompt "科技感封面,蓝色光线,未来感" --output output/cover.png --size cover;内文图用 --size content(800×600),可加 --provider openai;封面推荐 900×383;也可在 Python 中 from toolkit.image_gen import generate_image 调用
- 排版 Markdown → 微信 HTML:python3 toolkit/cli.py preview article.md --theme professional-clean 在浏览器预览;python3 toolkit/cli.py themes 列出所有主题;代码中用 from toolkit.converter import MarkdownConverter 与 from toolkit.theme import load_theme,theme=load_theme("tech-modern"),html = converter.convert(markdown_content) 得到带内联样式的微信可用 HTML
- 发布到微信草稿箱:python3 toolkit/cli.py publish article.md --cover output/cover.png --title "2026年AI大模型最新进展" --author "科技观察";或用 WeChatAPI(appid, secret) 的 api.upload_image("output/cover.png") 拿 media_id,再 publisher.create_draft(title, content, cover_media_id, author, digest) 创建草稿
- 回填文章数据:python3 scripts/fetch_stats.py --article-id "your_article_id"
- 从人工修改中学习:python3 scripts/learn_edits.py --original output/draft.md --edited output/final.md --client demo,从 diff 中提取风格规则并追加到该客户的 playbook
- 配置客户档案:在 clients/{name}/style.yaml 写 name、industry、topics、tone、theme、avoid、wechat.appid/secret;新增客户时 mkdir clients/my-client && cp clients/demo/style.yaml clients/my-client/style.yaml 再编辑
- 选择或自定义主题:内置 professional-clean、tech-modern、warm-editorial、minimal;自定义主题在 toolkit/themes/my-theme.yaml 写 YAML,定义 body/h2/blockquote 等内联样式
- 用 Python 编排完整流水线:subprocess 调 python3 scripts/fetch_hotspots.py --limit 20 --json 取热点 → analyze_keywords(top_titles) 打分 → generate_image(prompt, output_path, size="cover", provider) 生成封面 → load_theme + MarkdownConverter.convert 转 HTML → WeChatAPI + WeChatPublisher.create_draft 推送草稿
- 让 Claude 自动读取参考文件:references/topic-selection.md、frameworks.md、writing-guide.md、seo-rules.md、visual-prompts.md、wechat-constraints.md、style-template.md
- 构建历史文章 playbook:python3 scripts/build_playbook.py --client demo
- 排障 40001/invalid credential:用 python3 -c "from toolkit.wechat_api import WeChatAPI; ...; print(api.get_access_token())" 验证 appid/secret(access token 每 2 小时过期,API wrapper 自动刷新)
- 排障图片生成失败:python3 toolkit/image_gen.py --prompt "测试图片" --output /tmp/test.png --provider doubao 测连通性,失败则在 config.yaml 切到 openai
- 排障 Markdown 转换缺样式:python3 -c "from toolkit.theme import load_theme; print(load_theme('tech-modern'))" 验证主题加载,并用 toolkit/cli.py preview 预览后再发布
- 排障热点抓取为空:python3 scripts/fetch_hotspots.py --limit 5 --verbose 查看各来源(weibo/baidu/toutiao)哪个失败,平台改 API 后需针对性修复
- 排障草稿箱不出现文章:确认公众号有服务号或订阅号 API 权限、IP 已加入微信公众平台白名单、具备 draft.add 接口权限
适用边界 · 注意事项
- 没有微信公众号(服务号/订阅号)API 权限、IP 未加白名单或缺少 draft.add 权限时,无法推送草稿箱
- 没有豆包或 OpenAI 的 API key 时,AI 配图步骤不可用
- 微博/头条/百度页面结构变更时,热点抓取可能返回空结果,需要人工检查或修复脚本