Record broker-read blocker and preserve remote env

This commit is contained in:
Codex
2026-05-08 08:23:54 +08:00
parent e9b15e1528
commit 0c7efd4e5e
3 changed files with 59 additions and 31 deletions
+35 -27
View File
@@ -2,7 +2,7 @@
## Current Goal
从现在开始按全自动模式持续推进交易模块主线,不再等待阶段确认,直到完成 `docs/AI_ICT_实盘辅助决策系统开发方案_v2.md` 中剩余开发目标。
按全自动模式持续推进交易模块主线;当前已完成 `P0-2` 的实现与部署验证准备,现阶段停在唯一允许的外部阻塞点:真实账户只读凭据缺失。
## Current Branch
@@ -10,43 +10,51 @@
## Last Updated
2026-05-07 UTC
2026-05-08 UTC
## Completed In Last Session
- 本轮尚无新增完成阶段
## Current Working State
- 当前主线执行协议已固化到:
- `docs/AI_ICT_全自动开发执行流程_v1.md`
- 当前阶段队列来源于:
- `docs/AI_ICT_实盘辅助决策系统开发方案_v2.md`
- 默认不再等待用户中途确认
- 每阶段必须完成:
- 实现
- focused tests
- `P0-2` groundwork 已实现:
- `BrokerReadModelService`
- `/trading/broker-state`
- `RiskContext.broker_state`
- execution risk-context 接入 broker read model
- workbench 显示 broker equity / available balance / open positions / pending orders / alerts
- `run_until_blocked.py` 与相关测试已补齐
- 本地质量门通过:
- `npm run lint`
- `npm run build`
- `npm run visual:snapshots`
- Docker 部署
- 远端 smoke
- 状态回写
- 当前 `HEAD` 已部署到 Docker 服务器:
- `e9b15e1 Complete broker read model sync groundwork`
## Current Working State
- 远端 `/trading/broker-state` 已存在并返回 `200`
- 当前返回结果为:
- `status = broker_state_unavailable`
- `error = okx_read_credentials_missing`
- 这说明:
- 代码链路已通
- 当前阻塞不是实现缺口
- 当前阻塞是远端运行环境缺少 OKX 只读账户凭据
- `scripts/deploy_server.exp` 已修正为保留远端 `.env`,避免每次部署覆盖环境文件
## Exact Next Step
直接进入:
等待补齐远端 OKX 只读凭据后,继续执行:
### `P0-2` 真实账户与订单只读同步
### `P0-2` final acceptance close
目标:
- 建立 `BrokerReadModelService`
- 读取真实账户余额 / 持仓 / 挂单 / 成交
- 扩展 `RiskContext`
- 建立 reconciliation 读模型
- 前端展示真实 `open position / pending order`
- focused smoke: `/trading/broker-state` 与 `/trading/market-state` 返回 broker state
- 让 `/trading/broker-state` 返回真实账户余额 / 持仓 / 挂单 / 成交
- 让 `RiskGovernor` 基于真实 broker state 工作
- 让 workbench 显示真实 `open position / pending order`
完成后自动进入:
### `P0-3` 盘中持续调度与运行监督
## Validation Commands
@@ -58,6 +66,6 @@ npm run visual:snapshots
## Risks Or Open Questions
- 当前唯一外部阻塞:`okx_read_credentials_missing`
- 当前市场真值链路依赖本机 `192.168.3.73:10808` 持续可达;如本机关机或代理退出,远端将退化
- 真实账户只读同步下一阶段可能需要额外凭据或账号权限;若现有环境缺失,将构成唯一允许的用户介入点
- 当前自动化已阻塞:safe_repairs_pending_manual_apply
+23 -3
View File
@@ -8,7 +8,24 @@
## In Progress
- [ ] `P0-2` 真实账户与订单只读同步
- [ ] `P0-2` 真实账户与订单只读同步收口
Files:
`src/services/broker/`
`src/api/broker_state.py`
`src/services/execution/execution_service.py`
`src/services/risk/risk_context.py`
`src/web/app.js`
`tests/unit/test_broker_read_model_service.py`
Acceptance:
- `/trading/broker-state` 返回真实账户余额 / 持仓 / 挂单 / 成交
- `RiskContext` 能接入真实 broker state
- workbench 显示真实 `open position / pending order`
- unknown position / order 触发 alerts
Current State:
- 代码已实现
- 本地质量门已通过
- Docker 已部署
- 远端当前阻塞:`okx_read_credentials_missing`
## Next Up
@@ -25,8 +42,11 @@
## Blocked
- [ ] safe_repairs_pending_manual_apply
- [ ] `P0-2`:`okx_read_credentials_missing`
## Done
- [ ] 当前尚无完成阶段
- [x] `P0-1` 实时市场真值层
- [x] 自动执行协议已固化
- [x] 市场真值代理已切到直连本机 v2rayN LAN 代理 `192.168.3.73:10808`
+1 -1
View File
@@ -25,7 +25,7 @@ auth
spawn scp -o StrictHostKeyChecking=accept-new $archive $user@$host:$remote_archive
auth
spawn ssh -o StrictHostKeyChecking=accept-new $user@$host "rm -rf $remote_path/* && tar -xzf $remote_archive -C $remote_path && cd $remote_path && ((docker compose down || docker-compose down) >/dev/null 2>&1 || true) && ((docker compose up -d --build) || (docker-compose up -d --build)) && ((docker compose ps) || (docker-compose ps))"
spawn ssh -o StrictHostKeyChecking=accept-new $user@$host "if [ -f $remote_path/.env ]; then cp $remote_path/.env /root/ai-ict-deploy.env.bak; fi && rm -rf $remote_path/* && tar -xzf $remote_archive -C $remote_path && if [ -f /root/ai-ict-deploy.env.bak ]; then mv /root/ai-ict-deploy.env.bak $remote_path/.env; fi && cd $remote_path && ((docker compose down || docker-compose down) >/dev/null 2>&1 || true) && ((docker compose up -d --build) || (docker-compose up -d --build)) && ((docker compose ps) || (docker-compose ps))"
auth
file delete -force $archive