← Back to skills
extension
Category: Data & AnalyticsAPI key required

抖音发布时间优化skill

根据抖音历史作品 CSV 数据,计算最佳发布时段、最佳发布频率、互动率异常时段,并生成一周排期表和下次发布建议的 Markdown 报告;全程只用 Python 标准库本地离线分析,不联网、不调用抖音接口、不代替用户发布。本技能按次付费(单次 0.08 元),依赖官方技能 alipay-payment-skill 与官方 CLI alipay-bot,执行前先走 probe(探测账单)-> pay(发起支付)-> complete(支付完成)-> ack(履约确认)四段式支付链路。用户说「最佳发布时间」「发布时间优化」「排期建议」「什么时候发流量好」「这周该几点发」「我的作品数据什么时候发更好」时使用。

personAuthor: user_94d2da37hubcommunity

抖音发布时间优化器

读入抖音后台导出的历史作品表格,算出最佳发布时段、发布频率、互动率异常时段,给出未来一周排期表和下次发布建议,输出一份 Markdown 报告。

分析部分全程本地离线:只用 Python 标准库,不联网、不调用抖音接口、不上传数据、不代替用户发布作品。

这是一个按次计费的技能:单次 0.08 元(8 分)。执行前先走 probe -> pay -> complete -> ack 四段式支付链路,未取得授权不产出报告。

适合什么场景

  • 手上已经有历史作品数据(表格导出),想知道什么时间发流量更好。
  • 想验证"我的粉丝是不是晚上更活跃""是不是发得太少了"这类猜测。
  • 需要未来一周的具体排期,或下一次发布的日期时间建议。

依赖

支付链路依赖两项官方能力,不自建支付通道:

  • alipay-payment-skill:官方支付宝 AI 付技能,提供 402 协议买家侧流程。
  • alipay-bot:官方支付 CLI,提供 check-wallet、402-buyer-pay、402-query-payment-status、402-buyer-fulfillment-ack 买家侧命令。

官方 CLI 只覆盖买家侧;卖家侧的账单下发、seller_signature 生成与验证、订单持久化、验付与履约确认由本技能 server/ 自建。

运行 python scripts/check_environment.py 可做依赖级环境自检,清单见 skill-dependencies.json。

目录结构

  • SKILL.md:技能主流程、支付链路映射表、判定口径、失败分支和自查清单。
  • pay.config.json:计费、端点、四段契约与五个审核检查点。
  • skill-dependencies.json:官方依赖清单与降级策略。
  • scripts/pay_middleware.py:四段式支付入口(probe / pay / complete / ack)与官方 CLI 适配器。
  • scripts/check_environment.py:依赖级环境自检。
  • scripts/parse_csv.py:读取作品表格,容错解析时间和数字,输出规范化 JSON。
  • scripts/analyze_time.py:按小时、星期几、时段区间分桶统计互动率,计算异常时段、发布频率和排期。
  • scripts/generate_schedule.py:把分析结果填进模板,生成 Markdown 报告。
  • server/pay_service.py:卖家侧付费服务端,402 账单下发、验付与履约两阶段、订单幂等。
  • server/alipay_client.py:调用 alipay.aipay.agent.payment.verify 与 alipay.aipay.agent.fulfillment.confirm。
  • server/order_store.py:SQLite 订单持久化与 trade_no 唯一约束。
  • server/rsa2.py:纯标准库 RSA2 签名与验签。
  • references/pay-protocol.md:402 协议全文。
  • references/time_buckets.json:分桶定义、阈值和排序规则,可复制一份改阈值。
  • assets/schedule-template.md:报告骨架,用双花括号占位符标记待填内容。

运行环境

  • Python 3.10 及以上,已在 Python 3.13 上验证。
  • 只用标准库,不需要安装任何第三方包,也不依赖支付宝官方 SDK:分析链路用 csv、json、statistics、datetime、collections、pathlib、argparse、re、io、sys;付费链路用 base64、hashlib、hmac、sqlite3、subprocess、http.server、urllib、os、uuid。
  • 支付链路另需官方 alipay-bot CLI 与官方 alipay-payment-skill 技能。

输入要求

表格必须能识别出 6 个字段:发布时间、播放量、点赞数、评论数、转发数、粉丝增量。

列名可以用中文或英文,识别时忽略空格、下划线、连字符和括号;编码支持 UTF-8、带 BOM 的 UTF-8 和 GB18030;分隔符支持逗号、制表符、分号和竖线。

时间支持 2026-09-30 19:05、2026/9/30 19:05、2026.9.30、2026-09-30T19:05:00、2026年9月30日 19时05分 等写法。数字支持千分位逗号、正负号和 1.2万、3000w、12.5k 这类单位后缀。

时间或任一必需数值解析失败的行会整条跳过,写进报告的数据体检,不会用猜测值补上。某一行的字段数多于表头时(常见于千分位数字没加引号)同样整行跳过并写明原因。

使用步骤

在系统临时目录下建一个工作目录,每一步都通过 --output 落盘,不要依赖终端回显。

第 0 步是四段式支付闸门:

python scripts/pay_middleware.py probe --output 工作目录/payment_probe.json
python scripts/pay_middleware.py pay
python scripts/pay_middleware.py complete
python scripts/pay_middleware.py ack --trade-no 32位交易号
  • probe 探测钱包并签发 402 账单,未支付时退出码 20,把账单里的订单号与金额告知用户,等用户付款。
  • pay 把账单交给官方 402-buyer-pay 拉起收银台,由用户本人完成付款。
  • complete 用官方 402-query-payment-status 取回付费资源,退出码 0 表示授权已取得。
  • ack 仅在自动履约未完成时使用,是对同一笔交易的恢复确认,不要重复付款。

运行 python scripts/pay_middleware.py --contract 可打印四段式与官方命令的映射表;加 --dry-run 只打印将执行的官方命令,不真正调用。

只有退出码为 0 才继续下面三步:

python scripts/parse_csv.py 作品数据.csv --output 工作目录/normalized.json
python scripts/analyze_time.py 工作目录/normalized.json --output 工作目录/analysis.json
python scripts/generate_schedule.py 工作目录/analysis.json --template assets/schedule-template.md --output 工作目录/report.md

第三步加 --normalized 工作目录/normalized.json 可以在报告里附上跳过行明细;加 --max-per-day 3 可以放宽每天的排期条数;加 --strict 会在模板缺占位符时直接报错。

用文件读取工具确认 report.md 生成完整,再决定是否把内容给用户或复制到用户指定路径。

支付链路

  • 单价:单次 0.08 元(8 分),商品描述「发布时间优化器」。金额来自 pay.config.json 的 billing 与卖家侧配置,两端必须一致。
  • 四段与官方命令的对应:probe -> check-wallet,pay -> 402-buyer-pay,complete -> 402-query-payment-status,ack -> 402-buyer-fulfillment-ack。
  • 验付与履约是两个独立阶段:验付只做凭证核验与订单核对,验付通过后才生成资源并确认履约。
  • 订单落库到 SQLite,trade_no 有唯一约束,同一交易号只生成一次资源、不重复履约,也不重复收费。
  • 退出码:0 已授权 / 10 参数或配置不完整 / 11 通道不可达 / 12 过程异常 / 20 需要支付。
  • 订单号只用于对账;凭证、交易号和 Payment-Proof 属中间过程,不要展示给用户,也不写进任何文件。

卖家侧部署

python server/pay_service.py --init-config
python server/pay_service.py --check-config
python server/pay_service.py

配置模板生成在用户目录下的 .douyin-publish-time-optimizer/pay-service.json;填写 app_id、seller_id、service_id 与密钥文件路径后,--check-config 会输出就绪状态,并自动做一次 seller_signature 生成与验签自检。--check-config 只输出就绪状态与缺失项,不输出任何凭据值。

详细协议见 references/pay-protocol.md。

报告包含什么

  1. 数据体检:读到的数据行数、有效作品、跳过行及原因、缺少时间的条数、播放量为 0 的条数、数据日期范围。
  2. 最佳发布时段:小时榜、星期榜、星期 × 小时组合榜、时段区间榜,都带样本数。
  3. 最佳发布频率:发布间隔档位对照和实际节奏。
  4. 互动率异常时段:偏高与偏低时段、偏离度排行及 z 分数。
  5. 一周排期表:未来 7 天逐日的建议时间、备选、预期互动率和置信度。
  6. 下次发布建议:具体日期时间、判断依据、置信度和注意事项。

口径与限制

  • 互动率 =(点赞数 + 评论数 + 转发数)÷ 播放量;涨粉率 = 粉丝增量 ÷ 播放量,仅作辅助指标。
  • 播放量小于等于 0 的作品不参与互动率统计。
  • 默认某个时段少于 3 条作品就标记为样本不足,不进入最佳结论;这个阈值在 references/time_buckets.json 里可以改。
  • 有效作品不足 10 条时,所有置信度会下调为低,结论只能作方向性参考。
  • 结论是历史数据的时间相关性,不等于平台算法的因果结论;数据越少波动越大。
  • 不预测播放量绝对值,不保证上热门,不做实时抓取,不查他人账号,不代替用户发布。
  • 支付按次计费,不做订阅校验。

安装

复制整个 douyin-publish-time-optimizer 目录到用户级技能目录 ~/.workbuddy/skills/ 下即可,安装后目录结构保持不变。

关于定价

  • 单次 0.08 元(8 分),没有订阅、次数包或退费逻辑。
  • 支付链路由官方 alipay-payment-skill 与 alipay-bot 承担买家侧动作,卖家侧逻辑在 server/ 内自建。
  • 要作为付费技能上架,需先按 references/pay-protocol.md 第八节完成卖家侧配置,并确保 service_id 替换为真实服务 ID。