面向 DeepSeek Harness 的结构化简历编辑器;每个会话独立保存草稿,对话与侧栏共用内容,并提供 A4 预览和 PDF 导出。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-hr-plugin
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ITDanZF/dsh-hr-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
在 DeepSeek Harness 里,一份会话一份简历。对话和右侧面板改的是同一份草稿,可以换模板并下载 PDF。
dsh plugin --profile web add dsh-hr-plugin
包页面:https://www.npmjs.com/package/dsh-hr-plugin
装完后重启这个 profile。插件不再固定要求某个 dsh 版本,也不安装 Harness 的 SQLite 存储插件;升级 Harness 后仍需确认其工具、技能和右侧栏扩展接口兼容。
界面
示例草稿是「陈予安 / 产品经理」。装进会话之后,纸面上是你自己的内容。
使用教程
- 安装并重启后,打开 Harness。右侧「开始」里点「简历」。
- 停在编辑页时,可以改基本信息、摘要、工作与实习、项目、教育和技能。其余模块在「添加模块」里打开。模块可以拖动,或用上移、下移调整顺序。
- 在当前会话里对助手说:把摘要收成三句,并补一条审批时长下降的工作要点。
- 顶栏切到「模板」,按用途选择「网申单栏」「侧栏深色」或「杂志」。一共十三套预设,也可以改版式、颜色和字体。
- 点「下载 PDF」,或对助手说导出 PDF。文件按当前模板排版。点「打印当前样式」会走浏览器打印,版式更接近屏幕。
- 面板和对话写的是同一份简历。断网时改动留在浏览器里,连上后自动重试;七天内可以恢复。
能做的事
- 编辑后自动写入当前会话,页面会读到最新版本。
- 模块顺序会用于页面预览、打印和 PDF。基本信息固定在页眉。
- 十三套预设,按五个系列展示真实缩略页;支持单栏、教育优先、侧栏三种版式。侧栏版式可以把模块放进正文或侧栏。
- 自定义模块可以是短文本、长文本、日期区间、链接或要点列表。
- A4 实时预览会在内容超出一页时显示第二页及后续页面;打印使用相同的分页结果。下载 PDF 按当前模板排版,包含侧栏、页顶色条、页眉、日期和关键词,并支持中文、长段落和自动换页。已启用照片时,PDF 会放入 PNG 或 JPEG。
使用前注意
- 安装或更新之后要重启对应的 profile,右侧才会出现「简历」。
- 插件通过运行依赖
@betteroffice/fonts-cjk安装 Noto Sans/Serif SC 字体,导出 PDF 不依赖系统安装的中文字体;导出前会检查简历文字的字形,缺字时会报错,不生成方框乱码。需要使用其他字体时,可用DSH_HR_PDF_FONT指定 TTF 或 OTF 文件。字体遵循 SIL Open Font License 1.1,许可证由字体包提供。 - 简历和选项目录由插件保存在
DSH_HOME/storages/hr-resume(未设置DSH_HOME时为~/.dsh/storages/hr-resume)。首次启动会把旧的hr-plugin.sqlite内容迁移到该目录;原数据库不会删除。
本机调试使用已安装的 dsh,不在 deepseek-harness 源码目录里安装依赖。日常使用单独的 hr-dev profile,不改默认 web profile。
开发依赖用于编译,运行时使用当前 Harness 提供的扩展接口;已在 dsh 0.2.1-rc.5 上验证。未来如果这些接口发生破坏性变化,需要适配插件,不能仅靠版本范围保证兼容。
全局需要 pnpm 11.7.0。dsh plugin 会把参数转发给它。
corepack enable
corepack prepare pnpm@11.7.0 --activate
在本仓库安装开发依赖并编译。dsh 加载的是 dist/index.js,不直接加载 TypeScript。
pnpm install
pnpm run build
一次性创建调试 profile。这条命令会按网页模板创建 hr-dev 并启动;确认页面能打开后停掉进程。
dsh --profile hr-dev --from-default-profile web
在本仓库根目录把它链接进该 profile。因为 package.json 声明了 dsh.bundle,CLI 会把 dsh-hr-plugin 追加进 profile 的 bundle 列表。
dsh plugin --profile hr-dev add .
每次改入口之后:
pnpm run builddsh --profile hr-dev --dump-config。输出里要有# == dsh-hr-plugin层,以及id: hr-plugin。没有这一层时不要先看业务代码。dsh --profile hr-dev。启动日志里要有[dsh-hr-plugin] loaded和resume preview http://127.0.0.1:3091。
回归检查可运行 pnpm run check:store、pnpm run check:pdf 和 pnpm run check:manifest。分别覆盖旧数据迁移、长内容 PDF 分页和安装清单。
改插件代码必须重新编译再重启。这个加载回路不会热更新。pnpm run dev:panel 只预览面板,地址是 http://127.0.0.1:5174/,没有会话时使用示例草稿。
面板接口默认只允许本机 Harness(3080)及面板开发服务(5174)的浏览器来源。自定义宿主来源可用逗号分隔的 DSH_HR_ALLOWED_ORIGINS 配置。
加载失败时:
dsh plugin报找不到 pnpm:回到上面的 corepack 步骤。- 装上了但
--dump-config没有本包的层:package.json里没有dsh.bundle,或cordis.patch.yml没进files。 - 有层但启动报找不到模块:还没执行
pnpm run build,或main不是dist/index.js。 - 有层、进程起来了,但没有那行日志:
cordis.patch.yml的name不是包名dsh-hr-plugin。
链接
同类插件
tt-a1i/archify#integrations/deepseek-harness★ 92724
从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。
dream-num/dsh-univer-office★ 657
为 DeepSeek Harness 打造一个真正的办公环境。Univer Office 插件将电子表格、文档、幻灯片、画布、多维表格等汇聚到同一个运行时——数据互联、修改经过校验、变更按版本管理,并以隔离工作树支持多 Agent 协作。
ECNU/EduWork#dsh-knowledge-studio★ 275
基于工作区资料的 Studio,复用 DSH 模型与共享成果服务,制作报告、演示文稿、表格、思维导图、测验、闪卡及音视频。Office 生成需 Python 3.12+ 及相关依赖,并配置 DSH_OFFICE_PYTHON;媒体渲染需 Chromium;本地语音转写另需 whisper.cpp 和模型。
PerryLink/dsh-industry-research★ 215
面向 DeepSeek Harness 的确定性行业研究报告:公司与行业研究流程基于分阶段证据产出结构化、可核验的报告。
HuanLinOTO/dsh-plugin-mineru★ 51
向模型暴露 MineRU 文档解析工具。
PolinniZhong/dsh-knit★ 48
把会话工作区里已有的 Markdown 文档、源码、图片与视频列进 DSH 侧边栏,按与当前对话的相关性排序。默认的词法模式用最近几条消息在本地与标题、摘要、正文做带 IDF 加权的匹配(BM25)—— 不调用模型、没有网络出口,内容不出本机。列表来自工作区扫描,而不是「最近打开记录」,所以重启 DSH 或新开会话都不会变空。排序结果组织成主要 / 辅助 / 相关三层的阅读顺序,每一条都写明可核验的理由(命中了哪个字段、被哪一篇引用),点一行即可就地预览:Markdown 按渲染后的样子显示、相对路径图片真实渲染、源码走宿主自带的语法高亮、视频走 HTTP Range 流式播放。同一份 Context Pack 也作为 knit_docs 工具交给 agent。后续版本陆续补上读取证据与生命周期(归因在读那一刻冻结)、固定 / 排除(排除先于检索生效,且可恢复)、关系证据(引用 / 导入 / 测试,带行号)与增量索引(重启后复用)。v0.23 起还多一条可选的混合检索:默认关闭,只有你自己配好 Ollama 或 OpenAI 兼容的 embedding 服务才会生效。它生效时,发出去的是你这句查询原话加上每篇候选文件的标题与摘要 —— Markdown 的摘要取自正文首段(不超过 60 字),代码的摘要是它所在的工作区相对目录,图片 / 视频贡献的是文件名;完整正文与绝对路径都不发送,指向本机服务(loopback)时内容不出这台机器。v0.24 起还能做变更关联:用一条只读的 git status(固定 argv、不走 shell、子进程环境白名单),配合同一套引用 / 导入 / 测试 / 提及证据,指出这次改动大概率该一起看哪些文件 —— 默认关闭。语义检索的收益仍待真 provider 实测,因此不承诺召回提升。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。