A local review desk and feedback loop for multi-market social media run by AI agents. Agents draft in batches, a person approves in chat, publishing bots claim approved posts and report back metrics, and every week the data turns into writing rules and quotas. Python standard library + SQLite, MIT licensed.
一个本地运行的社媒审核台和运营闭环:AI 批量写稿,人批稿,发布 bot 领取发布并回传数据,系统每周把数据变成下周的写法规则和配额。
- 每条帖子明确属于一个市场 × 渠道账号,内容 = 文本 + 媒体槽(图片 / 视频)
- 批准绑定内容版本:改一个字、换一张图都要重新批,bot 只能拿到你批过的版本
- 阻断项(占位符、竞品价、缺素材)批不了;含价格必须确认核价
- 对标样本库,生成帖子位时自动配对标;写稿包提示同一天其他渠道已写的主题,避免撞车
- 内容策略模板(prompts/内容策略.template.md,init 时复制到数据目录 memory/):推什么、配比、各渠道写法
- 一条帖子可放多张图或视频(按平台限制张数),默认一张
beatsocial make-media:调用 Codex CLI 和你的出图技能为帖子出图(BEATSOCIAL_IMAGE_SKILL、BEATSOCIAL_LOGO可配置),品牌标识用原图叠加- 24h / 7d 数据回收、按账号 / 市场 / 平台 / 类型统计、周复盘、配额建议
- 规则先提案、人采纳后才进入写稿记忆(memory/LESSONS.md)
- 只依赖 Python 3.9+ 标准库和 SQLite
git clone <this repo> beat-social && cd beat-social
./bin/beatsocial init ~/beat-social-data --git # 建数据目录
./bin/beatsocial serve # 打开 http://127.0.0.1:9361在对话中通过 MCP 或 CLI 添加渠道账号后:
./bin/beatsocial plan 2026-W47 # 生成帖子位
./bin/beatsocial brief 2026-W47 # 生成写稿包,交给 Claude Code 写在已有数据目录上启动本地 stdio MCP:
./bin/beatsocial --data /absolute/path/to/beat-social-data mcpClaude Code、Codex 可调用 26 个工具,查询或编辑帖子、管理账号和市场、设置素材、批准具体版本、生成写稿包和复盘、确认规则与配额。网页保持原样,发布 bot 继续用原 CLI。
- 查询 → 展示正文、中文参考和实际媒体 → 按
revision修改或批准。 - 批准、规则决定和配额确认必须有主人的
owner_said;它是审计引文,不是身份认证。 - 加
--read-only只提供查询工具;不添加任何发布权限。 - MCP 与 CLI 指向同一数据目录;连接不需要再次
init。
完整接入配置和操作约束见 MCP 接入与对话流程。
~/.beatsocial.json:data_dir(默认数据目录)、owner(批准人的名字,默认「主人」)BEATSOCIAL_DATA、BEATSOCIAL_OWNER、BEATSOCIAL_CODEX、BEATSOCIAL_IMAGE_SKILL、BEATSOCIAL_LOGO:同名环境变量覆盖
python3 -m unittest discover testsMIT,见 LICENSE。