@zhanghaiyun/dsh-interview-assistant
v0.4.1
Published
Background interview assistant for DeepSeek Harness with a bundled signed macOS audio service.
Maintainers
Readme
浮生面试助手 · DeepSeek Harness Bundle
一个可安装的 DeepSeek Harness 面试插件。它复用 Harness 官方模型选择与凭据,并自带独立的 macOS 音频服务与浮动面试窗口。
它提供:
- 候选人档案与事实边界
- 可冻结档案的面试会话
- Harness「插件」设置中的“浮生面试助手”控制页与全局状态胶囊
- 控制页直接开始、暂停与结束,不向 Harness 对话发送编排提示
- 面试回答默认关闭模型思考;控制页可切换为低强度思考,不影响普通 Harness 对话
- 一次开始后持续监听、自动分题,并用当前 Harness 会话选择的模型直接流式回答
- 多题队列;上一题生成时仍可继续听下一题
- 手动问题与问题分类
- 基于最近上下文的第一人称回答约束
- 回答留档与会话结束摘要
- 通过插件内置、已签名的“面试音频服务”在后台捕获麦克风或系统声音
- 原生悬浮面板同步显示转写、问题、回答和停止操作
架构边界
Harness 插件拥有面试状态机、持久化、Prompt 和工具;包内 macOS Helper 只负责音频、ASR、分句与悬浮展示,不调用第二套 LLM。控制操作走插件的本机 Host API;后台问题直接调用 Harness llm 服务,不经过 Agent 工具规划。面试数据写入 Harness 的 storage-domain,Helper 经 JSONL/stdin/stdout 随后台会话启动,插件卸载、会话停止或 Harness 退出时一并关闭。
Host、Web Client 和 macOS bridge 都在这一个插件交付物内,不需要安装第二个功能插件。Web Client 使用 Harness 官方的 settings.plugins.tab 与 shell.overlay 扩展位;模型与会话仍由官方 Harness 管理。
插件不依赖或启动 浮生.app。首次使用麦克风或系统声音时,macOS 会单独向“面试音频服务”请求权限;后续由插件自动启动和关闭它。
安装
需要 Node ^22.19.0 || >=24 和 DeepSeek Harness rc.7 CLI/rc.8 API 包。macOS 音频 Helper 已包含在插件包内,无需另装 App。
安装到 Harness 自带的 web profile:
dsh plugin --profile web add ./dsh-interview-assistant不要把 @deepseek-ai/dsh-web-app 再安装进自定义 profile。官方 Web bundle 应由当前 dsh 安装提供;把它作为 profile 本地依赖会重复加载核心 Service Definition 包,并可能导致工具调度器的运行时身份不一致。
检查配置并启动:
dsh --profile web --dump-config
dsh --profile web --no-open --port 3081如果 App 不在标准位置,可在 profile 的 cordis.patch.yml 覆盖 nativeBridgeExecutable,它必须是绝对路径。不要指向 .build 裸二进制,否则 macOS 权限身份不稳定。
推荐用法
从“设置 → 插件 → 浮生面试助手”打开控制页。先在当前 Harness 对话保存档案,然后选择系统声音、回答长度和回答思考模式并开始;默认的“关闭(更快)”会只为后台面试请求关闭模型思考,不修改普通 Harness 对话的推理设置。开始按钮会直接绑定当前会话的模型路由并启动原生监听,不产生一轮对话。之后即使 Chrome 失焦,原生进程仍会持续监听,回答会流式进入原生浮窗并自动留档。
也可以在 Harness 对话中直接说:
- “保存我的面试档案:目标岗位是……简历是……不能虚构任何指标。”
- “开始面试,问题来自系统声音,回答简洁一些。”
- “检查原生桥并开始后台监听。”
- 面试结束时说“结束本场面试”。
也可以手动粘贴问题。插件会先记录问题,模型按冻结档案生成候选人可直接说出口的答案,再保存同一份答案。
验证
cd dsh-interview-assistant
npm test
npm run smoke
npm run smoke:runtime完整验收应包含:打包后安装到隔离 profile、--dump-config、真实 Web Client 加载、“浮生面试助手”页与状态胶囊、原生桥 health/连续会话协议、两道连续问题排队、停止后的进程清理,以及 Swift --self-test。
