dsh-generic-interview-teacher:用 profile 定制你的 DSH 面试老师

前言

在 DeepSeek Harness(DSH)里做模拟面试,常见做法是把面试官人设、考核点、题库和判分文案写死在插件代码里。想换岗位、换风格就要改仓库或 fork 一份。维护者 tomorrozy 在 dsh-coach-plugins 里做过四个面向电控岗的固定老师(硬件评审 / 排错 / 测试 / 安全成本),后来把能力抽到本插件:一套通用面试引擎 + 左侧栏控制台 + 定制向导,老师是谁由 teacher profile(JSON + Markdown 配置)定义,代码不再承载具体人设。

下面介绍插件定位、架构、安装方式与两条定制路径,事实以 GitHub README 为准。社区目录见 skillhub.cn 插件页;DSH 生态主张「一切皆插件」,该目录为独立站点,与 DeepSeek / 幻方无官方从属关系。当前版本在 package.json 中为 0.1.0,许可证 MIT。

这是什么

dsh-generic-interview-teacher 是 DSH 工作流类插件:profile 驱动的面试引擎 + 左侧栏「面试教练」面板。用户可创建多个 profile、在面板中切换,每个老师的面试进度彼此独立。

分工原则(README 原述):面板负责「记住」和「展示」,模型扮演的老师负责「问」和「判」,profile 负责「定义老师是谁」。

架构与数据流

会话里模型按当前激活的 profile 出题、追问、判分;人设由 skill 模板与 profile 动态组装。引擎通过 interview_* / teacher_* 工具与通用逻辑(lib/index.js)协作:profile 装载与校验、多老师切换、状态机、原子落盘、复盘文案、按 profile 规则做工程扫描。浏览器侧 lib/client.js 经 POST /plugins/dsh-generic-interview-teacher/rpc 提供老师切换器、考核点进度、计时、提示/答案与复盘展示。

数据默认落在 <DSH_HOME>/interview-teacher/(<DSH_HOME> 默认为 ~/.dsh,可用环境变量覆盖):

内容 位置
用户定制老师 profiles/<id>/
当前激活老师 active.json
各老师进度 state-<id>.json
复盘报告 <workspace>/<recordDir>/<prefix>-<id>-<时间>.md

工程目录可由 cordis.patch.yml 的 config.workspace、profile 的 workspace.default 或面板「切换工程目录」指定。

核心能力

Profile 可配置项

一个 profile 可定制:

  • 人设:身份、语气、考什么 / 不考什么、开场白
  • 考核点:编号、分组、必考/选考、建议用时(可内联或同目录 checklist.json)
  • 题库:题干、追问、提示、参考答案、风险点;缺题时可按模板合成(可内联或 question-bank.json)
  • 流程:面试模式、追问层数、时间预算、用户命令
  • 判分:档位文案、待加强折算、覆盖率门槛、复盘总结语
  • 扫描:文件后缀 + 正则,从工程提取证据(不做语义分析,规则质量取决于 profile)
  • 落盘:复盘目录与文件名前缀

字段契约见仓库 docs/PROFILE.md;空白模板为 templates/teacher.template.json。

内置示例

profiles/example-hardware/ 为原「电控硬件面试老师」的完整转制(RoboMaster 硬件评审人设、H01–H20 考核点、20 题题库、STM32 扫描规则)。安装后可直接练习,也可复制后作为定制起点。

定制向导与工具

会话内可说「定制面试老师」:interview-teacher-customizer skill 引导约 6 轮问题(岗位、面试官身份、考核维度、追问方式、判分严格度、个性化细节),起草 profile 并经 teacher_create_profile 写入 profiles/<id>/。说「开始面试」即可训练;面板可随时切换老师。

安装与启用

前置:DeepSeek Harness(桌面端或 Web 端)。仅运行仓库自测脚本时需要 Node.js 18+。

官方 README 给出的安装方式是通过仓库内 PowerShell 脚本(幂等:备份 profile 的 package.json、登记 link: 依赖与 dsh.profile.bundles、建立 node_modules junction)。装毕需重启 DSH,左侧栏应出现「面试教练」。

# 装进桌面客户端 profile
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1 -Profile desktop

# 装进 Web profile
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1 -Profile web

卸载(README 说明会保留所有 profile、状态与复盘):

powershell -ExecutionPolicy Bypass -File .\scripts\uninstall.ps1 -Profile desktop

插件在 DSH 进程权限下运行;安装前建议自行查阅源码与 MIT 许可证,确认符合你的环境策略。README 未提供 dsh plugin add github:... 类一行命令,本文不臆造安装指令。

典型用法

路线 A:会话内向导(推荐)

  1. 完成安装并重启 DSH。
  2. 在会话中说:定制面试老师,按向导确认 profile。
  3. 说 开始面试,在左侧面板查看进度;需要时说「切换到 <id>」换老师。

路线 B:手改配置文件

  1. 将 templates/teacher.template.json 复制到 <DSH_HOME>/interview-teacher/profiles/<你的id>/teacher.json。
  2. 按 docs/PROFILE.md 填写;按需添加同目录的 checklist.json、question-bank.json。
  3. 在面板刷新或会话中说「切换到 <id>」。

离线自测(开发者)

不启动 DSH 时可在克隆后的插件目录执行(临时 DSH_HOME + 假 cordis ctx):

node scripts/selftest.mjs

覆盖 profile 装载、状态机与计分、缺题合成、复盘、skill 组装、RPC(含新建老师与进度隔离)、扫描与落盘等。

适用场景与边界

适合:需要在 DSH 里反复模拟技术面试、且希望按岗位/风格维护多套老师配置的智能体开发者或自学者;已从 dsh-coach-plugins 迁出、希望统一引擎的用户。

需注意(README「已知边界」):

  • 面板不自动判分:通过 / 待加强 / 跳过由模型扮演老师或用户写入。
  • 工程扫描为正则证据提取,非语义理解。
  • 作者在自有 DSH 版本与 Node 18/20/24 下验证;换宿主版本建议先跑 node scripts/selftest.mjs。

结尾

dsh-generic-interview-teacher 把面试老师从代码里抽到 profile,用同一套引擎支撑多老师、独立进度与可复现的复盘落盘。若要扩展或二次开发,可从 lib/index.js、skill/TEACHER.md 与 docs/PROFILE.md 入手。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜