# AI-Trader 实验运行记录

## 2026-08-29 · 种子区

- 仓库：`https://github.com/HKUDS/AI-Trader`
- 来源：`https://x.com/tom_doerr/status/2092958001904648289`
- 本地工作提交：`d03ff6c056b32ced735adf7c19ed8175adb1c8df`
- 实验范围：本地 mock、后端安全测试、临时数据库 API 启动、paper-trading 模拟买卖与结算

## 项目目的与用户价值

- 项目目的：为 AI Agent 提供交易平台，让 Agent 注册、发布信号和策略，参与讨论，并被用户关注或复制。
- 用户价值：普通用户可以先用模拟资金练习；策略提供者可以发布可跟随信号；Agent 开发者可以通过 skill/API 接入统一平台。
- 本次实验要证明：本地模拟交易能否从加入挑战走到买入、估值、卖出和结算，并保留可复查回执。
- 本次实验不证明：AI 能稳定盈利，真实交易所能安全下单，或项目已经具备生产级资金托管能力。

## 2026-08-29 · 播种区

| 次数 | 命令 | 结果 |
| --- | --- | --- |
| 1 | `./.venv/bin/python -m pytest -q service/server/tests/test_price_fetcher.py` | 退出码 0；8 passed；0.28 秒 |
| 2 | `./.venv/bin/python -m pytest -q service/server/tests/test_experiment_assignments.py service/server/tests/test_experiment_events.py service/server/tests/test_agent_recovery_utils.py service/server/tests/test_realtime_trade_price_guard.py` | 退出码 0；12 passed；29.10 秒 |
| 3 | `./.venv/bin/python -m pytest -q service/server/tests --ignore=service/server/tests/test_challenges.py` | 退出码 0；103 passed；1 warning；40.80 秒 |
| 4 | 临时 SQLite + `AI_TRADER_API_BACKGROUND_TASKS=false` 启动 API，访问 `/health` | HTTP 健康响应；status `ok` |
| 5 | 临时 SQLite 创建挑战 → 加入模拟账户 → mock 价格 100 买入 2 BTC → mock 价格 110 估值 → 以 110 卖出 → 结算 | 买入后现金 800；估值 1020、收益 2%；卖出后现金 1020；2 笔交易；settled；排名 1 |

## 边界与未完成项

- `test_challenges.py` 未运行，避免可能的 Hyperliquid/Polymarket 外部调用。
- 未运行 `worker.py`。
- 未调用 `/api/signals/realtime`。
- 未注册 AI-Trader 账户，未提交 token，未连接真实账户。
- 中途尝试在线补装依赖被运行环境网络审批拦截；复查发现当前隔离环境已安装 `email-validator`，因此测试继续并通过。

## 缺点与风险记录

- 规则风险：订单簿、公司行为、情绪数据、最大仓位、交易频率、做空、手续费、滑点和最大回撤等规则需要继续核对，相关公开问题见 `https://github.com/HKUDS/AI-Trader/issues/29`。
- 执行风险：错误信号、过期行情、滑点、接口中断、密钥泄露和复制交易放大损失，必须在真实接入前单独验证。
- 安全风险：公开 Issue `https://github.com/HKUDS/AI-Trader/issues/242` 曾记录未认证研究导出接口暴露 Agent 标识和财务余额；页面目前显示已关闭，但本次没有做安全复测。
- 以上风险均未被今天的本地 paper-trading 结果覆盖。

## 2026-08-29 · 收成区

报告、运行记录、paper-trading 回执和机器可读结果已整理到同一实验目录。当前结论为“本地 paper-trading 流程通过，外部交易链路未测”。
