前言¶
Agent / LLM 应用方向的面试,常见问题不在「有没有刷过题」,而在回答能不能和简历、项目对上号,以及被追问时能否讲清机制、边界和度量。纯题库或纯聊天往往缺一条闭环:题从哪来、记忆怎么加权、作答怎么复盘、深挖怎么分层。
dsh-interview-coach 是 DeepSeek Harness(DSH)上的工作流类插件,把预置 Agent 题库、简历优先的本地记忆、文字 Mock、三层深挖、补充提问和回答库放进同一套界面;当前版本 0.8.1,不采集系统音频、不接摄像头、不依赖 TTS,也不在面试中替候选人说话。下面介绍它做什么、怎么装、怎么用,以及使用前需要接受的边界。
这是什么¶
- 名称:
dsh-interview-coach(仓库 jasoncai0/dsh-interview-coach) - 维护者:jasoncai0
- 分类:工作流(社区目录:skillhub 插件页)
- 定位:Mock-first 面试教练——Agent 题库、简历落地记忆、HUD 常驻条、三层深挖与面试官模式 v1(单候选人)
首次进入需选择身份(候选人 / 面试官),之后可在右上角切换;两边数据隔离。候选人侧主线是 Setup → Mock → 复盘 → 回答库 → 题库;面试官侧是准备 → 计划 → 面试 → 评估 → 题库。
核心功能¶
Setup 与记忆¶
在 Setup 粘贴简历(候选人路径下为必须)、目标 JD、补充材料;支持单文件或整个目录递归导入。目录会读取 .txt / .md / .docx,按文件名分到对应输入框;跳过 PDF、图片、隐藏目录和 node_modules/dist 等,单文件 ≤8MB、最多 50 个文件/30MB。
Memory 把材料拆成卡片并保留来源权重:简历权重最高,冲突时优先简历。检索为 BM25 + 本地哈希向量 + 来源权重的混合排序(当前 lib/memory.js 为确定性本地哈希词向量,无网络、无模型下载;BGE ONNX 为后续替换点)。
Mock 与 HUD¶
Mock 从 120 道预置 Agent 题(L0–L4,每级 24 道,40 道精修)和本地「我的题」抽题;题源可选 mixed / preset / personal。作答时 HUD(候选人 shell.overlay)只显示题号/计时,不显示答案;待机默认收成 32px 小圆点。进行中可跳过本题(不评分,复盘统计跳过数)或重新开始(确认后按同一题量和来源重开)。快捷键:⌘⇧H panic hide,Esc 折叠已展开答案。
反馈、深挖与补充提问¶
提交后通过 DSH ctx.llm.stream,按 cue → short_answer → full_answer 生成提示、短答和完整参考;并判定 Claim 类型与证据状态,按证据覆盖校准 0–100 分。界面展示你的原话,正确片段绿色、错误片段橙色,并列出纠正与遗漏;模型失败或非法 JSON 时回退到题库答案。
Deep Dive:主问题提交后最多三层追问(机制与细节 → 边界与权衡 → 实战与度量),每层单独评分并给参考答案,最后汇总深挖均分与重复缺口。
补充提问:参考答案下自动给出 3 个可点追问,也可自输问题;每次先给参考回答,再给解释与补充,并生成新的可点追问。
个性化题库与回答库¶
Personal Bank:在 Bank 页从记忆生成 5/10/20 道个性化题(默认 5),先预览再加入;超过 70 秒会中止并返回本地兜底题。加入后只存本地,不改 120 道预置题。
Answer Library:每次提交主题回答/深挖回答后自动保存;可按题目、答案、知识点搜索,按 L0–L4、分数段筛选与收藏;深挖回答标注母题。回答库最多 1000 条。
面试官模式 v1¶
面试官路径:准备(填候选人和简历/JD)→ 计划(6/8/10 题)→ 面试(逐题记录回答、笔记和信号)→ 评估(四维证据草稿)。v1 仅支持单候选人,不做实时 HUD,也不替面试官做录用决定。详见仓库 docs/interviewer-mode.md。
明确未做事项¶
多候选人对比、实时 ASR、系统音频/视频、TTS(配置保留默认关闭)、联网搜索(ctx.web.search 未接入)、屏幕共享下 HUD 无法从捕获中排除等,均在 README「还没做」中写明;正式远程面试需自备第二屏/手机或接受暴露风险。
安装与启用¶
插件以当前 DSH 进程权限运行,安装前建议浏览源码与 MIT 许可证。
在 DSH 中通过 Plugin Manager 安装本目录(不要手改 profile):
plugin_manager install_bundle <本目录绝对路径>
也可从 GitHub 安装:
dsh plugin --profile <profile> add github:jasoncai0/dsh-interview-coach
安装后刷新 DSH Web GUI,侧边栏出现「面试教练」。配置在 cordis.patch.yml:
provider: deepseek-account
model: deepseek-flash
mockQuestionCount: 10
embeddingProvider: local
ttsEnabled: false
模型不可用时,反馈会自动回退到题库参考答案,不会让 Mock 卡死。运行环境要求 Node.js >= 20(见 package.json)。
典型用法(候选人)¶
- 首次打开「面试教练」选候选人,进入 Setup 保存简历、JD、补充材料。
- 进入 Mock,选择题量、层级、主题与题源,开始作答。
- 提交后查看逐句高亮与纠正;对照
cue/short_answer/full_answer;用补充提问或「开始深挖」继续,或进入下一题。 - 结束后到 Review 看总分、维度分、深挖均分和改进行动。
- 回答库 检索历史回答;Bank 可「从记忆生成」预览后加入「我的题」,再在 Mock 中选「仅我的题」或「混合」。
面试官按 README「使用」一节中的准备 → 计划 → 面试 → 评估 顺序操作即可。
数据与故障处理¶
本地数据目录:
$DSH_HOME/storages/interview-coach/
profile.json
memory.json
sessions.json
personal-bank.json
answer-bank.json
interviewer/
candidates/*.json
plans/*.json
sessions/*.json
写入为原子替换;卡片 embedding 不落盘,加载时重建。预置题库在 bank/agent.jsonl 及 bank/L0.jsonl … L4.jsonl。
常见提示:Mock session 失效时客户端会清旧状态并重开;同一时间仅保留一个 active Mock;「从记忆生成」报 NO_MEMORY 时先在 Setup 保存材料;删除使用中的「我的题」会返回 PERSONAL_IN_USE,需先结束 Mock。
适用场景与注意¶
适合在 DSH 内自练 Agent / LLM 应用向面试、按简历定向生成题、需要文字 Mock + 证据向评分 + 深挖复盘闭环的开发者。不适合依赖实时语音面试、多候选人人才库或自动录用决策的场景。
DSH 生态理念是「一切皆插件」;SkillHub 目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。
架构与路线可参考仓库内 docs/design.md、docs/deep-dive.md、docs/interviewer-mode.md。
结尾¶
dsh-interview-coach 把「题库 + 简历记忆 + 模拟问答 + 复盘」收成一条可在本机完成的闭环,并附带面试官 v1 工作区。需要安装与详情时,可查社区目录 skillhub.cn/plugins/jasoncai0/dsh-interview-coach 与 GitHub 仓库 github.com/jasoncai0/dsh-interview-coach。