仪表盘
{{summary.ts || '加载中...'}} · 每 30s 自动刷新
⚠ 待处理预警
{{a.level==='error'?'✖':'⚠'}}
{{a.label}}
今日订单
{{(summary.orders.today||0).toLocaleString()}}
¥{{(summary.orders.today_revenue||0).toLocaleString()}}
本月订单
{{(summary.orders.month||0).toLocaleString()}}
¥{{(summary.orders.month_revenue||0).toLocaleString()}}
总订单
{{(summary.orders.total||0).toLocaleString()}}
¥{{(summary.orders.total_revenue||0).toLocaleString()}}
今日净收入
¥{{(summary.revenue.today_net||0).toLocaleString()}}
销售 ¥{{(summary.revenue.today_sales||0).toLocaleString()}} / 退款 ¥{{(summary.revenue.today_refund||0).toLocaleString()}}
本月净收入
¥{{(summary.revenue.month_net||0).toLocaleString()}}
销售 ¥{{(summary.revenue.month_sales||0).toLocaleString()}} / 退款 ¥{{(summary.revenue.month_refund||0).toLocaleString()}}
今日充值
¥{{(summary.revenue.today_recharge||0).toLocaleString()}}
本月 ¥{{(summary.revenue.month_recharge||0).toLocaleString()}}
订单处理状态分布
排除充值单
业务类型分布
按总订单量排序
暂无业务类型数据
号池健康度
总载体号 {{(summary.carriers.total||0).toLocaleString()}} · 今日消耗 {{(summary.carriers.today_used||0).toLocaleString()}}
代理池健康度
总代理 {{(summary.proxies.total||0).toLocaleString()}}
✅ active
{{(summary.proxies.active||0).toLocaleString()}}
❌ disabled
{{(summary.proxies.disabled||0).toLocaleString()}}
今日代理失败
{{(summary.proxies.today_proxy_failures||0).toLocaleString()}}
状态明细: {{s.status}}={{s.count.toLocaleString()}}
最近 7 日订单趋势
今日高亮
{{d.day}}
{{(d.count||0).toLocaleString()}}
¥{{(d.revenue||0).toLocaleString()}}
完成 {{d.finish_rate||0}}%
最近 24 小时执行
task_executions 聚合
执行总数
{{(summary.execution_24h.total||0).toLocaleString()}}
成功
{{(summary.execution_24h.ok||0).toLocaleString()}}
{{summary.execution_24h.ok_pct||0}}%
失败
{{(summary.execution_24h.fail||0).toLocaleString()}}
{{summary.execution_24h.fail_pct||0}}%
按业务类型
签名后端负载
{{(summary.backends||{}).note || '待接入'}}
{{inst.label}}
{{inst.status==='ok'?'在线':(inst.status==='unknown'?'未知':'离线')}}
看"签名服务器"tab 的 /admin/server_status 实时数据
TODO: 后端 /api/dashboard/summary 聚合 :6003/:6004/:6005/:6000 /admin/server_status。当前实现使用占位值。
执行策略
订单机器人自动聚合 / 分发 / 重试
🌊 全局性能
所有业务共用,吃满这个数。20000 = 推荐;50000 代理会炸。改完点"保存"立刻生效。
🤖 订单机器人
总开关。关掉后新订单走老 task_executor 流程(紧急回退用)。
只影响新进入订单机器人队列的关注订单:查粉 → 打请求 → 等生效 → 再查粉 → 不够继续补。
越小响应越快,越大聚合越大。推荐 30。
一次批量执行最多包含多少个不同的小红书账号(UID)。
比如今天有 200 个订单但全指向同 1 个 UID,算 1 个;200 订单对 200 个不同 UID 才算 200。推荐 50。
比如今天有 200 个订单但全指向同 1 个 UID,算 1 个;200 订单对 200 个不同 UID 才算 200。推荐 50。
这是订单层面的兜底:一个订单跑完仍不够时,重新进队列再跑几次。推荐 3。
一轮 = 查粉 → 算缺口 → 派号打请求 → 等待生效 → 再查粉。对齐桌面端智能补全默认 50;你可以自己改数字。
订单跑满重试轮数没补够时,挂起 N 小时等 auto_partial_retry 反复扫、再尝试补。到期还是不够才真正退款。0 = 立即退款(不推荐)。推荐 12。
关掉后:失败订单停留在 partial/failed 状态直到 auto_refund 到期退款,不会自动重试。要节省号时关掉。
⚡ 号级规则
~
一个号用完后冷却这么久才能再用。推荐 3 ~ 5,WAF 紧张时 30~60。
XHS 风控硬规则。超过会 -13002 封号。推荐 20,狂推模式可忽略。
普通 timeout / DNS 不当作失效;只有实锤失效才自动换绑,换绑后该载体号代理状态重置为 untested。
🚧 业务风控
抵消服务端吞粉。订单差值 × (1+该比例) = 实际打 API 数。吞粉 37% 建议 0.3(多打 30%)。0 = 不超发,完全按差值打。
仅在超发比例 > 0 时生效。每个目标至少额外多打这个数,解决最后差 4-5 粉时按比例只补 1-2 个导致多轮补不上的问题。默认 50。
⏱ 业务生效等待时间(火箭打完后等 XHS 刷新)
默认 60s(XHS 粉丝数刷新慢)。
默认 15s。
默认 10s。
默认 10s。
默认 15s。
👥 业务号池分组(各业务从哪些组挑号 · 可多选,空=全部 active)
按住 Ctrl/Cmd 点选多个。推荐 "关注用"。空=全部 active。
按住 Ctrl/Cmd 点选多个。空=全部 active。
按住 Ctrl/Cmd 点选多个。空=全部 active。
按住 Ctrl/Cmd 点选多个。空=全部 active。
按住 Ctrl/Cmd 点选多个。空=全部 active。
按住 Ctrl/Cmd 点选多个。推荐 "tool"(查粉专用,不占业务号)。
🧬 业务算法(iOS / Web 切换)
auto = 号有 Web Cookie 就走 Web,没有就走 iOS;强制 Web 无 Cookie 的号会跳过
Web 算法 85 QPS/profile 比 iOS 快,限频松。
🔧 高级 / 基础设施(非必要不动)
机器人有 bug 时勾选,恢复到旧流程。勾选后也可把上面的"启用订单机器人"关掉,二选一即可。
🔄 载体号重登 / 签名后端分流(基础设施)
后台 auto_relogin 每批扫描过期号时的线程数。每线程 ~3MB。建议 500-1000。
载体号页点"一键重登"时用的并发。上限 2000。
send_code / login_by_code / 查 uid / 查粉 专用后端。空=和业务共用本机。
follow / like / comment / note_detail 在主/副后端 50/50 随机分流。
任务记录
执行策略
{{ orderTaskStrategyText() }}
📊 任务总览
总 {{taskOverview.total}} · ✅已完成 {{taskOverview.by_status.completed||0}} · 🔄运行 {{taskOverview.by_status.running||0}} · ⏸待执行 {{taskOverview.by_status.pending||0}} · ⚠️部分 {{taskOverview.by_status.partial||0}} · ❌失败 {{taskOverview.by_status.failed||0}}
{{Math.round(((taskOverview.by_status.completed||0) / Math.max(1, taskOverview.total)) * 100)}}%
补全单(按真实达标算):{{taskOverview.absolute_target.reached}}/{{taskOverview.absolute_target.total}} 已达目标粉丝数
{{Math.round(taskOverview.absolute_target.reached/Math.max(1,taskOverview.absolute_target.total)*100)}}%
同时处理中
{{liveMetrics.inflight||0}}
/ 上限 {{siteSettings.backend_concurrency_limit||20000}}
😴 没喂满
🔥 满载
QPS
{{liveMetrics.per_min_rate||0}}
请求/秒
近1分钟
{{liveMetrics.per_min_ok||0}}
成功 / {{liveMetrics.per_min_total||0}} 总 / 失败 {{liveMetrics.per_min_fail||0}}
分流
本机 {{liveMetrics.split_local_pct||0}}%
/
副机 {{liveMetrics.split_hk_pct||0}}%
(设定 {{Math.round((liveMetrics.primary_weight||0)*100)}}/{{Math.round((1-(liveMetrics.primary_weight||0))*100)}})
状态:
|
类型:
|
| ID | 类型 | 小红书号 | UID/NoteID | 目标粉丝数 | 当前粉丝数 | 交付进度 | 状态 | 时间 | 操作 | |
|---|---|---|---|---|---|---|---|---|---|---|
| {{taskBatchOpen[g.key]?'▼':'▶'}} | 📦 {{taskBatchDisplayCount(g)}} | {{typeLabel(g.items[0].task_type)}} | {{taskBatchTargetScopeText(g)}} | 目标 {{taskBatchTargetText(g)}} | - |
{{taskBatchCompletionText(g)}}
{{taskBatchRoundText(g)}}
|
{{taskBatchStatusLine(g)}} | {{g.items[0].created_at}} | ||
| 📦 O{{t.source_order_id}} #{{t.id}} | {{typeLabel(t.task_type)}} | {{taskTargetFans(t)}} | {{taskCurrentFans(t)}} |
{{taskStage(t).text}}
执行
{{taskProgressSummary(t)}}
交付
{{taskDeliveryNow(t)}}/{{taskDeliveryTarget(t)}}
{{taskLiveRoundText(t)}}
{{taskRetryRoundText(t)}}
初始 {{t.baseline_count}}
号池不足
|
{{taskItemStatusLine(t)}} | {{t.created_at}} |
暂无任务记录
任务 #{{taskDetail.task.id}} 执行详情
下单用户: {{taskDetail.order_user.username}}
订单号: {{taskDetail.order_user.order_no}}
支付: {{taskDetail.order_user.payment_method}} ¥{{taskDetail.order_user.total_price}}
来源: {{taskDetail.task.created_by}}
| 载体号 | 状态 | 错误 | 时间 | 日志 |
|---|---|---|---|---|
| {{e.carrier_nickname||'#'+e.carrier_account_id}} | {{e.status==='success'?'成功':'失败'}} | {{e.executed_at}} | ||
|
URL: {{e.request_url}}
请求体 (Request)
{{prettyJson(e.request_payload)}}
响应体 (Response)
{{prettyJson(e.response)}}
无请求/响应数据(旧日志未记录)
|
||||
无执行记录
执行日志
[{{ String(line.time_str || '').slice(0, 8) }}]
{{ formatLiveLogLine(line) }}
detail: {{ line.error_detail }}
筛选:
|
共 {{filteredExecLogs.length}} 条({{execLogCategory}})
| 任务 | 类型 | 载体号 | 状态 | 业务日志 | 来源 | 时间 | 日志 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{e.task_id>0?'#'+e.task_id:'—'}} | {{typeLabel(e.task_type)}} |
{{e.carrier_nickname||'#'+e.carrier_account_id}}
sid: {{String(e.request_payload).slice(0,28)}}...
|
{{e.status==='success'?'成功':(e.status==='failed'?'失败':(e.status==='skipped'?'跳过':(e.status==='info'?'信息':e.status)))}} | {{e.created_by||'管理员'}} | {{e.executed_at}} | ||||||||||
|
账号 #{{e.carrier_account_id}} 全部步骤
URL: {{e.request_url}}
请求体
{{prettyJson(e.request_payload)}}
响应体
{{prettyJson(e.response)}}
无请求/响应数据
|
|||||||||||||||
暂无执行日志
载体号管理
{{carrierStats.total||0}}
总数
{{carrierStats.active||0}}
活跃
{{carrierStats.ck_active||0}}
🕸✅ CK 活跃
{{carrierStats.session_expired||0}}
过期 ↵勾选
{{carrierStats.banned||0}}
封禁 ↵勾选
{{carrierStats.risk_control||0}}
风控 ↵勾选
{{carrierStats.xhs_300011||0}}
300011 风控 ↵勾选
{{carrierStats.proxy_invalid||0}}
代理失效 ↵勾选
{{carrierStats.device_abnormal_300014||0}}
300014 设备异常
{{carrierStats.sms_timeout||0}}
📵 接码超时
{{carrierStats.sms_url_invalid||0}}
接码链接失效
{{carrierStats.ck_extracted||0}}
🕸 已提 CK ↵勾选
{{carrierStats.system_overseas_limit||0}}
🌍 海外限制 ↵勾选
{{carrierStats.nurtured||0}}
🌱 已养号({{carrierStats.nurture_group}})
|
🎯 核心业务
⚙️ 号池配置
|
🔍 检测诊断
📋 数据/选择
|
Session检测进度:{{sessionCheckProgress.done}} / {{sessionCheckProgress.total}} | 正常 {{sessionCheckProgress.ok}} | 过期 {{sessionCheckProgress.expired}} | 失败 {{sessionCheckProgress.failed}}
🕸 批量提取 Web CK:
{{batchCKProgress.done}}/{{batchCKProgress.total}}
✓ {{batchCKProgress.ok}}
✗ {{batchCKProgress.failed}}
状态 {{batchCKProgress.status||'running'}}
已完成
失败分布:
{{errBucketLabel(bucket)}} {{cnt}}
🕸 整批 Web 注册(server_web):
{{serverWebRegisterBatch.done}}/{{serverWebRegisterBatch.total}}
✓ {{serverWebRegisterBatch.ok}}
✗ {{serverWebRegisterBatch.failed}}
状态 {{serverWebRegisterBatch.status||'running'}}
提交中
停止中
已完成
{{serverWebRegisterBatch.last_error}}({{serverWebRegisterBatch.poll_errors}}/5)
失败分布:
{{errBucketLabel(bucket)}} {{cnt}}
🫀 续命状态
keepalive_worker 给有 CK 的活跃号每 150s 续一次 acw_tc
每 30s 自动刷新
shard {{s}}
● 运行中
○ 无数据
本轮 {{keepaliveStats[s]?.batch_picked||0}}
✅ {{keepaliveStats[s]?.ok_count||0}}
❌ {{keepaliveStats[s]?.fail_count||0}}
⚠ 翻过期 {{keepaliveStats[s]?.expired_count||0}}
p95 {{keepaliveStats[s]?.p95_latency_ms||0}}ms · {{keepaliveStats[s]?.last_round_dur_s||0}}s/轮
🔄 重登中枢
详细日志 → 执行日志 → 重登
自动重登
● 已开启
○ 未开启
🔄 执行中 {{autoReloginStats.batch_done}}/{{autoReloginStats.batch_total}}
Web 批重登
总号数 {{autoReloginStats.total_carriers}}
过期 {{autoReloginStats.expired_count}}
发码上限 {{autoReloginStats.daily_limit_count}}
接码失效/超时 {{autoReloginStats.sms_blocked_count || 0}}
无代理 {{autoReloginStats.no_proxy_count}}
可重登 {{autoReloginStats.eligible_count}}
今日成功 {{autoReloginStats.today_success}}
今日失败 {{autoReloginStats.today_failed}}
📱 iOS 重登
🔴 进行中
✅ 已完成
空闲
并发 {{reloginProgress.concurrency||0}}
{{reloginProgress.done||0}}/{{reloginProgress.total||0}}
|✅ {{reloginProgress.success||0}}
|⚠ {{reloginProgress.missing_sms||0}}
|❌ {{reloginProgress.failed||0}}
{{reason}} {{cnt}}、
无运行中批次
🕸 Web 重登 (手机号登·提 CK)
🔴 进行中
✅ 已完成
空闲
{{webReloginProgress.done||0}}/{{webReloginProgress.total||0}}
|✓ {{webReloginProgress.ok||0}}
|✗ {{webReloginProgress.failed||0}}
无运行中批次
🔄 整批 Web 重登(server_web):
{{serverWebReloginBatch.done}}/{{serverWebReloginBatch.total}}
✓ {{serverWebReloginBatch.ok}}
✗ {{serverWebReloginBatch.failed}}
状态 {{serverWebReloginBatch.status||'running'}}
提交中
停止中
已完成
{{serverWebReloginBatch.last_error}}({{serverWebReloginBatch.poll_errors}}/5)
失败分布:
{{errBucketLabel(bucket)}} {{cnt}}
| 状态 | 昵称 | SID | 小红书号 | 平台 | 类型 | 国 | 作品 | 关注 | 粉丝 | 获赞/收藏 | 代理 | 注册 | 登录 | 接码 | 分组 | CK 状态 | 账号资料 | 操作 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{statusLabel(c.status)}} | {{c.nickname || '-'}}🌍限隐 | {{c.red_id || '-'}} | {{c.platform || '-'}} | {{c.account_type || '-'}} | {{c.holder_ctry || '-'}} | {{c.note_count || 0}} | {{c.follows || 0}} | {{c.fans || 0}} | {{c.interaction_total || 0}} | {{formatCarrierTime(c.register_time)}} | {{formatCarrierTime(c.protocol_login_time)}} | {{c.group_name || 'default'}} |
首页·已提取
首页·已过期
首页·失败
首页·未提取
创作者·已提取
创作者·未提取
创作者·未提取
|
{{carrierCertificationHasAny(c)?'✅':'-'}} 查询失败 未查询 |
暂无载体号
已选 {{selectedCarriers.length}} 项
批量导入载体号
默认选择当前停留的载体号分组;如需新分组,请先在分组栏点击“+”创建。
{{importCsvFileName || '未选择文件'}}
支持 SID/设备ID/GID/DID/代理 等列
载体号详情 / 编辑
🔎 获取信息资料快照 / 认证状态
资料更新:{{formatCarrierTime(carrierDetailForm.info_refreshed_at)}}
已查询
查询失败
未查询
作品 {{carrierDetailForm.note_count||0}}
获赞 {{carrierDetailForm.liked||0}}
被收藏 {{carrierDetailForm.collected||0}}
获赞与收藏 {{carrierDetailForm.interaction_total||0}}
点赞笔记 {{carrierDetailForm.liked_notes_num||0}}
收藏笔记 {{carrierDetailForm.collected_notes_num||0}}
微信:{{carrierDetailForm.wechat_bound?'✅':'-'}}({{carrierDetailForm.wechat_display}})
账号安全手机:{{carrierDetailForm.account_security_phone||'-'}}
已设置密码:{{carrierDetailForm.password_exists?'✅':'-'}}
可解绑手机号:{{carrierDetailForm.can_unbind_phone?'✅':'-'}}
实名:{{carrierDetailForm.real_name_verified?'✅':'-'}}({{carrierDetailForm.real_name_desc}})
官方/企业认证:{{carrierDetailForm.official_verified?'✅':'-'}}({{carrierDetailForm.official_desc}})
专业号:{{carrierDetailForm.professional_upgraded?'✅':'-'}}({{carrierDetailForm.professional_name}})
安全资料时间:{{formatCarrierTime(carrierDetailForm.security_fetched_at)}}
🔔 系统消息 / 海外限制
🌍 {{carrierOverseasStatusText(carrierDetailForm)}}
已解除/已失效
未发现海外限制
更新:{{formatCarrierTime(carrierDetailForm.system_notifications_updated_at)}}
消息 {{carrierSystemMessageCount(carrierDetailForm)}} 条
标题:{{carrierDetailForm.system_notification_overseas_title}}
内容:{{carrierDetailForm.system_notification_overseas_content}}
process_id:{{carrierDetailForm.system_notification_overseas_process_id}}
最近处理:{{carrierDetailForm.system_notification_last_error}}
上次获取失败:{{carrierDetailForm.system_notification_last_error}}
暂无系统消息快照,勾选账号后点击“获取系统消息”即可保存。
🕸 Web CK 状态
已提取
已过期
扫码失败
未提取
更新于 {{carrierDetailForm.web_ck_updated_at}}
web_session:
id_token:
cookie 总数:{{Object.keys(parseCarrierCK(carrierDetailForm.web_ck_json)||{}).length}}
{{(parseCarrierCK(carrierDetailForm.web_ck_json).web_session || '').slice(0,24)}}{{(parseCarrierCK(carrierDetailForm.web_ck_json).web_session||'').length>24?'...':''}}
id_token:
{{(parseCarrierCK(carrierDetailForm.web_ck_json).id_token || '').slice(0,28)}}{{(parseCarrierCK(carrierDetailForm.web_ck_json).id_token||'').length>28?'...':''}}
cookie 总数:{{Object.keys(parseCarrierCK(carrierDetailForm.web_ck_json)||{}).length}}
暂无 Cookie 数据
{{formatCKJson(carrierDetailForm.web_ck_json)}}
商城订单
{{shopOrderStats.total}}
总订单
{{shopOrderStats.unpaid}}
待付款
{{shopOrderStats.confirmed}}
已确认
¥{{(shopOrderStats.revenue||0).toFixed(0)}}
收入
自动接单
{{shopOpsSummary.botText}}
每批 {{siteSettings.order_bot_batch_targets_max||0}} UID
待跑订单
{{shopOpsSummary.pending}}
排队/处理中合计
正在跑
{{shopOpsSummary.running}}
当前列表内 {{shopOpsSummary.listRunning}} 单
成功速度
{{liveMetrics.per_min_rate||0}}/s
近1分钟成功 {{liveMetrics.per_min_ok||0}}
后端并发
{{liveMetrics.inflight||0}}
上限 {{siteSettings.backend_concurrency_limit||20000}}
当前瓶颈
{{shopOpsSummary.bottleneck}}
{{shopOpsSummary.bottleneckSub}}
| 订单号/批次 | 客户 | 类型 | 小红书号 | 数量 | 金额 | 支付 | 任务 | 进度 | 操作 | |
|---|---|---|---|---|---|---|---|---|---|---|
| {{shopBatchOpen[g.key]?'▼':'▶'}} | {{g.batch_no}}({{g.items.length}} 单) | {{g.items[0].customer_name||'#'+g.items[0].user_id}} | {{typeLabel(g.items[0].service_type)}} | 共 {{g.items.length}} 目标 | {{g.total_quantity}} | ¥{{g.total_price.toFixed(2)}} | - | - | 合计 {{g.total_verified}}/{{g.total_target}} | - |
| {{o.order_no}} | {{o.customer_name||'#'+o.user_id}} | {{typeLabel(o.service_type)}} | {{o.quantity}} | ¥{{o.total_price}} | {{o.payment_status}} | {{statusLabel(o.task_status)}} |
{{orderStage(o).text}}
执行
{{orderApiOk(o)}}/{{orderRequestGoal(o)}}
交付
{{orderDeliveryNow(o)}}/{{orderDeliveryTarget(o)}}
初始 {{o.task_baseline_count||0}}
当前 {{o.task_final_count||o.task_baseline_count||0}}
目标 {{orderDeliveryTarget(o)}}
轮 {{o.task_retry_round||0}}/{{siteSettings.order_bot_max_retry_rounds||3}}
自动重试 {{orderAutoRetryCount(o)}} 次
号池不足
⏳ {{orderPendingRefund(o).remainHours}} 小时后自动退款 ¥{{orderPendingRefund(o).amount.toFixed(2)}}
❌ 已退款
|
暂无订单
客户管理
| ID | 用户名 | 邮箱 | 等级 | 余额 | 状态 | 注册时间 | 操作 | |
|---|---|---|---|---|---|---|---|---|
| {{u.id}} | {{u.username}} | {{u.email}} | {{u.qq}} | {{userLevelLabel(u.level)}} | ¥{{(u.balance||0).toFixed(2)}} | {{u.status}} | {{u.created_at}} |
暂无客户
站点设置
品牌与公告
下单须知
{{p.name || `商品 #${i+1}`}}
库存: {{productStockLabel(p)}}
号池: {{p.group}}
{{typeLabel(p.type)}}
定价配置({{priceFieldLabel(p.type)}})
评论子类型共用评论单价
付款方式开关
支付网关配置(易支付)
链上USDT自动确认
签名后端热切换
国内IP评论
商城勾选“国内IP”后,将只从这个分组里选号;未配置时不允许下单。
推广管理
| 用户 | 邀请码 | 邀请人数 | 佣金比例 | 累计佣金 | 操作 |
|---|---|---|---|---|---|
| {{p.username}} | {{p.invite_code}} | {{p.referral_count}} | {{(p.commission_rate*100).toFixed(0)}}% | ¥{{(p.total_commission||0).toFixed(2)}} |
暂无推广数据
代理池
总代理
{{(proxyStats.total||0).toLocaleString()}}
活跃代理
{{(proxyStats.active||0).toLocaleString()}}
超时/9999ms
{{(proxyStats.timeout||0).toLocaleString()}}
失效代理
{{(proxyStats.dead||0).toLocaleString()}}
未检测
{{(proxyStats.unchecked||0).toLocaleString()}}
状态明细:
{{s.status}}={{Number(s.count||0).toLocaleString()}}
导入代理
| ID | 地址 | 状态 | 检测时间 | 操作 |
|---|---|---|---|---|
| {{p.id}} | {{p.status}} | {{p.checked_at||'-'}} |
暂无代理
有效涨粉设备包池
{{effectiveUuidPool.raw_package_count_exact === false ? '设备包文件' : '设备包总数'}}
{{(effectiveUuidPool.raw_package_count_exact === false ? (effectiveUuidPool.raw_package_file_count||0) : (effectiveUuidPool.total_count||effectiveUuidPool.display_total_count||0)).toLocaleString()}}
{{effectiveUuidPool.raw_package_count_exact === false ? '轻量统计:不解析每条设备包' : '完整设备包直接参与链路'}} · {{effectiveUuidPool.raw_package_file_count||0}} 个文件
{{effectiveUuidPool.raw_package_count_exact === false ? '是否有可用文件' : '当前可用'}}
{{effectiveUuidPool.raw_package_count_exact === false ? ((effectiveUuidPool.active_count||0) > 0 ? '有' : '无') : (effectiveUuidPool.active_count||0).toLocaleString()}}
{{effectiveUuidPool.raw_package_count_exact === false ? '按非空设备包文件判断' : '未剔除且未用满'}}
已剔除
{{(effectiveUuidPool.dead_count||0).toLocaleString()}}
池内失效
{{(effectiveUuidPool.pool_dead_count||0).toLocaleString()}}
已用满 / 上限
{{(effectiveUuidPool.usage_exhausted_count||0).toLocaleString()}} / {{effectiveUuidPool.reuse_limit||20}}
补充设备包
当前生产任务:{{effectiveDeviceProduceJobId}}
最近剔除记录
| 设备包ID | 设备包指纹 | 时间 | 原因 |
|---|---|---|---|
| {{d.key}} | {{d.hash}} | {{formatTime(d.ts)}} |
暂无剔除记录
当前可用设备包样本
{{u.key}} / 指纹 {{u.hash}} / 已用 {{u.used_count||0}} / 剩余 {{u.remaining_uses||0}}
当前没有未剔除且未用满的设备包;生产出的完整设备包会直接参与链路。
设备包目录:{{effectiveUuidPool.raw_package_dir||'-'}}
剔除记录文件:{{effectiveUuidPool.dead_file||'-'}}
使用记录文件:{{effectiveUuidPool.usage_file||'-'}}
剔除记录文件:{{effectiveUuidPool.dead_file||'-'}}
使用记录文件:{{effectiveUuidPool.usage_file||'-'}}
批量注册
📊 今日注册成功
{{regStatsToday.date||'-'}}
🕸
Web
{{regStatsToday.web_today}}
📱
iOS
{{regStatsToday.ios_today}}
每 30s 自动刷新
📋 注册进度
🔴 进行中
已停止
{{regStatus.progress}}/{{regStatus.total}}
({{regStatus.total?Math.round(regStatus.progress/regStatus.total*100):0}}%)
速度: {{regStatus.start_time>0 && regStatus.success_count>0 ? (regStatus.success_count / Math.max(1, (Date.now()/1000 - regStatus.start_time)) * 60).toFixed(1) : '-'}}/分
✅ 成功 {{regStatus.success_count}} |
❌ 失败 {{regStatus.failed}} |
🔄 进行中 {{registerInProgressCount()}}
失败说明:{{registerFailureBreakdownText()}}
阶段:{{registerStageText()}}
注册配置 {{regCfgMsg}}
+
Tiger SMS:默认 CA / qf / 固定供应商 14。点击“开始全部”后先取号,再自动分配全局 active 代理并启动 iOS 注册。
SmsCode.gg:默认 RedBook / Canada,先加载商品,系统自动带出下单需要的 product_id。
{{selectedSmsCodeProductText()}}
{{regSmsCode.product_error}}
注册任务表
任务 {{regPhoneCount}} · 已勾 {{regSelectedCount}} · 已分配代理 {{regProxyCount}}
| 序号 | 手机号 | 接码链接 | 代理 | 验证码 | 状态/结果 | SID / 账号信息 | 操作 | |
|---|---|---|---|---|---|---|---|---|
| 暂无注册任务,点击“粘贴添加”导入手机号 | ||||||||
| {{idx + 1}} | {{formatRegisterStatusCell(r.status)}} | |||||||
成功账号 ({{regStatus.success_count||0}} / {{regStatus.total||0}}) 暂无数据
| # | 手机号 | 昵称 | 状态 | 时间 |
|---|---|---|---|---|
| {{a.index}} | {{a.phone}} | {{a.nickname || '-'}} | {{a.status==='success'?'✅':'❌'}} | {{(a.register_time||'').substring(11)}} |
批次 CSV ({{regCsvFiles.length}} 批)
| 文件名 | 数量 | 大小 | 操作 |
|---|---|---|---|
| {{f.name}} | {{f.count}} | {{f.size>1048576 ? (f.size/1048576).toFixed(1)+'MB' : (f.size/1024).toFixed(0)+'KB'}} |
暂无 CSV 批次文件
实时日志 ({{regStatus.logs.length||0}})
{{formatRegisterLogs(regStatus.logs)}}
暂无日志
服务器监控
业务统计
{{srvStats.total_users}}
注册机用户数
{{srvStats.online_devices}}
在线设备
{{srvStats.today_requests}}
今日请求
{{srvStats.total_requests}}
累计请求
🎯 自适应节流 每 5 秒自动调整
{{throttleState.enabled ? '✅ 开启' : '⏸ 关闭'}}
状态
{{(throttleState.target_ratio*100).toFixed(0)}}%
目标 CPU
{{(throttleState.cpu_ratio*100).toFixed(1)}}%
实际 CPU
load {{throttleState.load_1m.toFixed(2)}} / {{throttleState.cpu_cores}} 核
{{throttleState.current_cap}}
当前并发上限
{{throttleState.last_action || '-'}}
上次动作
服务器资源
{{srvStatus.load_1m.toFixed(2)}}
CPU 负载 1m
{{srvStatus.cpu_cores}} 核 · {{srvStatus.load_5m.toFixed(2)}}/{{srvStatus.load_15m.toFixed(2)}}
{{srvStatus.mem_pct.toFixed(1)}}%
内存使用
{{srvStatus.mem_used_gb.toFixed(1)}} / {{srvStatus.mem_total_gb.toFixed(1)}} GB
{{srvStatus.connections_6003}}
活跃连接
端口 6003
{{srvStatus.qps_1min}}
QPS
最近 1 分钟
{{srvStatus.avg_response_ms}}
平均耗时 ms
最近 1 分钟
{{srvStatus.uptime_days.toFixed(1)}}
运行天数
🔐 签名模式 当前: {{signMode.description || '-'}}
📌
硬编码
固定签名值,零 CPU
⚡
动态签名
调用 Unidbg 实时签名
🛡️
智能兜底
动态优先,失败用硬编码
🖥️ VPS 服务运行状态
{{s.icon || (s.online?'✅':'❌')}}
{{s.name}} :{{s.port}}
{{s.info}}
● 在线 · {{s.latency_ms}}ms
● 离线
🕸 指纹库
TJ 本地 fp_gen 攒的指纹池,提 CK / Web 注册 / Web 重登各消耗 1 张
🔴 指纹池告急(< 100 张)
🟡 指纹池不够覆盖剩余 {{fpPool.remaining_to_extract}} 号
🟢 指纹池充足(可覆盖剩余 {{fpPool.remaining_to_extract}} 号)
当前 idle = {{fpPool.idle}} 张,剩余未提 = {{fpPool.remaining_to_extract}} 号
{{fpPool.idle !== null ? fpPool.idle : '--'}}
可用指纹(server_web)
{{fpPool.ck_active || 0}}
已提 CK 号数({{fpPool.coverage_pct || 0}}%)
{{fpPool.remaining_to_extract || 0}}
还没提 CK 的活号
{{fpPool.ck_failed || 0}}
提 CK 失败号数
📈 消耗速率
今日已提
{{fpPool.today_used || 0}}
张指纹(= 今日 web_ck_status=active 的号)
近 1 小时
{{fpPool.last_hour_used || 0}}
张/小时 · 当前消耗速率
按当前速率,剩余指纹还够跑
{{Math.round((fpPool.idle || 0) / Math.max(1, fpPool.rate_per_hour) * 10) / 10}}
小时
🧮 容量参考
├─ 提 CK 11,233 号全量 → 需指纹 11,233 张(每号 1 张)
├─ 当前剩余活号未提 = {{fpPool.remaining_to_extract || 0}} 张
├─ 指纹池现有 = {{fpPool.idle !== null ? fpPool.idle : '--'}} 张
├─ 缺口 = {{Math.max(0, (fpPool.remaining_to_extract||0) - (fpPool.idle||0))}} 张(>0 就要等 TJ 补)
└─ Web 注册 / 重登 每次也各消耗 1 张
├─ 当前剩余活号未提 = {{fpPool.remaining_to_extract || 0}} 张
├─ 指纹池现有 = {{fpPool.idle !== null ? fpPool.idle : '--'}} 张
├─ 缺口 = {{Math.max(0, (fpPool.remaining_to_extract||0) - (fpPool.idle||0))}} 张(>0 就要等 TJ 补)
└─ Web 注册 / 重登 每次也各消耗 1 张
⚙ sign_factory 状态
模式:{{fpPool.sign_factory.mode || 'unknown'}}
worker 数:{{fpPool.sign_factory.profiles || 0}}
健康:{{fpPool.sign_factory.healthy || 0}}
✓ 纯算模式,业务签名不吃指纹
养号管理
养号配置
{{nurtureConcurrencyHint}}
:00
运行状态
{{nurtureStatusLabel}}
当前状态
{{nurtureStatus.account_count || 0}}
账号数
{{nurtureStatus.success_count || 0}}
成功
{{nurtureStatus.failed_count || 0}}
失败
{{nurtureElapsedStr}}
耗时
上次执行: {{nurtureStatus.last_run_time}}
尚未执行过
Task ID: {{nurtureStatus.task_id}}
错误: {{nurtureStatus.last_error}}
失败分布:
{{errBucketLabel(bucket)}} {{cnt}}
最近执行日志 {{nurtureStatus.logs.length}} 行
{{nurtureStatus.logs.join('\n')}}
🚀 批量投放
投放模式
执行策略
{{ campaignStrategyText() }}
|
目标列表: {{ campaignDisplayRows.length }} 个
已选: {{ campaignDisplaySelectedCount }}
预计补粉: {{ campaignTotalNeed }}
刷粉任务列表(目标用户):
{{ campaignDisplayCountText }}
{{ campaignGroupSummaryText }}
{{ campaignCurrentTaskText }}
补打会新开一批,并按当前粉丝数重新算缺口。
| 分组 | UID | 小红书号 | 目标粉丝数 | 基线粉丝数 | 当前粉丝数 | 补打轮次 | 成功/失败/吞粉 | 状态 | |
|---|---|---|---|---|---|---|---|---|---|
| 暂无目标 | |||||||||
|
|
{{ t.sourceText }} | {{ t.targetFansText }} | {{ t.baselineText }} | {{ t.currentText }} | {{ t.roundsText }} | {{ t.apiOk }} / {{ t.apiFail }} / {{ t.apiSwallowed }} | {{ t.statusText }} | ||
执行任务记录
共 {{ campaignHistoryGroups.length }} 组
加载中...
| 选择/展开 | 分组 | UID | 小红书号 | 目标粉丝数 | 基线粉丝数 | 当前粉丝数 | 补打轮次 | 成功/失败/吞粉 | 状态 |
|---|---|---|---|---|---|---|---|---|---|
| {{ campaignHistoryBusy ? '正在加载执行记录...' : '暂无执行记录' }} | |||||||||
|
|
{{ campaignHistoryGroupTitle(g) }} | {{ g.count }} 个目标 · 已完成 {{ g.completedCount || 0 }}/{{ g.count }} | {{ campaignRecordTargetsText(g.campaign) }} | - | 涨粉 {{ (g.campaign && ((g.campaign.totals && g.campaign.totals.gained) || g.campaign.gained)) || 0 }} | {{ campaignRecordDuration(g.campaign) }} | {{ g.api.ok }} / {{ g.api.fail }} / {{ g.api.swallowed }} | {{ campaignRecordStatusText(g.campaign) }} | |
| {{ t.sourceText }} | {{ t.targetFansText }} | {{ t.baselineText }} | {{ t.currentText }} | {{ t.roundsText }} | {{ t.apiOk }} / {{ t.apiFail }} / {{ t.apiSwallowed }} | {{ t.statusText }} | |||
载体关注策略
从所选载体号分组导入,每个载体号累计关注多个目标;目标由独立目标库统一加载。
选择载体号分组(可多选)
暂无载体分组
所选分组号池状态(账号状态,不是任务完成进度)
总数 {{ carrierFollowSelectedPoolStats.total || 0 }}
活跃 {{ carrierFollowSelectedPoolStats.active || 0 }}
Web CK 可用 {{ carrierFollowSelectedPoolStats.ck_active || 0 }}
过期 {{ carrierFollowSelectedPoolStats.session_expired || 0 }}
封禁 {{ carrierFollowSelectedPoolStats.banned || 0 }}
风控 {{ carrierFollowSelectedPoolStats.risk_control || 0 }}
300011 {{ carrierFollowSelectedPoolStats.xhs_300011 || 0 }}
代理失效 {{ carrierFollowSelectedPoolStats.proxy_invalid || 0 }}
300014 {{ carrierFollowSelectedPoolStats.device_abnormal_300014 || 0 }}
接码超时 {{ carrierFollowSelectedPoolStats.sms_timeout || 0 }}
接码链接失效 {{ carrierFollowSelectedPoolStats.sms_url_invalid || 0 }}
停用 {{ carrierFollowSelectedPoolStats.disabled || 0 }}
{{ carrierFollowSelectedPoolStats.loaded ? '刷新中...' : '统计加载中...' }}
{{ carrierFollowSelectedPoolStats.failed_groups }} 个分组统计失败,保留上次数据
已选分组:{{ carrierFollowSelectedGroupsText }}
分组账面载体:{{ carrierFollowEstimatedCount }}
执行规则:当前算法 {{ siteSettings.follow_algorithm === 'web' ? '强制 Web' : (siteSettings.follow_algorithm === 'ios' ? '强制 iOS' : '自动选择') }};单号每轮打够“剩余差额 + {{ carrierFollowBuffer }} 个缓冲 OK”后立即验收,不等整批收口;最多 3 轮。当前关注冷却 {{ carrierFollowCooldownSec }} 秒,验收并发 {{ carrierProfileConcurrency }}。
下次点击开始时:算法 {{ carrierFollowLaunchPreview.algorithm === 'web' ? '强制 Web' : (carrierFollowLaunchPreview.algorithm === 'ios' ? '强制 iOS' : '自动选择') }};选中分组未完成 {{ carrierFollowLaunchPreview.unfinished_total || 0 }} 个,本次处理 {{ carrierFollowLaunchPreview.launch_scope || 0 }} 个
(其中 {{ carrierFollowLaunchPreview.proxy_repair_pending }} 个会先自动更换失效代理)。
暂不执行 {{ carrierFollowLaunchPreview.filtered_total }} 个:{{ carrierFollowFilteredText }}。
当前载体任务
#{{ carrierFollowCampaign.id }}
{{ carrierFollowPhaseText(carrierFollowCampaign) }}
尚未启动任务
所选分组全部 {{ carrierFollowTaskRowsTotal }} 个号 · 每页 {{ carrierFollowGroupRowsSize }} 条 · 未完成优先
正在自动更换失效代理:{{ carrierFollowCampaign.carrier_proxy_repair_done || 0 }} / {{ carrierFollowCampaign.carrier_proxy_repair_total || 0 }},已恢复 {{ carrierFollowCampaign.carrier_proxy_repair_success || 0 }},暂无可用代理 {{ carrierFollowCampaign.carrier_proxy_repair_failed || 0 }}
{{ carrierFollowPhaseText(carrierFollowCampaign) }}
查询进度 {{ carrierFollowPrecheckDone }} / {{ carrierFollowPrecheckTotal }}
查询成功 {{ carrierFollowPrecheckVerified }}
查询失败 {{ carrierFollowPrecheckFailed }}
待查询 {{ carrierFollowPrecheckPending }}
当前阶段:{{ carrierFollowPhaseText(carrierFollowCampaign) }}
当前未运行载体关注任务;下表仍展示所选分组的永久交付状态。
| 任务状态 | 昵称 | REDID | 分组 | 真实关注数 | 交付进度 | 轮次 | 剩余 | 说明 |
|---|---|---|---|---|---|---|---|---|
| {{ carrierFollowGroupRowsBusy ? '正在加载所选分组全部载体…' : '所选分组暂无载体' }} | ||||||||
| {{ carrierFollowTaskRowStatusText(row) }} | {{ row.profile_query_follows !== null && row.profile_query_follows !== undefined ? row.profile_query_follows : (row.current_follows !== null && row.current_follows !== undefined ? row.current_follows : '-') }} | {{ carrierFollowDeliveryText(row) }} | {{ carrierFollowRoundText(row) }} | {{ row.remaining !== null && row.remaining !== undefined ? row.remaining : '-' }} | ||||
共 {{ carrierFollowTaskRowsTotal }} 个载体 · 第 {{ carrierFollowGroupRowsPage }} / {{ carrierFollowGroupRowsPages }} 页 · 本页 {{ carrierFollowTaskRows.length }} 条
载体关注目标库
启用 {{ carrierFollowActiveTargetCount }} / 共 {{ carrierFollowTargets.length }}
| 状态 | 目标 | UID | 小红书号 | 昵称 | 操作 |
|---|---|---|---|---|---|
| 暂无目标,请粘贴 UID / REDID / 主页链接导入 | |||||
| {{ carrierFollowTargetEnabled(t) ? 'active' : 'disabled' }} | |||||
当前选中分组交付进度
{{ carrierFollowSelectedGroupsText }} · 仅按资料接口验收的真实关注数达到 {{ carrierFollowSuccessGoal }} 统计
{{ carrierFollowSummary.carrierTotal }}
当前选组总载体号数
{{ carrierFollowSummary.achievedCarriers }}
已完成
{{ carrierFollowSummary.unfinishedCarriers }}
未完成
“开始载体关注”会先按设置值打够 OK 再验收;“先查后补未完成”会先查询真实关注数,已满直接跳过,只对未满账号补差。实际执行范围仅含当前选组中活跃且代理可用的载体。两种方式补打后都会重新验收,最多 3 轮,并永久更新账号详情与 CSV 的关注数。