Skip to content
 
 

Repository files navigation

🐾 POJPaw —— AI OpenJudge 学习伙伴 🐱

License Releases Chrome Edge

🌐 简体中文


Warning

🚨 特别提醒 (v1.0.2 及之前版本用户) 更新扩展时请不要移除旧版本,否则会导致做题记录丢失! 请务必查看 📥 正确的更新方法 以保留您的数据。

✨ 最近更新

v1.0.3 (2026.01.03)

类型 描述
☁️ 新功能 云端同步:支持多设备间同步做题进度和设置,自动合并数据防止丢失
🔧 优化 移除了 Dashboard 中易误触的重置按钮,增强数据安全性
🧪 质量 新增大量单元测试,确保核心逻辑稳定性

v1.0.2 (2025.12.22)

类型 描述
🚀 新功能 支持更多 LLM 模型 (OpenAI, Gemini, Claude)
🔧 优化 优化了模型响应解析和流式传输稳定性

v1.0.1 (2025.12.19)

类型 描述
🚀 新功能 新增版本自动检测与更新通知功能
📢 商店 v1.0.1 已发布至 Edge 扩展商店

💡 即将上线

更多功能正在开发中...
  • 👗 更丰富的宠物系统
  • 📊 Dashboard知识点总结和题目智能推荐
  • 🤖 更强大的AI助手

📝 项目介绍

POJPaw (by ByteMate Team) 是一个专为 OpenJudge 平台设计的 AI 编程学习助手 Chrome 扩展。它通过集成大语言模型(LLM),为学生提供实时的编程指导、思路提示、代码纠错和知识推荐,同时配备了可视化的学习仪表盘和电子宠物陪伴系统。

✨ 核心特性

🤖 智能辅助功能

POJPaw Screenshot

  • 📚 问题引导 (Guide):像老师一样循循善诱,分步骤引导你思考解题方向,而不是直接给出答案。
  • 💡 思路提示 (Hint):当你卡壳时,提供关键的算法思路和逻辑提示。
  • 🔧 代码纠错 (Fix):分析你的代码错误,提供具体的修改建议。
  • 📖 知识推荐 (Recommend):根据当前题目,推荐相关的算法知识点和学习资源。
  • 💬 伙伴对话 (Chat):点击小猫进行简单的互动,获取鼓励和陪伴。

🖥️ 交互体验

  • 完整题库:POJ完整题库检索 POJPaw Screenshot
  • 纯客户端架构:无需安装本地 Node.js 服务器,安装插件即用。
  • 多语言支持:支持生成 C++Python 代码,满足不同学习者的需求。 POJPaw Screenshot
  • 悬浮小猫助手:可爱的像素风小猫常驻页面,点击即可唤起功能菜单。
  • 侧边栏交互:流畅的侧边栏动画,支持 Markdown 渲染、代码高亮和一键复制。 POJPaw Screenshot
  • 用户反馈系统:对 AI 回答不满意?一键反馈,帮助我们持续优化。

📊 学习仪表盘 (Dashboard)

POJPaw Screenshot

  • 数据统计:记录你的每日刷题量
  • 知识图谱:可视化展示你已掌握的算法知识点。
  • 电子宠物:随着你的学习进度成长,提供情感陪伴。

📈 智能遥测 (Telemetry)

  • 隐私安全:使用匿名 ID,不收集任何个人身份信息。
  • 效能分析:自动分析“复制 AI 代码”后的提交通过率,评估辅助效果。
  • 实时监控:基于 Google Analytics 4 的实时系统状态监控。

更多可查看我们的隐私政策遥测系统文档


🚀 安装指南

方式一:浏览器扩展商店下载安装

  1. Edge 商店点击前往下载
  2. Chrome 商店:暂未通过审核

方式二:加载已解压的扩展程序(推荐开发/测试)

为了防止更新时数据丢失(Chrome 会根据文件夹路径生成 ID),建议采用以下方式安装和更新:

  1. 建立固定文件夹:在电脑上创建一个固定的文件夹(例如 D:\Extensions\POJPaw),以后不要修改这个文件夹的名字或位置
  2. 下载并解压:下载最新的 Released ZIP 包。
  3. 放入文件:将解压后的所有文件复制到上述固定文件夹中。
    • 初次安装:直接复制进去。
    • 版本更新:将新版本解压后的内容全量覆盖到该固定文件夹中。
  4. 加载扩展
    • 打开 Chrome/Edge 扩展管理页面 (chrome://extensions)。
    • 开启右上角的“开发者模式”。
    • 点击“加载已解压的扩展程序”,选择这个固定文件夹

⚠️ 更新注意事项: 当有新版本时,请只替换固定文件夹内的文件,然后在扩展管理页面点击本扩展的 刷新/重载 按钮(⟳ 图标)。 千万不要在浏览器中点击“移除”扩展,也不要更改固定文件夹的路径,否则会导致本地存储的做题记录和设置丢失!

⚙️ 配置说明

安装完成后,点击浏览器右上角的插件图标(POJPaw 图标)打开设置面板:

  1. 选择模型:支持 DeepSeek, Qwen (通义千问), OpenAI (GPT-4o), Google Gemini, Anthropic Claude 等。
  2. 配置 API Key
    • 输入您的 API Key。
    • 或者留空,你仍然可以拷贝prompt到自己偏好的软件使用。
  3. 保存:点击保存按钮,即可开始使用。

💻 开发环境配置(仅开发者)

注意:普通用户不需要安装 Node.js,直接加载插件即可使用。以下步骤仅适用于需要运行单元测试或参与开发的贡献者。

本项目支持完整的单元测试(基于 Jest + JSDOM),且支持跨平台开发。

  1. 环境要求:请确保已安装 Node.js (推荐 v18+)。
  2. 安装依赖
    npm install
  3. 运行测试
    npm test
    测试覆盖了 Popup 设置逻辑、侧边栏交互以及数据统计功能。

📂 项目结构

POJPaw/
├── manifest.json        // 扩展核心配置文件 (Manifest V3)
├── background/          // 后台服务 (Service Worker)
│   └── background.js    // 处理 API 请求、遥测、状态管理
├── content/             // 页面注入脚本
│   ├── content-script.js // 主要 UI 逻辑、DOM 操作
│   ├── result-check.js   // 提交结果检测
│   └── style.css         // 注入页面的样式
├── popup/               // 插件弹窗 (设置页)
├── dashboard/           // 仪表盘页面
├── api/                 // (已废弃) 旧版后端接口定义
├── assets/              // 图片资源 (UI图标、小猫动画)
├── prompts/             // Prompt 提示词模板
└── package_extension.sh // 打包脚本

🛠️ 开发说明

  • 架构变更:本项目已从“插件+本地后端”迁移至纯客户端架构。所有 LLM API 调用均在 background.js 中通过 fetch 直接发起。
  • 遥测系统:集成了 GA4 Measurement Protocol。相关配置位于 background.js 顶部。
  • 样式修改:主要 UI 样式位于 content/style.css,采用 Shadow DOM 思想(但在 Content Script 中直接注入 CSS)以避免样式冲突。

🧪 单元测试

本项目包含完整的单元测试套件,覆盖了 Popup、Content Script、Background Service 和 Dashboard 的核心逻辑。

运行测试:

npm test

查看测试文档:UNITTEXT.md

🗺️ 打包安装

Mac / Linux 用户: 在终端运行:

./package_extension.sh

或者

bash package_extension.sh

脚本会在根目录生成带有版本号的压缩包(例如 POJPaw_v1_0_3.zip)。将该 ZIP 文件发送给用户,解压后按照“方式一”加载即可。

Mac/Linux 用户提示:

  1. 环境中没有下载 zip: 确保在unix/linux环境下运行 sudo apt install zip 安装。
  2. 运行时遇到 syntax error: unexpected end of file: 可能是在 Windows 中编辑的脚本包含不兼容的换行符(CRLF),请使用 vim 修改格式:
vim package_extension.sh
:set ff=unix
:wq

Windows 用户: 在 PowerShell 中运行:

.\package_extension.ps1

📝 贡献

欢迎提交 Issue 和 Pull Request!


Last Updated: 2026-01-03

About

致力于开发有温度的 AI Software 目前聚焦在搭建好玩、好用的智能学习辅助软件,让技术更有温度,让学习更有效率。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages