数据消耗
按接口调用计费。单价来自「平台与端点」,调用次数由采集端每日回传。
版块对照(原型 ↔ 正式端)
近 30 天成本趋势(按数据源拆分)
成本结构:哪个模块在烧钱
端点消耗明细(Top 10)
按客户:谁在亏钱
按象限:哪条线毛利最薄
余额与充值(数据源账户)
数据对账(后台算的 vs 数据源账单)
商品数据源与双源切换
只管「抖音商品销量」这一个采集点(Apify 在我们整个数据源里只干这一件事);TikHub 的账号 / 视频 / 直播不在此列,也不参与这个开关。所有配置改完即生效,不发版、不改代码。
双源配置(后台可配,共 7 项)
| 配置项 | 取值 | 说明与红线 |
|---|---|---|
| 主源 | 日常走哪家。APISpace / JustOneAPI 在 POC 通过前选了也拉不到数据,界面会直接提示"该源未接入" | |
| 备源 | 主源挂了顶上去。主备不能选同一家(选了界面标红并拒绝保存) | |
| 切换模式 | lock 只在对账期或调试时用:锁定后主源故障也不会切,商品数据会断 —— 正常运营必须 auto | |
| 降级触发 | 连续失败 3 次 或 5 分钟窗口失败率 > 30% |
两个条件任一满足即切备源。单次失败不切(偶发 429 / 超时会误触发,来回横跳比短暂失败更伤) |
| 切回策略 | 不自动切回(默认) /备源稳定 24h 后用单商品探针验证 |
★ 默认不自动切回,理由:主源刚恢复时往往不稳定,自动切回会造成来回横跳,客户看到数据忽有忽无。要切回就人工点一下,或用 1 个商品探针连续 3 次成功再切 |
| 双源对账 | 关(默认) 开时:1/10 频率 · 仅核心商品 · 连续 3 天 |
★ 对账=同一商品两家都采,成本直接翻倍。所以限定:只对核心商品、只跑 1/10 次数、只跑 3 天。用途只有一个:切源前确认两家口径是否一致,不是常态开着 |
| 客户级覆写 | 可指定单个客户单独走备源 | 某个客户在某源上反复失败时,只把它切走,不动全局。覆盖关系写在客户行上,全局变更时不覆盖它 |
可选源清单(谁有资格进这个开关)
| 源 | 归属 | 单次含费 | 搜索 | 日销序列 | 状态 |
|---|---|---|---|---|---|
| Apify zen-studio | 境外 · 捷克 | $0.023 | ✅ | ✅ 30 天 | 在用(主源) |
| APISpace | 国内 · 深圳银云 | ¥0.1~0.3 | 待确认 | 待确认 | 待 POC 第 5 步 |
| JustOneAPI | 国内团队 · 主体不公开 | 登录后可见 | ✅ V1 | 待实测 | 候选(有搜索端点) |
| 抖店官方 | 国内 · 字节 | ¥0.0002 | ✅ | ❌ | 排除(只能查自己店铺) |
| TikHub | 境外主体 | $0.050 | ❌ 需 ID | ❌ | 排除(贵 2.3 倍且要 product_id) |
字段标准化映射(双源能切换的技术前提)
| 统一字段 | Apify | APISpace(待填) |
|---|---|---|
product_id | productId | 待 POC 确认 |
title | title | 待 POC 确认 |
price | priceAmount | 待 POC 确认 |
shop_name | shopName | 待 POC 确认 |
monthly_sold | monthlySold | 待 POC 确认 |
daily_series[] | salesTrend(30 天) | 待 POC 确认 |
source | 由适配层写入,每条快照都带 —— 必填,见下方红线 2 | |
双源对账结果(仅在开关打开时产生)
| 商品 | Apify 月销 | APISpace 月销 | 差异 | 判定 |
|---|---|---|---|---|
| 当前备源未接入,无对账数据。APISpace 通过 POC 后,这里会自动出现第一批 3 天的对照记录。 | ||||
切换日志
| 时间 | 事件 | 触发 | 影响范围 | 操作人 |
|---|
三条红线(改配置前必读)
| 红线 | 内容 |
|---|---|
| 1 · 字段先归一 | 映射表没填完,不许把 APISpace 设为主源 —— 切过去解析崩在采集侧,客户看到的是商品数据整片空白 |
| 2 · 跨源不连点 | 每条快照都带 source;销量趋势图不允许把两家数据连成一条线,切换点必须断开 + 打标记。两家"已售"口径可能不同(含不含退款、含不含预售),连起来会出现假的暴涨暴跌,客户会以为系统坏了 |
| 3 · 对账别常开 | 对账=成本翻倍。只在切源前后各开 3 天,对完立刻关;忘记关的话,商品线成本会直接 ×2,把毛利从 66% 打到 32% |
支付与密钥
密钥在这里填写与管理,全部加密落库;页面只回显掩码,不显示明文。
支付通道状态
通道自检
客户端登录
API 密钥
渠道与卡密(内部管理)
代理卖的是卡密(激活码),客户在客户端「卡密开通」页输入即用。卡密=印钞机,所以这一页的全部设计围绕一件事:先收钱、再出码,出码即可追溯。本页是我们的管理视图(看全部代理);代理本人打开的是另一个网站。
agent.<主域>,能看到的东西只有四样:自己的余额、自己的发码额度、自己的卡密、自己名下客户的到期状态。本页全部内容(成本 / 毛利 / 供应商单价 / 代理名单 / 折率口径 / 权限矩阵 / 四条红线)代理一条都看不到 —— 不是 CSS 藏起来,是代理那份构建产物里根本没有这些代码和字段。① 统一登录:一个账号,四个应用(不是三个)
| 应用 | 谁用 | 入口 | 账号来源 | 能看到的数据 |
|---|---|---|---|---|
| 片小帮 | 客户 | 现有主域 | 同一个账号中心 微信扫码登录,一个微信=一个 uid | 自己的生成次数与订单 |
| 潮汐·客户端 | 客户 | Windows 客户端 | 自己的监控范围、套餐、预警 | |
| 潮汐·运营后台 | 只有我们 | admin.<主域> | 全部:成本、毛利、供应商单价、全部代理与客户 | |
| 潮汐·渠道后台 独立应用 | 代理 | agent.<主域> | 只有自己:余额、额度、自己的卡密、名下客户到期状态 |
★ 最容易写错的一句:把「一个账号走三个应用」理解成「代理也进运营后台」。代理进的是渠道后台,永远不是运营后台 —— 这是本轮专门拆出来的第 4 个应用。统一登录只统一身份,绝不统一权限:同一个 uid,在运营后台是「我们」,在渠道后台是「代理」,权限由后端按 uid 的角色下发,与用哪个入口登录无关。
② 权限矩阵:代理能看什么、不能看什么
| 能力 | 管理员 运营后台 | 代理 渠道后台(另一应用) | 终端客户 客户端 |
|---|---|---|---|
| 看 API 成本 / 供应商单价 | ✅ | ❌ 屏蔽 | ❌ |
| 看毛利 / 客户成本率 | ✅ | ❌ 屏蔽 | ❌ |
| 改全局套餐定价 | ✅ | ❌ | ❌ |
| 改数据源 / 双源开关 | ✅ | ❌ | ❌ |
| 看客户名单 | ✅ 全部 | ✅ 仅自己名下 | — |
| 看客户监控数据(账号 / 视频 / 商品) | ✅ | ❌ 只看订阅状态 | ✅ 自己的 |
| 生成卡密 | ✅ 无限额 | ✅ 余额与限额内 | ❌ |
| 作废未核销卡密 | ✅ | ✅ 仅自己名下 | ❌ |
| 作废已核销卡密 | ✅ | ❌ 需管理员 | ❌ |
| 改自己的进货折扣 | ✅ | ❌ | — |
| 开下级子账号 | ✅ | ⚠️ 可申请,需审批 | ❌ |
| 导出客户数据 | ✅ | ⚠️ 仅自己名下且脱敏 | ❌ |
| 看到其他代理的信息 余额 / 发码量 / 名下客户数 | ✅ 全部 | ❌ 只能看自己 | ❌ |
| 看到成本口径 / 权限矩阵 / 四条红线 | ✅ | ❌ 整个页面不存在 | ❌ |
★ 为什么连「其他代理」都要屏蔽:代理之间互相看得见余额与发码量,等于把渠道盘子摊开给所有人 —— 大代理会被小代理比价,小代理会去猜我们的成本结构,最直接的结果就是串货压价。
③ 代理列表(可操作):设置 · 名下客户 · 累计发码 —
进价表本身(上表那四个数)改全局默认:点右上「✎ 改统一价表」;只改某一个代理:点本行「设置」。
① ¥75 / ¥149 / ¥219 是电商线的价(基于电商售价 ¥99 / ¥199 / ¥299 算的),不能套到社媒线 —— 社媒标准售价才 ¥59,若按「¥75 进货」,进货价比零售价还贵 ¥16;
② ¥219(旗舰)根本不是批发价 —— 已判定:旗舰版让利后渠道毛利仅 27.9%,代理按最低零售价卖一单只赚 ¥50(18.6%),双方都赚不到钱 → 不进批发,改走推荐成交返点 10%(¥29.9/单);
③ 折率与价表自相矛盾:7.5 折下旗舰应为 ¥224.25,而定案是 ¥219(7.32 折),两个数不可能同时成立。
★ 65 轮拍板(现行定案):渠道进价是「价表」不是「折率」—— 社媒线 标准 ¥44 / 专业 ¥97;电商线 标准 ¥75 / 专业 ¥149;旗舰版(两线)不进批发走返点 10%;年付(两线)不开放渠道批发。等级只调额度、不调进价 —— 进价多档(或按等级打折)会让同一批货出现多种成本,对账和串货追溯都会乱。
★ 电商线还要先降本再放量:电商·国内实测成本率 60~68%(客户把商品位全设成核心),按折率进货毛利仅约 9%。先落地「核心商品位硬限=重点账号数」,把成本率压回 40% 以内再放量。
★ 零售价不干涉,但协议里写最低零售价不低于 9 折 —— 否则代理低价甩卖会打穿直营价格体系。
③⁺ 新增代理 正式端扩展
★ 单日总额上限必须 ≤ 张数上限 × 最高进价 ¥149,高于它就是一条永远触发不了的死条款。
④ 代理设置:等级 / 限额 / 可批发档位 / 进货价与折扣(后台直接设定) —
默认全部代理跟随统一价表(65 轮定案)。要改成「按折率打折」或「自定义价表」:点表格里「进货价模式」那一列的蓝字(或本行最右的「设置」),弹窗第二行就是「模式」下拉 —— 改完立即生效并写操作日志。
| 代理 | 进货价模式 | 社媒·标准 零售 ¥59 | 社媒·专业 零售 ¥129 | 电商·标准 零售 ¥99 | 电商·专业 零售 ¥199 | 年付 | 旗舰 | 最近改价 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| 加载中… | |||||||||
① 进货价必须小于零售价 —— 一旦算出「进货 ¥75、零售 ¥59」这种数直接拒绝保存(65 轮就是在这上面栽过一次);
② 折率低于 7.5 折要二次确认 —— 不是不让给,是要让你确认一遍:这是在拿平台毛利换渠道量;
③ 单日总额上限不许高于「张数上限 × 最高进价」 —— 高过它这条上限永远触发不了。最高进价现取当前价表,不写死(原 ¥20,000 对 50 张就是一条死条款)。
★ 年付与旗舰默认关闭:年付本身已 9 折,再叠渠道折等于等效 67.5 折,规则未评估前不放开;旗舰让利后渠道毛利仅 27.9%,定案走推荐成交返点 10%(¥29.9/单)而不是批发。要放开必须先在上面列表里勾选并定价。
★ 「改」标记=该档进价与统一价表不同(已单独让价);点每行「设置」可改等级 / 限额 / 可批发档位 / 进货价与折扣。
④⁺ 代发卡密(管理员手动发码) 正式端扩展
⑤ 名下客户与累计发码查询 正式端扩展
⑥ ★ 代理后台暴露自查:这些东西代理一个都看不到
| 数据 / 设置 | 代理端 | 不给他看的理由 |
|---|---|---|
| API 采集成本、供应商单价($0.001~$0.05) | ❌ 源码级不含 | 单价能直接反推我们的毛利,是定价底牌 |
| 毛利 / 毛利率 / 客户成本率 | ❌ | 看到毛利就知道还能往下砍多少价 |
| 商品位成本(核心 ¥5.26 / 普通 ¥0.75) | ❌ | 反推套餐的真实成本结构 |
| 其他代理的身份 / 余额 / 发码量 / 名下客户数 | ❌ | 渠道盘子摊开=互相比价、串货压价 |
| 「可赚」这类差值(面额 − 进价) | ❌ 81 轮补 | 差值做一次减法就能反推进价 —— 金额本身不是情报,差值是 |
| 各等级折率表(自己的进货价除外) | ❌ | 知道别人的进价就会要求对齐,折率体系守不住 |
| 全局套餐定价配置(改价能力) | ❌ | 能改价=能把直营价格体系打穿 |
| 数据源与双源开关、切换日志 | ❌ | 暴露我们用的哪家、多少钱、谁在供货 |
| 客户的监控内容(盯哪些竞品 / 账号 / 视频) | ❌ 只看到期状态 | 客户的核心商业情报,转手就能卖 |
| 本页(权限矩阵、四条红线、风控规则) | ❌ 页面不存在 | 等于把我们的防守策略告诉对手 |
| 全站客户名单、端点清单、余额与对账 | ❌ | 与代理业务无关,纯风险 |
| 任何提及「运营后台 / 内部 / 成本 / 毛利」的说明性文案 原型说明横幅 · 副标题 · 安全提示横幅 | ❌ 字符串都不存在 | 64 轮补:「存在一个内部运营后台」本身就是情报;解释性文案等于把我们的安全边界讲给代理听。代理端只做「做事」,不做「解释」 —— 边界靠接口字段白名单 + 越权告警约束,不靠文案声明 |
agent_id = 自己,任何越权 id 直接 403。⑦ 卡密流水(全部代理 · 管理员视图) —
★ 反向也要留口子:管理员可以「强制作废」已核销的码(客户跑单、码被盗、纠纷处理),但:要二次确认 + 写操作日志 + 默认不退代理余额(退款需人工审),否则这条会变成代理绕开红线的后门。
四条红线(发码前必读)
| 红线 | 内容 |
|---|---|
| 1 · 先款后码 | 绝不允许"先出码、后结账"。生成即从预付款余额扣款,余额不足直接拒绝。代理跑路时,已出的码就是净损失 —— 一张 ¥3229 的旗舰年付码,发出去就是 3229 元收不回来 |
| 2 · 一码一账号 (不绑设备) | 核销时绑定 uid、不绑 machine_id —— 本地客户端换电脑、重装系统是常态,绑设备会制造大量「我换电脑就用不了了」的工单。一张码=一个账号已足够防多人共用;真正的防滥用靠90 天有效期 + 批次追溯 + 核销留痕。异常只告警不硬拦:同一张码被不同 uid 反复尝试核销 → 后台告警,代理无权处理 |
| 3 · 未核销可退、已核销不退 | 代理只能作废自己名下未核销的码,作废后按进货价退余额;已核销的码任何情况下都不由代理操作 —— 见上方流水表最后一行的说明 |
| 4 · API 与人工同校验 | 代理"自动获取卡密"走 API,必须复用本页同一套校验函数(余额 / 单张上限 / 单日张数 / 单日总额 / 有效期)。不允许给 API 单独开一条"信任通道" —— 那等于把红线 1~3 全部废掉 |
PXB-,潮汐 TIDE-。两个产品共用一个账号中心,但卡密不能混用(片小帮的码兑不了潮汐的套餐),核销接口按前缀路由。客户与套餐
卖什么价、开几个号、什么时候该续费。本页对应控制项总表 A 组 18 项(套餐售价 / 账号与商品名额 / 重点账号数 / 核心商品位上限 / 加购单价表 / 计费周期与折率 / 升降档与退款规则 / 续费提醒与自动续费 / 套餐权益文案),另承载客户侧的团队管理项(子账号权限 / 账号删除权限 / 团队邀请码)。本页是可编辑的下发配置源:这里增删改并点「保存并下发」后,客户端显示的套餐价、名额、加购单价、周期折率随之变化;客户端一个价格都不许自己算。
① 在线客户与配额占用
★ 72 轮起:类别与渠道不在「编辑」里 —— 监控范围选定即锁定,改它只能走「重置范围」(见下面 ①⁺ 那张卡),且要二次确认 + 写留痕。
①⁺ 监控范围一次性锁定(scope_locked)
| 环节 | 强制手段 |
|---|---|
| 客户端 · 界面层 | 两个「重新选择」入口整条删除(我的套餐页、支付弹窗)—— 不是隐藏,隐藏=F12 改一下就回来 |
| 客户端 · 动作层 | setScope() / togglePlat() / changeScope() / backToScope() 全部先过 scopeDeny();不再有「没开通套餐就能改」的例外(旧逻辑的洞) |
| 客户端 · 状态层 | 点「确认,进入工作台」即 lockScope('self');成员邀请加入即 lockScope('team')。退出登录不解开锁(否则退出重进就是绕开锁的捷径) |
| 服务端 · 写入 | POST /monitor/scope 只在 scope_locked=0 时可写;锁定后一律 409 + 越权告警,不做静默忽略 |
| 服务端 · 下发 | GET /monitor/config 返回 scope{cat,region,plats,locked};客户端只认下发,本地没有任何自解逻辑 |
| 唯一合法变更 | 客户联系客服 → 本页「重置范围」(admin 角色 + 二次确认 + 写留痕)→ 下发 scope{lock:0, reset_at} → 客户端解锁一次 → 重选后立即再次锁定 |
| 重置的代价 | 原象限的采集任务立即停止、历史数据保留 keep_days=90 天;成员席位同步跟随主账号。所以重置不是「换个线玩玩」,必须让客户先知道 |
PLAT_METRIC口径,客服对不上账,客户也会以为范围可以反复试。「选定即锁定」必须是开户那一刻就成立的属性。★ 一次性令牌:
reset_at 由客户端消费一次即失效,重复导入同一份 JSON 不会反复解锁。★ 老配置兼容:71 轮及以前下发的配置没有
lock 字段,cfgNorm() 一律按已锁定补齐 —— 绝不能因为字段缺失就当成没锁。①⁺⁺ 范围重置留痕
② 套餐与名额矩阵(A 组主体)
scripts/cost_model.py(它算的是毛利率,不是感觉)。三列配额有硬校验:重点账号数 ≤ 账号名额、核心商品位 ≤ 重点账号数、商品总数 ≥ 核心数。planCheck(),改数据时自动拦截。★ 年付价 = 月价 × 12 × 折率取整,由右侧「年付价」列实时现算,不许在别处写死数字。
★ 下架 ≠ 删除:下架后客户端不再显示该档位但订单还在;删除会把配置永久移除,且有客户在用的档位不让删。
★ 套餐权益文案支持占位符:
{count} / {focus} / {poll} / {core} / {total} / {norm} / {seatsNote} / __LIVE__;写死平台名会被拦下来(㊿ 红线:四个象限必然串台)。③ 加购单价表与上限(㉞ 已废「固定包」)
| 加购项 | 单价 ¥ / 个 / 月 | 单次上限 | 总数上限 | 说明 | 状态 | 操作 |
|---|
★ 生效时点两套并存、必须分清:加购按下个计费周期生效;套餐升级即刻生效。金额一律由后台算(
pay_amount),客户端只传 {item, qty}。★ 商品位免费换绑 2 次 / 月(
GOODS_REBIND_FREE);超次是否收费要后台定,否则等于无限换绑。★ 停用 ≠ 删除:停用后客户端不出现该加购入口。
④ 计费周期与折率(period_options[])
applyServerPeriod()。改折率时右侧「各档算价」列会同步重算。| 周期 | 月数 | 天数 | 折率 | 状态 | 各档算价(电商线) | 操作 |
|---|
★ 默认周期只有一个且不许下线/删除:客户端打开时默认选中它。
④⁺ 下发通道(后台 → 客户端)
GET /monitor/config 下发给所有在线客户端。★ 每次下发都自增版本号 v,客户端设置页会显示正在使用的配置版本,便于客诉时确认「他看到的是哪一版价格」。
⑤ 升级 / 降档 / 退款 / 续费
| 规则 | 现行口径 | 为什么这么定 |
|---|---|---|
| 升级补差价 | 全额收新档价,不折算(¥59 → ¥129 收 ¥129) | 另一种常见做法是「按剩余天数折算补差」,客户感知差很大 —— 必须由后台定死 |
| 降档 | 不支持自助降档,走客服 | 涉及退款必须后台可查可审,不能只靠客户端一句拦截文案 |
| 年付退款 | 不支持无理由中途退;确需退按「已用月数 × 月付原价」折算后退余额 | 否则客户可以「年付 9 折买入 → 中途退」套利 |
| 续费提醒 | 到期前 7 / 3 / 1 天三次桌面通知(renew_notify_days 可调)+ 一键续费(复用现有 Native 扫码) | 续费率是这个生意的命门;零新资质 |
| 自动续费 | 本期不打通,保留后期(字段与接口都留着) | 微信自 2025-07-28 起委托代扣仅向企业/政府/事业/社会组织开放,个体工商户已被排除;现收款主体是 B 个户商户号。后期切到 A 公司主体新开商户号再开 |
| 到期降级 | 超配额先冻结超额部分,历史数据保留 90 天 | 不能一到期就删数据 —— 那是客户的资产 |
⑥ 客户与团队管理
| 控制项 | 当前取值 | 关闭 / 收紧的后果 |
|---|---|---|
| 子账号权限 | 开 —— 可增删改监控账号 | 子账号共享主账号名额池,不额外占配额 |
| 账号删除权限 | 主账号可删;子账号默认不可删 | 删除立即停止采集并释放名额(含重点名额),历史快照一并清除 —— 不可逆,必须限权 |
| 团队邀请码 | 7 天有效,绑定前可撤销 | 卡密有面值控制项,邀请码此前只有界面上写死的一句话 —— 后台必须能改天数、能强制作废 |
| 单客户成本上限(熔断) | 建议 = 售价 60% | 防恶意刷量把毛利打穿;超线先告警,再降频 |
| 客服联系方式 | 「联系我们」面板(禁止暴露客服个人号) | 现原型为占位号,上线前必须换真实号 |
价格三条红线
| 红线 | 内容 |
|---|---|
| 1 · 平台枚举现算 | 套餐权益 feat[] 只写占位符,按 scopeKey() 现算。写死平台名 = 客户切象限那天权益开始说假话。 |
| 2 · 「(…除外)」不上卡 | 判据:括号是「排除」→ 删;是「限定承诺覆盖哪些平台」→ 留。删了但事实不能藏 —— 在设置页与点重点的 toast 里如实告知。 |
| 3 · 金额一律后台算 | 客户端只传 {item, qty},后台返回 pay_amount,前端拿到什么显示什么、一个字都不许自己乘。 |
| 4 · 有客户在用的档位不许删 | 删除 / 下架档位前先查 usersOfPlan():正在服役的档位只能先给客户换档再删,否则客户端会显示「档位已失效」。这条同样适用于周期。 |
⑦ 新增 / 删除(正式端扩展 · 原型无此块)
| 范围 | 档位 key | 名称 | 月价 | 账号 | 重点 | 商品 | 核心 | 席位 | 轮询(秒) | |
|---|---|---|---|---|---|---|---|---|---|---|
planCheck() 拦下。平台与端点
客户能加哪些平台、每个平台能拿到什么、多久采一次。本页对应控制项总表 B 组 7 项(采集频率)+ E 组 9 项(平台可见性);端点白名单与单价表属 C 组,在「数据源与双源切换」页维护。本页改的是「客户看得见的能力」,改错会直接变成对客户的承诺。
① 社媒线平台名单与能力(在架 11 个)
★ 国内能拿到播放量的只有快手与 B 站;微博
interaction.* 字段在、值全为 0 → 标「待真实账号作品列表复测」,不许写成「拿得到」。② 电商线平台名单 + 暂停展示开关
| 平台 | 象限 | 状态 | 能力档位 | 开播检测 | 可设重点 | 商品采集 |
|---|---|---|---|---|---|---|
| 抖音 | 电商 · 国内 | 在架 | full | 支持 | 可 | Apify 每日 1 次 |
| 快手 | 电商 · 国内 | 在架 | part | 支持 | 可 | — |
| 小红书 | 电商 · 国内 | 在架 | partDaily | 不支持 | 不可 | — |
| 视频号 | 电商 · 国内 | 本线不上 | off | 不支持 | 不可 | — |
| TikTok | 电商 · 海外 | 在架 | full | 支持 | 可 | TikTok 商品线 |
PARKED_PLATS 与 scripts/sync_scope_data.py 的 PARKED 两处必须同进同出,否则会出现「选择器里没有、数据里还有」的幽灵平台。暂停时该平台的演示账号 / 视频 / 预警一起下线。★ 这三个平台走的是 Apify 外部源,计费口径是「按条 / 按账号」,与 TikHub 的按次计费不是一套 —— 恢复时成本要重算。
★ 已下线(不再进名单):Twitter / Reddit / Telegram / Threads / LinkedIn。
③ 采集频率(B 组 7 项)
| 采集项 | 现行频率 | 谁能改 | 乱改的后果 |
|---|---|---|---|
| 账号趋势刷新 | 6h / 4h / 4h(随档位) | 跟档位 | 多一条轮询线,成本线性涨 |
| 视频统计 | 三档统一固定 4h / 轮 | 跟档位 | 不跟随账号轮询,别以为改了账号频率它就跟着变 |
| 开播检测 | 三段变频:休眠 4h → 待播窗口高频 → 开播后降到 45min | 跟档位 | 高频覆盖整场会高估成本 3 倍(我们按峰值算的) |
| 高价平台降频 | 端点单价 > $0.001 → 每日 1 次 | 通用规则 | 不降=成本 305%~335% 售价(小红书 / 视频号) |
| 核心商品刷新 | 每日 1 次(可退到 3 天) | 可调 | 退到 3 天毛利 +3.6pt(代价:销量突增的发现延迟由当天变 3 天) |
| 普通商品刷新 | 每周 1 次 | 可调 | 改成每天 1 次,标准档毛利直接转负 |
| 新账号冷启动 | 前 7 天 30min 级自采样 | 可调 | ≈ ¥2.4/账号 一次性,砍掉会让新账号首日窗口说不清 |
④ 平台准入与能力字段(改错直接影响对客户的承诺)
| 字段 | 含义 | 现行取值 | 关闭 / 改错的后果 |
|---|---|---|---|
focus_ok | 该平台能否设为重点账号 | 排除 4 个:小红书 / 视频号 / IG Reels(降频)+ Lemon8(无作品列表) | 放开=对高价平台承诺「1 小时发现爆款」,实际一天只采 1 次 |
live_ok | 该平台是否支持开播检测 | 抖音 / 快手 / TikTok | 「重点账号 3 分钟发现开播」这句承诺只在这 3 个平台成立;客户加了不支持的平台还看见承诺,必客诉 |
accept | 该平台可以填什么(原样输出到界面) | 按 PLAT_INPUT_RULES 十平台逐条定义 | 客户不知道该复制什么 → 填错 → 无效参数照样计费 |
| 象限映射表 | 类别 × 地区 → 平台名单 | 社媒·国内 7 / 社媒·海外 4 / 电商·国内 3 / 电商·海外 1 | 串台的病根就在这 —— 客户端只认下发结果 |
| 本机缓存估算值 | 设置页「清理缓存」显示的值 | 社媒 3.6 MB / 电商 5.2 MB | 实际构成随保留天数变,应随配置一起下发,不许写死 |
⑤ 输入识别规则与短链白名单
| 平台 | 该平台可以填什么 | 短链域名(需后端跟随 302 再解析) |
|---|---|---|
| 抖音 | 主页链接 / 分享口令 / 抖音号 | v.douyin.com |
| 视频号 | 视频号ID号 | — |
| 小红书 | 主页链接 / 分享链接 / 小红书号 | xhslink.com |
| 快手 | 主页链接 / 分享链接 / 快手号 | chenzhongtech.com · v.kuaishou.com |
| 哔哩哔哩 | 主页链接 / UID | b23.tv |
| TikTok | 主页链接 / @unique_id | vm.tiktok.com |
| 其余(知乎 / 微博 / YouTube / Instagram) | 主页链接 / ID | 按 PLAT_INPUT_RULES 逐条维护 |
sec_user_id 等)是内部资料,绝不上界面,只给后端开发看。平台三条红线
| 红线 | 内容 |
|---|---|
| 1 · 端点表只说明「有」 不说明「活着」 | 端点表里 instagram/web_app/* 有价但实测 404。凡是要进合同的能力结论,必须真调一次 + 按字段路径打印 ≥5 条样本。 |
| 2 · 同源坑: 推荐流有 ≠ 轮询端点有 | ① 「推荐流能看到」不代表「轮询端点拿得到」;② 「字段在」不代表「值有」—— 微博 interaction.* 全 0,只能判「待复测」,不许写成能拿到。 |
| 3 · 降频是通用规则 | 判据是端点单价 > $0.001,不是「是不是小红书」。旧版写死平台名单,漏掉了 IG Reels($0.002=2 倍价) —— 既没被降频、又没被排除重点。 |
⑥ 端点维护(正式端扩展 · 原型无此块)
告警与日志
什么情况算异常、通知谁、留什么痕。本页对应控制项总表 D 组 5 项(预警阈值与通知)+ G 组 8 项(存储与归档),并集中承载全部操作日志。告警的价值不在「响」,在于「响了之后有人能查到发生了什么」—— 所以阈值与日志在本页成对出现。
① 预警阈值(D 组 5 项)
backend/hvi_engine.py,改阈值前必读该文件,不许在文档或界面里另抄一份数值| 预警项 | 触发条件 | 档位差异 | 备注 |
|---|---|---|---|
| 爆款判定 | 24h 互动增量(赞 + 评 + 藏 + 转)≥ 该账号近 30 条中位数 × 3 | 旗舰可自定义阈值 | 播放量不参与判定 —— 抖音 / 小红书 / 知乎 取不到,混口径会让倍率不可横向比 |
| 开播 / 下播检测 | 账号 profile 自带 live_status | — | 与账号快照合并去重,不额外发一次请求(省一份钱) |
| 粉丝异动 | 周均 3 倍 | 旗舰可调 | — |
| 商品销量突增 | 阈值待定 | 旗舰 | 只有核心商品是日更,这条预警只对核心商品才有意义 |
| 通知偏好 | 免打扰时段 / 按类型订阅 / 提示音 | 客户端本地 | 全表唯一一项客户端本地控制项 —— 自建 WebSocket,零 API 成本 |
② 通知通道与推送节奏
| 事件 | 推给谁 | 节奏 | 为什么是这个节奏 |
|---|---|---|---|
| 爆款 / 直播 / 商品异动 | 客户客户端 | 实时(WebSocket 推送) | 自建通道,零 API 成本;免打扰时段可关 |
| 套餐到期 | 客户 | 到期前 7 / 3 / 1 天三次 | 续费率是命门;到期前不再打扰 |
| 成本率黄线 / 红线 | 我们(后台) | 黄线 60% 即时;红线 70% 即时 | 黄线是预警,红线要人工介入(提醒客户改回核心商品配额) |
| 数据源余额 | 我们(后台) | 可用天数 < 14 天 → 首页红条;< 7 天 → 每天早上 9 点推一次 | 欠费=全量客户采集中断,必须提前预警 |
| 数据源自动切换 | 我们(后台) | 即时 | 商品断供=电商线核心功能失效,不能静默 |
| 代理端越权访问 | 我们(后台) | 即时告警(并发 403) | 越权探测本身就是信号,只拦不报=把信号丢掉 |
| 异常核销 | 我们(后台) | 即时告警,只告警不硬拦 | 硬拦会误伤正常换设备;代理无权处理 |
③ 存储与归档(G 组 8 项)
| 控制项 | 现行取值 | 说明 |
|---|---|---|
| 热层窗口(全量时序点 + 缩略图落地) | 7 天 | 加长 = 时序行数线性涨,这是存储最大的旋钮 |
| 温层窗口(降采样为日 1 点) | 30 天 | 中位数样本的天然来源;短于 30 天会出现「样本不足」 |
| 冷层窗口(只留汇总,不留点) | 90 天 | 到期降级为月度汇总 |
| 每账号作品保底条数 | 100 条 | 元数据行数的硬上限(18 账号 = 1,800 行封顶) |
| 单视频时序点上限 | 65 点(热 42 + 温 23) | 锁死放开 = 行数失控;65 点是「7 天画曲线 + 30 天看趋势」的最小够用值 |
| 缩略图落地范围 | 仅「爆款 + 热层」 | 锁死全量落地 = 磁盘占用 ×20;平台 CDN 链接失效后本地图才是唯一凭据 |
| 归档任务执行时刻 | 每日 03:00 | 避开 4h 采集整点(00 / 04 / 08…) |
| 单客户磁盘配额告警线 | 50 MB | 超线告警 + 强制降到 30 天窗口,不直接删数据 |
④ 操作日志(全量留痕)
| 时间 | 类型 | 事件 | 操作人 | 影响范围 |
|---|---|---|---|---|
| 10-05 00:10 | 结算 | 每日结算任务完成(周一为 00:10) | 系统 | 全局 |
| 10-04 15:20 | 配置 | 数据源配置变更:主 Apify / 备 无 / auto | 龙四 | 全局 |
| 10-04 11:30 | 卡密 | 生成卡密 1 张(社媒·专业·月付 ¥129) | 义乌老王 | 1 张 · 扣预付款 ¥97 |
| 10-03 10:12 | 卡密 | 作废未核销卡密 1 张,按进货价退余额 ¥44 | 义乌老王 | 1 张 |
| 10-02 19:05 | 核销 | 卡密核销绑定客户 uid | 义乌饰品厂 | 1 张 |
| 10-02 03:12 | 告警 | 主源连续 3 次失败 → 无备源可切 → 告警 | 系统 | 全局(数据缺 1 个采集点) |
| 10-01 09:00 | 告警 | Apify 余额可用 < 7 天,推送提醒 | 系统 | 全局 |
| 09-30 09:03 | 强制作废 | 作废超期未核销码,按进货价退代理余额(二级审批已通过) | 系统 · 首次审批 龙四 | 1 张 · 退 ¥47.2 |
★ 代理端越权访问要立刻告警(默认开):请求带非自己的
agent_id、或试探运营后台接口 → 403 + 立即告警。告警三条红线
| 红线 | 内容 |
|---|---|
| 1 · 越权只拦不报= 把信号丢掉 | 越权探测本身就是信号。拦截必须与告警成对出现,否则我们永远不知道有人在试探边界。 |
| 2 · 强制作废必须 二级审批 | 已核销码的强制作废默认不退代理余额,退款需人工审。否则这条会变成代理绕开「已核销不退」的后门。 |
| 3 · 配额超线只降窗口 不删数据 | 磁盘配额超线 → 告警 + 强制降到 30 天窗口。直接删数据是客户资产损失,不可作为省空间手段。 |
联系我们(客户端求助入口)
客户点客户端左下角「💬 联系我们」看到的那个面板,内容全部在这一页配置。改完点「保存并下发」,客户端按下发结果渲染 —— 换客服号不必再发新版客户端。
① 面板文案
② 联系方式与二维码
| 项 | 现行取值 | 说明 |
|---|---|---|
| QQ 客服号 | 客户端「复制」按钮复制的就是它。占位 现为演示占位号,上线前必须换成真实工作号 | |
| 客服微信二维码 |
还没有图 (客户端回落内置占位图)
图片地址
换码流程:选图 / 填地址 → 预览确认能扫 → 保存并下发。客户端下次启动即用新码。
⚠ 二维码有效性无法自动验证 —— 后台只能存图,扫不扫得开要靠人工确认。
★ 客户端本地缓存 3 天:断网或下发缺字段时先用上一次的图,避免客户看到白框。换码后个别客户仍见旧图=本地缓存,重启客户端即刷新。
| |
★ 只接受 https:// 开头的地址,或 data:image/(png|jpg|gif|webp);base64, 开头的内嵌位图 —— 客户端会把这个串直接塞进 <img src>,放 javascript: 或相对路径进去等于让客户端渲染任意内容。SVG 也不收:它是 XML 文档,能带脚本与外链。
③ 显示项开关
| 显示项 | 开关 | 说明 |
|---|---|---|
| 展示客服微信二维码 | 已关闭 | 关掉后客户端面板只剩 QQ 一行 —— 只在换码过渡期临时关,长期关=把客户往窄路赶 |
| 展示 QQ 客服号 | 已关闭 | 关掉后客户只剩扫码这条路 |
| 展示「定制服务」提示 | 已关闭 | 客户要按自己口径来(结算时区、专属字段、私有化、批量渠道)时知道该找谁 —— 这是把「定制」这门生意接住的钩子,建议常开 |
| 展示服务时间 | 已关闭 | 原型这一块只列了上面三项;服务时间这一项下发契约里本来就有,留在页面上才不会出现「有配置但没地方改」 |
★ 「填了值」与「下发它」是两件事:上传二维码或填好 QQ 号之后,对应的开关也必须是「已开启」,否则下发配置里这一项是空串,客户端仍然什么都不显示。已接通 现在填值会自动打开对应开关,界面上也始终能看到当前是开是关。
④ 保存与下发
・预览面板 = 用你刚填的值画一遍 —— 验的是「我这次填的对不对」(保存前、本地)。
・核对已下发 = 读服务端真实存下的值再画一遍,并逐项列出收下的原文 —— 验的是「客户到底会看到什么」。
保存成功后它会自动出现。如果两者不一致,以「核对已下发」为准。
⑤ 变更留痕
| 时间 | 项 | 变更 | 操作人 |
|---|
本页三条红线
| 红线 | 内容 |
|---|---|
| 1 · 客户端不放私人号 | 面板出现的一律是工作号。私人号写进客户端 DOM = F12 就能读到,且客户会绕开我们直接找个人。 |
| 2 · 换码必须能预览 | 二维码改错=全量客户扫到旧号 / 死号,且要到投诉时才发现。所以「保存并下发」旁边永远有「预览面板」和「核对已下发」—— 前者验「我填的」,后者读服务端存下的再验一遍「客户会看到的」。 |
| 3 · 至少留一条联系路径 | 二维码与 QQ 号不允许同时关闭 —— 否则「联系我们」变成一个点了什么都拿不到的空面板。 |
用户管理
全局用户——不分渠道,一次看全。每个用户都带代理 / 渠道标签(代理来的标渠道名,没有渠道的标「直客」),可按渠道筛选。增删改查全在本页完成,每一次写操作都进操作日志。
① 筛选
② 用户清单
★ 换渠道是允许的,但必须留痕:渠道归属错了要对账,不允许改=逼人删了重建,而重建会丢掉这个用户的采集历史。所以日志里带上新旧两个渠道。
★ 不能换到已下架的档位 —— 允许把在用的用户换过去,等于给「下架」这个动作开后门。
本页两条红线
| 红线 | 内容 |
|---|---|
| 1 · 删人必须撤钥匙 | 删用户同时把 client_tokens 里未作废的令牌全部置为已撤销。只删主体不删它的凭据,等于没删。 |
| 2 · 到期日不静默回落 | 传了到期日就照用;格式不对直接报错,绝不悄悄改成"按周期推算"出来的值 —— 那会让改期的人以为改成了。 |
订单管理
全局订单——充值单(渠道向我们付款)与卡密单(渠道把货发给客户)合在一处看,每一行都带代理 / 渠道标签,可按渠道、类型、状态筛选,关键词可搜订单号 / 卡号 / 买家 / 渠道名。增删改查全在本页完成。
① 筛选
② 订单清单
★ 补录只接受充值单:卡密涉及库存与面额准入,绕过发码接口直接插一行=绕过「先款后码」那条红线,所以这里直接拒绝,并指回「渠道与卡密」页。
★ 补录默认就是「已支付」:线下的钱已经到账了,系统里补的单留成"待支付"的话,它会自己过期,而代理余额永远涨不上去。补录同时落一笔资金流水 —— 余额是流水的聚合结果,不落流水等于钱"到了但没到"。
本页三条红线
| 红线 | 内容 |
|---|---|
| 1 · 已支付的单不许删 | 删掉它,资金流水里那笔进账还在 ⇒ 余额凭空多出一笔钱。要改请走作废 / 退款流程。 |
| 2 · 已核销的卡密不许删、不许改状态 | 客户已经在用了 —— 未核销可退、已核销不退。改回去等于把已开通的客户悄悄关掉,而客户那边不会收到任何通知。 |
| 3 · 关单不可逆 | 已支付的充值单不能关;关掉的单不可回退。重复关单返回「已经是关闭状态」而不是报错(幂等)。 |