AI 功能
可选的截图成交提取与 AI 交易教练 —— 任意 OpenAI 兼容 API,密钥由你掌控、保存在你的服务器上。
两项 AI 功能都默认关闭、完全可选 —— 不开启它们 TraderMemos 也能完整使用。它们对接任何
OpenAI 兼容的 chat/completions 端点:OpenAI、OpenRouter、Azure OpenAI,或
Ollama / LM Studio 等本地服务。密钥由你自己提供。
两者都在设置 → AI 中配置。先了解两点:
- 设置是全服务器级的(每个实例一份配置,而非按用户区分)。
- API 密钥只保存在服务端 —— 保存后浏览器只能看到打码的提示。
截图扫描(成交提取)
从券商 App 截图中提取成交信息,免去手动输入。在新建交易抽屉中,扫描填充接受一张或 多张 PNG / JPEG / WebP 截图,或 CSV / JSON 成交文件,并先在审阅浮层中暂存,不会直接改动表单:
- 每个文件单独一行,显示模型读取时的进度;
- 全部完成后,按代码分卡片显示成交、平均进场 / 出场价与 FIFO 净盈亏(多代码截图也支持);
- 只有点击填入表单时表单才会改变。若什么都没读到,则显示关闭,并保留模型的说明作为原因。
细节由服务器处理:成交时间按截图上显示的时区读取(如时间旁的 美東 标签),否则使用你的市场
时区;缺失的年份会补全且不会让成交落在未来。已撤单、被拒与未成交的订单会被跳过,多 / 空方向
由成交本身判断。服务商过载时服务器会重试两次,仍失败则返回 503 ocr_busy 并提示稍后重试。
在设置 → AI → 截图扫描中配置:
| 字段 | 说明 |
|---|---|
| 启用 | 打开该功能 |
| API 基址 | 如 https://api.openai.com/v1、https://openrouter.ai/api/v1、http://localhost:11434/v1 |
| 模型 | 必须支持视觉 —— 默认 gpt-4o-mini。获取模型列表可列出端点提供的模型 |
| API 密钥 | 后续编辑时留空表示保留当前密钥 |
| 自定义提示词 | 可选 —— 留空使用内置的成交提取提示词 |
保存前先用测试验证连通性。图片上限 10 MiB(TM_OCR_MAX_BYTES),请求 90 秒超时
(TM_OCR_VISION_TIMEOUT_SEC)—— 较慢的本地模型可能需要更长的超时,同时你的
反向代理须允许 ≥ 120 秒。
交易教练
在任意交易的详情页点击 Ask AI,会把交易信息 —— 成交、盈亏、R 倍数、MAE/MFE、策略、情绪、 标签、你的笔记 —— 连同你进场时的状态(当日与当周此前的盈亏、连胜连亏、回撤、最近几笔平仓的 情绪)一起发送给模型。返回的复盘包括:
- 复盘建议 —— 模型边写边逐条流式显示;
- 一条下一步行动 —— 下一笔交易可检查的具体指令;
- 单笔执行评分 —— 进场、出场、风险、节奏,与报表同一 0–100 刻度。
复盘会被保存:再次打开该交易会显示上一次的复盘,按钮变为 Regenerate(重新生成)。教练关闭 或不可用时,面板回退到内置的规则化提示。
在设置 → AI → 交易教练中配置:字段与上文相同(任何对话模型均可 —— 不需要视觉能力), 另有可选的系统提示词用于调整教练风格。
在移动端,模型一栏会打开可搜索、按厂商分组的选择面板。截图扫描会把不能识图的模型隐藏在 Show all models 之后;端点未列出的模型 id 也可以直接输入。
通过环境变量预设默认值
脚本化部署可用 TM_OCR_* / TM_COACH_* 变量预先配置两项功能 —— 参见
配置参考。环境变量只是默认值:一旦在 UI 中
保存过设置,数据库中的值优先。
隐私
交易数据与截图只会发送到你配置的端点。指向本地模型的话,任何数据都不会离开你的机器。