dsh-career-planner
Verifieddsh-career-planner · v1.7.4 · MIT · Web UI
职业规划工作台 + 职业规划师预设:插件把包内预设自动同步到 DSH,界面与 AI 共用同一份职业数据(画像 / JD 池 / 投递 / 技能 / 简历)
Install
dsh plugin add dsh-career-planner Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
🎯 dsh-career-planner
装在 DeepSeek Harness 里的求职管理工具
把职业画像、JD 池、投递进度、技能清单、简历 —— 全塞进你的 AI 会话里。
这是什么
一个 DSH 插件,给你的求职季配一个能对话的求职管家(不仅限于计算机方向)。
它做两件事:
- 右侧边栏多一个「职业规划」面板 —— 画像 / 投递 / JD 池 / 技能 / 简历,5 个页签,点点点就能管
- 给 AI 一个「职业规划师」预设 —— 聊天时它能直接读你的职业数据,也能往里写
🗣️ 是的,你和 AI 操作的是同一份数据。你在界面上改一个投递状态,AI 下一句就知道;你跟 AI 说"我刚面完字节二面",它写进库里,界面刷新就看得见。
为什么做这个
现在正是秋招,再过一年我也该秋招了 😭 再不找点事做就要直面现实了 现在计算机各个方向都在唱衰,鼠鼠非常迷茫。加上最近迷上了 DSH,就想着把它变成我的专属职业规划导师 —— 但在 DSH 社区翻了一圈,没找到相关的插件,干脆 我和
大肥鱼 写了一个,边用边改。
目前就鼠鼠自己在用。大概率还有没测出来的 bug —— 毕竟是一个人写一个人测,视野有限。遇到问题欢迎提 issue,鼠鼠会尽力修。
后面还规划了一些功能,有机会会更新。如果这个插件帮到你了,点个 Star 吧 ⭐ —— 你们的认可是鼠鼠继续做下去的动力 🙏
核心设计
特色一:AI 和用户共用一个数据层
这不是"AI 插件 + 一个独立的管理界面"。界面和 AI 走的是同一份代码、同一份文件:
你跟 AI 聊天 ──→ career_write ──┐
├──→ career-store.mjs ──→ <工作区>/career/*.json
你点右侧面板 ──→ HTTP API ──────┘
实际体验:
| 你说的话 | 发生了什么 |
|---|---|
| 「帮我找几个大模型方向的岗位」 | AI 联网检索 → 写进 JD 池 → 面板里立刻出现 |
| 「这个岗位我能投吗」 | AI 读你的画像 + 该 JD → 算匹配度 → 指出最大短板 |
| 「我刚投了字节」 | AI 记进投递记录 → 面板状态自动更新 |
| 「我想学 Rust」 | AI 评估缺口 → 排进学习路线 → 技能清单里多一条带截止日的技能 |
| 「帮我看看简历」 | AI 读原件(绝不修改)→ 解析成 Markdown → 对照目标 JD 找差距 |
特色二:聊天过程中自动沉淀画像
这是我觉得最有意思的一点 —— 你不需要专门"填资料"。
你只是正常聊天:
「我是双非本,学的计算机,主要写 Java,最近在转大模型方向,投了十几家都没回音……」
AI 会把这些拆成结构化的画像标签(学历 / 技术栈 / 求职方向 / 现状),写进 profile.json。
但它不会把猜测当事实。每条标签都带来源和确认状态:
| 来源 | 可信度 | 行为 |
|---|---|---|
user_explicit |
你亲口说的 | 直接生效 |
resume_parsed |
从简历解析的 | 进「待确认」区,你点了确认才算数 |
ai_inferred |
AI 推断的 | 同上,必须你确认 |
💡 所以 AI 越用越懂你,但永远不会自作主张 —— 没确认的标签不参与任何正式结论。
特色三:AI 监督你学习(而且它不会放水)
学什么,不用你自己拍脑袋 —— 技能清单直接从 JD 池里长出来。
你可以手动加技能,也可以让 AI 扫一遍 JD 池,把高频要求的技能直接拉进清单。系统按难度自动排学习时间(简单 7 天 / 中等 21 天 / 困难 45 天),到期了 AI 会来考你。
关键在于这场考试是认真的:
- 技能不能手动标"已通过" —— 必须真的通过一次考核,这是硬校验
- 考题由
大肥鱼(也就是 DeepSeek)出,答得不好就是不给过
🐟 大肥鱼可不是讨好型豆格 (此处不点名某豆包),它不会因为你可怜就把"在学"改成"已通过"。 想让它点头?拿真本事来。
这才是这个插件最有价值的地方:求职路上最缺的不是信息,是有人盯着你把该学的学完。
功能一览
📋 画像
职业画像标签,按维度分组(学历 / 技术栈 / 方向 / 偏好 / 短板…)。
- 彩色维度色条 + 概览统计
- 未确认的标签单独高亮,一键确认
- 可以手动加标签、改、删
📮 投递
投递记录 + 状态机。
- 状态只能向前:已投递 → 笔试 → 面试 → offer(
force能跳级,但不能倒退) - 点错了?有「撤销上一次状态变更」
- 按状态 / 公司筛选 + 关键词搜索
- 每条记录带完整 timeline
💼 JD 池
岗位信息池,自动维护生命周期。
- AI 联网采集,必须带来源和链接才让入库
💡 强烈建议配一个浏览器类插件 —— AI 才能用上你已经登录的浏览器去抓岗位。 推荐腾讯开源的 BrowserSkill:复用真实登录态、独立窗口不打扰你、遇到验证码会喊你接管。DSH 装了它,采岗位的成功率和质量会明显好一截。
- 15 天没更新 → 自动标记过期 → 检测链接失效 → 待删除 → 1 天宽限 → 清理
- 链接检测很保守:403 / 超时都算"无法确认",不会误删(招聘站反爬太常见了)
- 每个 JD 一条「问 AI」快捷入口
🛠️ 技能
技能清单 + 考核记录。
- 技能只有两种状态:在学 / 已通过
- ⚠️ 不能手动标"已通过" —— 必须真的通过一次考核(这是硬校验,防止自欺欺人)
- 按难度自动排建议截止日(easy 7 天 / medium 21 天 / hard 45 天)
- 快到期会提醒
📄 简历 / 图谱
- 简历原件永不修改 —— 上传的 PDF / docx 只读,解析结果写成新的
.md - 支持 docx / pdf / doc / txt / md / 图片(图片走 OCR)。解析主力是
officeparser,插件会自动装这个依赖;装不上也不影响使用 —— 程序内置了零依赖的兜底解析,docx / pdf 文字版照样能读 - 技能图谱从 JD 池自动派生,随时可重算
🤖 AI 侧的 8 个技能
预设里打包了 8 个技能手册,AI 按需加载:
| 技能 | 干什么 |
|---|---|
career-profile |
访谈式采集画像 |
jd-sourcing |
联网检索真实在招岗位 |
jd-analysis |
拆解 JD、算匹配度、判断值不值得投 |
jd-tagging |
打技术标签 + 维护会成长的词表 |
resume-review |
剖析简历、提修改建议 |
interview-experience |
联网找真实面经、给准备建议 |
learning-path |
从技能缺口生成学习路线 |
direction-advice |
评估求职方向、做取舍 |
安装
方式一:从 npm 安装(推荐)
dsh plugin --profile web add dsh-career-planner
方式二:从 GitHub 安装
dsh plugin --profile web add github:coderoadline/dsh-career-planner
装完
重启 DSH。然后:
- 新建会话 → 预设选择器里选「职业规划师」
- 右侧边栏出现「职业规划」面板
首次运行时,数据目录会在你的工作区下自动建好(<工作区>/career/)。
数据在哪
所有数据都在你的工作区里,纯 JSON,随时可以拷走或备份:
<工作区>/career/
├── profile/profile.json # 职业画像
├── jobs/jobs.json # JD 池
├── applications/applications.json
├── skills/skills.json
├── graph/skill-graph.json # 技能图谱(自动生成)
├── resumes/ # 简历原件(只读)
└── logs/events.jsonl # 审计日志(只追加)
排错
AI 报「找不到职业数据层代码」 插件没启用。AI 工具的数据层代码由插件提供,两者必须一起装。