
# 实施计划：多平台 Delta 中性控制平面

**分支**：`001-specManager-perp` | **日期**：2025-09-27 | **规范**：[`spec.md`](./spec.md)  
**输入**：`/specs/001-specManager-perp/spec.md`

## 执行流程（/plan 命令作用范围）
```
1. 从 Input 路径加载功能规范
2. 填写技术背景（扫描 NEEDS CLARIFICATION）
3. 根据宪章完成 Constitution Check（原则 I–V、运营约束、流程质量门槛、治理）
4. 评估 Constitution Check，若违例则记录与解释
5. 执行 Phase 0 → research.md（记录行情数据源、敞口目标、风险约束）
6. 执行 Phase 1 → contracts、data-model.md、quickstart.md、agent 文件
7. 再次评估 Constitution Check 并更新进度
8. 规划 Phase 2（说明任务生成策略，不实际创建 tasks.md）
9. 停止，准备执行 /tasks
```

**重要提示**：/plan 在步骤 7 停止；Phase 2 之后由 /tasks 以及实施阶段完成。

## 总结
- 构建一个可扩展的多交易所多账户控盘层，自动保持整体 Delta 中性，并让单账户资金利用率维持 50%-80%。  
- 所有高频行情使用 WebSocket 实时刷新，主源失效 10 秒内必须切换备用；所有带权限的交互经代理执行。  
- 框架需支持限价优先、对冲、资金费率套利、做市等策略模块，配套结构化观测与自动化测试保障。

## 技术背景
**语言/版本**：TypeScript 5.1 / Node.js 18.12  
**主要依赖**：ws、axios、dotenv、winston、jest、tsx、https-proxy-agent、redis、sequelize 等  
**存储**：当前以内存状态与外部交易所为主，无持久化数据库约束  
**测试框架**：jest（含 ts-jest）、集成测试脚本  
**目标平台**：Linux/容器化运行环境，需支持代理网络  
**项目类型**：单一后端项目（多模块架构）  
**性能目标**：行情刷新 <2s、控制循环 ≤8s、主源失效 ≤10s 完成回退  
**约束条件**：所有敏感调用走代理；资金利用率 50%-80%；Delta 容忍 ±0.0005 BTC；止损路径 ≤30s；日志保留 ≥90 天  
**规模/范围**：同时管理 ≥3 个交易所账户，支持新增策略模块与交易所扩展

## 宪章核对（Constitution Check）
- **原则 I：Delta-Neutral First** —— 计划中所有策略均以内外账户 Delta 为核心监控，设定再平衡与对冲流程，状态 PASS。  
- **原则 II：Deterministic Market Data Intake** —— 行情层采用 WebSocket+HTTP 回退，明确 2s 新鲜度与 10s failover SLA，状态 PASS。  
- **原则 III：Capital Protection & Risk Controls** —— 监控资金利用率、止损、利用率越界触发回滚；30s 内完成紧急对冲，状态 PASS。  
- **原则 IV：Transparent Observability & Audit** —— 设计阶段将补充统一日志、指标、健康检查与事件追踪，状态 PASS。  
- **原则 V：Tested Execution Paths** —— 在计划中安排 Dry-run、双账户集成测试、回退场景测试，状态 PASS。  
- **运营约束**：≤8s 循环、代理网络、密钥轮换、日志保留要求已纳入研究与实施任务。  
- **流程质量门槛**：plan/research/data-model/quickstart 均需映射宪章要点；PR 需附带日志或测试佐证。  
- **治理要求**：遵循 SemVer 及每月合规复核；本计划中为后续 /tasks 与 PR 审查提供依据。  
→ 评估结果：PASS

## 项目结构

### 文档（本功能）
```
specs/001-specManager-perp/
├── plan.md
├── research.md
├── data-model.md
├── quickstart.md
├── contracts/
└── tasks.md   # 将由 /tasks 生成
```

### 源码目录（仓库根目录）
```
src/
├── exchanges/
│   ├── pacifica/
│   ├── aster/
│   └── binance/
├── modules/
│   ├── trading/
│   ├── hedging/
│   ├── orderbook/
│   ├── account/
│   ├── risk/
│   └── dashboard/
├── core/
│   └── hedging/
├── utils/
└── main-modular.ts

tests/
├── integration/
├── unit/
└── fixtures/
```

**结构决策**：维持单体后端结构，围绕 `src/modules` 提供新的控制器、风险监控、策略插件，并扩展 `tests/` 下的集成测试套件。

## Phase 0：概述与调研
1. 调研需求：
   - 多交易所行情 failover 设计（WebSocket → HTTP → 合成价格）
   - 资金利用率 50%-80% 的算法与阈值配置  
   - 跨账户风险指标、Delta 阈值与自动对冲策略  
   - 代理路由、凭证隔离与网络延迟监控  
   - 可插拔策略模块的接口约定与沙箱验证方式  
2. 调研任务输出：详见 `research.md`，记录决策、理由与备选方案。

**产出**：[`research.md`](./research.md)

## Phase 1：设计与契约
1. 从规范提取实体 → `data-model.md`（账户、策略模块、行情源、风险包络、订单意图等）。  
2. 依据功能需求设计 API/事件契约 → `contracts/`（账户状态同步、对冲指令、行情事件、告警）。  
3. 为每个契约生成失败态测试用例 → `/tests/contract/`（列于计划，实际实现待 Phase 3）。  
4. 从用户故事与边界情况提炼 quickstart 场景 → `quickstart.md`，覆盖利用率越界、行情 failover、Delta 再平衡。  
5. 更新 `CLAUDE.md` 等 agent 文件，确保新增技术与步骤被记录。

**产出**：[`data-model.md`](./data-model.md)、[`contracts/`](./contracts)、[`quickstart.md`](./quickstart.md)

## Phase 2：任务规划方法
- /tasks 将以 Phase 1 文档为输入，生成测试先行的任务列表。  
- 分类：环境与代理配置、Dry-run 仿真、对冲引擎、行情服务、风险/观测、回退测试等。  
- 排序：按 TDD 顺序、依赖链（行情 → 风险 → 执行 → 策略模块）。  
- 标记 [P] 以指示可并行的互不影响任务。  
- 目标输出：25-30 个编号任务，覆盖执行、观测、合规。

## Phase 3+：后续实施
- **Phase 3**：执行 /tasks，生成 tasks.md 并指派。  
- **Phase 4**：按任务实现，保持 Delta/风险合规。  
- **Phase 5**：运行测试、quickstart、性能与回退验证。

## 复杂度追踪
| 违例 | 原因 | 被否决的简单方案 |
|------|------|------------------|
| （无） |  |  |

## 进度追踪
**阶段状态**：
- [x] Phase 0：调研完成 (/plan)
- [x] Phase 1：设计完成 (/plan)
- [ ] Phase 2：任务规划完成 (/plan，仅描述方法)
- [ ] Phase 3：任务已生成 (/tasks)
- [ ] Phase 4：实现完成
- [ ] Phase 5：验证通过

**关卡状态**：
- [x] 初次宪章核对：通过
- [x] 设计后宪章核对：通过
- [x] 所有 NEEDS CLARIFICATION 已解决
- [ ] 复杂度偏差已记录

---
*基于宪章 v1.0.0 - 详见 `/memory/constitution.md`*
