⚙️ 卖家后台

请输入后台管理密码

🔑
密码在哪里?
项目根目录 .env 里的 ADMIN_PASSWORD。
忘了或想改成好记的,执行:
node scripts/set-password.js 你的新密码
🛡️
连续输错 8 次会锁定 5 分钟(防止别人暴力猜密码)。锁定期间正确密码也无法登录,请耐心等待倒计时结束。
⚙️
卖家后台TF2 钥匙自动提货系统
检测中 提货页 ↗

📊 数据总览

⏸ 接单开关

🤖 Steam 机器人状态

real 模式需要机器人账号在线且库存有钥匙

切换机器人账号 / 改了密码或令牌后,在这里点「重新登录机器人」:会断开旧账号会话并按新配置重新登录。 修改「Steam 机器人账号」里的账号名并保存设置时也会自动重登。

⚡ 快捷操作

日常最常用的两件事

🔌 阿奇索接入状态

⚙️ 应用凭证

到 open.agiso.com 注册开发者、申请 AppId,即可拿到 AppSecret。把推送地址填到应用后台。

淘宝线必须是 alds。填错(如 acpr)会一直报「未知的URL」。
阿奇索开放平台 → 我的应用 → 推送url 填这个地址
需要 AccessToken 有效。开启后整个链路全自动:买家付款 → 自动发 Steam 报价 → 买家接受 → 自动在淘宝标记已发货。
买家取消订单 / 申请退款怎么处理?
① 若能收到阿奇索的「退款」类推送,系统会自动停用订单,提货页立刻拒绝提取(可点上方「模拟买家退款停用推送」验证这条链路)。
② 若阿奇索侧没开通退款类推送,系统收不到通知 —— 你在千牛看到买家退款后,到下方订单列表点一次「停用提货」即可,立刻生效(撤销退款后点「恢复提货」)。

📨 推送日志

最近 100 条 · 验签失败也会记录在这里
时间类型订单号验签处理结果说明

📮 订单投递箱(零成本自动导入)

把千牛导出的 CSV 丢进下面这个目录,系统会自动解析入库并归档,不用再手动上传。 建议把千牛的「导出目录」直接设成这里,就变成「导出即入库」。

时间文件结果说明

📥 手动导入淘宝订单

支持千牛「订单导出」的 CSV/Excel 文件,也支持直接粘贴订单号。 系统会自动识别「订单编号 / 购买数量 / 买家会员名」等列。

下载模板

📋 订单列表

淘宝订单号买家购买已发剩余 状态绑定 SteamID创建时间操作

📦 发货流水

导出 CSV
提货时间淘宝订单号数量SteamID 发货账号报价号状态备注操作

🧾 操作日志

时间类型订单号IP内容

🚚 发货模式

mock 用于测试,real 才会真实发送 Steam 交易报价

💬 Steam 报价留言

买家在 Steam 交易报价里能看到的文字,会一直留在交易记录里。留空则发送「无留言」的干净报价。

可用占位符:{orderNo} 订单号、{quantity} 数量、{item} 商品名、{site} 站点名。 例如 {orderNo} · {quantity} x {item}

🔐 Steam 机器人账号(多账号轮询发货)

可配置多个发货账号:所有启用的账号同时在线,订单按「库存足够 → 今日用量最少」自动分配, 某个号失败会自动换下一个号发货。
每个号都要是独立小号、开启手机令牌且绑定满 15 天(否则报价会进入 15 天暂挂)。 修改账号或密钥后保存,系统会自动重新登录全部账号。

「每日上限」用于规避 Steam 的报价频率限制:某个账号当天发满上限后自动停用, 由其他账号继续发货,次日 0 点自动恢复(0 表示不限)。

📲 异常推送(Server酱 → 微信)

发货失败、报价被拒、机器人掉线、库存不足时,自动推送到你的微信

到 sct.ftqq.com 微信扫码登录,复制 SendKey 粘贴到这里并保存。
库存 ≤ 阈值时推送提醒,补货充足后自动重置

🔑 商品配置

决定机器人从库存里挑哪件物品发货

TF2 钥匙为 Mann Co. Supply Crate Key。填错会导致发货失败。

🛡️ 提货规则

这些规则决定买家能否提货、能提多少

🔑 修改后台密码

改完立即生效,并同步写入 .env,不用重启服务。 建议改成自己好记的密码,避免每次登录都翻文件。

🏪 站点信息

📊 五种订单接入方式对比

淘宝开放平台对个人店铺不开放订单接口,所以要看下面这几条路

方案自动化成本资质风险
A. 订单投递箱(千牛导出→丢文件夹)半自动免费不需要无
B. 阿奇索推送全自动·秒级按条付费不需要无
C. RPA 同步器(读千牛网页版)全自动·分钟级免费不需要⚠️ 风控
D. 定时脚本推送全自动免费需已有 ERP无
E. 淘宝开放平台全自动免费❌ 需企业资质—
💡
建议:先用 A(投递箱) 跑起来 —— 零成本零风险,只是需要点一下导出。 等单量上来了、要求秒级到货,再考虑 B(阿奇索)。 E 基本可以放弃:不只是申请难,官方还要求数据存聚石塔 RDS、逻辑跑在聚石塔 ECS 上。

📮 A. 订单投递箱(推荐先试)

把千牛导出的 CSV 丢进这个目录就自动入库,不用再打开后台上传

📁
投递箱目录
加载中…
✨
小技巧:把千牛的默认导出目录直接设成上面这个路径, 以后点一次「导出」就自动入库了。
处理完的文件会归档到 done/,失败的在 failed/。 已关闭 / 已退款 / 未付款的订单会自动跳过,退款订单还会自动停用。

🔌 B. 阿奇索自动推送(全自动,按条付费)

阿奇索是淘宝服务商,可以把「买家付款」事件实时推送到本系统。 狸花工坊这类商业机器人就是这么做的。推送按条扣费。

1
注册开发者:到 open.agiso.com 申请 AppId,拿到 AppSecret。推送url 填
2
店铺授权:用你的淘宝账号打开授权页点授权,拿到 AccessToken(在「淘宝订单接入」页可一键生成链接)。
3
阿奇索后台设置:授权管理 → 编辑权限 → 勾选推送消息类型「买家付款」→ 选「只推送设置推送的宝贝」→ 勾选要自动发货的宝贝。 新上架的商品记得也要加进去,否则不会推送。
4
充值:推送按条扣费,余额不足会停止推送。记得定期充值。

🤖 C. RPA 同步器(免费全自动,有风控风险)

用浏览器自动化读千牛网页版的订单列表,定时推送。不需要任何资质。

# 先验证推送链路(不需要浏览器)
node scripts/rpa-sync.js --mock

# 首次登录,手动扫码,登录态会保存
node scripts/rpa-sync.js --login

# 导出订单页 HTML,用于适配选择器
node scripts/rpa-sync.js --dump

# 抓一次 / 常驻轮询
node scripts/rpa-sync.js --once
node scripts/rpa-sync.js --watch
⚠️
用之前必须知道:淘宝有反自动化风控,存在被限流甚至账号风险。 脚本已内置降风险措施(只读不点、低频轮询、随机延迟、复用登录态), 建议用子账号登录。不能接受风险就用 A 或 B。

🔗 D. 定时脚本推送

已有 ERP 或自建工具时用这个

🔑
API Key(放在请求头 x-api-key)
加载中…
POST /api/orders/sync
Content-Type: application/json
x-api-key: <上面的 API Key>

{
  "orders": [
    { "orderNo": "1234567890123456", "quantity": 5, "buyerNick": "买家A" },
    { "orderNo": "1234567890123457", "quantity": 10, "buyerNick": "买家B" }
  ]
}

// 也可以直接推原始 CSV 文本:
{ "text": "订单编号,购买数量\n1234567890123456,5" }

⚠️ 上线前检查清单

1
先用 mock 模式跑通全流程:导入测试订单 → 在提货页提货 → 确认后台能看到记录。
2
准备发货机器人:独立 Steam 小号,开启手机令牌满 15 天,库存备好 TF2 钥匙, 拿到 shared_secret / identity_secret。该账号不能在其他任何地方登录,否则会把机器人挤下线。
3
安装 real 模式依赖:npm i steam-user steamcommunity steam-tradeoffer-manager steam-totp
4
切到 real 模式并小批量试发:先用 1 个订单、1 把钥匙验证,确认报价能正常发出并接受。
5
部署到公网服务器:用 Nginx 加 HTTPS,并务必设置强密码与防火墙,后台不要对公网裸奔。
TF2 钥匙自动提货系统 · 版本 —