@@ -11,13 +11,12 @@ PtLPOJ (Ptlantern's Learning Platform Online Judge) 是一款轻量级、安全
1111
1212---
1313
14- ## 🚀 核心特性 (Features)
15-
16- * ** 沉浸式体验** : 直接在 VS Code 编辑器中阅题、编写、运行与提交,告别网页端没有智能提示的痛苦。
17- * ** 安全硬化沙盒** : 基于 Docker Engine API 的极简容器,结合 cgroups (CPU/RAM)、断网、User Namespace 降权多重防护,根绝恶意攻击与内核提权。
18- * ** 高并发架构** : Go 协程并发拉起沙盒引擎,结合 SQLite WAL 模式优化写锁,支持强烈的提交尖峰。
19- * ** SSE 实时反馈** : 从排队、准备环境、分步运行到最终结果(AC/WA/TLE/RE/OLE),进度实时弹窗通知。
20- * ** 无密码验证** : 面向团队的极简邮箱 OTP 验证 + 动态 JWT 会话鉴权。
14+ * ** 沉浸式体验** : 直接在 VS Code 编辑器中阅题、编写、运行与提交,告别网页端 IDE 切换的体验割裂问题。
15+ * ** 安全强化的沙盒环境** : 基于 Docker Engine API 编排极简容器,结合 cgroups (限制 CPU/RAM 资源)、网络阻断、User Namespace 权限降级等多重安全防护策略,有效防范恶意代码攻击与内核越权。
16+ * ** 自动化题目解析** : 基于 Python AST(抽象语法树)实现的原生代码全自动拆解流程。系统通过对单一 Python 源码文件进行解析,自动剥离生成代码脚手架、题目 Markdown 描述与隐藏测试用例记录,降低题目维护成本。
17+ * ** 可视化管理控制台** : 在 VS Code 内置原生管理面板,提供带有进度反馈的防并发用户白名单导入机制,及具备批量并发上传能力的题目管理引擎。
18+ * ** 高并发架构支撑** : 基于 Go 语言的协程模型并发调度沙盒生命周期,结合 SQLite 的 WAL (Write-Ahead Logging) 模式优化写入锁机制,确保在密集提交突发情况下的系统稳定性。
19+ * ** 无密码身份鉴权** : 采用面向团队的邮箱 OTP 验证机制与动态 JWT 会话鉴权体系,确保登录状态的长期安全性与权限隔离。
2120
2221---
2322
@@ -27,30 +26,20 @@ PtLPOJ (Ptlantern's Learning Platform Online Judge) 是一款轻量级、安全
2726PtLPOJ/
2827├── client/ # VS Code 插件源码 (TypeScript)
2928│ ├── src/
30- │ │ ├── extension.ts # 插件入口,处理指令、登录与提交
31- │ │ └── treeProvider.ts # 定义侧边栏题目树状视图
32- │ ├── resources/ # 插件图标及静态资源
33- │ ├── package.json # 插件清单与 VS Code 贡献点配置
34- │ └── tsconfig.json # TypeScript 编译配置
35- ├── server/ # Go 评测服务端源码
36- │ ├── api/ # RESTful API 路由与 Handler 逻辑
37- │ ├── auth/ # OTP 生成及 JWT 校验模块
38- │ ├── middleware/ # 限流 (Rate Limit) 与身份鉴权中间件
39- │ ├── models/ # GORM 数据库实体模型
40- │ ├── sandbox/ # Docker 容器编排与安全性硬化
41- │ ├── scheduler/ # 多协程判题任务调度中心
42- │ ├── storage/ # 仓库层 (Repository) 与 SQLite 初始化
29+ │ │ ├── extension.ts # 插件入口,提供原生 FilePicker 等拦截挂载
30+ │ │ ├── adminView.ts # 原生批量题库管理与白名单视窗
31+ │ │ └── treeProvider.ts # 定义侧边栏题目树状导航视图
32+ ├── server/ # Go 评测与管理中台源码
33+ │ ├── api/ # RESTful API (含 /api/admin/* 控制权分离)
34+ │ ├── sandbox/ # Docker 容器编排与安全拦截隔离网
35+ │ ├── scheduler/ # 多协程判题任务并发调度中心
4336│ └── main.go # 服务端入口程序
44- ├── data/ # [运行期数据]
45- │ ├── ptlpoj_dev.db # SQLite 数据库文件 (WAL 模式)
46- │ └── problems/ # 题目元数据与隐藏测试用例 (tests.txt)
47- ├── docs/ # 项目文档
48- │ ├── dev/ # 内部开发日志与历史 Phase 协议
37+ ├── tools/ # 题库智能解析引擎 (包含 AST parse_worker.py)
38+ ├── docs/ # 详实的部署指南与核心架构协议
39+ │ ├── dev/ # 内部开发日志与历史阶段任务清单
4940│ ├── architecture_design.md
50- │ ├── deployment_guide .md
41+ │ ├── PtLPOJ_Full_Guide_ZH .md
5142│ └── user_manual.md
52- ├── tools/ # 辅助工具脚本 (题目导入、配置生成等)
53- └── README.md
5443```
5544
5645---
@@ -61,24 +50,27 @@ PtLPOJ/
6150
6251### 👉 对于想要了解系统设计的开发者
6352* [ 系统架构白皮书 (Architecture Design)] ( docs/architecture_design.md ) - 详细讲解多层组件图、鉴权流与沙盒安全限制原理。
53+ * [ 中台与插件交互协议 (Admin Control Spec)] ( docs/dev/missions/mission_admin.md ) - 深入解析批量化插件与解析器如何交互。
6454
6555### 👉 对于运维、教师及普通使用者
66- * [ 全量部署与快速使用指南 (Full Guide)] ( docs/PtLPOJ_Full_Guide_ZH.md ) - ** 推荐阅读** 。涵盖后端 Docker 部署、插件 VSIX 安装以及如何通过 VS Code 设置连接自定义服务器 。
67- * [ 用户操作手册 (User Manual)] ( docs/user_manual.md ) - 针对学生的纯使用流程指引 。
56+ * [ 全量部署与快速使用指南 (Full Guide)] ( docs/PtLPOJ_Full_Guide_ZH.md ) - ** 推荐阅读** 。涵盖后端部署、配置修改、后台系统以及白名单如何加 。
57+ * [ 用户操作手册 (User Manual)] ( docs/user_manual.md ) - 针对纯测试、纯刷题学生的使用流程 。
6858
6959---
7060
7161## 🗺️ 演进路线规划 (Roadmap)
7262
73- 我们遵循透明的里程碑计划推进功能(详情请参阅项目内的独立 mission 文档) :
63+ 我们遵循透明的里程碑计划推进功能:
7464
75- * [x] ** Phase 10-11** : 登录/退出 UX 闭环与 GitHub CI 自动化分发,支持自定义 Server URL。
65+ * ** Phase 10-12** : 身份鉴权与会话生命周期闭环、引入 GitHub CI 自动化发布工作流,支持动态扩展的自定义 Server URL 配置解耦。(v0.2.x)
66+ * [x] ** Phase 13-14** : 可视化管理后台 (Admin Control Panel)。突破单纯的 Webview 沙箱限制,接入操作系统级文件选取交互架构与正则分词并发执行库,支持白名单用户管理与海量 ` .py ` 源文件的秒级录入机制。(v0.3.x)
67+ * [ ] ** Phase 16+** : 社交与排行榜体系探索...
7668
7769## 🛠️ 技术栈速览
7870
79- * ** 后端调度与 API Gateway ** : Go 1.21+, GORM, SQLite(WAL).
80- * ** VS Code 插件端 ** : TypeScript, Webview API .
81- * ** 沙盒执行体 ** : ` python:3.11-alpine ` ( Docker API SDK v43+) .
71+ * ** 中间件层 ** : Go 1.21+, GORM, SQLite (WAL).
72+ * ** 视图层 UI ** : VS Code Extension API, TypeScript, WebView Native Bridge .
73+ * ** 编译挂载体 ** : Python AST Compiler Engine, Docker API SDK v43+.
8274
8375---
8476* Created by the PtLPOJ Development Team.*
0 commit comments