一个本地运行的八股背诵工具,FastAPI + Vue 3,数据存在本机 SQLite。 可以录入自己的题库,用记忆训练、面试模拟、回忆三种模式背题,AI 负责判分和复盘。
就是为了准备面试开始背诵八股,所以写了这个小东西,方便记忆和补错。 看八股的时候觉得都会,被问到就答不上来,所以工具里加了"考"的环节: 出题、判分、追问、复盘都交给 AI,答错的题自动进待补答队列,后面优先重背。
整体是纸墨风格,图表是手绘 SVG,没有用图表库。
首页三个入口:记忆训练、面试模拟、回忆模式(按遗忘规律挑出快忘的题)。 选好技术栈和题量就可以开始。
记忆训练先给题干和标准答案,确认记好了以后打乱顺序开考,题干会换成面试官口吻的说法。 每答一题立刻出分,分准确性、逻辑、自然度三个维度。 如果回答和标准答案逐字重合度太高,会被判成背诵痕迹,自然度直接压低。
面试模拟限时两分钟一题,过程中不反馈对错,全部答完才出复盘报告。 答错会进入待补答队列,跳过直接判负。
复盘报告逐题对照你的回答和标准答案,遗漏的要点会标出来, 另外给出薄弱点分析和复习建议。
题库按技术栈和知识点两级分组,每个知识点一格,背过就涂黑。 内置 174 题(Python / Agent / 数据库 / Vue3),也可以导入自己的资料。
录入支持粘贴文本,也支持上传 md / txt / json / pdf,可以多选。 整篇八股文档可以直接扔进去,LLM 会提取里面真正的面试题, 缺答案的自动补全,重复的自动跳过。录入在后台执行,关页面不影响,重新打开能接着看进度。
仪表盘包括每日背诵记录、答题趋势、各技术栈正确率、知识图谱和 API 消耗统计。 每次 LLM 调用的 token 和估算费用都有记录,失败的调用也会记账。
背诵时选中句子,右键可以存进笔记,相关的知识点可以记到一起。
需要 Python 3.11+ 和 Node 18+。
1. 后端(端口 8000)
cd backend
python -m venv .venv
source .venv/Scripts/activate # Windows Git Bash;CMD 用 .venv\Scripts\activate
pip install -r requirements.txt在项目根目录新建 .env:
DEEPSEEK_API_KEY=sk-... # 必填:出题 / 判分 / 助理对话
KIMI_API_KEY=sk-... # 可选:备用 Provider,DeepSeek 不可用时自动切换cd backend
uvicorn main:app --port 80002. 前端(端口 5173)
cd frontend
npm install
npm run dev浏览器打开 http://localhost:5173 。
两种方式:
- 写进根目录的
.env; - 或者在「仪表盘 → 模型与密钥配置」页面里填,效果一样(也是写回
.env)。
DeepSeek 目前有两种模型:DeepSeek V4 flash 和 DeepSeek V4 PRO。推荐使用 flash,默认就是它。 另外 DeepSeek 分峰谷时段计价,北京时间 9-12 点、14-18 点是高峰,其余时间半价, 批量导入题库可以放在非高峰跑。
Key 只保存在本机
.env,接口只返回掩码,不写日志、不进 localStorage。.env已在.gitignore里,但自己注意不要截图外发。
- 仪表盘 → 录入题库,上传文件或粘贴文本;
- 首页 → 记忆训练,先背后考,每题即时出分;
- 首页 → 面试模拟,限时作答,结束出复盘报告;
- 答错的题自动进待补答队列,下次记忆训练优先重背;
- 背诵时把好句子右键存进笔记;
- 仪表盘查看正确率走势和 API 消耗。
- 后端:FastAPI + SQLModel(SQLite),6 个 Agent 分工(总控 / 面试官 / 评分 / 策略 / 助理 / 录入清洗)
- 前端:Vue 3 + Vite,无 UI 框架,图表手绘 SVG
- LLM:DeepSeek / Kimi 双 Provider,失败自动切换
backend/ FastAPI 应用(api 路由 / agents / llm 封装 / models / tests)
frontend/ Vue 3 单页应用(views / components / api / mock 演示数据)
data/ SQLite 库和题库源文件(本地数据,不进 git)
docs/ 需求文档、方案设计、页面截图
后端测试:cd backend && pytest tests/ -q(202 项)
- 语音输入没有内置。想练口述作答,可以用腾讯输入法或豆包输入法的语音输入,直接对着答题框说。
- 后端没启动时,前端会回退到内置演示数据,左下角显示"离线模式",不会白屏。
MIT








