面向 AI 领域认证与竞赛的开源在线评测平台
Neuro OJ(NOJ)是独立社区项目,与 CCF、LMCC、IOAI 及 NOAI 无任何官方关系。
Caution
Neuro OJ 还处于开发阶段,且没有经过正式的生产验证,请勿将其用于任何正式比赛的评测。
NOJ 提供从“注册 → 做题 → 提交 → 评测”的完整流程,可用于 LMCC 备考与模拟训练、AI 认证与选拔、课程实训和模型评测竞赛。
它与传统 OJ 的主要区别是:题目通过 evaluator 调用用户实现的函数并完成评分,而不是只比较标准输入输出(stdin/stdout)。这种方式更适合评测大模型应用和 AI 工程能力。
- 函数调用型评测:由 evaluator 驱动测试并自定义评分逻辑,覆盖客观题、代码题、LLM 工程题和产物提交题。
- 双容器安全沙箱:用户代码与评测代码在独立 Docker 容器中隔离运行,Solution 关闭网络,Evaluator 可按题目配置联网并受资源限制。
- 完整竞赛与社区:题目筛选、提交记录、排行榜、竞赛、实时评测状态,以及社区互动与 RBAC 权限管理。
- LLM 调用网关:统一管理 Provider、访问凭据、限流与用量审计。
生产环境使用单机 Docker Compose 部署。从 Release 下载 noj-cli
二进制并校验,再由它完成安装。建议用 --ref 指定与二进制一致的版本(0.10.4
及更早的二进制必须显式指定):
VERSION=v0.10.6 # 替换为目标 Release 标签(见 Releases 页面)
curl -fsSLO "https://github.com/Neuro-OJ/neuro-oj/releases/download/$VERSION/noj-cli-linux-amd64"
curl -fsSLO "https://github.com/Neuro-OJ/neuro-oj/releases/download/$VERSION/noj-cli-linux-amd64.sha256"
sha256sum -c noj-cli-linux-amd64.sha256
chmod +x noj-cli-linux-amd64
./noj-cli-linux-amd64 install --dir /opt/neuro-oj --ref "$VERSION"环境要求、资源配置、TLS、升级与备份详见文档站生产部署。
完整文档见 docs.noj.xyber-nova.space。
| 角色 | 从这里开始 |
|---|---|
| 做题人 | 做题人文档 |
| 出题人 | 出题人文档 |
| 运营者 | 运营者文档 |
- 什么是 Neuro OJ:了解评测模型与传统 OJ 的区别
- 快速开始:完成第一次注册、做题和提交
- 常见问题:排查常见使用与部署问题
noj-ui Nuxt 4 + Vue 3 前端
noj-core Deno + Hono API 与业务服务
noj-judge Rust + Docker 评测 Worker
noj-llm-gateway LLM 调用网关
noj-lmcc-extension LMCC IDE / VS Code 做题插件
noj-tests 跨模块全链路测试
noj-docs 用户、运营者和出题人文档站
核心评测链路:
浏览器 → noj-ui → noj-core → Redis 队列 → noj-judge → 评测结果
题目内容按草稿 → 不可变版本发布:每次提交绑定「提交时版本」,评测写入评测尝试, 并按有效版本策略(历史版本均有效 / 只认指定版本)计算有效成绩;管理员可批量重测、 选手可批量升级到最新版。使用说明见题目版本管理, 开发约定见项目开发约定与 noj-core 文档。
欢迎通过 Issue 和 Pull Request 参与项目。修改代码前请先阅读贡献指南与项目开发约定。
本项目基于 GNU Affero General Public License v3.0 开源。