Auto-Promote — 无人值守推广总入口
跨三渠道跑一轮完整推广,严格执行 ../_promo/orchestrate.md。
这是给每日 cron 调用的单一入口;也可手动跑。所有话术来自 _promo/pitch.md,去重/护栏/度量来自共享核心。
运行根目录:
cd /Users/admin/Desktop/project/pikiloom。
参数
- (空) → 完整一轮:Phase 0→5,所有
enabled且有剩余配额的渠道。 post-approved→ 只执行 orchestrate.md Phase 4 的「发 batch 待发队列」:发registry.py pending里status=approved、drafted_at早于veto_window_hours、不在abort.txt、且重新guard.py check通过的记录。 (batchposture 下,由 veto 窗口之后的第二个 cron 调用。)channel:<github|twitter|reddit>→ 只跑该渠道。shadow→ 本轮强制 shadow(不发,只预览),无视 config 的 posture。
执行
- 读 orchestrate.md 并逐 Phase 执行。 不要在这里重述流程 —— orchestrate.md 是唯一权威 runbook。
- Phase 0 预检:先
measure.py pull;读config.json的kill_switch/posture;guard.py caps看各渠道剩余配额。kill_switch=true→ 推一张「已停(kill switch)」卡片并结束。 - 每个渠道的发现/抽取/发布机制委托给对应渠道 SKILL(
promote/snipe/reddit-snipe), 本入口只负责按 orchestrate.md 的跨渠道契约串起来(去重 → 起草 → 批判 → 护栏 → posture 发布 → 记录)。 - 起草与批判用子 agent(话术契约 =
pitch.md)。发布前必过guard.py check(exit 3 = 跳过)。 - 收尾:
registry.py stats+measure.py report,把本轮 posted/skipped/failed 计数 + 度量推飞书。
安全契约(硬性)
- 发布的唯一开关是
config.json.posture;绝不在本 skill 里硬编码绕过 posture / 护栏 / 去重。 - 一切发布前都经过
guard.py(频次、每仓/每 sub 上限、变体、熔断、kill_switch、abort.txt)。 - 失败(发帖报错 / 校验异常)记
status=failed并继续下一条,绝不中断整轮。 - GitHub 用
gh issue comment最稳,建议auto从 github 渠道先开;Twitter/Reddit 走浏览器,稳定后再开。
调度(每日)
schedule技能:建一个每日 routine 跑/auto-promote;batchposture 再加一个veto_window_hours之后的 routine 跑/auto-promote post-approved。loop技能:按天loop/auto-promote(每轮先发上一轮的 approved 队列,再起草新一轮)。
Source: xiaotonng/pikiclaw — distributed by TomeVault.