dsh-ai-jobs:在 DeepSeek Harness 里做 AI 岗位雷达

前言

找 AI 相关岗位时,常见情况是几十家公司各自用 Greenhouse、Ashby、Lever 等不同 ATS,职位数据公开但分散,每周手工翻 careers 页很难横向对比:哪家在招 research engineer、JD 里 PhD 占比多少、最近 7 天新开了哪些与你技能栈匹配的岗。DeepSeek Harness(DSH)把能力拆成插件;社区目录 SkillHub 上的 dsh-ai-jobs(维护者 justinzyc271828-sys)面向同一类问题:在本地维护一份可检索、可打分的职位索引,并按你的条件产出摘要与日报。

下面介绍它做什么、如何安装,以及典型工具调用方式。事实以 GitHub 仓库 README 为准。

这是什么

dsh-ai-jobs 是 DSH 的「联网工具」类插件(npm 包名 dsh-ai-jobs,当前版本 0.1.1,MIT 许可证)。它不依赖 API Key、不要求登录第三方账号,只请求各公司 careers 页背后公开的 ATS 板端点(Greenhouse / Ashby / Lever 等),在本地归一化职位、规则分类、抽取任职要求,再按你的技能与地点偏好打分,并支持 Markdown 日报与可选的定时提醒。

插件无独立后端、不上报遥测;数据落在本地目录(默认 $DSH_HOME/ai-jobs,否则 ~/.dsh/ai-jobs)。

核心能力

README 用一张流程表概括能力,可核对为以下要点:

  1. Collect:内置 71 个已校验招聘板(Greenhouse 33、Ashby 37、Lever 1),另可通过 watchlist 增加 Workable / SmartRecruiters 等来源。
  2. Normalize:跨 ATS 统一字段(标题、地点、远程标记、部门、日期、URL、JD 正文等)。
  3. Classify:按规则划分 AI 相关度 core / adjacent / other,以及角色族、资历层级(可审计、非黑盒模型)。
  4. Mine:从 JD 抽取年限、学历、工作方式、薪酬区间、签证、以及 38 项技能词表等。
  5. Rank:0–100 分,综合相关度、新鲜度、资历、你配置的 skillsOfInterest 与 preferredLocations 等。
  6. Store:本地 JSON 索引、JD 快照与变更历史、日报游标。
  7. Push:Markdown 摘要;可经 harness 的 schedule 服务或配置项开启每日提醒。

内置 seed 覆盖 Anthropic、OpenAI、xAI、Mistral、Cohere、Cursor、Scale、LangChain 等多家 AI 实验室与 AI 密集公司;Greenhouse 类 JD 需二次请求,插件仅对新发或变更职位拉取详情。

安装与启用

安装命令须使用 README 原文,按来源择一:

# from the marketplace / npm (once published)
dsh plugin --profile web add dsh-ai-jobs

# from a local checkout, for development
dsh plugin --profile desktop add ./dsh-ai-jobs

# from a packed tarball
npm pack && dsh plugin --profile desktop add ./dsh-ai-jobs-0.1.0.tgz

bundle 通过 cordis.patch.yml 挂载一行插件(ai-jobs)。安装后需重启应用,或在 Plugins 页面重新开关插件。运行环境要求 Node >= 22.0.0(见 package.json 的 engines)。

注意:插件以当前 DSH 进程权限运行,会向公网 ATS 端点发起请求;安装前请自行审阅源码与 MIT 许可证,并遵守 README 中的礼貌抓取建议(默认 concurrency: 4、单次 refresh、仅对新职位拉 JD),勿批量再分发数据;投递前以公司官网 careers 页为准。

典型用法

首次可先刷新索引,再搜索、看聚合要求或生成摘要:

ai_jobs_refresh                     # index every watched board (first run: ~10s for 3 big boards)
ai_jobs_search { "tier": "core", "postedWithinDays": 7, "minScore": 70 }
ai_jobs_requirements { "tier": "core", "limit": 200 }
ai_jobs_digest
ai_jobs_watchlist { "action": "add", "company": "Mistral", "ats": "ashby", "token": "mistral.ai" }

常用工具一览(返回值含义见 README「Tools」表):

工具 用途
ai_jobs_refresh 重新索引全部或选定招聘板,回报各板 ok/error 与增删改数量
ai_jobs_search 按 query、company、tier、seniority、remote、location、minScore、postedWithinDays 等筛选并排序
ai_jobs_get 单条职位全文元数据、得分、抽取要求、JD 片段与存储路径
ai_jobs_digest 自上次 digest 游标以来的 Markdown 变更摘要
ai_jobs_requirements 跨公司技能频率、年限中位数、学历与工作方式分布、薪酬区间等
ai_jobs_watchlist list / add / remove 招聘板
ai_jobs_status 索引健康度、最后刷新与 digest 时间、存储路径
ai_jobs_schedule 创建/列出/删除每日 digest 提醒(需 schedule 服务)

日报有两种方式:调用 ai_jobs_schedule 指定时间与 timeZone(例如 Asia/Shanghai),或在配置里设 dailyDigest.enabled: true,首次 session 执行 ai_jobs_refresh 或 ai_jobs_digest 时由插件自行注册提醒。默认 digest 只包含游标之后的新职位,避免日复述;ai_jobs_digest { "days": 7 } 可忽略游标按天数回看。

配置要点

示例配置(字段含义以 README 表格为准):

{
  "lang": "zh",
  "timeZone": "Asia/Shanghai",
  "concurrency": 4,
  "skillsOfInterest": ["LLM", "inference", "agents", "RAG"],
  "preferredLocations": ["San Francisco", "Remote"],
  "remoteOk": true,
  "digestPerCompany": 4,
  "digestLimit": 30,
  "digestMinScore": 0,
  "dailyDigest": { "enabled": true, "time": "09:00:00" },
  "companies": [
    { "company": "Cohere", "ats": "ashby", "token": "cohere", "tags": ["frontier-lab"] }
  ]
}

打分公式在 README 中公开(tier 权重、新鲜度衰减、资历偏移、技能重叠与地点/远程加分等);非工程职能(法务、销售、市场等)即使标题含 AI 也会先归为 other,带 AI 词汇的管理岗多归为 adjacent。

适用场景

适合已在用 DSH、希望把「多 ATS、多公司 AI 招聘板」收成一条本地流水线的人:定时 refresh、按栈搜索、对比 lab 要求缺口、用 digest 做晨间浏览。不适合需要登录猎聘/LinkedIn 等封闭源的场景——插件明确不抓取需登录站点。

SkillHub 上的社区目录与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件是其中一条联网索引链路。

链接

  • 目录页:https://www.skillhub.cn/plugins/justinzyc271828-sys/dsh-ai-jobs
  • 源码与完整文档:https://github.com/justinzyc271828-sys/dsh-ai-jobs
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜