NOFX 开源的、AI 驱动的自主交易操作系统
NOFX 详细部署教程
1. 项目简介
NOFX 是一个开源的、AI 驱动的自主交易操作系统,其核心定位是下一代 AI 交易操作系统。它将大语言模型(LLM)与多个加密货币交易所连接,让 AI 自主做出交易决策,无需人工干预。
核心特性:
- 多 AI 支持:集成 DeepSeek、Qwen、GPT、Claude、Gemini、Grok、Kimi 等多种 AI 模型,可随时切换
- 多交易所支持:支持币安(Binance)、Bybit、OKX、Bitget、KuCoin、Gate、Hyperliquid、Aster 等交易所
- 策略工作室:提供可视化策略构建器,可配置币种来源、技术指标、风险控制等
- AI 竞赛:多个 AI 模型可在同一市场实时竞争,排行榜按表现排名
- 实时仪表盘:显示实时持仓、盈亏、AI 决策日志(含思维链推理)
- x402 微支付:无需 API Key,只需 USDC 钱包即可按请求付费使用 AI 模型
重要提示:NOFX 目前主要支持加密货币市场(期货),股票、外汇、商品等市场正在开发中。AI 交易是实验性的,不保证盈利,建议始终使用小额资金进行测试。
2. 部署前准备
2.1 硬件要求
根据官方 FAQ,最低配置要求如下:
- 操作系统:Linux、macOS 或 Windows
- 内存:最低 2GB,推荐 4GB
- 硬盘空间:应用和日志需要约 1GB
- 网络:稳定的互联网连接
2.2 软件要求
使用 Docker 方式部署(推荐):
- Docker 20.10+
- Docker Compose V2
使用源码方式部署:
- Go 1.21+
- Node.js 18+
- TA-Lib 库(技术指标计算依赖)
3. 方式一:一键脚本部署(最简单)
这是官方提供的最快速部署方式,适合快速体验和测试。
3.1 Linux / macOS 系统
打开终端,执行以下命令:
1 | curl -fsSL https://raw.githubusercontent.com/NoFxAiOS/nofx/main/install.sh | bash |
安装完成后,打开浏览器访问:
1 | http://127.0.0.1:3000 |
即可看到 NOFX 的 Web 界面。
3.2 Windows 系统
Windows 用户需要先安装 Docker Desktop,然后执行:
1 | curl -o docker-compose.prod.yml https://raw.githubusercontent.com/NoFxAiOS/nofx/main/docker-compose.prod.yml |
访问 http://127.0.0.1:3000 即可。
4. 方式二:Docker Compose 部署(推荐)
这种方式更加灵活可控,适合生产环境部署。
4.1 下载 Docker Compose 配置文件
1 | curl -O https://raw.githubusercontent.com/NoFxAiOS/nofx/main/docker-compose.prod.yml |
4.2 启动服务
1 | docker compose -f docker-compose.prod.yml up -d |
服务启动后,可以通过以下命令查看运行状态:
1 | docker compose ps |
4.3 了解 Docker Compose 配置
根据官方提供的 docker-compose 配置,主要包含两个服务:
后端服务(nofx-trading):
- 端口:8080(可通过
NOFX_BACKEND_PORT环境变量修改) - 数据卷:
./data:/app/data(持久化存储) - 健康检查:每 30 秒检查
/api/health端点
前端服务(nofx-frontend):
- 端口:3000(可通过
NOFX_FRONTEND_PORT环境变量修改) - 依赖后端服务
4.4 更新和维护
更新服务:
1 | docker compose pull |
查看日志:
1 | # 查看后端日志 |
5. 方式三:从源码构建部署
适合需要修改源码或深度定制的开发者。
5.1 前置准备
安装 TA-Lib 库:
macOS:
1 | brew install ta-lib |
Ubuntu:
1 | sudo apt-get install libta-lib0-dev |
克隆项目:
1 | git clone https://github.com/NoFxAiOS/nofx.git |
5.2 构建后端
1 | # 构建后端 |
5.3 构建前端
打开新的终端窗口:
1 | cd web |
前端运行在 http://localhost:3000,后端运行在 http://localhost:8080。
6. 关键配置
6.1 环境变量配置
NOFX 使用 .env 文件管理配置。复制示例文件:
1 | cp config.json.example config.json |
核心配置项说明:
| 变量名 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
API_SERVER_PORT |
int | 8080 | 否 | 后端 API 端口 |
NOFX_BACKEND_PORT |
int | 8080 | 否 | Docker 后端端口映射 |
NOFX_FRONTEND_PORT |
int | 3000 | 否 | Docker 前端端口映射 |
TZ |
string | Asia/Shanghai | 否 | 系统时区 |
JWT_SECRET |
string | (无) | 是 | JWT 签名密钥(32+ 字符) |
DATA_ENCRYPTION_KEY |
string | (自动生成) | 是 | AES-256 数据库加密密钥 |
RSA_PRIVATE_KEY |
string | (自动生成) | 是 | RSA 传输加密私钥 |
DB_TYPE |
string | sqlite | 否 | 数据库类型:sqlite 或 postgres |
安全警告:JWT_SECRET 是必需的,如果未设置或使用不安全的默认值,系统将拒绝启动。
6.2 数据库配置
SQLite(默认,适合开发):
1 | DB_TYPE=sqlite |
PostgreSQL(适合生产):
1 | DB_TYPE=postgres |
6.3 启用管理员模式(单用户)
如果你希望限制只有管理员可以访问,可以启用管理员模式:
编辑 config.json:
1 | { |
设置环境变量:
1 | NOFX_ADMIN_PASSWORD=your_admin_password |
启用后,所有非必要端点将对未认证用户关闭。
7. 配置 AI 模型
NOFX 支持多种 AI 模型接入方式。
7.1 使用 API Key 模式
在 Web 界面中配置 AI 模型(推荐方式)。支持的主流模型包括:
- DeepSeek(推荐性价比)
- Qwen(阿里云通义千问)
- OpenAI(GPT 系列)
- Claude
- Gemini
- Grok
- Kimi
配置步骤:
- 访问
http://localhost:3000 - 进入设置页面
- 添加 AI 模型的 API Key
- 选择要使用的模型
7.2 使用自定义 OpenAI 兼容 API
NOFX 支持任何 OpenAI 格式兼容的 API,包括本地部署的模型。
配置字段说明:
| 字段 | 说明 |
|---|---|
ai_model |
设置为 "custom" 启用自定义 API |
custom_api_url |
API 基础 URL(不含 /chat/completions) |
custom_api_key |
API 密钥 |
custom_model_name |
模型名称 |
示例配置:
使用 OpenAI:
1 | custom_api_url: https://api.openai.com/v1 |
使用本地 Ollama:
1 | custom_api_url: http://localhost:11434/v1 |
使用 OpenRouter:
1 | custom_api_url: https://openrouter.ai/api/v1 |
特殊用法:如果 API 端点已包含完整路径,可以在 URL 末尾添加 # 来强制使用完整 URL。
7.3 使用 x402 微支付模式(无需 API Key)
NOFX 内置了 x402 微支付协议,只需一个 USDC 钱包即可使用 AI 模型,无需管理多个 API Key。
工作原理:
1 | 请求 → 402(返回价格)→ 钱包签名 USDC → 重试 → 完成 |
支持的 x402 提供商:
- Claw402(Base 链):支持 GPT、Claude、DeepSeek、Qwen、Grok、Gemini、Kimi 等 15+ 模型
- BlockRun(Base 链)
- BlockRun Sol(Solana 链)
8. 配置交易所
8.1 获取 API Key
币安(Binance):
- 登录币安账户 → API 管理
- 创建 API → 启用合约交易权限
- 建议使用子账户以隔离风险
Hyperliquid:
- 访问 Hyperliquid App → API 设置
8.2 重要设置:币安持仓模式
必须将币安切换为双向持仓模式,否则会出现错误(code=-4061):
- 登录币安合约
- 点击右上角 ⚙️ 偏好设置
- 选择 持仓模式 → 双向持仓
- 注意:切换前需先平掉所有持仓
9. 创建交易员并开始交易
9.1 创建交易员
在 Web 界面中完成以下步骤:
- 配置 AI 模型:添加 API Key 或配置 x402 钱包
- 连接交易所:添加币安/Hyperliquid 的 API 凭证
- 创建交易员:将 AI 模型与交易所组合
- 开始交易:在仪表盘监控表现
9.2 监控交易
仪表盘提供以下功能:
- 实时持仓:显示当前所有仓位
- 盈亏统计:权益曲线、胜率、盈亏比
- AI 决策日志:每个决策的完整思维链(Chain of Thought)
- AI 竞赛:多 AI 模型的实时 ROI 对比排行榜
9.3 风险控制
NOFX 内置了多层风险控制机制:
- 仓位限制:每个资产有仓位上限(山寨币 ≤1.5x 权益,BTC/ETH ≤10x 权益)
- 杠杆控制:动态杠杆 1x-50x,根据资产类型调整
- 保证金管理:总使用率 ≤90%
- 止损止盈:强制要求止损止盈比 ≥1:2
- 防重复开仓:防止同一资产/方向重复持仓
10. 常见问题与解决方案
10.1 后端无法启动 / 端口被占用
问题:端口 8080 已被占用
解决方案:
1 | # 查看占用端口的进程 |
10.2 前端一直显示“加载中…”
问题:前端无法连接到后端
检查步骤:
1 | # 检查后端是否运行 |
10.3 数据库锁定错误
问题:数据库被锁定
解决方案:
1 | # 停止所有 NOFX 进程 |
10.4 加密服务初始化失败
问题:DATA_ENCRYPTION_KEY not set 错误
解决方案:确保 .env 文件中已设置 DATA_ENCRYPTION_KEY。如果自动生成失败,可以手动生成一个 base64 编码的 32 字节密钥。
10.5 交易员不开仓
常见原因:
- AI 根据市场情况决定“等待”
- 余额或保证金不足
- 达到持仓上限(默认最多 3 个仓位)
11. 安全建议
根据官方文档,部署时请务必注意以下安全事项:
- API Key 安全:
- 永远不要将 API Key 提交到 git
- 使用环境变量存储敏感信息
- 限制 API Key 的 IP 访问
- 在交易所启用 2FA
- 交易前测试:
- 先在测试网测试策略
- 从小额资金开始
- 充分理解风险
- 生产环境建议:
- 使用 HTTPS(可通过 Cloudflare 配置)
- 设置
TRANSPORT_ENCRYPTION=true启用传输加密 - 启用管理员模式限制访问
12. 部署架构总结
| 部署方式 | 适用场景 | 优势 | 命令 |
|---|---|---|---|
| 一键脚本 | 快速体验 | 最简单 | `curl … install.sh |
| Docker Compose | 生产环境 | 灵活可控 | docker compose up -d |
| 源码构建 | 定制开发 | 完全可控 | go build && ./nofx |
部署完成后,访问 http://127.0.0.1:3000 即可开始使用 NOFX。如需云端部署,可参考 Railway 部署方案,或通过 Cloudflare 配置 HTTPS 访问。



