跳转到主要内容
面向 AI 领域认证与竞赛的在线评测平台

Neuro OJ

一个面向 AI 时代程序设计与工程能力评测的在线评测平台, 以容器级资源隔离承载任意自定义评测逻辑,覆盖 IOAI / NOAI / LMCC 等认证与竞赛场景。

Neuro OJ 与 CCF 及 LMCC 无任何官方关系,为独立社区项目。
题目总数
提交总数
注册用户
评测通过

与传统 OJ 的核心区别

完全由题目自定义的评测过程

传统 OJ(Hydro、Luogu 等)要求题目遵循固定的评测范式——stdin/stdout 或 filein/fileout。 Neuro OJ 通过题目支持包(support package)将评测逻辑完全交给题目自定义。 每道题自带 evaluate.py、 测试用例和评测脚本,评测方式不受平台约束:可以解析 JSON 输出、调用外部 API、运行多轮对话评估等。

容器级资源限制,适配 AI 场景

传统 OJ 限制单个进程的 CPU 时间和内存,但在 AI 评测场景中, 代码可能涉及多进程、GPU 调用、模型加载、网络请求等复杂行为。 Neuro OJ 的时间和内存限制作用于整个 Docker 容器, 而非单个进程,真实反映 AI 应用在复杂依赖环境下的资源消耗。

全面容器化的评测环境

每道题可指定自定义 Docker 镜像(runtime_config), 意味着评测环境可以预装任意依赖——PyTorch、TensorFlow、NumPy、 Node.js 包、C++ 库等。平台不再限制语言版本和可用库, 题目作者自由定义最适合评测的运行时环境。

技术架构

noj-ui
Nuxt 4 + Vue 3 · 用户界面
源码
noj-core
Deno + Hono · RESTful API
源码
noj-judge
Rust + Docker · 评测 Worker
源码

三模块通过 RESTful API 与 Redis 消息队列协作:noj-ui 提交代码 → noj-core 分发评测任务 → noj-judge 在 Docker 沙箱中执行并回传结果,支持多 Worker 水平扩展。

开源社区

本项目在 GitHub 上开源(AGPL-3.0),欢迎 Star、Issue 和 Pull Request。

Neuro-OJ/neuro-oj

贡献者

常见问题

如何开始做题?

注册并登录后,进入「题库」选择题目,点击「去解题」进入做题页,选择语言并提交代码即可。

提交后状态一直显示 Pending?

评测任务进入队列后由评测 Worker 依次处理,可在「评测队列」页查看实时状态;评测完成后提交详情会自动更新。

密码有什么要求?

密码至少 8 位,需同时包含大小写字母和数字,且不能与用户名或邮箱前缀相同。

如何参加竞赛?

在「竞赛大厅」查看进行中或未开始的竞赛,点击报名;开赛后即可进入做题页参赛。

支持哪些评测语言?

默认提供 Python 3 评测环境,更多语言由管理员配置评测镜像后在「管理后台」启用。

基于 AGPL-3.0 许可证开源。如需商业授权,请联系开发团队。

Neuro OJ 为独立社区项目,与 CCF 及 LMCC 无任何官方关系。