{"id":37562917,"url":"https://github.com/serfend/problem-killer","last_synced_at":"2026-01-16T09:08:07.156Z","repository":{"id":48157459,"uuid":"486802419","full_name":"serfend/problem-killer","owner":"serfend","description":"自定义题库的刷题工具软件","archived":false,"fork":false,"pushed_at":"2023-08-10T15:51:55.000Z","size":4664,"stargazers_count":89,"open_issues_count":61,"forks_count":20,"subscribers_count":4,"default_branch":"main","last_synced_at":"2023-08-10T21:07:18.386Z","etag":null,"topics":["exam","practice","serverless","vue","web"],"latest_commit_sha":null,"homepage":"http://prokill.serfend.top","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serfend.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-29T01:42:07.000Z","updated_at":"2023-08-07T06:43:38.000Z","dependencies_parsed_at":"2022-08-27T09:02:02.881Z","dependency_job_id":null,"html_url":"https://github.com/serfend/problem-killer","commit_stats":null,"previous_names":[],"tags_count":15,"template":null,"template_full_name":null,"purl":"pkg:github/serfend/problem-killer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fproblem-killer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fproblem-killer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fproblem-killer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fproblem-killer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serfend","download_url":"https://codeload.github.com/serfend/problem-killer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serfend%2Fproblem-killer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exam","practice","serverless","vue","web"],"created_at":"2026-01-16T09:08:06.958Z","updated_at":"2026-01-16T09:08:07.131Z","avatar_url":"https://github.com/serfend.png","language":"Vue","readme":"# problem-killer （**简单易用的刷题工具**）\n\n\u003e 基于vue+element实现，所有数据存在浏览器端。\n\u003e \n\u003e 不需要数据库，不需要服务器。\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://visitorbadge.io/status?path=https%3A%2F%2Fgithub.com%2Fserfend%2Fproblem-killer%2F\"\u003e\u003cimg src=\"https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fserfend%2Fproblem-killer%2F\u0026labelColor=%23697689\u0026countColor=%23ff8a65\u0026style=plastic\u0026labelStyle=none\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/serfend/problem-killer/releases\"\u003e\u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/release/serfend/problem-killer.svg?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/serfend/problem-killer/releases\"\u003e\u003cimg alt=\"GitHub All Releases\" src=\"https://img.shields.io/github/downloads/serfend/problem-killer/total.svg?style=flat-square\u0026color=%2364ff82\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/serfend/problem-killer/commits\"\u003e\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/serfend/problem-killer.svg?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/serfend/problem-killer/actions/workflows/node.js.yml\"\u003e\u003cimg alt=\"GitHub Workflow Status\" src=\"https://github.com/serfend/problem-killer/actions/workflows/node.js.yml/badge.svg\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n## **在线体验**\n\n体验地址：[prokill.serfend.top](http://prokill.serfend.top)\n\n## 使用方法\n\n- 方法一：直接运行\n  \n  - [下载最新发布的部署包](https://github.com/serfend/problem-killer/releases)，选中其中的`server.zip`文件下载\n  - 解压下载好的zip文件\n  - 双击运行`http_server.exe`，点击开始，然后使用谷歌浏览器访问 [http:\\\\电脑的ip地址](http://127.0.0.1)即可\n    - ![image-20220508154407390](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220508154407390.png)\n\n- 方法二：下载静态资源包使用http服务运行\n  \n  - [下载最新发布的部署包](https://github.com/serfend/problem-killer/releases)，选中其中的`static.zip`文件下载\n  - 解压下载好的zip文件\n  - 使用任意方式开启一个http服务，**例如**python在当前目录启用http服务方法 `python -m http.server 80`\n\n- 方法三：使用[node环境](http://nodejs.cn/)部署和运行\n  \n  - ```shell\n    npm install\n    npm run dev\n    ```\n  \n  - 运行完成后将自动打开网站\n\n## 功能\n\n## Features\n\n- 部署\n  - 支持直接双击运行（双击运行http-server一键完成部署网站）\n  - 支持电脑和手机多种分辨率使用\n- 刷题\n  - 设置\n    - 范围选取（可以灵活选择一个题库中的某个范围内的题）\n    - 随机题序（将选中的题目顺序打乱）\n    - 随机选项序（将选择题的选项打乱）\n    - 刷题模式（类似于背单词软件的直接选中功能）\n    - 急速模式（正确的题目将直接提交）\n    - 斩杀模式（题目完成后将会隐藏起来方便思维聚焦）\n    - 筛选连对（错题本模式）（只显示连对次数少于某次的题）\n    - 无限模式（完成一轮后点击立即开始下一轮）\n  - 题型\n    - 动态题解及用户答案再现（题解可以引用题目选项）\n    - 支持题目去重判断以及统计（可以显示哪些题存在重复）\n    - 题干特殊格式校验支持\n    - 支持快捷选择`我会做`和`我不会`\n    - 支持快捷提交答案以及快捷提交多选\n- 统计\n  - 题库静态加载和统计\n  - 题目解析和历史统计\n  - 题目筛选原因提示\n  - 当前答题轮次数据展示\n  - 题库搜索和题目模糊搜索和按字段搜索\n- 性能\n  - 支持题目懒加载（降低大量题目条件下的负荷）\n- 偏好\n  - 支持题目样式自定义（如自定义提交按钮）\n\n## 演示\n\n### 主页（目前`错题本`菜单集成到了`答题`菜单中）\n\n- ![image-20220514223406317](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220514223406317.png)\n\n### 题库选取\n\n- ![image-20220515175042851](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220515175042851.png)\n\n### 题库设置\n\n- 在 `data\\problems\\index.json`中设置题库目录。\n\n- 在`data\\problems\\database\\XXXXX.json`中设置题目内容，文件名与index.json中对应即可，可参考默认案例。\n  \n  ```json5\n  {\n      \"problems\":[\n          {\n              \"content\":\"单选题干\",\n              \"options\":[\"选项A\",\"选项B\",\"选项C\"],\n              \"analysis\":\"这题选C\",\n              \"answer\":3\n          },\n          {\n              \"content\":\"单选题干\",\n              \"options\":[\"选项A\",\"选项B\",\"选项C\"],\n              \"analysis\":\"这题选C，同时支持选项引用，这里{{OPT:3}}选项是正确答案\",\n              \"answer\":3\n          },\n          {\n              \"content\":\"多选题干\",\n              \"options\":[\"选项A\",\"选项B\",\"选项C\"],\n              \"analysis\":\"这题选AC\",\n              \"answer\":[1,3]\n          },\n          {\n              \"content\":\"多选题干\",\n              \"options\":[\"选项A\",\"选项B\",\"选项C\"],\n              \"analysis\":\"这题选A\",\n              \"answer\":[1] // 数组表示是多选题\n          },\n          {\n              \"content\":\"判断题题干\",\n              \"analysis\":\"解析也可以不写，直接去掉这个字段即可\",\n              \"answer\":true // 布尔类型表示是判断题\n          },\n          {\n              \"content\":\"填空题题干，早上好，{{ANS}}，晚上好。\\n一二{{ANS}}四五\",\n              \"answer\":[\"中午好\",\"三\"] // 字符串数组表示是填空题\n          },\n          {\n              \"content\":\"简答题题干\",\n              \"answer\":\"这里填入答案\" // 字符串表示是简答题\n          },\n      ]\n  }\n  ```\n\n### 刷题\n\n- ![image-20220514223332446](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220514223332446.png)\n- ![image-20220515174925138](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220515174925138.png)\n- ![image-20220514223341967](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220514223341967.png)\n- ![image-20220515174849716](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220515174849716.png)\n\n### 题目解析和统计\n\n\u003e 第一次做题时候不会有统计，以后再次刷到这个题的时候则会显示该题的历史做题记录\n\n- ![image-20220514223450674](https://raw.githubusercontent.com/serfend/res.image.reference/main/image-20220514223450674.png)\n\n- 刷题模式\n  \n  \u003e 如果选中该模式，则将会显示`会做`和`不会做`按钮，点击按钮可以直接完成该题的训练。适合填空题这种输入答案比较慢的题快速刷题。\n\n### 移动端\n\n- [视频演示链接](https://www.bilibili.com/video/BV16T4y1B7Fa/)\n\n## 关于\n\n如果存在bug或意见\n\n​    您可以在 [issue](https://github.com/serfend/problem-killer/issues) 中提出\n\n​    或在 [pull request](https://github.com/serfend/problem-killer/pulls) 中提交您的代码\n\n**成为贡献者！**\n\n## 状态\n\n![Alt](https://repobeats.axiom.co/api/embed/63b53df1ed2f24fae0e0a5ba87f10a785cbd5e27.svg \"Repobeats analytics image\")\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserfend%2Fproblem-killer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserfend%2Fproblem-killer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserfend%2Fproblem-killer/lists"}