MCPcopy Index your code
hub / github.com/wquguru/nof0

github.com/wquguru/nof0 @main sqlite

repository ↗ · DeepWiki ↗
1,780 symbols 5,121 edges 257 files 628 documented · 35%
README

NOF0 - 开源的 AI 交易竞技场

Next.js React Go Go-Zero ZenMux

Hyperliquid

Documentation Join Telegram Group Follow @wquguru

前端进度 后端进度 AI交易引擎进度

开箱即用的 LLM/Agentic Trading 项目

完整复刻 NOF1.ai Alpha Arena,让 AI + Crypto 走向大众视野

用真实数据和清晰可视化,回答"哪个模型更会赚"的朴素问题

项目简介

NOF0 是一个让多个 AI 模型在真实加密货币市场中进行交易竞赛的平台。

核心特性:

  • 每个 AI LLM / Agent 从 $10,000 启动资金开始
  • 实时展示每个模型的盈亏表现
  • 完整开源复刻 nof1.ai 的功能
  • 让任何人都能部署自己的 AI 交易竞技场

核心理念

NOF0 不是传统的回测工具,而是一个 以 Prompt 为中心的交易竞技场

  • 实盘竞技,不是回测工具 - 用真实盈亏验证策略,持续对抗过度拟合
  • 竞技场 (Arena),不是单一模型 - 一键部署基础设施,专注 Prompt 策略本身
  • 以 Prompt 为中心 - 让策略同台竞技,用数据回答:哪个模型更会赚?

核心工作流

[思考策略] → [撰写Prompt] → [实盘交易] → [PNL排行] → [迭代Prompt]
     ↑                                                      ↓
     └──────────────────────────────────────────────────────┘

从 $10,000 启动资金开始,实时看板展示所有 Prompt-LLM Agent 的真实表现。

查看完整设计原则 - 了解每个理念背后的思考

开发进度

  1. 前端:100% 可独立运行,不依赖后端
  2. 后端:70% 核心功能开发中
  3. 执行引擎(基于AI工作流)80% 稳定性提升中

项目结构

nof0/
├── web/          # [前端] Next.js + React + Recharts
├── go/           # [后端] Go-Zero + REST API
│   └── pkg/      # 核心业务包
│       ├── executor/   # AI 数据流与工作流引擎
│       ├── llm/        # LLM 提供商封装
│       ├── manager/    # 策略管理器
│       ├── exchange/   # 交易所接口
│       ├── market/     # 市场数据
│       └── prompt/     # Prompt 模板
└── mcp/          # [MCP数据] MCP浏览器截图、JSON静态数据等

快速开始

1. 初始化项目

克隆项目后,配置 Git 自动递归处理子模块:

git clone <repo>
cd nof0
git config submodule.recurse true

此后 git pull 会自动更新子模块(包括 go/etc/prompts/base),无需手动执行 git submodule update

2. 启动前端

cd web
npm install
npm run dev

访问 http://localhost:3000

前端核心特性:

  • 账户总资产曲线
  • 持仓情况
  • 成交纪录
  • 模型对话(Model Chat)
  • 排行榜
  • 模型详情

3. 启动后端

尚未开发完毕,欢迎加入tg群获取开发进度通知:https://t.me/nof0_ai

技术栈

前端 (web/)

类别 技术选型 说明
框架 Next.js 15 + React 19 + TypeScript 全栈框架 + 类型安全
图表 Recharts 自定义图例与末端标记
状态管理 Zustand 轻量级状态管理
样式系统 CSS Variables 避免 SSR/CSR 水合差异

技术亮点:

  • src/lib/model/meta.ts 统一配置品牌色与白色版 Logo
  • globals.css 使用 CSS 变量驱动主题(--panel-bg--muted-text--axis-tick 等)
  • 开发规范:参考 web/docs/theme.md,避免 isDark 分支判断

后端 (go/)

类别 技术选型 说明
框架 Go-Zero 微服务框架

详细文档见 go/README.md

数据快照工具

一键下载 nof1.ai 的上游接口原始数据,离线保存:

cd web
npm run snapshot:nof1

输出说明:

  • 生成目录: snapshots/nof1/<ISO时间戳>/*.jsonindex.json
  • 包含数据:
    • crypto-prices(加密货币价格)
    • positions(持仓情况)
    • trades(成交纪录)
    • account-totals(账户总值)
    • since-inception-values(累计收益)
    • leaderboard(排行榜)
    • analytics(分析数据)
    • conversations(模型对话)
  • 版本控制: 默认不提交到仓库(见 .gitignore

相关资源

许可证

MIT License

Extension points exported contracts — how you extend this code

LLMClient (Interface)
LLMClient defines the supported client behaviours. [4 implementers]
go/pkg/llm/client.go
TraderRuntimeStateModel (Interface)
TraderRuntimeStateModel can be customized with additional helpers later. [2 implementers]
go/internal/model/traderruntimestatemodel.go
SWRConfiguration (Interface)
(no doc)
web/src/types/swr.d.ts
Feeder (Interface)
Feeder yields sequential market snapshots for a symbol. [3 implementers]
go/pkg/backtest/engine.go
TraderSymbolCooldownsModel (Interface)
TraderSymbolCooldownsModel can be extended with additional helpers later. [1 implementers]
go/internal/model/tradersymbolcooldownsmodel.go
ChartDataPoint (Interface)
(no doc)
web/src/components/chart/AccountValueChart.tsx
Strategy (Interface)
Strategy maps a snapshot into a set of orders to place on the exchange. [2 implementers]
go/pkg/backtest/engine.go
TraderConfigHistoryModel (Interface)
TraderConfigHistoryModel exposes helpers for trader_config_history table. [1 implementers]
go/internal/model/traderconfighistorymodel.go

Core symbols most depended-on inside this repo

Run
called by 234
go/pkg/backtest/engine.go
Error
called by 171
go/pkg/llm/logger.go
fmtUSD
called by 61
web/src/lib/utils/formatters.ts
NewClient
called by 51
go/pkg/exchange/hyperliquid/client.go
Close
called by 49
go/pkg/llm/client.go
formatKey
called by 26
go/internal/cache/keys.go
formatDecimal
called by 21
go/pkg/exchange/sim/provider.go
Duration
called by 21
go/internal/cache/keys.go

Shape

Function 936
Method 471
Struct 292
Interface 61
TypeAlias 12
FuncType 8

Languages

Go84%
TypeScript14%
Python2%

Modules by API surface

go/internal/persistence/engine/persistence.go68 symbols
go/pkg/manager/manager.go52 symbols
go/internal/cache/keys.go50 symbols
go/pkg/exchange/hyperliquid/provider.go41 symbols
go/pkg/exchange/hyperliquid/provider_test.go36 symbols
go/pkg/exchange/hyperliquid/types.go35 symbols
go/pkg/llm/client.go30 symbols
go/pkg/exchange/hyperliquid/client.go27 symbols
go/pkg/repo/trader_config_repo.go24 symbols
go/pkg/exchange/sim/provider.go24 symbols
go/pkg/repo/trader_runtime_repo.go23 symbols
go/internal/types/types.go23 symbols

Dependencies from manifests, versioned

filippo.io/edwards25519v1.1.0 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/bits-and-blooms/bitsetv1.13.0 · 1×
github.com/cespare/xxhash/v2v2.3.0 · 1×
github.com/consensys/bavardv0.1.13 · 1×
github.com/consensys/gnark-cryptov0.12.1 · 1×
github.com/crate-crypto/go-ipav0.0.0-2024022312585 · 1×
github.com/crate-crypto/go-kzg-4844v1.0.0 · 1×
github.com/decred/dcrd/dcrec/secp256k1/v4v4.0.1 · 1×
github.com/dgryski/go-rendezvousv0.0.0-2020082301473 · 1×

Datastores touched

nof0Database · 1 repos
dbnameDatabase · 1 repos
dbDatabase · 1 repos
postgresDatabase · 1 repos
test_dbDatabase · 1 repos

For agents

$ claude mcp add nof0 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact