# 比特骆驼自动化对冲系统 — 商业化与授权方案（初步）

> **产品名**：比特骆驼自动化对冲系统 · **工程**：`eth_hedge_sim`  
> 状态：草案，指导后续开发，细节可迭代。  
> 商业模式结论：**客户侧部署 + 软件授权**（不做中心化多租户托管）。  
> 关联文档：[开发方案](./开发方案.md)、[代码结构](./代码结构.md)

---

## 1. 目标与边界

### 1.1 卖什么

| 项 | 约定 |
|----|------|
| 产品名 | **比特骆驼自动化对冲系统** |
| 产品形态 | 可独立部署的对冲交易系统（SIM + 可选实盘） |
| 交付方式 | 安装包 / 一键脚本 / Docker（后续择一为主） |
| 收费方式 | **授权（License）**：按实例、按期限、按功能档 |
| 不卖什么 | 不承诺收益；不做代客理财；不集中托管客户 API Key |

### 1.2 为什么不做 SaaS 托管

| 风险 | 说明 |
|------|------|
| 交易所限流 | REST/WS 按 IP、API Key 限流；多客户共机互相挤占 |
| 同 IP 风控 | 一公网 IP 对多交易所、多 Key 高频请求，易触发异常标记 |
| 密钥与责任 | 客户 Key 进你机房，合规与事故责任更重 |
| 运维成本 | 你要为所有客户的行情稳定性买单 |

**原则：一客户一实例一出口 IP（或客户自有网络）。**

### 1.3 产品定位一句话

> **比特骆驼自动化对冲系统**：客户在自己的服务器上部署；API Key 不出客户环境；你提供软件、更新与授权。

---

## 2. 交付与部署

### 2.1 目标交付形态（分阶段）

| 阶段 | 形态 | 说明 |
|------|------|------|
| 现在（内部） | Git + `deploy/manage.sh` + PM2 | 已具备，继续打磨成「可复制安装」 |
| 商用 v1 | **一键部署脚本** + 环境检查 + 健康检查 | 客户 **Ubuntu 22.04** 机器上跑通 |
| 商用 v2 | **Docker Compose**（可选） | 降低环境差异；与脚本二选一或并存 |
| 商用 v3 | 离线包 / 镜像导出 | 内网客户、无法拉 Git 的场景 |

### 2.2 客户侧必备条件

- 一台独立 **Ubuntu 22.04** 主机（建议独立公网 IP）
- **云服务器规格**：见下方「配置选择」；更完整说明见 [开发方案 §6.0](./开发方案.md#60-云服务器配置选择说明)
- 出网访问目标交易所 API（OKX / 币安等）
- 域名或 IP + HTTPS（可用反代）
- 客户自备交易所 API Key（只读行情 / 实盘交易按档位要求）

#### 云服务器配置选择（交付速查）

| 用途 | 建议规格 | 地域 |
|------|----------|------|
| 演示 / SIM | 2 vCPU / 2 GB / 40 GB SSD | 香港或新加坡优先 |
| LIVE 实盘 | 同上起配；网络优先于堆配置 | 对交易所延迟低的海外区 |
| 最低试装 | 1 vCPU / 1 GB（仅短期试跑） | 同上 |

不建议：超售共享低配、无稳定公网、大陆机房直连境外交易所作为默认 LIVE 节点。

### 2.3 部署流程（商用目标体验）

1. 客户拿到安装脚本或镜像 + **授权码**
2. 填写 `.env`（账号、交易所 Key、授权码）
3. 一键安装 → 健康检查通过
4. 浏览器登录 → SIM 可演示；实盘需对应授权档位 + 二次确认

### 2.4 更新策略

- 默认：客户机 `git pull` / 镜像升级 + 构建 + 仅 reload 本项目进程
- 破坏性升级：附带迁移说明（配置项、数据库/状态文件）
- 授权未过期才允许拉取正式版更新（可选；初期可人工发版）

---

## 3. 授权（License）设计

### 3.1 设计原则

- **正规客户好用，随手拷贝有门槛**（不做无法破解的完美 DRM）
- 校验失败时：允许登录看状态，但 **禁止启策略 / 禁止实盘下单**（策略可配置）
- 校验逻辑本地为主；可选短时在线激活（降低盗版批量复制）

### 3.2 授权字段（建议）

| 字段 | 用途 |
|------|------|
| `license_id` | 授权编号 |
| `customer_name` | 客户标识（展示/审计） |
| `expires_at` | 到期日 |
| `edition` | 档位：`sim` / `live` / `pro`（名称可调） |
| `instance_id` 或 `machine_fingerprint` | 绑定部署实例（主机指纹或安装时生成的 UUID） |
| `features` | 功能开关列表（可选） |
| `signature` | 对上述字段的签名（私钥在你方，公钥打进程序） |

### 3.3 档位建议（初稿）

| 档位 | 能力 |
|------|------|
| `sim` | 仅 SIM 撮合；实盘下单关闭 |
| `live` | SIM + 实盘下单（显式开关 + 二次确认） |
| `pro` | live + 多策略/高级报表/优先支持（后续） |

### 3.4 绑定策略（由松到紧，可演进）

1. **v1**：授权码 + 到期日 + 档位（不绑机，靠合同与信任）
2. **v2**：首次激活写入 `instance_id`，换机需重置授权
3. **v3**（可选）：定期在线心跳续期；断网宽限期 N 天

### 3.5 运行时行为

```
启动 → 读 license → 验签 / 查到期 / 查档位
  ├─ 有效 → 按档位开放功能
  └─ 无效/过期 → UI 提示；策略不可启动；实盘接口 403
```

本地文件建议：`data/license.json` 或环境变量 `LICENSE_KEY`（整段授权串）。

---

## 4. 技术架构约束（后续开发必须遵守）

### 4.1 多租户与网络

- **不做**「一个进程服务多个无关客户」
- **不做**「你方中心机房代跑客户实盘」作为主路径
- 每个商用部署 = 独立进程 + 独立配置 + 独立日志 + 独立出口网络

### 4.2 密钥与安全

- 交易所 API Key **仅存客户机**（加密或系统权限保护）
- 禁止把客户 Key 回传到你方（授权校验除外的元数据也不含密钥）
- HTTPS、登录鉴权、改密、审计日志（谁启停、谁改参数）逐步补齐

### 4.3 模式隔离

| 模式 | 要求 |
|------|------|
| SIM | 零交易类写接口；行情只读 |
| LIVE | 显式开关 + 二次确认 + 授权档位 dual-check |
| 数据 | SIM 与 LIVE 成交/绩效 **分库或分表/分前缀**，不可混报 |

### 4.4 可观测性（商用必需）

- `/health`：进程、行情连接、授权状态（不含密钥）
- 结构化日志：开平仓原因、费用、流动性等待、紧急平仓
- 绩效导出：按组 / 按日（收益、回撤、费用、胜率）— 客户自证与你售后都需要

---

## 5. 合规与产品话术（边界）

- 定位：**交易辅助工具 / 策略执行软件**，非保本理财
- 界面与合同：风险提示、用户自负盈亏、交易所账户属用户
- 对外演示默认走 **SIM**；实盘由客户自行承担 Key 与资金风险
- 法务文本后续单独立项；工程侧先把「免责展示位 + 二次确认」留好

---

## 6. 开发路线图

### Phase 0 — 现在（产品可用、可演示）

- [x] SIM 对冲主流程、设置、Plan 桌面布局
- [ ] 绩效与组维度报表可导出/可复盘
- [ ] 部署脚本文档化到「陌生人能装上」的程度
- [ ] SIM / 未来 LIVE 配置与文案边界清晰

### Phase 1 — 授权骨架（商用前提）

- [ ] License 数据结构 + 本地验签
- [ ] 到期 / 档位拦截（启策略、实盘 API）
- [ ] 设置页或启动页展示授权状态与到期日
- [ ] 内部发码工具（私钥离线，不进客户仓库）

### Phase 2 — 实盘与交付打磨

- [ ] LIVE 下单通路（已有规划则按开发方案推进）
- [ ] 安装向导：环境检查、端口、反向代理示例
- [ ] 升级与回滚说明；配置迁移
- [ ] 客户排障包：一键打包日志（脱敏）

### Phase 3 — 商业运营配套

- [ ] 授权台账（客户、到期、续费、换机）— 可先表格，后小后台
- [ ] 版本通道：stable / beta
- [ ] 支持档位与 SLA（人工即可）
- [ ] （可选）在线激活与换机工单

### 明确延后

- 中心化多租户 SaaS
- 复杂手机端优先设计
- 支付系统内嵌（可先对公转账 + 人工发码）
- 完美防破解

---

## 7. 与当前仓库的衔接

| 现有能力 | 商用含义 |
|----------|----------|
| `deploy/manage.sh`、远程 `deploy_remote.py` | 演进为客户侧一键安装/更新的基础 |
| PM2 `eth-hedge-api`、端口 5155 | 单实例模型已符合「一客户一进程」 |
| 登录 `AUTH_USERNAME` / `AUTH_PASSWORD` | 保留为实例管理员；与 License 分层 |
| SIM 撮合 + 只读行情 | 作为 `sim` 档与售前演示默认路径 |
| 与 `crypto_monitor` 隔离 | 商用交付物必须自包含，禁止捆绑现网 |

---

## 8. 待决事项（开发前拍板）

1. 主交付形态优先：**脚本 + PM2** 还是 **Docker Compose**？
2. 授权 v1 是否绑机？还是先「码 + 到期日」？
3. 过期策略：只禁实盘，还是 SIM 一并只读？
4. 首发交易所是否仅 OKX，多所是否进 `pro`？
5. 价格与续费周期（工程不阻塞，商务可并行）

---

## 9. 修订记录

| 日期 | 说明 |
|------|------|
| 2026-07-25 | 初稿：确定「部署 + 授权」、否决中心托管主路径、划定 Phase 0–3 |
