English README · 技术报告 · mywork 指南 · 常见问题
在线试用入口(无需本地安装)
如果你正在准备技术面试,大概率会遇到这三个死局:
- “结合你的项目讲讲?” —— 八股文背得再熟,面试官一问怎么落地到你的项目里,大脑直接空白。
- “收藏从未停止,学习从未开始” —— 存了上百个面经和教程仓库,零散破碎,根本不知道从哪看起,也连不成一条学习主线。
- “AI 模拟面试太水” —— 用通用 AI 辅助,它只会吐出干巴巴的标准答案,根本不会像真实的面试官那样抓着细节连环追问。
OfferPotato 就是为了打破这个局面而生的。 它不是另一个平铺直叙的“八股文汇总”仓库,而是一个面试准备工作台。你只需要提供三样东西:学习指南、面经题库、你的个人材料(代码/论文/笔记)。它会把这些整合成一个串联的知识域,不仅告诉你这题怎么答,还会翻出你的代码告诉你**“结合你的这个项目,你应该这么聊”**。
| 输入 | OfferPotato 的处理 | 输出 |
|---|---|---|
| 主线学习文档 | 切分章节、提取知识点、建立路径 | 可顺畅阅读的主线文档站 |
| 面经题库 | 去重、分类、关联知识点 | 挂载在章节底部并高亮的面经集合 |
mywork/ (个人材料) |
递归扫描、相关性评估、保守引用 | 结合你真实项目经验的个性化回答 |
| Codex | 受管调用、任务化运行、实时刷新 | 批量生成答案、压力面试对练、文档翻译 |
OfferPotato 不绑定特定技术栈。无论你是准备 LLM、前端、后端、算法还是其他方向,只要有“教程 + 面经 + 个人项目”,就可以套用这套工作流。
- 文档与题库联动:把完整的学习指南作为阅读主线,相关面经题目会作为“注脚”直接高亮在对应知识点处。
- 结合经验生成答案:告别套话。AI 会优先读取
mywork中的个人项目代码、实验记录或笔记,为你量身定制回答逻辑。找不到相关经验时,也会诚实地回归知识点本身。 - 压力面试模式:生成答案只是开始。系统会扮演面试官,针对你的回答继续卡边界、抠细节,进行多轮深度追问。
- 沉浸式 AI 工作台:内置受管 Codex 浮窗,支持在阅读文档时直接追问、补充文件或修改正文,所见即所得。
- 面经一键导入:支持直接粘贴文本或截图 OCR 导入新题目,自动结构化入库。
仓库内置了公开的测试数据,即便你还没整理好自己的资料,也可以直接跑起来体验整套界面和工作流。
git clone https://github.com/ly-xxx/Offer-Patato.git
cd Offer-Patato
npm install
npm run setup:serve该脚本会自动完成检查、同步公开源、构建 SQLite 索引及前后端,并在 6324 端口启动服务。启动后直接访问:http://127.0.0.1:6324。
(注:请确保本地已配置好可用的 codex / codex-cli,OfferPotato 本身不提供大模型 API,需自行解决调用渠道)
- 使用内置示例源启动站点,熟悉主界面布局。
- 进入设置页,将
mywork路径绑定到你真实的本地项目目录。 - 启动索引任务,等待你的代码/笔记被纳入知识库。
- 打开一篇主线文档,查看底部的关联题目。
- 挑选一题生成个性化答案,并尝试进入“压力面试模式”进行对练。
仓库已包含 GitHub Pages 自动发布工作流:.github/workflows/pages.yml。
当前发布的是 web/ 前端本体(与你本地 UI 一致),但会在部署时自动切到 demoMode:
- 前端请求会转到
web/public/demo-api/*.json示例数据 - 写操作(生成答案、重建索引、导入等)会被禁用
- 不会调用后端,也不会触发模型 token 消耗
- 打开仓库
Settings -> Pages。 Build and deployment选择Source: GitHub Actions。- 推送一次
main分支,等待Deploy Web Demo To GitHub Pages工作流完成。
你可以直接改这些文件来更新线上展示内容:
web/public/demo-api/meta.jsonweb/public/demo-api/questions.jsonweb/public/demo-api/questions/*.jsonweb/public/demo-api/documents*.jsonweb/public/demo-api/work-projects*.json
工作流会在发布时自动生成 runtime-config.json 并启用 demoMode:
{
"apiBaseUrl": ".",
"wsBaseUrl": ".",
"demoMode": true
}更新文件并推送后,Pages 页面会自动同步。
主线文档、知识高亮、章节题目、mywork 引用和 Codex 浮窗全部集成在单页面内。
检索结果同时命中题库与主线,点击直达原文上下文。
| 命中题库与主线 | 直达对应文档 |
|---|---|
![]() |
![]() |
不只是标准答案,而是包含开场白、项目依据、知识骨架及高频追问的完整回答包。
| 结合项目依据 | 知识骨架与生成记录 | 后续追问与溯源 |
|---|---|---|
![]() |
![]() |
![]() |
模拟真实面试场景,逼迫你理清思路并应对细节追问。
| 答不上来时,引导说出推导路径 | 回答后,继续深挖细节 |
|---|---|
![]() |
![]() |
提供多套主题,适配长期阅读。
| 雾青 | 石墨 | 砂页 |
|---|---|---|
![]() |
![]() |
![]() |
仓库默认包含公开示例,详见 docs/SOURCES.md。系统会自动识别以下结构:
sources/
├── documents/ # 存放主线学习文档
│ └── <你的教程目录>/
└── question-banks/ # 存放面经题库
└── <你的题库目录>/
建议将你准备用来面试的项目 README、论文草稿、代码、实验记录或复盘笔记放入 ./mywork/ 目录中。该目录已被加入 .gitignore,不会被提交到远程。OfferPotato 采用保守扫描策略,仅在相关度足够高时才会进行引用关联,避免强行匹配。更多组织建议请参考 docs/MYWORK.md。
npm run bootstrap: 同步配置中声明的 Git 公开源npm run build:data: 构建 SQLite 索引npm run refresh:data: 刷新来源并重建索引npm run batch:generate: 批量生成个性化答案npm run setup:serve: 一键安装、建索引、构建并启动npm run clean:data: 清理数据库、缓存与中间产物
- docs/TECHNICAL_REPORT.md:系统架构、数据流与 Agent 实现细节
- docs/CONFIGURATION.md:数据源配置说明
- docs/CLI_AGENT.md:内嵌 CLI Agent 使用指南
- docs/TROUBLESHOOTING.md:常见问题排查
- docs/RELEASE.md & docs/PRIVACY.md:发布规范与隐私边界说明












