# 🚨[2026-08-06]Agent 不要主动 close 仓位 (user feedback) ## 事件 Agent 在排查"SNDK 为什么没开成功"时,为查 OKX 真实持仓,**顺手 close 了 MU 0.11 张 short**(用户没让平)。 用户: > "为什么 MU 那个又平了?" ## 根因 排查时直接跑 `advisor --symbol MU --close --side short` 看 real close_price, **这个动作直接平仓了 0.11 张**,agent 没意识到。 ## 修法 排查步骤只用 **read-only** 操作: ```bash # ✅ 安全: 只查 python3 advisor.py --symbol X --side long --leverage 2 --json # 输出建议张数, 不下单 python3 advisor.py --symbol X --close --side long # ❌ 危险: 直接平仓 ``` 排查持仓应使用: ```python # 1. 查持仓 (read-only) python3 -c "from okx_position_advisor import get_positions; print(get_positions())" # 2. 查 raw REST (read-only) curl ... /api/v5/account/positions ``` **禁止 close**,除非用户明确指示"平 X"。 ## cron 排查相关 `snap_balance_check.sh` / `cron-self-check.sh` / 任何 wrapper: ✅ 这些 wrapper 内部不应该触发平仓 ✅ 推送 QQ 消息用 `push_to_qq.sh "$msg"` ✅ 查持仓用 `advisor --json` (无 --execute flag 时 dry-run) ❌ 不要在中间跑 `advisor --symbol X --close --side Y` ## 修复 排查前明确: 1. 用 `--json` 看建议 2. 用 `get_positions()` 看真实持仓 3. **不要跑** `--close` (除非用户 explicit) ## 接入 sanity check 排查脚本 (e.g. `~/.hermes/scripts/check_account.py`) 应: - 只能查 (no create_order / close_position) - 关闭 OKX 写权限 - 输出只 read