Skip to content
dsh.fish
Bundle

dsh-interview

DeepSeek Harness Web 本地优先的 AI 面试训练工作区,支持自然语言与可视化 UI 双入口。

Source
codingayice
stars
7 stars
License
MIT
Updated
Updated 2 hours ago

Readme

# dsh-interview:AI 面试练习助手

[![npm](https://img.shields.io/npm/v/dsh-interview)](https://www.npmjs.com/package/dsh-interview)
[![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com)
[![Node.js](https://img.shields.io/badge/Node.js-%3E%3D22.5-339933?logo=node.js&logoColor=white)](./package.json)
[![license](https://img.shields.io/github/license/codingayice/dsh-interview)](./LICENSE)

一个运行在 DeepSeek Harness Web 中的 AI 面试练习助手。

它可以陪你完成从提问、作答、点评、讲解到继续练习的完整过程,也会保存你的练习记录,方便你随时回来复习和提升。

[立即安装](#安装) · [开始练习](#开始第一次练习) · [查看功能](#核心功能)

## 适合谁

- 准备技术开发岗位面试;
- 想复习八股,但不满足于只看题库答案;
- 想进行真实模拟面试,或根据简历提前押题;
- 想练习系统设计、故障排查等真实场景;
- 想刷力扣 Hot 100,并保留完成记录;
- 想持续保存回答,观察自己的进步。

## 核心功能

### 五种练习模式

| 模式 | 用来做什么 |
| --- | --- |
| 背八股 | 选择一个知识主题,练习常见技术面试问题,理解知识点并整理成可以直接表达的答案。 |
| 模拟面试 | 根据简历、目标岗位和面试偏好,进行接近真实面试的完整问答;面试官会持续追问,不提供答案和点评。 |
| 简历押题 | 根据简历、目标岗位、JD 和押题范围,练习最可能被问到的问题,并获得评分、点评和详细讲解。 |
| 场景题 | 练习系统设计、故障排查、性能问题和工程决策等开放式问题。 |
| 刷力扣 | 从力扣 Hot 100 中抽题,使用指定编程语言查看解题讲解和代码,并记录完成进度。 |

模拟面试中的手撕代码题也来自 Hot 100,但仍属于当前模拟面试的一部分。

### 完整的练习链路

在背八股、简历押题、场景题和刷力扣中,每道题都可以选择直接作答,或者先查看答案。作答后,AI 会围绕你的回答完成:

```text
提问 → 作答 → 评分与点评 → 知识讲解 → 可直接表达的答案
```

完成后可以重新作答、进入下一题或结束练习。重新作答不会覆盖以前的记录,方便对比每次回答的变化。

### 练习记录自动保存

题目和回答会自动保存;支持辅导的模式还会保存评分、点评、讲解和练习总结。你可以:

- 随时继续未完成的练习;
- 在新会话中切换到已有练习;
- 查看完整的练习历史;
- 对比同一道题的多次回答;
- 查看长期练习表现和薄弱主题。

### 可视化练习工作台

练习工作台提供统一的练习管理入口,可以查看:

- 进行中的练习;
- 已结束的练习档案;
- 力扣 Hot 100 题目和完成状态;
- 每道题的回答,以及支持辅导模式中的点评、讲解和参考答案。

同时支持搜索、筛选、切换、编辑、删除和导出练习。

### 本地保存,方便复习

练习数据默认保存在本机,不需要额外部署数据库或服务。真实简历和回答不会自动上传到其他系统。

## 安装

需要 DeepSeek Harness Web 和 Node.js 22.5 或更高版本。

```powershell
dsh plugin --profile web add dsh-interview
```

安装完成后重启 `dsh web`。

更新插件:

```powershell
dsh plugin --profile web update dsh-interview
```

## 开始第一次练习

1. 打开左侧栏设置上方的“面试训练”;
2. 点击“新建练习”;
3. 选择练习模式并填写对应内容;
4. 点击“开始练习”;
5. 在对话中回答题目;支持看答案的模式也可以直接点击“看答案”。

也可以直接在聊天中输入:

```text
新建练习
```

AI 会引导你完成练习配置。

## 五种模式怎么用

### 背八股

填写要复习的主题,例如:

- Java 并发;
- JVM;
- MySQL;
- Redis;
- Spring;
- 计算机网络。

适合集中复习一个知识领域,也适合在面试前快速检查自己能否把知识讲清楚。

### 模拟面试

填写简历、目标岗位、面试官风格、面试难度,并选择是否提供 JD 和是否进行手撕代码。开始后按真实面试节奏回答问题,面试官会根据你的回答继续追问,不提供“看答案”、评分或讲解。

适合完整检查自己对项目经历、技术能力和岗位要求的掌握情况。

### 简历押题

填写简历、目标岗位、是否提供 JD、押题范围和面试难度。插件会围绕你的经历和岗位要求生成高概率问题,作答后提供评分、点评、详细讲解和可以直接复述的答案。

适合在正式面试前集中补齐简历项目、技术选型和岗位匹配方面的薄弱点。

### 场景题

填写一个想练习的主题,例如:

- 线上接口突然变慢;
- 设计秒杀系统;
- 消息积压如何排查;
- 数据库性能下降如何处理。

适合练习问题拆解、方案设计、风险判断和工程落地。

### 刷力扣

选择 C++、Java、Python、C 或 Go,插件会从[力扣 Hot 100](https://leetcode.cn/studyplan/top-100-liked/)中抽取题目。

你可以查看题目原文、标记完成状态、查看算法讲解,并获得所选语言的完整代码。

## 练习过程

### 作答

直接在对话中回答当前题目,AI 会保存你的回答并进行评分。

### 看答案

如果暂时不会,可以直接查看答案。AI 会讲解相关知识点,并给出适合面试时使用的表达方式。

### 点评讲解

作答后会看到点评和详细讲解,包括回答中的优点、遗漏、错误、改进方向以及可以直接复述的答案。

### 重新作答

重新作答会保留此前的回答和点评,并新增一条作答记录,方便你比较前后变化。

### 下一题

完成当前题后,可以继续进入下一题。

### 结束练习

结束普通练习后,可以查看本次练习总结;力扣练习会保存本次刷题记录和完成情况。

## 练习工作台

练习工作台位于左侧栏设置上方的“面试训练”。

### 进行中

查看所有尚未结束的练习,可以继续练习、切换当前练习、查看详情或删除练习。

### 练习档案

查看已经结束的练习,包括题目、回答、评分、点评、讲解和总结,也可以重新打开继续练习。

### 热题 100

查看 Hot 100 的题目列表、题型、难度、原题地址和完成状态。

### 练习时间轴

进入某条练习后,可以通过时间轴查看题目、作答记录、点评和答案。

## 常见问题

### 练习记录会保存吗?

会。题目、每次回答、评分、点评、讲解和总结都会保存。

### 可以在新会话继续练习吗?

可以。在练习工作台切换到目标练习,然后在当前会话中继续即可。

### 重新作答会覆盖以前的回答吗?

不会。每次作答都会单独保存。

### 不想回答,可以直接看答案吗?

可以。点击题目卡片中的“看答案”即可查看讲解。

### 哪些操作需要 AI?

出题、点评、讲解和普通练习总结需要 AI。搜索、筛选、切换、编辑、删除、导出和力扣完成状态管理可以直接在工作台完成。

## 参与贡献

dsh-interview 是一个 MIT 开源项目,欢迎提交 Issue 和 Pull Request。

```powershell
npm install
npm run verify
```

- [GitHub Issues](https://github.com/codingayice/dsh-interview/issues)
- [版本变更记录](./CHANGELOG.md)

## License

[MIT](./LICENSE)

Install

dsh plugin --profile web add github:codingayice/dsh-interview

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source