本地部署完整教程
十几分钟搞定。daemon 跑在你自己的 VPS 上,你拥有完全控制权,API key 永远不离开你的服务器。
① 准备工作
1.1 VPS
| 项 | 要求 | 推荐 |
|---|---|---|
| 系统 | Linux + systemd + bash | Ubuntu 22.04 / Debian 12 |
| 架构 | amd64 或 arm64 | — |
| CPU | 1 vCPU 够 | 2 vCPU 更稳 |
| RAM | 512 MB 起 | 1 GB 以上 |
| 磁盘 | 5 GB | 20 GB+ |
| 网络 | 稳定,到 Gate.io 延迟低 | 新加坡 / 东京 / 香港机房 |
1.2 Gate.io API Key
登录 Gate.io → 用户头像 → API 管理 → 创建 API → 设置:
- ✅ 勾选
永续合约 - 读 + 写 - ❌ 不要勾「钱包 / 充值提现」(daemon 不需要,也降低风险)
- ✅ 强烈建议:「IP 白名单」填你 VPS 的公网 IP — 即使 key 泄露也只能从你 VPS 发请求
记下 API Key + API Secret。Secret 只显示一次,丢了得重新创建。
1.3 激活码
从芊羽那里拿到一个 GABOT-L-XXXX-XXXX-XXXX-XXXX 形式的码,准备好。
② 安装
SSH 登录你的 VPS(用 root 或有 sudo 权限的用户),执行:
curl -fsSL https://gabot.qianyubtc.com/install.sh | bash -s -- --code=GABOT-L-XXXX-XXXX-XXXX-XXXX
把 GABOT-L-XXXX-... 替换为芊羽给你的激活码。
脚本会做:
- 检测系统(要求 Linux + systemd)
- 下载 daemon 二进制并 SHA-256 校验
- 创建数据目录
~/.gabot/(0700 权限) - 问你三个问题:
- Activation code:如果命令行已传
--code=就不再问 - Gate API key:粘贴 1.2 拿到的 key
- Gate API secret:粘贴 secret(输入时不显示,正常现象)
- Activation code:如果命令行已传
- 写入配置文件
~/.gabot/config.yaml(0600 权限) - 安装 systemd user service 并启动
- 启用
loginctl enable-linger,保证你 SSH 断开后 daemon 继续运行 - 打印一段 Frontend connect token — 这是浏览器面板连接 daemon 的密码,务必复制保存
Frontend connect token: a21c5bdefd082d5a8a729354b54bd28f9...这就是后面浏览器连 daemon 用的 WS Token。复制到安全的地方(密码管理器 / 备忘录)。
③ 浏览器连上 daemon
打开 gabot.qianyubtc.com → 默认就在「本地模式」标签上。填两栏:
| 字段 | 填什么 |
|---|---|
| daemon URL | ws://你VPS的IP:8080/ws例: ws://43.163.122.103:8080/ws |
| 认证 Token | 安装时打印的那段 hex(步骤 ② 最后) |
点「连接」。成功后会跳到 dashboard,看到:
- 起始余额:daemon 第一次启动时记录的 USDT 余额
- 当前权益 / 已实现 PnL / 浮动 PnL:每 5 分钟刷新
- 币种状态:BTC_USDT 多腿状态、ETH_USDT 空腿状态,TP/SL 价格、入场价等
- 最近交易:每次平仓的记录(入场/出场/净利/原因)
- 日志:系统消息和事件流
- 紧急平仓全部:右上角红色按钮,市价平掉所有仓位(不可逆,慎用)
④ 日常运维
下面命令都在 VPS 的 SSH 终端里跑(不是浏览器)。
4.1 查看 daemon 状态
systemctl --user status gabotd
看到 Active: active (running) 就是正常的。
4.2 实时日志
# 方式 A:journald(推荐)
journalctl --user -u gabotd -f
# 方式 B:直接看日志文件
tail -f ~/.gabot/gabotd.log
4.3 重启 / 停止
systemctl --user restart gabotd # 重启
systemctl --user stop gabotd # 停止(仓位保留在 Gate 上)
systemctl --user start gabotd # 重新启动
4.4 升级到新版本
# 重新跑一遍 install.sh,会问你是否覆盖现有 config(选 N,保留你的 Gate key)
curl -fsSL https://gabot.qianyubtc.com/install.sh | bash -s -- --code=<你的码>
脚本会下载新版本 binary,覆盖旧的,重启服务。配置和数据都保留。
4.5 卸载
systemctl --user stop gabotd
systemctl --user disable gabotd
loginctl disable-linger $USER
rm -rf ~/.gabot ~/.local/bin/gabotd ~/.config/systemd/user/gabotd.service
systemctl --user daemon-reload
⑤ 常见问题
Q1:installer 报 "SHA-256 mismatch"
下载文件损坏或被中间人篡改。删除 ~/.local/bin/gabotd 重试。多次失败请联系芊羽。
Q2:daemon 启动后立刻退出,日志显示 "INVALID_KEY"
Gate API key 填错。SSH 上 VPS 编辑 ~/.gabot/config.yaml 修正 api_key / api_secret 两行,然后 systemctl --user restart gabotd。
Q3:日志显示 "account has open positions"
daemon 要求接管时账户必须没有任何 BTC_USDT / ETH_USDT 仓位(安全设计,否则 daemon 无法重建你的下单意图)。先在 Gate 网页平掉所有相关仓位,再重启 daemon。
Q4:浏览器连接报 "WS error" 或 "connection refused"
- VPS 防火墙是否开放了 8080 端口?
sudo ufw allow 8080/tcp或在云厂商安全组里加 8080 - 填的 daemon URL 是不是用了
ws://(不是wss://)?默认 daemon 不开 TLS - WS Token 是否正确?大小写敏感,安装时的那段 hex
Q5:日志里看到 "license invalid" 或 "license heartbeat fail"
激活码过期 / 被吊销 / 网络问题。3 次连续失败后 daemon 进入「license-hold」状态,不开新仓但已有仓位 TP/SL 正常生效。联系芊羽确认状态。
Q6:daemon 已经在跑,但浏览器一直显示 "连接中…"
检查浏览器 console(F12)。如果是混合内容警告(你访问 https 但填了 ws),换 Chrome 无痕模式或允许该网页加载不安全 WS。生产环境推荐用 Caddy / nginx 给 daemon 加上 wss。
Q7:换了一台 VPS 想继续用同一个码
激活码绑定到第一台 VPS 的 machine-id。换机器需要联系芊羽在管理后台「解绑机器」,然后到新 VPS 上重跑 install.sh,会重新绑定。
⑥ 高级
6.1 配置文件位置
~/.gabot/config.yaml(0600,仅你自己能读)。里面包含 Gate API key、激活码、策略参数。结构示例:
gate:
api_key: "你的 key"
api_secret: "你的 secret"
strategy:
enabled: true # 设 false 可让 daemon 只跑监控不交易
leverage: 10
notional_per_position: 100 # 每仓 100u 名义本金
coins:
BTC_USDT:
enabled: true
initial_direction: long
ETH_USDT:
enabled: true
initial_direction: short
license:
code: "GABOT-L-..."
api_url: "https://gabotapi.qianyubtc.com"
daemon:
ws_port: 8080
ws_auth_token: "..."
6.2 只看不交易模式
编辑 config,把 strategy.enabled 改为 false,重启 daemon。daemon 仍然连 Gate WS、跑心跳、推状态给前端,但不会开/平仓。适合验证设置或观察一段时间。
6.3 数据文件
| 文件 | 内容 |
|---|---|
~/.gabot/config.yaml | 配置(含 Gate key,0600) |
~/.gabot/state.json | FSM 状态、当前仓位、最后心跳 |
~/.gabot/trades.jsonl | 所有完成的交易记录(仅追加) |
~/.gabot/snapshots.jsonl | 每 5 分钟的 PnL 快照 |
~/.gabot/gabotd.log | 所有日志 |
6.4 备份策略
建议定期备份整个 ~/.gabot/ 目录(含 config + 交易历史)到另一台机器或对象存储。简单做法:
# 在你 mac 上定期跑
rsync -az ubuntu@VPS:~/.gabot/ ~/Backups/gabot-$(date +%Y%m%d)/
6.5 安全建议
- VPS 用 SSH 密钥登录,禁用密码登录
- 关闭不需要的端口;8080 只对你浏览器所在网络开放(防火墙规则)
- Gate API key 绑 IP 白名单(重申)
- 定期
apt update && apt upgrade - WS Token 不要泄露——任何拿到它的人都能看你的实时仓位和按"紧急平仓"
问题反馈:联系芊羽 | 返回控制面板