Skip to content

MultiMedia 广播工具 · 集成指南与改进建议

工具仓库~/Coding/MultiMedia/(GitHub 独立仓,Bob 主导) 工具定位:iGaming Multi-Channel Broadcast Tool —— 自动化每天 70+ 次跨 14 品牌发帖 当前阶段:Sprint 8 进行中(V1 灰度验收) 生产地址mytools.zycenter.one/broadcast/(作为 MyTools 子工具运作) 本文档目的:把 KB 文案模板库与 MultiMedia 工具之间的关系拉通,明确联动路径与改进方向


一、工具核心定位

是什么

维度 说明
本质 跨渠道发帖基础设施(infrastructure,不预置业务文案)
V1 渠道 Telegram(成熟)/ Facebook Page(成熟)/ Viber Channel(基础)
V1.5 等待 WhatsApp(feature flag 关闭,Meta 官方 API 成熟后再上)
差异化 Telegram Premium emoji 原生编辑(MTProto + Lottie .tgs 渲染)
架构 Go API + Python telethon sidecar(gRPC)+ React 前端 + PG/Redis/MinIO
多租户 单层 Team 软隔离 by team_id,与 MyTools collab 通过 mytools_team_ref 桥接

不是什么

  • ❌ 不是文案库(KB 才是文案库的源头)
  • ❌ 不是合规审核工具(合规规范在 KB,工具只内置违禁词过滤机制)
  • ❌ 不是市场调研工具(市场情报在 KB 的市场调研目录)

二、与本 KB 的协作关系

┌─────────────────────┐         ┌─────────────────────┐
│  igaming-kb         │         │   MultiMedia        │
│  (文案库 + 策略源)  │ ──→     │  (执行引擎)         │
├─────────────────────┤         ├─────────────────────┤
│ 01-市场调研          │         │ Channel Drivers     │
│ 02-频道搭建/合规     │         │ Template/Variable   │
│ 03-文案模板库 ⭐    │ ────→   │ Schedule/Dispatcher │
│ 04-工具集成 ⭐⭐    │         │ Account/Channel     │
└─────────────────────┘         └─────────────────────┘
         策略 / 内容                  执行 / 自动化
KB 提供 工具消费
03-文案模板库/ 占位符模板([品牌] [code] [金额] 等) 模板系统全通用,无硬编码占位符列表
02-频道搭建/ 合规避雷词清单 internal/profanity/ 违禁词列表(手工同步)
01-市场调研/ 各渠道 PH 数据 不直接消费,但指导渠道优先级配置
02-频道搭建/ 多账号/备份策略 account/ + dispatcher/ 支持 failover

三、各渠道工具支持现状(对照 KB 战略)

渠道 KB 战略定位 工具实现 Gap
Telegram 主战场,每天 5-8 条 ✅ 完整(Premium emoji + inline button + scheduler)
Facebook Page 品牌曝光 + 引流 TG,不直发码 ✅ 完整(Graph API v19 + token 加密 + 错误分类) 引流到 TG 的话术变量未模板化
Viber 备用 + 区域覆盖,2-3 条/天 ⚠️ 基础(/pa/send_message未实现 broadcast API) 需 subscriber 列表,规模化前需补
WhatsApp 1 对 1 精准 + Utility 应急 占位ErrDisabled,全 stub) 官方 Cloud API 等 2026 Q3 上

关键差异:工具的 WhatsApp NO-GO 判断(Sprint 0 决策)与 KB 的"Cloud API 是唯一合规路径"判断完全一致——两边都认为 Meta Cloud API 才是合规规模化的唯一可行方案。


四、痛点诊断(来自代码 + Sprint retro)

A. 用户体验(运营人员卡壳点)

痛点 症状 优先级
Emoji picker 卡顿 选 emoji 等 2-3s(Lottie 包大) 🟡 改善中
首次设置 5 步流程 登账号 → 同步 emoji → 建模板 → 建调度 → 发送 🔴 缺向导
跨渠道预览不同步 编 TG emoji 时 FB 预览可能显旧 entity 🟡 中
调度时区错乱 "11:00 Manila" 在本地调度器看是几点不直观 🟡 中
账号健康度不透明 不知道账号是否过期 / 被限流 / 被 ban 🔴 风控关键
错误消息不可读 API 返回 code 4 / code 190 运营不懂 🟢 低

B. 架构 / 集成(前置依赖)

MyTools SSO 集成的 G1-G7 改造docs/ops/2026-05-15-mytools-integration-status.md §5):

Gap 状态 紧急度
G1 · Cookie 反向校验 占位 stub 🔴 紧急(无法校验 cookie,能冒充用户)
G2 · 前端 cookie 模式 dev localStorage 注入 🔴 紧急(生产 SSO 无法生效)
G3 · 废弃本地 users 表 旧表仍在 🟡 重要
G4 · Team 归属校验 RequireTeam() 只检 header 存在 🟡 重要(跨 team 访问漏洞)
G5 · Viewer 写拦截 缺失 RequireWrite() 🟡 重要(viewer 能发文)
G6 · TeamSwitcher 改造 localStorage 硬编码 🟢 协调
G7 · 集成验收 待办 🟢 协调

这 7 项是 Sprint 8 V1 验收的唯一前置依赖,建议 1-2 周内闭环。

C. 部署 / 运维(脆弱性)

  • 依赖 ghcr.io(国际网络敏感)→ goose 工具改打进镜像
  • node 18 在 dhv6 超时 → 改 node 20-slim
  • MinIO 跨域 → nginx 反代方案才能解决
  • 每次部署前需 preflight check(docs/ops/2026-05-14-dhv6-preflight.md),CI/CD 自动化不足

五、改进建议(按优先级排序)

P0 · 必须做(V1 灰度前)

  1. 完成 G1-G7 SSO 集成(前置依赖)
  2. 修 emoji picker 卡顿(已在迭代中,需加虚拟化 + 预加载)

P1 · 应该做(一个月内)

  1. 快速开始向导(New User Onboarding)
  2. 从 12 tab 平铺 UI 中抽象出"5 步设置"向导
  3. 每步必填项 + 帮助文案 + KB 链接
  4. 账号健康度仪表盘
  5. Dashboard 加 account 健康卡片(token 状态 / 最近错误 / 限流状态)
  6. 失败前预警,不等被 ban 才知道
  7. KB 文案库一键导入(重点 ⭐)
  8. 后端:已有 POST /api/v1/teams/{team}/templates/presets(最近 commit 36b7e6b
  9. 前端:加「导入预设」UI,支持上传 JSON
  10. KB 端:补一个 scripts/export-broadcast-presets.py 把模板转 JSON
  11. 时区参考线
  12. ScheduleEdit 显示「你的时区」+ 倒计时预览
  13. "11:00 Manila" 转 "你的本地 13:00(+2h)"

P2 · 可以做(下个季度)

  1. 软告警(异常检测)
  2. 当某账号发送量 vs 7 天均值偏离 >50% → 告警
  3. 钉钉 / Slack webhook 集成
  4. 错误消息 i18n + KB 链接
  5. driver 错误码映射到可读描述 + 跳 KB 合规避雷文档
  6. MinIO 资产 lifecycle
  7. emoji pack 30 天未用自动归档
  8. 跨渠道预览实时联动
    • 编辑 TG entity 时 FB/Viber 预览实时调 /render 端点

P3 · 长期规划

  1. WhatsApp Cloud API 接入(等 Meta 官方 API 2026 Q3 成熟)
  2. sidecar 分布式化(14 品牌 × 2 账号 = 28 session 当前够,5 倍增长后才需)
  3. 双向同步 webhook(KB 改动 → 自动触发工具更新)

六、KB ↔ 工具 联动路径(建议实施)

短期(1-2 周可落地)

[运营] 在 KB 编辑 [品牌]/[code]/[金额] 占位符模板
   ↓
[运营] 手工复制粘贴到工具 TemplateEdit
   ↓
[工具] 模板系统全通用,自动识别占位符 → 注入变量
   ↓
[工具] dispatcher 多账号 failover → 渠道发送

现状:手工搬运,但已可用。

中期(1 个月)

[KB] 加 export-broadcast-presets.py 脚本
  → 把 03-文案模板库/ 下的模板转 JSON
   ↓
[工具] 前端加「导入预设」按钮
  → POST /api/v1/teams/{team}/templates/import-presets
   ↓
[工具] 模板入库,可在 12 tab UI 中编辑/复用

长期(下个季度)

[KB] git push 触发 webhook
   ↓
[工具] 自动拉取最新预设 → diff 现有模板 → 提示运营审批
   ↓
[运营] 一键 merge 或拒绝

七、运营协同 SOP(推荐)

角色 在 KB 做什么 在工具做什么
运营/文案策划 编辑 03-文案模板库/ 下 .md,提交占位符模板 复制到工具 TemplateEdit,配渠道/变量
运营/调度负责人 参考 02-频道搭建/ 选定渠道 + 节奏 在工具配 Schedule 规则 + Pool 轮换
合规/审计 维护 02-频道搭建/*合规避雷* 文档 在工具维护违禁词列表 + 审批 gate
风控/技术 01-市场调研/ 评估渠道风险 在工具看 Dashboard + 账号健康度
新品牌起步 走 KB → P222 实施路线图(README §五) 用工具 Phase 1-6 落地

八、关联文档

KB 内部

关联 用途
../README.md 区段总览
../03-文案模板库/ 模板源头
../02-频道搭建/ 合规与命名规范
../01-市场调研/ 市场数据依据

MultiMedia 工具内部

关键文档 路径
完整 Spec ~/Coding/MultiMedia/docs/superpowers/specs/2026-05-13-igaming-broadcast-tool-design.md
Master Plan ~/Coding/MultiMedia/docs/superpowers/plans/2026-05-13-igaming-broadcast-tool-master.md
MyTools 集成状态 ~/Coding/MultiMedia/docs/ops/2026-05-15-mytools-integration-status.md
WhatsApp NO-GO 决策 ~/Coding/MultiMedia/docs/superpowers/research/whatsapp-channels-decision.md
dhv6 部署预检 ~/Coding/MultiMedia/docs/ops/2026-05-14-dhv6-preflight.md

核心代码入口

文件 作用
backend/cmd/api/main.go Go API 入口
backend/internal/driver/interface.go Channel Driver 接口
backend/internal/dispatcher/fanout.go 调度 dispatch 逻辑
backend/internal/template/model.go 模板 + entity 数据模型
sidecar-tg/main.py Telegram MTProto sidecar
web/src/App.tsx 前端主入口 + 12 tab

九、Roadmap(KB 视角)

优先级 内容 触发条件
P0 等 MultiMedia G1-G7 完成 → 工具可在生产用 1-2 周内
P1 写 KB → 工具的 JSON 导出脚本(在 KB 仓库) 工具加导入 UI 后
P1 KB 违禁词清单同步到工具 profanity 表(手工) 立即可做
P2 写"运营操作手册"(在 KB),把工具 12 tab 流程化 工具 V1 稳定后
P3 双向 webhook(KB 改 → 工具 sync) 工具 V2

变更记录

日期 变更 维护人
2026-05-16 首版,含工具定位 + 痛点诊断 + 改进建议(P0-P3)+ 联动路径 + SOP Bob