Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

不知道起什么名字所以就叫蒋介石吧233

PTA 编程助手 — 题目提取、AI 生成代码、模拟打字输入,三合一油猴脚本。

Version

✨ 功能

功能 说明
📋 题目提取 从 PTA 平台提取题目内容,输出为标准 Markdown 格式(支持标题、段落、代码块、表格、列表、KaTeX 公式等)
🤖 AI 生成代码 调用 AI API 自动生成编程题答案,内置题型判断和代码质量优化
⌨️ 模拟打字 将生成的代码以模拟打字方式逐字符输入答题编辑器(每 30ms 输入 5 个字符),避免被 PTA 检测为粘贴
🛑 紧急停止 Esc 键可随时中断打字输入
⚙️ 可配置 AI 支持自定义 API Endpoint、API Key、Model、System/User Prompt
🎨 拖拽浮动按钮 圆形悬浮按钮可自由拖动,位置自动保存

📦 安装

  1. 安装浏览器扩展 Tampermonkey(推荐)或 Violentmonkey
  2. 点击油猴图标 → 添加新脚本 → 将 不知道起什么名字所以就叫蒋介石吧233-2.0.0.user.js 的全部内容粘贴进去
  3. 保存(Ctrl+S

🚀 使用方法

  1. 打开 PTA 平台的题目页面pintia.cn / www.pintia.cn
  2. 页面右下角会出现一个 ⚡ 圆形浮动按钮
  3. 点击按钮展开菜单:

📋 提取题目

  1. 点击菜单 「提取题目」
  2. 弹出模态框展示 Markdown 格式的题目内容
    • 自动识别题目标题、答题语言
    • 如果已有答案,会附在 Markdown 下方
  3. 点击 「复制 Markdown」 将内容复制到剪贴板

🤖 AI 生成代码

  1. 点击菜单 「AI 生成代码」
  2. 脚本自动完成:
    • 提取当前页面题目
    • 获取答题语言和已填写代码
    • 调用配置的 AI API 生成答案
    • 清理代码格式(去除 Markdown 围栏、去重)
    • 自动修复兼容性问题(scanf_sscanf 等)
    • 以模拟打字方式将代码输入答题区
  3. 浮动按钮会显示 ⏱️ 动画表示正在生成

⌨️ 粘贴辅助

在答题区编辑器中按 Ctrl+V 粘贴时,脚本会拦截粘贴操作,改为模拟打字方式输入剪贴板内容。

🛑 紧急停止

输入过程中按 Esc 可立即停止打字。

⚙️ API 设置

点击菜单 「API 设置」 打开配置面板:

配置项 说明 默认值
API Endpoint AI API 地址 https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
API Key 你的 API 密钥 (空)
Model 模型名称 qwen-plus
System Prompt 系统提示词 内置 PTA 解题专家提示
User Prompt 用户提示词模板 {question} / {target_language} / {current_answer}

默认使用阿里云百炼 DashScope,兼容 OpenAI API 格式。你也可以换成其他兼容接口(如 OpenAI、Ollama、vLLM 等)。

User Prompt 模板变量

变量 说明
{question} 提取的题目内容
{target_language} 答题语言(从页面自动识别)
{current_answer} 编辑器中已有的代码

📝 Markdown 转换说明

脚本会将 PTA 题目页面的 HTML 内容转换为 Markdown,支持以下元素:

  • 标题(h1~h6)→ # 标题
  • 段落文本,内联格式(加粗、斜体、行内代码、链接、图片、上下标、删除线)
  • KaTeX 数学公式 → 提取 annotation 文本
  • 有序/无序列表
  • 表格(自动生成分隔行)
  • 引用块 → >
  • 分割线 → ---
  • 代码编辑器内容 → ```lang\ncode\n```

🔧 技术细节

模拟打字机制

每 30ms 输入 5 个字符 → 逐块插入 → 触发 input/change 事件

使用 document.execCommand('insertText') + 降级 DataTransfer 粘贴事件双重方案,确保兼容不同编辑器实现。

AI 代码处理流程

提取题目 → 构造 Prompt → 流式请求 API → 解析 SSE → 清理代码
  ├─ 去除 Markdown 代码围栏
  ├─ 检测并截断重复程序
  ├─ 自动替换 _s 函数 → 标准函数
  └─ 警告硬编码数据

兼容性修复

脚本会自动将以下微软专属函数替换为标准 C 函数:

不安全 安全
scanf_s scanf
printf_s printf
strcpy_s strcpy
strcat_s strcat
memcpy_s memcpy
...等 12 个函数

📋 浏览器兼容

浏览器 Tampermonkey Violentmonkey
Chrome / Edge
Firefox
Safari

📄 License

MIT

👤 作者

  • weijianxian / Bzjdtc

脚本名称来自作者的原话:"不知道起什么名字所以就叫蒋介石吧233"

About

PTA自动答题脚本

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages