面向编程测评与训练场景的多模块工程项目。
当前公开版本以后端能力为主,重点放在异步判题链路、结果推送机制、训练/AI 能力探索和本地微服务协作。前端整体体验和正式线上部署仍在持续建设中,因此本仓库暂不以“完整网站成品”作为展示重点。
SynCode 以 Java 微服务为主体,围绕编程题目管理、用户练习/提交、异步判题、结果通知和训练规划等能力展开。
目前仓库中的重点方向包括:
oj-agent 的 AI/训练规划能力探索oj-gateway
统一网关入口,负责路由转发、鉴权过滤和对外访问入口管理。
oj-modules/oj-friend
面向用户侧的核心业务模块,承载用户提交、训练流程、WebSocket 结果推送等逻辑。
oj-modules/oj-judge
判题消费与执行模块,负责异步判题处理、结果落库和最终状态回传。
oj-modules/oj-system
系统侧与基础业务管理模块,负责题目、考试等后台能力。
oj-common
公共基础能力层,包含核心常量、安全、Redis、RabbitMQ、MyBatis、消息、文件等通用组件。
oj-api
服务间共享的 DTO、接口约定和公共传输对象定义。
oj-agent
基于 FastAPI + LangGraph 的独立 Python 服务,用于 AI 助教、训练规划等能力扩展。
requestId 跟踪能力oj-agent 服务用于 AI 能力探索oj-agent)mvn -q -DskipTests compile
按需启动各模块,常见核心链路包括:
mvn -pl oj-modules/oj-system -am spring-boot:run
mvn -pl oj-modules/oj-friend -am spring-boot:run
mvn -pl oj-modules/oj-judge -am spring-boot:run
mvn -pl oj-gateway -am spring-boot:run
cd oj-agent
pip install -e .[dev]
uvicorn app.main:app --host 0.0.0.0 --port 8015
具体端口、Nacos 配置和本地环境参数请以各模块的 bootstrap.yml、application-local.yml 及相关本地配置文件为准。
SynCodeartifactId、包名和历史命名仍保留 sintao-oj / com.sintao 轨迹,这是当前演进状态的一部分$ claude mcp add SynCode \
-- python -m otcore.mcp_server <graph>