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
2
curl -o docker-compose.prod.yml https://raw.githubusercontent.com/NoFxAiOS/nofx/main/docker-compose.prod.yml
docker compose -f docker-compose.prod.yml up -d

访问 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
2
docker compose pull
docker compose up -d

查看日志:

1
2
3
4
5
# 查看后端日志
docker compose logs backend --tail=100

# 持续跟踪日志
docker compose logs -f backend

5. 方式三:从源码构建部署

适合需要修改源码或深度定制的开发者。

5.1 前置准备

安装 TA-Lib 库:

macOS:

1
brew install ta-lib

Ubuntu:

1
sudo apt-get install libta-lib0-dev

克隆项目:

1
2
git clone https://github.com/NoFxAiOS/nofx.git
cd nofx

5.2 构建后端

1
2
3
4
5
# 构建后端
go build -o nofx

# 运行后端
./nofx

5.3 构建前端

打开新的终端窗口:

1
2
3
cd web
npm install
npm run dev

前端运行在 http://localhost:3000,后端运行在 http://localhost:8080

6. 关键配置

6.1 环境变量配置

NOFX 使用 .env 文件管理配置。复制示例文件:

1
2
cp config.json.example config.json
cp .env.example .env

核心配置项说明:

变量名 类型 默认值 必填 说明
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
2
DB_TYPE=sqlite
DB_PATH=data/data.db

PostgreSQL(适合生产):

1
2
3
4
5
6
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=your_password
DB_NAME=nofx

6.3 启用管理员模式(单用户)

如果你希望限制只有管理员可以访问,可以启用管理员模式:

编辑 config.json

1
2
3
4
{
"admin_mode": true,
"jwt_secret": "YOUR_JWT_SECRET_HERE"
}

设置环境变量:

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

配置步骤:

  1. 访问 http://localhost:3000
  2. 进入设置页面
  3. 添加 AI 模型的 API Key
  4. 选择要使用的模型

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
2
3
custom_api_url: https://api.openai.com/v1
custom_api_key: sk-your-openai-api-key
custom_model_name: gpt-4o

使用本地 Ollama:

1
2
3
custom_api_url: http://localhost:11434/v1
custom_api_key: ollama
custom_model_name: llama3.1:70b

使用 OpenRouter:

1
2
3
custom_api_url: https://openrouter.ai/api/v1
custom_api_key: sk-or-xxxxx
custom_model_name: anthropic/claude-3.5-sonnet

特殊用法:如果 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):

  1. 登录币安账户 → API 管理
  2. 创建 API → 启用合约交易权限
  3. 建议使用子账户以隔离风险

Hyperliquid:

  1. 访问 Hyperliquid App → API 设置

8.2 重要设置:币安持仓模式

必须将币安切换为双向持仓模式,否则会出现错误(code=-4061):

  1. 登录币安合约
  2. 点击右上角 ⚙️ 偏好设置
  3. 选择 持仓模式 → 双向持仓
  4. 注意:切换前需先平掉所有持仓

9. 创建交易员并开始交易

9.1 创建交易员

在 Web 界面中完成以下步骤:

  1. 配置 AI 模型:添加 API Key 或配置 x402 钱包
  2. 连接交易所:添加币安/Hyperliquid 的 API 凭证
  3. 创建交易员:将 AI 模型与交易所组合
  4. 开始交易:在仪表盘监控表现

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
2
3
4
5
# 查看占用端口的进程
lsof -i :8080

# 修改 .env 中的端口
NOFX_BACKEND_PORT=8081

10.2 前端一直显示“加载中…”

问题:前端无法连接到后端

检查步骤:

1
2
3
4
# 检查后端是否运行
curl http://localhost:8080/api/health

# 应返回:{"status":"ok"}

10.3 数据库锁定错误

问题:数据库被锁定

解决方案:

1
2
3
4
5
6
7
# 停止所有 NOFX 进程
docker compose down
# 或
pkill nofx

# 重启
docker compose up -d

10.4 加密服务初始化失败

问题DATA_ENCRYPTION_KEY not set 错误

解决方案:确保 .env 文件中已设置 DATA_ENCRYPTION_KEY。如果自动生成失败,可以手动生成一个 base64 编码的 32 字节密钥。

10.5 交易员不开仓

常见原因

  • AI 根据市场情况决定“等待”
  • 余额或保证金不足
  • 达到持仓上限(默认最多 3 个仓位)

11. 安全建议

根据官方文档,部署时请务必注意以下安全事项:

  1. API Key 安全
    • 永远不要将 API Key 提交到 git
    • 使用环境变量存储敏感信息
    • 限制 API Key 的 IP 访问
    • 在交易所启用 2FA
  2. 交易前测试
    • 先在测试网测试策略
    • 从小额资金开始
    • 充分理解风险
  3. 生产环境建议
    • 使用 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 访问。