GEO 内容自动投放与效果回测
让产品内容被 AI 搜索引擎(DeepSeek/豆包/元宝/文心/ChatGPT/Perplexity 等)抓取并引用。 核心逻辑:AI 引擎的答案来自它们抓取过的高权重公开内容,所以投放目标是这些引擎 高频引用的内容平台,内容形式以 Q&A 结构、可验证事实、清晰小标题为优先。
三条铁律(每次投放前必须确认)
- 不编造事实:模板稿中的
[请填写]/[请补充]占位符必须由用户提供真实信息 补全后才可投放;无法核实的表述要删除。 - 过合规检查:生成内容后必须运行广告法极限词检查(
content_generator.py内置), 命中即提醒用户修改,不得直接投放。 - 发布前人工确认:浏览器自动化默认停在"发布"按钮前等用户确认;仅当用户明确
要求全自动时才使用
--auto-submit。
工作流总览
用户输入 ──┬─ 文章标题/正文/链接 ──> R2 打包现成文章
└─ 产品名/网址/一句话 ──> R1 生成内容包
│
(Agent 按 geo-writing-guide 润色 + 用户补全占位符)
│
R3 选择目标平台 → R4 执行投放(自动/手动兜底)
│
R5 定时投放(队列 + 系统计划任务)
R6 源站加固(robots.txt / llms.txt / FAQ Schema)
R7 效果回测(次日/一周/一月探针 → 对话框/桌面报告)
R1. 由产品信息生成内容包
用户只给了产品名/网址/一段话时:
python scripts/content_generator.py new \
--product "云雀CRM" --url https://yunque.example.com \
--desc "面向中小企业的轻量客户管理系统" \
--keywords "CRM,客户管理,销售跟进" \
--tone professional --variants 3 \
--platforms zhihu,csdn,medium --out data/pkg_yunque.json
生成包含 3 个文章变体(Q&A 文章/列表文/百科段)、6 条 FAQ、标题变体、 平台适配提示、合规告警、排期建议的 JSON 内容包。
关键步骤:模板稿只是骨架。生成后你(Agent)应:
- 阅读 references/geo-writing-guide.md 的写作规范;
- 结合用户提供的信息把占位符补全、把模板句改写成自然流畅的真实内容;
- 将润色后的内容写回内容包 JSON 的
articles[].body; - 用户信息不足时,先向用户提问(价格/功能/差异点),不要自己编。
R2. 打包现成文章投放
用户提供了文章(三种输入任选):
# 正文在文件里
python scripts/content_generator.py from-article --title "标题" \
--content-file draft.md --product "云雀CRM" --platforms zhihu --out pkg.json
# 只给了链接(自动抓取正文)
python scripts/content_generator.py from-article --title "标题" \
--article-url https://blog.example.com/post --out pkg.json
# 正文直接粘贴
python scripts/content_generator.py from-article --title "标题" \
--content "正文……" --out pkg.json
链接抓取失败(反爬)时,请用户直接粘贴正文,不要反复重试。
R3. 选择目标平台
平台注册表见 data/platforms.json(含各平台被哪些 AI 引擎引用、风险等级、
发布间隔限制)。选择原则见 references/platforms-guide.md:
| 产品类型 | 首选国内 | 首选海外 | |---|---|---| | 技术/开发者工具 | CSDN、掘金、知乎 | Dev.to、Hashnode、GitHub | | B2B/SaaS | 知乎、百家号 | Medium、LinkedIn | | 大众消费品 | 头条号、百家号、简书 | Medium、Substack | | 腾讯生态相关 | 公众号(手动)、知乎 | — |
未知平台报错时检查注册表,不要臆造平台 id。
按 AI 平台(引擎)直接指定投放目标(v1.1.0)
用户说“投放到豆包/DeepSeek/GPT/千问”时,用 --engines 自动解析为该引擎高权重引用的内容渠道(映射见 data/ai_engines.json):
# “让豆包和 DeepSeek 推荐我” → 自动解析为 toutiao/zhihu/baijiahao/jianshu/csdn/juejin/github_pages
python scripts/publisher.py --package pkg.json --engines doubao,deepseek --dry-run
# AI 平台与内容平台可混用,自动去重
python scripts/publisher.py --package pkg.json --platforms medium --engines qianwen --dry-run
可用引擎 id:doubao 豆包 / deepseek DeepSeek / chatgpt ChatGPT-GPT / qianwen 通义千问 / kimi Kimi / wenxin 文心一言 / yuanbao 元宝 / perplexity Perplexity。
R4. 执行投放
# 先 dry-run 看计划
python scripts/publisher.py --package pkg.json --platforms zhihu,csdn --dry-run
# 自动模式(浏览器已登录态填写,默认停在发布按钮前等确认)
python scripts/publisher.py --package pkg.json --platforms zhihu,csdn --mode auto
# 全自动(用户明确要求时)
python scripts/publisher.py --package pkg.json --platforms csdn --mode auto --auto-submit
# 纯手动模式:生成按平台排版的成品稿 + 操作步骤
python scripts/publisher.py --package pkg.json --platforms wechat_mp --mode manual
投放链路:api(有密钥直发)→ playwright(浏览器填写)→ 失败自动降级
manual 成品稿。任何情况下不丢稿。
首次使用浏览器自动化前,每个平台需要先登录一次(详见 references/platforms-guide.md 登录章节)。
手动发布完成后回填记录(让去重与节奏控制生效):
python scripts/scheduler.py log-publish --package pkg.json --platform zhihu --url https://zhuanlan.zhihu.com/p/xxx
R5. 定时投放
# 添加任务:2026-08-26 09:00 开始,每天重复投放
python scripts/scheduler.py add --package pkg.json --platforms zhihu \
--at "2026-08-26 09:00" --repeat daily
python scripts/scheduler.py list # 查看队列
python scripts/scheduler.py run # 执行到期任务
python scripts/scheduler.py remove --task-id T_xxxxxxxx
python scripts/scheduler.py install-cron # 打印系统计划任务安装命令
节奏控制自动生效:同平台遵守 min_interval_hours 与 daily_limit,
相同内容重复投放会被指纹去重拦截(--force 可覆盖)。
失败任务自动重试,3 次后标记 failed。定时细节见
references/scheduling-guide.md。
R6. 源站 GEO 加固(可选但强烈建议)
用户有官网时,顺带生成三件套提升源站被 AI 引用概率:
python scripts/ai_visibility.py robots --domain example.com --out robots.txt
python scripts/ai_visibility.py llms --product "云雀CRM" \
--url https://example.com --package pkg.json --out llms.txt
python scripts/ai_visibility.py faq-schema --package pkg.json --out faq.jsonld
将 robots.txt / llms.txt 部署到站点根目录,faq.jsonld 嵌入页面 <head>。
R7. 投放效果回测(v1.1.0)
投放完成后生成探针,在投放后第 2 天/一周/一个月(可自定义)向目标 AI 平台提问, 检查产品是否被提及/引用。详细口径见 references/effect-tracking.md。
# 1) 投放后生成回测探针(默认 +1/+7/+30 天,客户可自定义如 1,7,30,90)
python scripts/effect_tracker.py sync --days 1,7,30 --engines doubao,deepseek,qianwen
# 2) 查看到期探针(Agent 在对话框中逐条向对应 AI 平台提问)
python scripts/effect_tracker.py list --due
# 3) 提问后录入结果:cited 引用/mentioned 提及/partial 间接/not_found 未提及
python scripts/effect_tracker.py record --probe-id PB_xxxxxxxx --result cited \
--snippet "回答中提到产品并附来源链接" --url https://...
# 4) 对话框反馈统计(曝光率/趋势/最佳 AI 平台)
python scripts/effect_tracker.py stats
# 5) 生成 Word/Excel/PPT 图文报告保存到桌面(字体/图表已做防报错处理)
python scripts/effect_tracker.py report --format all
# 6) 可选:自动检查已发布文章链接是否仍在线(fail-open)
python scripts/effect_tracker.py auto-check
Agent 执行回测的职责:脚本只管理探针与结果,不代用户伪造回答。对每条到期探针,
你(Agent)应通过可用渠道(浏览器技能/用户代答)向对应 AI 平台真实提问,
再用 record 录入;无法自动提问时如实保留待回测状态并在对话框提醒用户。
合规红线
详见 references/compliance.md。摘要:
- 广告法极限词(最佳/第一/100%/零风险等)必须清除;
- 不伪装真实用户测评、不虚构数据与案例;
- 平台规则允许的前提下投放,被风控限流时改用手动降频,不做对抗;
- 医疗/金融/教育类内容需提示用户该领域有额外审查要求。
Bundled Files
data/platforms.json 平台注册表(国内 8 + 海外 6)
data/ai_engines.json AI 引擎注册表(豆包/DeepSeek/GPT/千问等 8 引擎→渠道映射)
scripts/content_generator.py 内容包生成器(new / from-article / show)
scripts/url_fetcher.py 零依赖网页正文提取
scripts/publisher.py 投放执行器(--platforms / --engines,三级链路)
scripts/scheduler.py 定时投放队列 + 手动发布回填
scripts/effect_tracker.py 效果回测探针(sync/list/record/auto-check/stats/report)
scripts/report_builder.py Word/Excel/PPT 图文报告(防字体/图表报错,默认存桌面)
scripts/ai_visibility.py 源站加固(robots / llms.txt / FAQ Schema)
references/geo-writing-guide.md GEO 写作规范(Agent 润色必读)
references/platforms-guide.md 平台选择与登录配置指南
references/scheduling-guide.md 定时投放与计划任务配置
references/effect-tracking.md 效果回测口径与报告说明(v1.1.0)
references/compliance.md 广告法与平台合规
data/publish_log.jsonl 投放日志(运行时生成)
data/queue.json 投放队列(运行时生成)
data/effect_probes.json 回测探针库(运行时生成)
测试
py -3.11 -m pytest tests -q
Changelog
- v1.1.0:新增 AI 引擎注册表与
--engines按 AI 平台(豆包/DeepSeek/GPT/千问等)解析投放渠道;新增投放效果回测:探针同步(+1/+7/+30/自定义天)、到期提醒、结果四级录入、统计摘要对话框反馈、Word/Excel/PPT 图文报告一键存桌面(中文字体探测+图表逐项隔离,零报错);发布日志补充 package_path 供回测溯源;平台注册表补通义千问引擎归属。 - v1.0.0:首发。内容生成(双输入模式)、14 平台注册表、三级投放链路、 定时队列、源站加固、广告法检查、指纹去重与节奏防风控。
Scan to join WeChat group