🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

L3n3L/dsh-resume

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
⚠ 装前注意

把简历从一段 Markdown,变成一份可以认真投出去的 A4 成品。

基本兼容但装前注意:npm 同名包「dsh-resume」归属 dushaobindoudou/dsh-resume,装到的可能不是本插件 · 最近上游提交 2026/9/23 · 已提供中文文档

AI 写简历容易,但写完总会遇到模板难看、排版溢出、页面留白、改一处全局变形等问题。dsh-resume 专注解决“内容生成后的视觉复核”:让 AI 和用户一起把简历调到真正适合投递的刚好一页。AI can write a resume, but the result often looks unbalanced, overflows the page, leaves large blank areas, or breaks after a small edit. dsh-resume focuses on visual review after generation, helping AI and users refine the resume into a polished.

综合分
36.8
GitHub 分
36.8
用户评分
—
★ Stars
6
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add L3n3L/dsh-resume
npm 同名包「dsh-resume」归属 dushaobindoudou/dsh-resume,装到的可能不是本插件,改用 GitHub 源安装
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · vision
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 2 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-resume @ 0.0.1
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

npm 同名包「dsh-resume」归属 dushaobindoudou/dsh-resume,装到的可能不是本插件

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 08:27:12

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-resume

把简历从一段 Markdown,变成一份可以认真投出去的 A4 成品。

dsh-resume 是 DeepSeek Harness 的求职简历工作台。它不只是“让 AI 改几句文案”,而是把求职简历最容易失控的三件事放到同一个闭环里:

内容改写 → A4 视觉复核 → 排版调优与导出。

你提供真实经历和目标岗位,Agent 负责整理、匹配和调整;你始终能看到 Markdown、A4 预览、模板和排版指标,并在最终导出前做确认。

简历 Agent 的内容取舍和验收依据见:校招简历写作方法论。

dsh-resume 工作台:Markdown、A4 预览与排版状态同屏

你会得到什么

- 一边编辑 Markdown,一边看到真实的 A4 预览
- 清楚知道是“刚好一页”、溢出,还是一页但留白过多
- 用模板库切换视觉方向,不需要重新写简历内容
- 让 Agent 根据目标岗位改写内容、排序模块、补齐排版动作
- 在工作台内镜像主对话的 Think、Read、Edit、Tool call 和回答
- 手动微调字号、行高、模块间距和页边距,实时看到变化
- 确认后再下载 HTML 或导出 PDF,不让 Agent 越权替你提交

它的目标不是“生成一份看起来像简历的文字”,而是让你在投递前回答三个问题:

1. 内容有没有围绕这个岗位?
2. 视觉上是否清楚、克制、适合阅读?
3. 打印或导出后是不是一页,而且没有明显浪费或挤压?

90 秒上手

1. 安装插件

dsh plugin --profile web add github:L3n3L/dsh-resume

然后启动或重启 Web 端:

dsh web

环境要求:

- DeepSeek Harness Web profile
- dsh >= 0.1.0-rc.6 < 0.2.0-0
- Node.js 22+

兼容声明和实际安装边界也写在 package.json 的 engines 与 dsh.compatibility 中。这里的范围表示插件使用的公开 DSH 工具注册接口处于 0.1.x 预发布窗口内,不代表每个 DSH 版本都已经完成运行验收;具体验收记录见 docs/dsh-store-acceptance.md。

2. 打开「求职简历」

第一次打开不用先准备复杂目录。进入插件后,在「开始」页选择:

- 有已有简历:导入并继续
- 从零开始:创建一个空白求职工作区
- 先看看效果:使用示例内容体验工作流

工作区默认是全局的,换会话或重启 DSH 后仍会继续使用。需要切换简历时,在左侧「工作区」页点击「选择文件夹」即可;插件直接复用 DSH 的工作区选择器,不需要手动填写绝对路径,选择过的文件夹会出现在最近工作区列表。

选择空文件夹时插件会自动准备基础文件;选择已有 resume.md 的目录会直接绑定。已有其他文件但还没有 resume.md 的目录会先要求确认,确认后只登记为简历工作区,不会覆盖或自动改动原文件;编辑器存在未保存的内容、排版或模板草稿时,切换前也会提示确认。

工作台会把内容、A4 和排版状态放在同一视线内:

Markdown 与 A4 预览同屏

3. 把真实材料和 JD 交给 Agent

直接复制下面这段作为第一句话即可:

请先初始化我的求职工作区。

我的真实材料如下,禁止编造:
- 学校 / 专业 / 时间:
- 意向岗位:
- 项目:
- 实习:
- 联系方式:

目标 JD:
(粘贴 JD)

请完成:
1. 整理通用简历底稿;
2. 生成 companies/目标公司-岗位/ 下的 jd.md 和 resume.md;
3. 根据岗位相关性调整模块顺序和措辞;
4. 执行 jobhunt_render;
5. 告诉我打开「求职简历」检查 A4,不要替我导出。

4. 在预览里复核

当 Agent 完成一轮修改后,打开「预览」:

- 左侧直接改 Markdown
- 中间查看固定 A4 页面
- 顶部查看页数和留白比例
- 需要时打开右侧 AI 助手
- 需要时打开「手动调整」进行细调

右上角的「保存版本」会保存当前 Markdown,并把当前模板、字体、字号、行距、页边距、颜色和图标微调参数绑定到这份版本。进入「投递版本」可以查看主简历和投递版,使用「另存为版本」创建新的岗位版本,或对已有版本改名、打开和归档;归档只隐藏版本记录,不删除原文件。

预览中的排版和模板 CSS 调整先停留在临时草稿,不会随着滑块变化写入共享模板。点击保存当前版本或另存为版本时,若只有字号、行距、页边距、颜色和图标变化,就保存到简历版本;若还有模板结构或 CSS 草稿,会先询问是否复制为新模板。打印时也会给出同样选择;不复制时按已保存模板打印,避免临时试验污染其他简历。

5. 复核内容,再把页面调到合适密度

可以这样要求 Agent:

请读取真实的 A4 排版指标。
目标是内容完整、容易被 HR 扫描;校招优先争取一页,但不要为了塞进一页删掉关键证据或把字压到难读。
请先保留每段经历的个人负责范围、动作、方法和结果,再合并重复、删除低相关内容,最后调整模板视觉参数,最多自动调优 3 轮;
每轮都重新渲染并复核。允许把有依据的事实写得更专业、更有成果感,但不要凭空新增数字、职责、技术栈或结果。

6. 可选:手动启动简历 MCP

打开「求职简历」工作台左侧的「MCP 服务」,点击「启动 MCP」后,插件才会启用本地 Streamable HTTP 端点 /dsh-resume/mcp。点击「停止」后不会自动重启,也不会影响 DSH 的预览、模板和手动调整。

启动后点击「复制配置」,把面板生成的 JSON 粘贴到其他 Agent 的 MCP 配置中即可。典型配置如下:

{
"mcpServers": {
"dsh-resume": {
"type": "streamable-http",
"url": "http://127.0.0.1:3099/dsh-resume/mcp"
}
}
}

兼容宿主仍需要按自身方式连接面板显示的本地端点;插件不会在未授权时自动把 MCP 注入所有 Agent。需要 stdio 方式时,也可以在插件目录执行 npm run mcp,使用同一套简历工具。

工作台怎么工作

内容层:Markdown 是你的可读底稿
你可以直接编辑 Markdown,也可以让 Agent 修改。内容和视觉分开保存:换模板不会覆盖经历,改排版不会污染正文。

视觉层:模板是可替换的视觉基线

模板库提供不同的布局和视觉方向:

| 模板 | 适合场景 | 视觉特点 |
| --- | --- | --- |
| 校招标准 | 通用校招、第一份实习 | 稳定、清晰、单栏 |
| 技术极简 | 前端、后端、算法 | 高密度、技术感、少装饰 |
| 安静编辑 | 产品、运营、综合岗位 | 低饱和、舒展、阅读友好 |
| 黑白终端 | 开发、测试、工程岗位 | 黑白高对比、少量强调色 |
| 侧栏聚焦 | 项目很多、技能信息密集 | 双栏、项目优先 |
| 工程时间线 | Geek、工程和技术岗位 | 紧凑层级、经历时间线 |
| 作品集网格 | 前端、设计、产品作品集 | 双栏、项目卡片 |
| 产品信号 | 产品、运营、综合岗位 | 结果导向、舒展阅读 |
| 学术研究 | 研究生复试、科研申请 | 衬线字体、克制分隔 |

点击模板卡片只会选择视觉方向,不会把你带离当前页面;确认后再进入 A4 预览。

模板库:先选择方向,再应用到当前简历

模板库支持把最多三个候选加入对比。候选缩略图使用当前 Markdown 通过同一套 Renderer 生成的真实 A4 页面,只做缩放展示,不是几条线拼出的静态占位图。模板工坊会同时显示候选缩略图、当前内容的实时 A4 预览和视觉 Token 面板;颜色、圆角和分隔线只先作用于当前预览,点击“另存为模板”后才进入模板库。模板卡片会标出内置/自定义、来源和当前修订号;查看版本时可以基于历史修订继续生成副本,应用模板只改变当前简历,不改模板库。

如果选中的模板需要更饱满或更适配内容,应要求 Agent 在它的视觉基线上改造。改造不只包括字号、行距和边距,也可以重构模块承载、信息密度、组件变体、流向和 CSS;默认会先生成草稿,确认后保存为独立副本,原模板不变:

复制“技术极简”为“前端实习高密度”,
保留它的视觉语言,重构模块承载以突出项目结果,
保存为新模板并让我在模板库里预览和管理版本。

如果你想从零做一个视觉方向,也不需要手写完整模板 JSON。告诉 Agent 面向什么岗位、希望单栏还是双栏、内容密度和视觉语气,插件会生成候选模板和模块布局(例如技能标签、项目卡片、经历时间线),经过校验、预览和 A4 测量后直接完成保存;只有目标路径或是否覆盖已有内容不明确时,Agent 才会停下来询问。

模板生成不是让模型自由拼接 CSS。Agent 会先从主题家族中选择一个稳定的视觉骨架,再组合语义模块预设,最后用真实 A4 指标复核。当前可用方向包括校招清晰、工程密集、双栏侧重、安静编辑、黑白终端和项目作品集;同一份 Markdown 可以在这些方向之间切换。

复核层:A4 指标不是装饰

插件会读取浏览器中的真实预览结果,关注这些指标:

- 页面数量
- 内容是否溢出
- 底部剩余空间比例
- 内容密度和异常留白
- 模块是否被分页截断
- 标题、项目和列表是否出现孤立断裂

如果用户明确要求一页,“一页通过”不是只看页面数量。真正的通过是:页面数量为 1、没有溢出、底部留白处于合理范围、内容没有被硬挤变形。 校招投递版将一页作为硬交付指标;内容取舍遵循实习和教育完整、项目按岗位筛选、荣誉优先于技能,先改模板和排版,再处理低优先级文本。

调优层:Agent 和用户各自负责什么

Agent 适合做:

- 根据 JD 调整信息优先级
- 改写空泛表述,强化有依据的动作、负责范围和结果
- 选择适合岗位的模板
- 根据测量结果进行有限轮次的排版调优
- 解释为什么需要缩短、收紧或更换布局

用户适合做:

- 确认经历是否真实
- 选择自己愿意使用的视觉方向
- 用滑杆做最后的字号、行高、页边距微调
- 在导出前确认内容和页面效果

右侧 AI 助手:在当前工作台继续主对话

AI 助手:不是另一个聊天窗口

AI 助手位于当前预览工作台右侧,拿到的是当前简历上下文:

- 当前 Markdown 草稿
- 当前模板和模板参数
- 当前 A4 测量结果
- 当前主对话的任务流

它的作用是减少“离开预览 → 复制上下文 → 回主对话 → 再回来确认”的往返。你可以直接说:

把项目经历压缩成每个项目两行,保留技术栈和量化结果。

现在底部留白太多,请优先收紧模块间距;如果仍然不足,再考虑字号。

主对话发生 Think、Read、Edit、Tool call 时,助手会按真实顺序显示任务流;最终回答和推理过程分开,不把整段工作过程挤成一条消息。

Agent 工具链

插件提供一组面向求职工作区的工具,Agent 可以组合使用:

模板视觉设计的详细方法由随包提供的 skills/resume-template-design/SKILL.md 承载;系统提示词负责触发路由,工具负责最终校验和落盘。

外部 Agent 通过 MCP 连接时不会自动读取 DSH 的 Skill。MCP 会在连接初始化时提供短版规则,并提供 resume_guide;但业务闭环不依赖 Agent 是否真的读到了指南:首次制作或每次切换工作区/简历时,必须先调用 resume_prepare,服务端会绑定当前工作区、保存内容基线、执行本地预检并返回当前版本指南。没有准备、工作区已切换、内容已被 DSH 或其他 Agent 改动,MCP 会拒绝写入和渲染并返回 nextTool。

MCP 的模板能力与 DSH 内置工具保持同一套业务边界:template_list、template_family_list、template_validate、template_generate、template_save、template_copy、template_versions、template_restore、layout_save、presentation_save 和 template_autotune。模板结构修改通过复制后保存,内置模板不会被覆盖;字号、行距、页边距、颜色和图标微调通过呈现参数保存,不改 Markdown。核心实习和关键项目不得为了“一页”先被压缩,先用模板结构和排版承载。
MCP 写入采用服务端工作流引导:resume_prepare → resume_read / resume_check → 变更 → resume_read / resume_check → resume_render → resume_metrics。每次写入、模板结构修改、布局保存、呈现参数保存或持久化调优后,服务端会返回检查、渲染和指标的推荐下一步,但不阻塞下一次有明确意图的迭代;简历内容允许 Agent 按用户意图重写、压缩、改名和重组,核心条目变化只作为审计警告返回。HTTP MCP 渲染后登记 renderId/contentHash,插件页会轮询轻量状态并刷新预览 iframe,由 iframe 将真实 DOM 测量回传给 resume_metrics;Agent 不应直接打开 file:// 预览文件来等待指标。硬门槛仅用于工作区绑定、路径安全、外部内容过期和未知图标等完整性问题。这个门槛只存在于 MCP 会话,不改变 DSH 内置工具和手动编辑入口。

| 工具 | 用途 |
| --- | --- |
| jobhunt_init | 初始化求职工作区 |
| jobhunt_read / jobhunt_write | 读取和写入简历材料 |
| jobhunt_check | 检查内容证据、目录和排版风险 |
| jobhunt_template_list | 查看 6 个内置模板和已保存的 composition 模板;不支持的模板会被忽略 |
| jobhunt_template_copy | 复制模板并建立独立版本 |
| jobhunt_template_generate | 从 DesignBrief 生成可校验的模板候选,不自动入库 |
| jobhunt_template_validate | 校验模板配置 |
| jobhunt_template_save | 创建 composition 模板;默认不覆盖已有自定义模板,覆盖必须显式确认影响 |
| jobhunt_layout_validate | 校验模块布局声明 |
| jobhunt_layout_metrics | 读取真实 A4 测量指标 |
| jobhunt_template_autotune | 根据指标做有限轮次调优 |
| jobhunt_template_versions / jobhunt_template_restore | 查看模板历史修订;按指定修订或最新历史修订恢复为新的当前修订 |
| jobhunt_render | 生成或刷新预览 |

jobhunt_template_autotune 默认只返回草稿建议,不会因为一次试调就写入共享配置;只有用户接受后才显式传 persist=true 提交。模板 CSS 或结构修改则由工作台在保存、另存为或打印边界询问是否复制为新模板。

推荐的 Agent 工作顺序是:

初始化 → resume_prepare → 读取材料和 JD → 检查证据 → 生成投递版
→ 选择或生成模板候选 → 校验 → 保存并重新列出确认
→ 用精确模板 ID 渲染 → 读取 A4 指标
→ 有界调优 → 用户确认 → 复制/保存模板修订 → 再检查和渲染

模板生成的完成判定不是“AI 返回了候选 JSON”,而是 jobhunt_template_save 成功,随后
jobhunt_template_list 能查到该 ID,并且 jobhunt_render 使用同一个 templateId 成功刷新预览。
不支持的旧模板不会进入模板库;需要使用时应重新生成 composition 模板。

文件结构

jobhunt/
├─ profile.md                 # 求职意向、城市、到岗时间
├─ resume.md                  # 通用简历底稿
├─ resume.layout.json         # 模块顺序和布局声明
├─ story-bank.md              # 项目 / 实习素材库
├─ notes.md                   # 缺口、反馈和待补证据
├─ templates/
│  ├─ default.md              # 内容结构基线
│  └─ default.css             # 工作区自定义样式
└─ companies/
└─ 公司-岗位/
├─ jd.md                # 岗位描述
├─ resume.md            # 该岗位投递版
└─ preview.html         # 渲染预览

模板可以扩展布局,但不需要把私有渲染语法塞进每一份简历正文。内容保持可读,布局放在 resume.layout.json,视觉参数放在模板 Schema 中。

安全边界

这个插件把“投递前确认”放在核心位置:

- 不应编造学校、项目、实习、奖项或数据
- 不自动替你投递
- 不自动替你最终导出 PDF
- 不把模板选择等同于内容覆盖
- 不要求你把简历提交到插件仓库
- Agent 生成的内容仍然需要你确认真实性

建议始终告诉 Agent:不要编造;缺少证据就标出来,写进 notes.md。

上架与权限说明

这是一个本地工作台,不是只读主题插件。为了让 DSH STORE 和用户知道安装后会发生什么,权限和依赖边界单独列出:

- 文件:读取和写入用户明确选择的简历工作区;保存模板、版本、预览和排版状态。路径校验限制在工作区内,不读取任意目录,也不写入真实 ~/.dsh 配置。
- 网络:DSH Web 端的本地 HTTP 路由,以及用户主动启动的本地 Streamable HTTP MCP 端点;运行时不向第三方域名上传简历内容。模型请求仍由 DSH 宿主按用户配置处理。
- 命令:运行时不启动 Shell、子进程或系统命令。测试会使用 Node 的测试进程,但不属于安装生命周期。
- 凭据:不保存、读取或转发 API Key、OAuth、Cookie 等凭据;仅读取 DSH_HOME、LOCALAPPDATA、APPDATA、HOME 等路径环境变量,用于定位插件自己的状态目录。
- 外部依赖:@modelcontextprotocol/server 用于可选 stdio MCP,markdown-it 用于 Markdown 渲染,zod 用于 MCP 参数校验;@deepseek-ai/cordis 与 @deepseek-ai/dsh-tools 由 DSH 宿主作为 peer dependency 提供。依赖不会通过 preinstall、install、postinstall 或 prepare 脚本执行。
- 失败边界:工作区文件写入采用临时文件、原子替换和工作区锁;路径越界、未知图标、外部内容过期、渲染失败或 MCP 未启动时,操作返回失败,不自动切换到别的工作区,也不自动投递或导出。

由于插件本身确实有文件写入和本地网络能力,商城自动扫描不应把它标成低风险 source-verified。正确的上架预期是完成固定 Commit 的依赖与权限复核后进入 user-reviewed;静态上架检查本身不等于运行验收。

常见问题

我只想改措辞,必须打开模板吗?

不需要。直接让 Agent 修改 resume.md 或某个公司的投递版,模板和视觉可以保持不变。

应用模板会改动原模板吗?

不会。模板是视觉基线,简历内容单独保存。只调整当前简历的参数时,设置绑定到简历版本;需要改结构或 CSS 时,系统基于选中模板生成副本。内置模板不可变,已有自定义模板也不会被 AI 默认覆盖。

模板副本和版本怎么管理?

模板库会显示来源、修订号和历史版本。小的字号、行距、图标调整不会生成新模板;结构性改造在确认后生成副本,副本内部继续保留 v1、v2 等修订。恢复历史版本会生成新的当前修订,不删除旧记录。

为什么页面显示 1 页,但看起来还是不对?

因为“1 页”只代表没有分页,不代表排版平衡。请继续看底部留白、内容密度和模块断裂;插件会把这些状态区分出来。

能不能让 Agent 自动调到刚好一页?

可以。先让它读取 jobhunt_layout_metrics,再要求最多 3 轮有界调优。每轮必须重新渲染和复核,避免无限试错或把字号压得过小。

Agent 思考很久会被插件判定失败吗?

不会再使用固定秒数判定主对话失败。长思考、连续工具调用和等待确认会保持真实状态;如果你不想继续等,可以在 AI 助手里主动停止等待,主对话本身不会被取消。

Agent 写入新文件后需要我手动刷新吗?

不需要反复打开 Settings。主对话产生新的 jobhunt_render 或模板保存事件后,工作台会自动刷新文件列表、模板和 A4 预览;顶部也保留一个轻量的“刷新预览”按钮。若你有未保存的 Markdown 草稿,插件不会静默覆盖,而会提供“读取最新文件”按钮。

简历数据会上传到 GitHub 吗?

不会自动上传到本仓库。简历内容保存在你选择的本地工作区(旧版默认目录仍兼容);模型调用和数据传输仍遵循你的 DeepSeek Harness 配置。

开发与贡献

git clone https://github.com/L3n3L/dsh-resume.git
cd dsh-resume

本地开发时,可将插件链接到 web profile 后启动 Harness
dsh plugin --profile web add link:.
dsh web

主要目录:

- client/client.js:工作台、编辑器、A4 预览和 AI 助手
- lib/renderer.js:Markdown、模板和固定 A4 页面渲染
- lib/template-generation.js:DesignBrief 到安全 TemplateSpec 候选生成
- lib/template-presets.js:内置模板
- lib/autotune.js:排版指标和有限调优逻辑
- index.js:插件工具、工作区和 Harness 对接

License

MIT © L3n3L

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群