🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

求职猎手 nicklin99/dsh-find-jobs

DeepSeek Harness
nicklin9959 天前有提交已提供中文文档扫描:含敏感能力

读懂你的求职目标,持续筛选出真正值得投递的岗位

28.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add nicklin99/dsh-find-jobs
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · tool
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 59 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-find-jobs(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/24 11:30:29

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 13 处,展示前 13 条)
  • 读取本地文件
    src/lib/jobsArchive.ts:72
    return JSON.parse(await readFile(path, 'utf8')) as T
  • 写入本地文件
    src/lib/jobsArchive.ts:164
    await writeFile(tmp, JSON.stringify(fresh, null, 2), 'utf8')
  • 写入本地文件
    src/lib/jobsArchive.ts:165
    await rename(tmp, filePath)
  • 写入本地文件
    src/lib/jobsArchive.ts:195
    await mkdir(savedDir, { recursive: true })
  • 写入本地文件
    src/lib/jobsArchive.ts:208
    await writeFile(tmp, JSON.stringify(index, null, 2), 'utf8')
  • 写入本地文件
    src/lib/jobsArchive.ts:209
    await rename(tmp, indexPath)
  • 读取本地文件
    src/lib/profileStore.ts:51
    const raw = await readFile(path, 'utf8')
  • 写入本地文件
    src/lib/profileStore.ts:62
    await mkdir(dirname(path), { recursive: true })
  • 写入本地文件
    src/lib/profileStore.ts:64
    await writeFile(tmp, JSON.stringify(profile, null, 2), 'utf8')
  • 写入本地文件
    src/lib/profileStore.ts:65
    await rename(tmp, path)
  • 读取本地文件
    src/lib/skillRegister.ts:59
    raw = readFileSync(file, 'utf8')
  • 执行外部命令固定命令
    src/provider/bskRunner.ts:37
    execFile(
  • 执行外部命令固定命令
    src/provider/bskRunner.ts:103
    execFileSync('bsk', ['session', 'stop', id], { stdio: 'ignore', windowsHide: true })
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 筛选值得投递岗位

dsh个人求职插件

README

由 DeepSeek 最新模型翻译生成
dsh-find-jobs — 个人求职猎手(DSH 插件) 一个运行在 DeepSeek Harness(dsh) 上的个人求职 Agent 插件。 它不是一个求职网站,也不是一个“AI 聊天框”。告诉它你的求职目标,它会持续为你找到真正值得投递的工作:理解画像 → 搜索 → 精读 JD → 匹配评估 → 只报值得投的 Top N(附原因)。 如果这个项目对你有帮助,欢迎点个 Star ⭐,谢谢支持 🙏 详细 Spec(产品定义 / 档位词表 / 阶段计划 / 工程约定)见 AGENTS.md。 前置依赖:BrowserSkill(实时抓取必需) 实时抓取(mock: false)依赖腾讯开源的 BrowserSkill(bsk):用你本机真实浏览器 + 登录态去抓 Boss直聘 / 小红书。 1. 安装 bsk CLI(Node.js 18+) npm install -g @tencent/browserskill # 以官方 README 为准:https://github.com/Tencent/BrowserSkill 2. 浏览器安装 BrowserSkill 扩展(Chrome 扩展商店),保持浏览器开启 3. 自检 bsk doctor 然后:用目标站点(Boss直聘 / 小红书)的账号在你的浏览器里登录即可被复用。
展开完整文档(README 剩余 1 节)
dsh-find-jobs — 个人求职猎手(DSH 插件)

一个运行在 DeepSeek Harness(dsh) 上的个人求职 Agent 插件。

它不是一个求职网站,也不是一个“AI 聊天框”。告诉它你的求职目标,它会持续为你找到真正值得投递的工作:理解画像 → 搜索 → 精读 JD → 匹配评估 → 只报值得投的 Top N(附原因)。

如果这个项目对你有帮助,欢迎点个 Star ⭐,谢谢支持 🙏

详细 Spec(产品定义 / 档位词表 / 阶段计划 / 工程约定)见 AGENTS.md。

前置依赖:BrowserSkill(实时抓取必需)

实时抓取(mock: false)依赖腾讯开源的 BrowserSkill(bsk):用你本机真实浏览器 + 登录态去抓 Boss直聘 / 小红书。

1. 安装 bsk CLI(Node.js 18+)
npm install -g @tencent/browserskill # 以官方 README 为准:https://github.com/Tencent/BrowserSkill

2. 浏览器安装 BrowserSkill 扩展(Chrome 扩展商店),保持浏览器开启

3. 自检 bsk doctor

然后:用目标站点(Boss直聘 / 小红书)的账号在你的浏览器里登录即可被复用。
search_jobs 会打开新标签页抓取并关闭,不影响你正在用的页面;抓取只在会话目录里存档文本,不对外发送任何数据。

默认 mock: false(实时抓取),因此 BrowserSkill 是必装前置;仅离线演示 / 单测时置 mock: true(内置演示岗位)才不依赖它。

快速开始(在 dsh 里跑起来)

1) 注册插件(dsh 无 init 脚手架,add 即注册)
dsh plugin --profile web add "$(pwd)"

2) 技能随插件自动注册(job-hunter / job-search / job-match),无需手动复制;若宿主未走运行时技能注册,才需要把 skills/ 下三个 SKILL.md 复制到 ~/.dsh/skills//

3) 验证与运行
dsh web --dump-config | grep -i find-jobs # 层已加载
dsh web # Web UI,对 Agent 说一句:
“帮我找适合我的工作。”

卸载:dsh plugin --profile web remove dsh-find-jobs。

怎么问(意图示例)

| 你想 | 可以这样说 |
| 先了解我,再找适合我的工作 | “帮我找适合我的工作。” |
| 找最值得投的 Top N | “最近有什么值得投的?给我 Top 5。” |
| 只搜岗位、不评估 | “搜一下小红书上的 AI 工程师,5 个。” |
| 带地点 / 远程 / 薪资等条件 | “帮我找美国 Remote 的 AI Engineer,5 年经验,180K 以上。” |
| 评估已有岗位 | “这个岗位适合我吗?”(附链接,或指之前搜到的) |
| 追问某个岗位 | “为什么这个岗位适合我?” |

Agent 会先看你的求职画像,缺关键信息时再问你(岗位 / 技能 / 年限 / 地点 / 远程 / 最低薪资,薪资会问清币种与周期),然后按意图执行最合适的工作流。它只做搜索、匹配与推荐,不会自动投递。

模块说明

技能(三层编排,用户无需手动触发子技能)

job-hunter 总工作流(编排器) ├── job-search 搜索:识别参数 → 并行搜多源 → 自动存档 └── job-match 匹配评估:5 步业务判断 → 统一结果卡

| 模块 | 类型 | 作用 | 位置 |
| job-hunter | 工作流技能 | 求职任务编排:先看画像 → 意图选最小工作流 → 分流(复用/精读)→ Top N 推荐与汇报 | skills/job-hunter/SKILL.md |
| job-search | 技能 | 把用户原话转 search_jobs 参数(源 / 数量 / save_dir),多源并行,返回即自动存档 | skills/job-search/SKILL.md |
| job-match | 技能 | 把 JD 硬性要求与画像逐项对照(5 步),输出统一结果卡并写回岗位档案 | skills/job-match/SKILL.md |

工具 / 库

| 模块 | 类型 | 作用 |
| get_job_profile / update_job_profile | 工具 | 求职画像记忆,持久化到 $DSH_HOME/profiles//jobhunter_profile.json |
| search_jobs | 工具 | 一次搜一个数据源,搜索成功即自动落盘 /.json + index.json,返回轻量摘要(省 token,完整 JD 只在文件里) |
| jobsArchive | lib | 落盘的确定性实现:按 id 去重合并、保留后补 match/note、进程内串行防并发覆盖 |

匹配档位(业务建议)

match_score:>85 strong_match · 70–85 good_match · 55–70 stretch · .json 的顶层字段——既是评估结果,也是缓存(画像未变则复用,不重复评估)。

岗位清单(运行时落盘)

/jobs/
├── index.json # 索引(reference):id → file、first/last_seen、match 轻量标识 └── .json # 每岗完整记录(唯一真源):search 字段 + 完整 JD + match / note 由 search_jobs(save_dir=/jobs) 自动维护。

数据源(默认实时抓取)

目前支持实时抓取:Boss直聘(boss-zhipin)、小红书(xiaohongshu),可按需在 sources 里启用。

默认 mock: false(实时),无需切换;仅离线演示 / 单测时把 mock 置为 true(内置演示岗位)。

实时抓取按 Config.sources 勾选来源(本仓库 cordis.patch.yml 即为默认值,profile 层可覆盖):

- insert:
- id: dsh-find-jobs
config:
mock: false
sources: [boss-zhipin, xiaohongshu] # 可勾选增删,顺序即优先级

注意:
- 依赖 bsk daemon + 浏览器扩展在线 + 站点登录态(bsk doctor 自检);
- 站点解析器(Boss直聘 / 小红书)按当前 DOM 编写、属实验性——解析失败时 search_jobs 会带页面片段报错,便于校准;
- 小红书链接带 xsec_token(有时效),汇报时原样引用完整 url。
- 列表页无限滚动:滚动机制在 bskRunner 里通用,按 listScroll.mode 分流——append(Boss:DOM 只增不减,滚到底)与 virtualized(小红书:DOM 只保留视口,documentElement.scrollTop += 300 × ≤20 轮 + evaluate .note-item outerHTML + data-note-id 去重,实测 43 条通过)。后续目标:统一抽象为 scroll-load-more / pagination / virtual-list strategy。

开发

pnpm install
pnpm typecheck # tsc --noEmit
pnpm test # 离线单测(不联网)
pnpm test:boss # 只看 Boss 解析单测
pnpm test:xhs # 只看小红书解析单测
pnpm live:boss # 实跑 Boss(需 bsk 在线 + 登录态)
pnpm live:xhs # 实跑小红书(同上)
pnpm live:scroll # 只实跑 Boss 列表无限滚动(不抓详情,验证能加载出超首屏的岗位)
pnpm live:parallel # 并行实跑 Boss + 小红书(同运行域内命令级串行;多用户/会话各自独立,互不抢窗口)
pnpm build # typecheck + tsdown → lib/

src/ 改动后必须 pnpm build 才进 lib/(dsh 加载 package.json main: ./lib/index.js);skills/.md 由运行时直接读取,改后重启 dsh 即可。

目录结构

src/
├── index.ts # 插件入口(name/inject/Config/apply,ctx.logger 记日志) ├── config.ts # JobHunterConfig + Schema(mock 门控 + sources 勾选) ├── types.ts # 领域类型契约 ├── data/mockJobs.ts # 离线 mock 岗位库(保持 Job 形状) ├── lib/ │ ├── profileStore.ts # 画像持久化 │ ├── search.ts # mock 搜索纯函数 │ ├── sanitize.ts # 无损 JSON 序列化 │ ├── jobsArchive.ts # search_jobs 自动落盘(.json + index.json,进程内串行) │ └── skillRegister.ts# 运行时注册内置技能 ├── provider/ # bskRunner(会话+抓取) · 站点适配器(bossZhipin/xiaohongshu) · HTML/薪资解析 └── tools/ # searchJobs(save_dir 必填自动落盘)/ jobProfile skills/ ├── job-hunter/ # 总工作流技能 ├── job-search/ # 搜索技能 └── job-match/ # 匹配评估技能 test/ # 离线单测;test/live/ 需 bsk 实跑

扩展更多数据源(新增适配器,如猎聘 / 拉勾)

1. 仿照 src/provider/bossZhipin.ts 实现 SiteAdapter(buildSearchUrl / parseListPage / parseDetailText 纯函数);
2. 在 src/provider/site.ts 的 ADAPTERS 注册表登记;
3. 在 src/config.ts 的 sources union 与 cordis.patch.yml 中启用;
4. 若列表靠滚动懒加载更多岗位,在适配器声明 listScroll(append 给 countExpression;virtualized 走 300px 自然滚动快照合并;分页站点后续走 pagination strategy,滚动抓取复用通用实现,无需重写);
5. 纯解析部分写单测(无需真实浏览器)。

Roadmap

- Phase 2(当前):真实 Job Search(bsk 实时浏览 Boss直聘 / 小红书,已实站校准)+ save_dir 自动存档与轻量返回
- Phase 3:持续 Job Search + 个人 Memory(已看岗位去重 / 定时跑)
- Phase 4:自建 Web UI 包装(先吃透 dsh web 再决定)

安全与隐私

- 实时抓取只读你已登录的招聘站,从不外发数据;存档文本在本地会话目录。
- 岗位链接可能含平台凭据参数(token),jobs/ 目录请勿提交(已 gitignore)。
- 使用 bsk 即把浏览器控制权交给本工具进程,请只在可信环境运行。

License

MIT
预览分享卡片长什么样 ↓nicklin99/dsh-find-jobs
分享 · DeepSeek Harness Hub
nicklin99/dsh-find-jobs

读懂你的求职目标,持续筛选出真正值得投递的岗位

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部