前言¶
在 DSH 里做智能体,常见做法是单独维护一套 CLI 或脚本,再在会话里口头描述「先评估 JD、再改简历、再记投递状态」。数据和 UI 往往脱节,模型还要为可脚本化的步骤消耗 token。下面介绍插件 dsh-career-ops(维护者 umerkhalid204),它把开源求职 agent career-ops 接到 Harness:粘贴职位链接或正文即可得到结构化 A–H 评估与 1–5 匹配分;公开 ATS 板扫描、简历与求职信定制、投递跟踪走确定性脚本(零 LLM token);侧边栏 Career Ops 面板集中看漏斗、队列与报告,而不是另开一套命令行。
这是什么¶
dsh-career-ops 是 DeepSeek Harness 上的工作流类插件(社区目录:umerkhalid204/dsh-career-ops)。源码仓库:github.com/umerkhalid204/dsh-career-ops。它 vendored career-ops 的 System Layer(runtime/),你的求职数据写在可配置的 dataRoot 目录;Harness 负责 skill、tool、斜杠命令与 Web 客户端面板。插件以当前 DSH 进程权限运行,安装前建议自行审阅源码与 MIT 许可证(含上游 career-ops 的 LICENSE.career-ops)。
四个注册面¶
Loader 一行 career-ops 同时注册四种能力(README 表格摘要如下):
| 面 | 作用 |
|---|---|
skill career-ops |
模式路由:处理职位/投递/CV/面试类问题,读取 runtime/modes/*.md;模型与用户均可调用。 |
tool career_ops |
确定性脚本:setup、scan、pipeline、tracker、liveness、report_number、stats、insight;不消耗 LLM token。 |
command /career-ops |
面向人的模式菜单,以及 live queue、tracker 计数。 |
| Career Ops 面板 | 侧栏入口 + 中央页:漏斗卡片、applications tracker(每行状态控件)、待评估队列、近期报告。 |
面板里的状态控件与 tool 的 tracker set 调用同一 Host 操作,委托 career-ops 的 set-status.mjs:状态对照 states.yml 校验,备注合并,data/status-log.tsv 记录流转。
核心功能(已文档说明部分)¶
- 职位评估:粘贴 posting,得到 A–H 结构化评估与 1–5 fit score;低于 4.0/5 时文档建议谨慎投递。
- ATS 扫描:通过
career_ops的scan等脚本扫描公开 ATS 板;liveness 经runtime/dsh-liveness.mjs,无 Playwright,依赖 career-ops ATS API 与liveness-core.mjs分类;uncertain不会关闭 posting。 - CV / 求职信:tailor 流程在 Harness 内完成;JD 文本来自粘贴或 Harness 的
web_fetch。 - 投递跟踪:tracker 与面板同源数据;整份搜索状态在
dataRoot文件里,换机复制该目录即可(SQLite 索引可重建)。 - 安全边界:与上游一致——只起草、填表、渲染,不会代你点 Submit;职位正文当作数据处理,不当成指令。
与独立 career-ops CLI 相比,本插件强调 Harness UI 与零 token 脚本层;上游 Playwright 驱动的 apply、部分 scan、PDF 原生渲染等在此有已知裁剪(见 README「Known differences from upstream」)。
环境与依赖¶
- 较新的 DSH(需
skills、commands、tools、webServer与 Web Client slot API)。 - Node ≥ 22.13(vendored 脚本;
package.json中engines.node为>=22.13.0)。
安装与启用¶
在要安装的目标机器上,在 Harness 会话里安装 bundle 是 README 推荐的可靠路径(插件管理器会安装包并为 profile 选中 bundle):
Install the bundle git+https://github.com/umerkhalid204/dsh-career-ops.git#v1.0.1.
或在终端把包装进 profile:
dsh plugin --profile desktop add git+https://github.com/umerkhalid204/dsh-career-ops.git#v1.0.1
若只用 dsh plugin add 而未在会话里操作,还需在 Settings → Plugins 中选中 bundle,使 cordis.patch.yml 生效。
然后点击侧栏 Career Ops。若面板或 career-ops skill 未出现:刷新页面(Client bundles),并在插件列表里对 career-ops 行关再开(Host 模块重载)。
指向你的求职数据目录¶
runtime/ 是只读的 System Layer。可写数据在 dataRoot:cv.md、config/profile.yml、portals.yml、data/、reports/、jds/、interview-prep/,以及个性化文件 modes/_profile.md、modes/_custom.md、modes/_brief.md、voice-dna.md。
解析顺序(同一安装跨机器一致):
- Loader 行上的
dataRoot——在本机 profile patch 里覆盖(~/.dsh/profiles/<profile>/cordis.patch.yml),绝对路径或~/…。匹配id且无insert时会替换整段config,需写全字段:
- id: career-ops
name: 'dsh-career-ops'
config:
dataRoot: '~/Job Hunt'
- 环境变量
$CAREER_OPS_DATA_DIR/$CAREER_OPS_ROOT(Harness 进程环境); - 默认
~/career-ops(首次写入时创建)。
典型用法¶
- 对新一轮搜索,在会话里让 agent set up career-ops(会据你的 CV 与回答写入
cv.md、config/profile.yml、portals.yml)。 - 粘贴职位 URL 或正文,走评估与后续 pipeline。
- 日常用 Career Ops 面板改投递状态、看待评估队列与报告;或用
/career-ops看菜单与计数。 - 需要脚本层时,agent 调用 tool
career_ops(如setup、scan、pipeline、tracker等)。
适用场景与注意¶
适合:已在用或打算用 career-ops 数据模型、希望求职流程留在 DSH 会话与面板里、并愿意自管 dataRoot 目录的开发者或求职者。
注意:
- 无 Playwright:表单自动 apply、部分 scan、
archive-posting、原生 PDF 等需 Playwright 的路径不可用或需另行安装 Playwright / 经 Harness 导出;generate-pdf.mjs对 Playwright 懒加载。 - 发布包默认仅英文 modes(体积约 10 MB);其他市场需维护者脚本
refresh-runtime.mjs --modes de等并在config/profile.yml设language.modes_dir。 - 无上游 self-updater、Go dashboard、
web/UI、gemini-eval/openai-tailor、doctor.mjs;等价检查由career_ops setup覆盖。 - DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系;本插件 README 亦声明 Not affiliated with DeepSeek。
结尾¶
dsh-career-ops 把 career-ops 的评估、扫描、定制与跟踪收进 Harness 的 skill、零 token tool 与 Career Ops 面板,数据仍以本地 dataRoot 为真源。进一步了解可打开目录页 skillhub.cn/plugins/umerkhalid204/dsh-career-ops 与 GitHub github.com/umerkhalid204/dsh-career-ops。