DeepSeek Harness 插件

ITDanZF/dsh-hr-plugin

Star 数 ★ 0 下载量(近 30 天) 498 分类 文档与渲染 收录于 2026-11-02 npm dsh-hr-plugin

面向 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 后仍需确认其工具、技能和右侧栏扩展接口兼容。

界面

示例草稿是「陈予安 / 产品经理」。装进会话之后,纸面上是你自己的内容。

使用教程

  1. 安装并重启后,打开 Harness。右侧「开始」里点「简历」。
  2. 停在编辑页时,可以改基本信息、摘要、工作与实习、项目、教育和技能。其余模块在「添加模块」里打开。模块可以拖动,或用上移、下移调整顺序。
  3. 在当前会话里对助手说:把摘要收成三句,并补一条审批时长下降的工作要点。
  4. 顶栏切到「模板」,按用途选择「网申单栏」「侧栏深色」或「杂志」。一共十三套预设,也可以改版式、颜色和字体。
  5. 点「下载 PDF」,或对助手说导出 PDF。文件按当前模板排版。点「打印当前样式」会走浏览器打印,版式更接近屏幕。
  6. 面板和对话写的是同一份简历。断网时改动留在浏览器里,连上后自动重试;七天内可以恢复。

能做的事

  • 编辑后自动写入当前会话,页面会读到最新版本。
  • 模块顺序会用于页面预览、打印和 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 .

每次改入口之后:

  1. pnpm run build
  2. dsh --profile hr-dev --dump-config。输出里要有 # == dsh-hr-plugin 层,以及 id: hr-plugin。没有这一层时不要先看业务代码。
  3. 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。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。