Files
qihuo/docs/AI.md
T
dekun 169136dd4a Add modular docs with index, WeChat templates, and AI guide.
Document per-module order logic, risk rules, and WeChat message templates with a central INDEX for navigation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 10:49:10 +08:00

4.5 KiB
Raw Blame History

AI 分析

页面路径/ai(须在系统设置 → 导航显示 中开启「AI 分析」)

相关文件ai_client.pyai_worker.pyai_messages.pytemplates/ai_messages.html


功能概述

能力 说明
开仓分析 手动/关键位开仓成交后后台分析
平仓分析 写入 trade_logs 平仓记录后分析
日终报告 每日定时汇总当日交易与持仓
消息存档 全部写入 ai_messages 表,页面可浏览
微信推送 可选:分析成功后推送到企业微信

配置项(系统设置 → AI 分析)

设置键 说明 默认
ai_enabled 总开关
ai_provider ollama / openai ollama
ai_ollama_base_url Ollama 地址 http://127.0.0.1:11434
ai_ollama_model Ollama 模型 qwen2.5:7b
ai_openai_base_url OpenAI 兼容 API https://api.openai.com/v1
ai_openai_api_key API Key
ai_openai_model 模型名 gpt-4o-mini
ai_daily_report_enabled 日终报告开关
ai_daily_report_hour 报告时刻(时) 15
ai_daily_report_minute 报告时刻(分) 5

触发时机

1. 开仓分析(kind=open

  • 触发:下单监控手动开仓 成交 且填写止损 → notify_manual_open_filled() 调度。
  • 标题{品种名} 开仓
  • Payloadsymbol、direction、entry、stop_loss、take_profit、lots、capital

2. 关键位开仓(kind=key_open

  • 触发:箱体/收敛突破自动单成交 → notify_key_breakout_open() 调度。
  • 标题{品种名} 关键位开仓
  • Payloadmonitor_type、trade_mode、break_side、entry、stop_loss、take_profit、lots

3. 平仓分析(kind=close

  • 触发trade_logs 新增平仓 → notify_trade_log_close() 调度。
  • 标题{品种名} 平仓
  • Payloadsource、result、pnl_net、entry、close_price、lots

4. 日终报告(kind=daily_report

  • 触发:后台 ai_worker 每分钟检查;到达设定时刻且当日未生成过。
  • 标题{YYYY-MM-DD} 日终持仓与交易报告
  • Payload:当日成交汇总、胜负次数、净盈亏、active 持仓列表

开仓/平仓的 AI 分析 默认不推微信(仅写入页面);日终报告与可在设置中开启的推送见下文。


分析逻辑

System Prompt(固定):

你是国内期货交易复盘助手。根据提供的结构化交易数据,
用简洁中文给出 3~6 条要点:风险、纪律、改进建议。
不要编造未提供的数据;金额单位为元。

User Prompt

事件类型:{event_kind}

数据:
{JSON payload}

接口

  • OllamaPOST {base}/api/chat
  • OpenAI 兼容:POST {base}/chat/completionstemperature=0.4

失败时内容前加 ,仍写入 ai_messages


微信推送

类型 条件 模板
事件分析 AI 调用成功 调度时传入 send_wechat_fn WECHAT.md §12
日终报告 ai_daily_report_enabled=1 且 AI 成功 🤖 {date} 日终持仓与交易报告\n\n{content[:1800]}

说明

  • 当前实现中,开仓/平仓触发的 schedule_ai_event_analysis() 未绑定 send_wechat_fn,故 仅存档到 /ai 页面
  • 日终报告在 maybe_run_daily_ai_report() 中会推微信(成功时)。
  • 正文截断为 1800 字符,避免超长。

下单逻辑

AI 不参与下单,仅事后分析。无 assert_can_open 或 CTP 交互。


风控规则

AI 模块无独立风控。其输入数据来自已发生的交易事件,不改变账户冻结、保证金等状态。


后台任务

  • 线程名:ai-worker
  • 启动延迟 30 秒后,每 60 秒 检查是否该跑日终报告
  • background_task(计划/关键位)独立运行

数据存储

ai_messages

字段 说明
kind open / key_open / close / daily_report
title 标题
content AI 回复正文
meta JSON payload
created_at 创建时间

页面 /ai 按时间倒序展示;上方含使用说明卡片。


相关文档