页面QuantCraft AI · 26 / 29
QuantCraft AI
QuantCraft 在 IDE 右侧边栏(工作区布局)中内置了一个 AI 助手——一个聊天面板,能在了解你工作区的前提下,帮你编写和编辑交易策略的 Python 代码。它能看到编辑器中打开的文件、你用 @ 提及的任何文件,以及其他已打开文件的大纲,因此它的回答和编辑都带有上下文。它的工作方式类似 IDE 内的编程代理:在一轮聊天中即可为你创建新文件或编辑现有文件。
要使用它,请打开右侧边栏并切换到 QuantCraft AI 标签页。你连接的模型是全应用共用的——同一个连接同时驱动此聊天、智能体中的 AI Prompt 节点和 AI Builder,以及 AI 的 Test / Optimization 智能体。请使用 Python 编辑器和运行代码,通过 Test / Run 来验证任何建议的策略改动。
同一侧边栏中还有一个 Documentation 面板——策略 API 的静态参考(生命周期、OHLCV、指标、基本面数据、因子、输入、账户),以及 Agent Scripts 和 Screener Script 页面。参见参考。
助手模式
| 模式 | 作用 |
|---|---|
| Chat | 仅提供建议和解释——不编辑文件。 |
| Plan | 生成结构化的实施计划——不做编辑。 |
| Agent | 创建并编辑工作区文件。提议的编辑会经过 Accept / Undo 审阅,改动的行会在编辑器中高亮。Auto-continue agent turns(默认开启)会让助手在每次修改文件的回复之后继续工作,直到完成或你按下 Stop。 |
你可以在输入区切换模式和 Auto-continue,也可以在 API Providers 对话框的 Assistant mode 下切换。
连接模型
QuantCraft AI 支持多个提供商。有些是自带密钥(计费到你自己的提供商账户);QuantCraft Premium 和托管选项则改用托管访问。打开顶部菜单的 AI → API Providers(对话框标题为 AI API Providers;聊天中的连接链接也会打开它),选择一个提供商,然后填写其字段。
| 提供商 | 需要设置的内容 |
|---|---|
| Anthropic (Claude) | API 密钥、Claude 模型,以及可选的“Extended thinking”。支持最完整的路径。可在 console.anthropic.com 获取密钥。 |
| QuantCraft Premium | 无需密钥——访问权限分配给你的账户;显示提供商、状态、余额和到期时间(Claude 或 DeepSeek 授权)。仅在你拥有授权时列出。 |
| DeepSeek | API 密钥、DeepSeek 模型,以及可选的“Extended thinking”。 |
| DeepSeek (hosted) | 不存储密钥(使用服务器的密钥),可选“Extended thinking”。仅在你已登录且服务器提供时列出。 |
| OpenCode | API 密钥、OpenCode plan(Zen 或 Go)、OpenCode model,以及用于列表中没有的模型的可选 Custom model id。Claude、Qwen 以及 Chat-Completions 风格的模型可用;GPT、Grok、Muse 和 Gemini 模型不可用。 |
| Custom LLM | Endpoint URL、Model name 和可选的 API key(bearer 令牌)。 |
GitHub Copilot 和 Cursor 可能出现在列表中,但聊天轮次尚未接通(界面占位)——智能体的 AI 功能也会拒绝它们。请使用 Anthropic、DeepSeek(自带密钥或托管)、OpenCode、QuantCraft Premium 或 Custom LLM。
粘贴密钥(需要时),选择模型,然后点击 Save。
Custom LLM
使用 Custom LLM 连接你自己的或自托管的、与 OpenAI 兼容的模型。
| 字段 | 说明 |
|---|---|
| Endpoint URL | 与 OpenAI 兼容的基础 URL——例如 Ollama、llama.cpp 或 vLLM(http://localhost:11434/v1)。 |
| Model name | 该端点提供的模型 id(例如 qwen2.5-coder:7b-instruct)。 |
| API key | 可选的 bearer 令牌——对不需要它的本地服务器请留空。 |
只要设置了 URL,连接就被视为就绪。在桌面应用中,发往提供商的 HTTP 请求通过 Tauri 的 HTTP 插件进行;localhost / 127.0.0.1 端点在范围内。任意的远程 Custom LLM 主机无法由用户通过白名单界面配置——请优先使用本地的 OpenAI 兼容服务器,或上面已支持的提供商。
密钥存放位置:自带密钥的值仅存储在你的机器上(桌面应用中保存在操作系统的钥匙串,或此浏览器的本地存储中)。它们永远不会上传到 QuantCraft,只会发送给你所选的提供商。如果你清除浏览器数据或换到另一台电脑,需要重新输入密钥。
请求发往何处:对于自带密钥的提供商,QuantCraft AI 使用你的密钥从你的机器直接调用提供商。桌面(Tauri)应用使用 HTTP 桥接,因此请求不会被浏览器 CORS 拦截——在浏览器版本中运行 QuantCraft AI 可能会显示与 CORS 相关的“Request failed”消息;为获得最佳体验,请使用桌面版本。
选择模型
每个提供商在密钥字段旁都有一个模型下拉列表。聊天底部的连接徽章显示当前提供商和简短的模型名称(例如 Anthropic (Claude) · Claude Sonnet 4.6)。可以保存多个提供商——当存在多个密钥时,徽章显示最近使用的那个,并带 +N 后缀。
对于 Anthropic,下拉列表包括 Claude Sonnet 4.6、Claude Opus 4.8、Claude Opus 4.7、Claude Haiku 4.5 以及其他当前的 Opus / Sonnet 变体。请选择你的账户可用的那个。如果你在 Anthropic 路径上没有保存密钥就尝试发送消息,助手会回复一条提醒你添加密钥的消息。
使用聊天
- 在输入区输入后按 Enter 发送,按 Shift+Enter 换行。
- 输入
@打开文件提及菜单,把另一个工作区文件引入上下文。 - 回复以带代码块的 markdown 呈现。
- Stop 会中止正在进行的回复。
输入区与附件
- Attach files 按钮会打开文件选择器。你也可以把文件拖放到输入区,或从剪贴板粘贴文件/图片。
- 文本框上方的一排附件标签显示你已排队的每个文件。每个标签都有名称(图片还有缩略图)和用于移除的 ×。
- 接受任何文件类型。图片文件在发送后会在消息流中显示一个小的内嵌缩略图。
- 附件属于随之发送的那条消息——它们会和该消息一起显示在聊天历史中。
- 在 IDE 聊天中,附件会显示,但其内容不会发送给模型。要分享某个工作区文件的内容,请改用
@提及它。
助手生成回复期间,输入区会禁用并显示“Please wait…”占位符,消息列表中会出现一个小的状态行(例如 Building API messages…、Streaming reply… 1,234 characters、Syncing to workspace folder on disk…)。
聊天会话
QuantCraft AI 保留聊天会话的历史。每个会话都是独立的对话,有自己的消息和附件。聊天面板顶部的栏包含:
- New chat——开始一个全新的空会话。在助手工作期间、存在待处理的文件编辑时,或当前聊天已为空时,此按钮被禁用。
- Chats——一个下拉列表,按最新在前列出所有已保存的会话。每一项显示其标题(根据第一条用户消息自动生成)和最后更新时间。点击某一行即可切换,或点击垃圾桶图标删除。
会话会自动持久化(桌面应用中保存到本地配置,否则保存到浏览器本地存储),并在重新加载和重启后保留。在回复流式传输期间,或存在尚未处理的 Accept/Undo 栏时,切换聊天和新建聊天会被阻止——请先完成或撤销该改动。
助手能看到什么
每次发送消息时,QuantCraft AI 会根据以下内容构建请求:
- 内置的 QuantCraft 开发者文档(使它了解生命周期、账户 API、OHLCV/基本面数据模块、指标序列等)。
- 最新的工作区快照——已链接的工作区文件夹路径、编辑器中当前打开的文件,以及已打开的标签页和文件夹列表。
- 当前聊天会话的之前几轮(你的消息和它的回复)。
- 你的新消息及任何附件。
这就是在 Files 侧边栏中选择工作区文件夹很重要的原因——没有它,助手仍可回答问题,但无法向磁盘写入文件,并且会告诉你这一点。
助手的文件编辑
在 Agent 模式下,助手可以在一次回复中返回一个或多个文件操作:创建新文件、编辑编辑器中的当前文件,或编辑工作区中某个指定名称的文件。发生这种情况时:
- 新文件会在已链接的文件夹中显示为新标签页;现有文件则在其标签页中原地更新。
- 编辑器会跳转到改动位置并高亮改动的行,以便你查看助手做了什么。
- 聊天底部会出现一个待处理栏,带有简短摘要和两个按钮:
- Accept——保留改动。高亮被移除,你可以继续聊天。
- Undo——撤销改动。对于编辑,会恢复文件之前的内容;对于新文件,会移除新标签页。
- 在你选择 Accept 或 Undo 之前,聊天处于冻结状态——你无法切换会话或发送另一条消息。这是有意为之:确保你主动审阅每一处改动。
- 对于多文件回复,栏中会告诉你应用了多少处改动。Undo 按钮只撤销最后一步,因此如有需要,请逐个标签页审阅高亮。
多文件策略
在 Agent 模式下,助手可以把策略拆分成文件夹中的辅助模块(indicators/、risk/ 等),并将其导入根算法文件。它把生命周期函数(on_init、on_bar 等)保留在根文件中,并使用从工作区根目录开始的绝对导入,例如 from indicators.momentum import calc_rsi,且不使用 __init__.py 文件。
- 助手能完整看到当前文件所导入的文件,以及导入当前文件的文件。对你的其他文件只能看到大纲——要让它编辑其中某个,请用
@提及。 - 每次回复的文件改动都会在应用任何一项之前先经过检查。如果某一步无法安全执行(例如会创建已存在的文件,或重写只看过大纲的文件),则不会应用任何步骤,回复会说明原因。
- 改动应用后,会在回复下方列出运行时会失败的工作区导入(例如重命名了辅助模块但未更新导入它的文件)。代理会在下一轮中修复它们。
同步到磁盘
文件也会同步到磁盘上已链接的工作区文件夹(在桌面应用中)。在运行浏览器版本时,文件仍会在编辑器和标签页中更新,但不会镜像到磁盘——回复会注明这一点,让你知道需要使用桌面版本以获得完整的文件集成。
内置 QuantCraft Tools
一套第一方的只读市场工具——OHLCV、指标、基本面数据、筛选器、账户和头寸——默认开启,可直接从聊天(以及智能体的 AI Prompt 节点)调用。在 AI → MCPs 下管理(顶部的 QuantCraft Tools (built-in) 行)。参见 QuantCraft Tools。
筛选器工具
启用 AI Screener 功能后,聊天还可以替你驱动筛选器:打开筛选器窗口、构建或加载筛选、运行它并读取结果。AI 工作期间,窗口会显示 “The AI is using this window” 并锁定其控件。在 Chat 和 Plan 模式下,AI 只获得只读子集(可以查看筛选和结果,但不能更改);Agent 模式获得完整集合。参见 Screener。
工具
工具是聊天模型在回答时可以调用的外部数据服务。从 AI → AI Tools 添加。
- 可用的工具是 LLMQuant Data——用 Enable for chat 复选框启用它,并粘贴一个 API key(有“Get a key”链接)。
- 启用后,助手可以在对话中实时获取数据,涵盖维基和研究论文、股票和加密货币价格、ETF 查询和持仓、宏观指标、SEC 备案和 13F 持仓,以及预测市场数据等类别。
工具只会附加在可用的聊天提供商上(Anthropic、DeepSeek、OpenCode、Premium、Custom LLM)。聊天尚未实现 Copilot / Cursor,所以选择它们时工具永远不会运行。
MCP 服务器
**MCP(Model Context Protocol)**服务器向助手公开它们自己的工具。从 AI → MCPs 添加和管理。列表以内置的 QuantCraft Tools (built-in) 行开头;每个已保存的服务器都有 Enabled for chat 开关以及 Edit / Remove,已启用服务器的工具会在聊天中可用。
要添加服务器,点击 Add server 并选择 Transport:
| 传输方式 | 字段 |
|---|---|
| Stdio (command) | Command(例如 npx、node、python)、Args(每行一个或用空格分隔)和 Env(KEY=VALUE 行)。 |
| HTTP (Streamable) | URL 和可选的 Headers(KEY=VALUE 行,例如 Authorization=Bearer …)。 |
为服务器起个 Name,用 Test connection 检查(它会报告服务器公开了多少个工具),然后点击 Apply 将其加入列表,点击 Save 保存。
智能体中的 AI Prompt 节点
在智能体中,你可以添加 AI Prompt 节点——它是 Strategy 节点的 AI 对应物。
- 你编写一个自由文本的提示词,提出一个是/否的问题,例如 “结合近期价格走势和基本面数据,这是一个看涨的形态吗?” 没有结构化的规则。
- Data sent to the AI 部分以标签形式显示模型收到的上游数据(OHLCV 窗口、基本面数据等)。请链接一个 Data 父节点,否则节点会警告 AI 没有输入。
- AI 的回答被强制为 true / false,该结果通过上游门控制其子节点——与 Strategy 的结果完全一样。
- 模型还可以调用限定在本次运行范围内的只读 QuantCraft Tools(OHLCV、指标、基本面数据、筛选器、账户、头寸)。
由哪个模型运行取决于你当前的连接:
- QuantCraft Premium——调用在后端使用分配给你的访问权限运行。此处只有 Claude 授权可用;DeepSeek 授权会以“not supported for AI Prompt nodes yet”终止运行。
- 自带密钥(Anthropic、OpenCode 或 Custom LLM)——调用从应用中使用你自己的密钥运行,该密钥永远不会发送到后端。
DeepSeek(无论自带密钥还是托管)目前不适用于 AI Prompt 节点。
Agent Test 的 AI Prompt 节点以及 AI Builder 的 token 用量按智能体统计,并以徽章形式显示在编辑器标题栏:Tokens · This month: … · Lifetime: …(月度数字在每个日历月重置)。
提示
- **先链接一个工作区文件夹。**在 Files 侧边栏中选择你的项目文件夹。没有它,助手可以回答问题,但无法在磁盘上创建或编辑文件。
- **明确写出文件路径。**请求编辑时,提及标签页标题或类似
utils/foo.py的路径。助手两者都能匹配。 - **放心使用 Undo。**让助手尝试多文件改动再撤销,比逐步精细管理更安全——撤销会立即恢复编辑器缓冲区。
- **按任务切换模型。**日常编辑使用更快的 Claude 模型,大型重构或策略设计则使用更强的模型(Opus)。
- **妥善保管密钥。**自带密钥的值只保存在这台机器上。请像对待密码一样对待它们——不要把它们粘贴到 AI API Providers 对话框以外的任何地方。

