1.5 KiB
1.5 KiB
🚨[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 操作:
# ✅ 安全: 只查
python3 advisor.py --symbol X --side long --leverage 2 --json # 输出建议张数, 不下单
python3 advisor.py --symbol X --close --side long # ❌ 危险: 直接平仓
排查持仓应使用:
# 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
修复
排查前明确:
- 用
--json看建议 - 用
get_positions()看真实持仓 - 不要跑
--close(除非用户 explicit)
接入 sanity check
排查脚本 (e.g. ~/.hermes/scripts/check_account.py) 应:
- 只能查 (no create_order / close_position)
- 关闭 OKX 写权限
- 输出只 read