PTA 答题辅助是一个浏览器扩展,旨在帮助用户在 PTA 编程平台上更高效地完成编程题。该扩展提供了代码提交、AI 答题、结果分析等功能,大大提升了答题效率。
- 直接安装:下载 Relese 页面 下载最新版本的扩展包,然后在浏览器扩展管理页面加载已解压的扩展。
- 使用 npm 进行包管理:
- 克隆仓库:
git clone https://github.com/lmengx/fuckpta.git - 安装依赖:
npm install - 构建项目:
npm run build - 加载扩展:在浏览器扩展管理页面,加载已解压的扩展(选择 dist 目录)
- 克隆仓库:
- 使用 ai开发:
- 阅读agent.md文件,了解项目架构和开发流程
- 代码提交:直接通过 fetch 请求提交代码,无需模拟用户输入
- 浮动窗口:在 PTA 答题页面自动弹出,方便快速提交代码
- AI 答题:集成 OpenAI API,自动生成代码
- 配置管理:支持导入/导出配置,可自定义 AI 模型和提示词
- 结果分析:在提交结果页面显示分析窗口,提供 AI 纠错功能
- 前端框架:Vue 3
- 状态管理:Pinia
- 构建工具:Vite
- 扩展构建:@crxjs/vite-plugin
- 浏览器 API:Chrome Extensions API
- 网络请求:Fetch API
- AI 集成:OpenAI API
fuckpta/
├── src/ # 源代码目录
│ ├── content-script.js # 内容脚本,处理页面交互
│ ├── App.vue # 主应用组件
│ └── stores/ # Pinia 状态管理
│ └── codeStore.js # 代码存储
├── public/ # 静态资源
│ ├── config.json # 默认配置
│ └── options.js # 选项页面脚本
├── options.html # 选项页面
├── index.html # 弹窗页面
├── manifest.json # 扩展配置
├── package.json # 项目配置
└── README.md # 项目说明
- 页面检测:检测当前页面是否为 PTA 答题页面或提交结果页面
- 浮动窗口:创建和管理浮动窗口,支持拖拽
- 代码提交:通过 fetch 请求提交代码
- AI 答题:调用 OpenAI API 生成代码
- 结果分析:提取提交结果,提供 AI 纠错
- 选项页面:提供可视化配置界面
- 配置项:
- 自动弹出浮动窗口
- 题目提取延迟
- 编程语言选择
- AI 启用状态
- OpenAI API 密钥
- AI 模型选择
- 系统提示词
- 纠错提示词
- 代码生成:根据题目描述生成代码
- 代码纠错:根据提交结果和错误信息生成正确代码
- 提示词模板:支持自定义提示词,包含语言、错误类型、编译器提示等变量
- 安装扩展:
- 克隆仓库
- 运行
cnpm install安装依赖 - 运行
cnpm run build构建项目 - 在 Chrome 扩展管理页面,加载已解压的扩展(选择 dist 目录)
- 配置扩展:
- 点击扩展图标,进入选项页面
- 配置 OpenAI API 密钥
- 选择编程语言和 AI 模型
- 自定义提示词(可选)
- 使用扩展:
- 打开 PTA 答题页面,浮动窗口会自动弹出
- 输入代码并点击提交按钮
- 查看提交结果,结果分析窗口会自动弹出
- 点击"获取答案"按钮获取 AI 生成的正确代码
- 点击"一键复制"按钮复制代码
- PTA API:
- 提交代码:
POST /api/exams/{examId}/exam-submissions - 获取题目:
GET /api/problem-sets/{problemSetId}/exam-problems/{problemId} - 获取提交结果:
GET /api/submissions/{submissionId}
- 提交代码:
- OpenAI API:
- 代码生成:
POST /chat/completions
- 代码生成:
- 需要配置有效的 OpenAI API 密钥才能使用 AI 功能
- 扩展仅在 PTA 网站上工作
- 请遵守 PTA 平台的使用规则
欢迎提交 Issue 和 Pull Request,帮助改进这个项目!