[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80093":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":14,"starSnapshotCount":14,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},80093,"InterviewForge","K1XE\u002FInterviewForge","K1XE","Local-first interview recording review reports with a Codex skill and CLI.",null,"Python",67,6,58,0,4,8,3,45.34,"MIT License",false,"main",true,[],"2026-06-12 04:01:26","# InterviewForge\n\n\u003Cp align=\"center\">\n  \u003Cb>把本地面试录屏锻造成结构化、可追溯、可复习的中文 PDF 面试复盘。\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cb>中文\u003C\u002Fb> · \u003Ca href=\"README.en.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FK1XE\u002FInterviewForge\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg alt=\"CI\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002FK1XE\u002FInterviewForge\u002Fci.yml?branch=main&label=CI&style=for-the-badge\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-gold?style=for-the-badge\">\u003C\u002Fa>\n  \u003Cimg alt=\"Python\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.9%2B-3776AB?style=for-the-badge&logo=python&logoColor=white\">\n  \u003Cimg alt=\"Local First\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPrivacy-Local--First-16a34a?style=for-the-badge\">\n  \u003Cimg alt=\"Agent Skill\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAgent-Skill-111827?style=for-the-badge\">\n  \u003Cimg alt=\"Codex Skill\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCodex-Skill-111827?style=for-the-badge\">\n  \u003Cimg alt=\"Claude Code Skill\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude%20Code-Skill-D97757?style=for-the-badge\">\n  \u003Cimg alt=\"OpenCode Skill\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOpenCode-Skill-2563EB?style=for-the-badge\">\n  \u003Cimg alt=\"Gemini CLI Skill\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGemini%20CLI-Skill-4285F4?style=for-the-badge\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Finterviewforge-readme-hero.png\" alt=\"InterviewForge workflow overview\" width=\"100%\">\n\u003C\u002Fp>\n\nInterviewForge 面向本地面试视频、面试录音和 mock interview。它不是逐字稿排版器，也不是课程笔记生成器；它更像一份面试后的作战复盘：尽量完整地记录面试官问了什么、你真实答了什么、哪些回答有风险、下次可以怎么更稳。\n\n核心输出是一份中文 LaTeX PDF：\n\n- 🎙️ 从本地音视频抽取和规范化转写证据；\n- 🧭 高召回恢复面试官问题，而不是只挑 5-6 个摘要问题；\n- ✍️ 把候选人的真实回答整理成可读的“清理原话”；\n- 🧪 给每题加 `strong \u002F passable \u002F risky \u002F weak` 质量标签和 `1-5` 分；\n- 📚 为建议答案、技术纠正和后续资料附上可追溯来源；\n- 📄 用 LaTeX 生成适合打印和复习的 PDF，并用 PDF 工具校验。\n\n## 🧠 Agent 集成\n\nInterviewForge 可以直接作为 Agent Skill 使用，入口是 [`skill\u002Finterviewforge\u002FSKILL.md`](skill\u002Finterviewforge\u002FSKILL.md)。如果你想让自己的 AI 助手安装并配置它，可以直接把这句话发给 Codex、Claude Code、OpenCode、Qwen Code、Copilot、Gemini CLI、Cursor、Aider、Cline 或 Roo Code：\n\n```text\n请你帮我安装一下 https:\u002F\u002Fgithub.com\u002FK1XE\u002FInterviewForge\n```\n\n面向 agent 的详细安装说明在 [`AGENTS.md`](AGENTS.md)，包括各类 coding agent \u002F coding CLI 的 skill 目录、软链接方式和旧名迁移。\n\n## 🚀 安装 CLI\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FK1XE\u002FInterviewForge.git\ncd InterviewForge\npython3 -m pip install --upgrade pip setuptools wheel\npython3 -m pip install -e .\n```\n\n完整视频流水线建议本机准备：\n\n| 工具 | 用途 |\n|---|---|\n| `ffmpeg` \u002F `ffprobe` | 媒体探测和本地音频抽取 |\n| WhisperX \u002F faster-whisper \u002F mlx-whisper \u002F openai-whisper | 本地 ASR 后端 |\n| `latexmk` \u002F `xelatex` | 中文 LaTeX PDF 编译 |\n| `pdfinfo` \u002F `pdffonts` \u002F `pdftotext` | PDF 校验 |\n\n## ⚡ 快速开始\n\n生成虚构样例：\n\n```bash\ninterviewforge sample --out \u002Ftmp\u002Finterviewforge-sample\nopen \u002Ftmp\u002Finterviewforge-sample\u002Finterview_review.pdf\n```\n\n渲染已有 `review_plan.json`：\n\n```bash\ninterviewforge render --workdir \u002Fpath\u002Fto\u002Frun\ninterviewforge validate --workdir \u002Fpath\u002Fto\u002Frun\n```\n\n处理真实本地视频的最小流程：\n\n```bash\ninterviewforge init --workdir \u002Fpath\u002Fto\u002Frun --input \u002Fpath\u002Fto\u002Finterview.mov\ninterviewforge pipeline probe --input \u002Fpath\u002Fto\u002Finterview.mov --out-dir \u002Fpath\u002Fto\u002Frun\u002Fsupporting_files\ninterviewforge pipeline extract-audio --input \u002Fpath\u002Fto\u002Finterview.mov --audio \u002Fpath\u002Fto\u002Frun\u002Fsupporting_files\u002Faudio.wav\n```\n\n之后用本地 ASR 生成 transcript，再按 skill 流程抽取问题、整理回答、生成 `review_plan.json`，最后执行：\n\n```bash\ninterviewforge render --workdir \u002Fpath\u002Fto\u002Frun\ninterviewforge validate --workdir \u002Fpath\u002Fto\u002Frun\n```\n\n## ✨ 效果预览\n\n样例使用完全虚构的缓存系统项目和二分查找代码题，不包含真实面试信息。\n\n| 首页摘要 | 问题卡片 | 后续资料 |\n|---|---|---|\n| ![sample cover](docs\u002Fassets\u002Finterviewforge-sample-cover.png) | ![question card](docs\u002Fassets\u002Finterviewforge-question-card.png) | ![resources](docs\u002Fassets\u002Finterviewforge-resources.png) |\n\n样例 PDF：[`examples\u002Fminimal\u002Finterview_review.pdf`](examples\u002Fminimal\u002Finterview_review.pdf)\n\n## 🧩 工作流\n\n```mermaid\nflowchart LR\n    A[\"本地视频\u002F音频\"] --> B[\"ffprobe + ffmpeg\"]\n    B --> C[\"本地 ASR\"]\n    C --> D[\"问题候选\"]\n    D --> E[\"回答证据窗口\"]\n    E --> F[\"Agent 清理原话\"]\n    F --> G[\"review_plan.json\"]\n    G --> H[\"LaTeX 渲染\"]\n    H --> I[\"PDF 校验\"]\n```\n\n确定性脚本负责媒体探测、音频抽取、目录初始化、渲染和校验；agent\u002FLLM 步骤负责判断更强的部分：从 `answer_polish_queue.json` 里按证据窗口清理问题和回答，避免报告读起来像原始 ASR 噪声。\n\n## 📁 输出结构\n\n每次运行默认使用干净的两级结构：\n\n```text\ninterview_review.pdf\nreferences.md\nsupporting_files\u002F\n  review_plan.json\n  transcript_normalized.json\n  interview_events.json\n  source_registry.json\n  question_candidates.json\n  answer_polish_queue.json\n  interview_review.tex\n  quality_report.json\n```\n\n根目录只放最终报告和引用说明；可重建材料放在 `supporting_files\u002F`。真实音视频、ASR 原始输出和 LaTeX 临时文件默认不应该提交。\n\n## 📝 报告结构\n\n| 章节 | 目的 |\n|---|---|\n| 首页摘要 | 快速结论、风险、亮点和下一场优先级 |\n| 面试官问题与我的回答 | 主体内容：具体问题 + 清理后的真实回答 |\n| 重点追问复盘 | 5-8 个最可能影响判断的问题 |\n| 代码题复盘 | 题目、思路、错误路径、模板、复杂度和口述稿 |\n| 高风险技术点速记 | 面试可用的短规则卡和技术纠正 |\n| 参考来源 | 本地证据和公开技术来源 |\n| 后续巩固资料 | 5-8 条和本场暴露问题匹配的学习资料 |\n\n问题卡片通常包含：\n\n| 字段 | 说明 |\n|---|---|\n| 时间 | 对应 transcript \u002F video 时间窗 |\n| 质量标签 | `strong`、`passable`、`risky`、`weak` |\n| 分数 | `1\u002F5` 到 `5\u002F5` |\n| 面试官问题 | 尽量贴近原问法 |\n| 我的回答 | 清理原话，不是标准答案改写 |\n| 建议答案 | 1-3 句，短而有来源 |\n| 来源 | 本地事件 id 和公开技术来源 |\n\n## 🛡️ 隐私默认值\n\nInterviewForge 默认按隐私优先设计：\n\n| 默认值 | 行为 |\n|---|---|\n| 不上传 | 视频、音频、转写、截图和报告默认留在本机 |\n| 不放真实样例 | 仓库只包含虚构样例 |\n| 不暴露绝对路径 | PDF 和 `references.md` 默认只显示 event id、artifact id、时间段 |\n| 不编造事实 | 个人项目事实只能来自本地证据或用户补充材料 |\n| 技术纠正要有来源 | 论文、官方文档、官方 repo、课程或高质量公开资料 |\n\n## 🧪 样例\n\n虚构样例位于 `examples\u002Fminimal\u002F`：\n\n| 文件 | 说明 |\n|---|---|\n| `review_plan.sample.json` | 完整的 sourced report plan |\n| `transcript.sample.json` | 极小虚构转写 |\n| `question_candidates.sample.json` | 极小虚构问题候选 |\n| `interview_review.pdf` | 预渲染样例 PDF |\n\n## ✅ 校验\n\nCI 会检查：\n\n- CLI 和 bundled scripts 的 Python 语法；\n- editable install；\n- minimal sample PDF 生成；\n- `validate_report.py` 报告校验。\n\n真实运行时也建议检查：\n\n```bash\npdftotext interview_review.pdf -\npdffonts interview_review.pdf\npdfinfo interview_review.pdf\n```\n\n## 📚 更详细的中文介绍\n\n我写了一篇更完整的中文介绍文档，包含使用场景、流程图、输出结构、样例截图、隐私设计和 FAQ：\n\n[InterviewForge：本地优先的面试视频复盘工具](https:\u002F\u002Ffeishu.cn\u002Fwiki\u002FOrkjwGLE2in1iBkvAFdcBVg5nCe)\n\n## 🙏 致谢\n\nInspired by [`wdkns\u002Fwdkns-skills`](https:\u002F\u002Fgithub.com\u002Fwdkns\u002Fwdkns-skills).\n\n## 📄 License\n\nMIT\n","InterviewForge 是一个用于生成结构化、可追溯的中文面试复盘报告的工具。其核心功能包括从本地音视频中抽取和转写内容，高召回恢复面试官问题，并对候选人的回答进行质量评估与整理，最终以 LaTeX PDF 形式输出便于打印和复习的文档。该工具支持多种 AI 技能集成，如 Codex、Claude Code 等，并提供命令行界面方便用户操作。适用于需要对面试过程进行全面回顾和分析的场景，特别适合求职者和技术面试官使用。",2,"2026-06-11 03:59:14","CREATED_QUERY"]