npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dchef/jobhunt-cli

v0.1.0

Published

Search, export, and analyze public company recruitment jobs.

Readme

JobHunt-CLI

把互联网公司的公开招聘官网转成稳定、可脚本化、适合求职者和 AI agent 使用的岗位数据源。

npx jobhunt-cli sites
npx jobhunt-cli didi search AI --category 产品 --format json
jobs kuaishou search 算法 --location 北京 --limit 10
jobs didi analyze ai-product --output reports/didi-ai-product-report.md

JobHunt-CLI 的主命令是 jobs。它站在求职者视角:检索岗位、查看详情、批量导出、分析公司岗位画像。OpenCLI 不是必需依赖,只作为已有 OpenCLI 用户的可选兼容层保留。

适合谁

  • 想快速检索互联网公司岗位的求职者。
  • 想把招聘官网变成结构化数据源的 AI agent。
  • 想批量导出岗位、做岗位画像、做公司招聘情报分析的研究者。
  • 想为更多招聘网站贡献 adapter 的开发者。

当前支持

| 公司 | 命令 | 覆盖范围 | 说明 | | --- | --- | --- | --- | | 滴滴 | jobs didi ... | 社会招聘 | 公开接口,列表会补齐详情字段。 | | 快手 | jobs kuaishou ... | 社会招聘 | 公开接口,已内置请求签名。 |

安装与运行

不安装,直接运行:

npx jobhunt-cli sites
npx jobhunt-cli didi search AI --category 产品 --format json

全局安装:

npm install -g jobhunt-cli
jobs sites

在当前仓库中本地运行:

npm install
npm run jobs -- didi search AI --category 产品 --limit 5 --format json

核心命令

所有招聘网站都遵循同一套命令形态:

jobs sites
jobs <site> filters --format json
jobs <site> search [query] --location <城市/编码> --category <类别/编码> --limit <数量> --format json
jobs <site> detail <岗位ID> --format json
jobs <site> all [query] --category <类别/编码> --max <数量> --format csv --output jobs.csv
jobs <site> analyze ai-product --output report.md

常用示例:

jobs didi search AI --category 产品 --limit 5
jobs didi detail 60517 --format json
jobs didi all AI --category 产品 --max 20 --format csv --output didi-ai.csv
jobs kuaishou search 算法 --location 北京 --limit 10 --format json
jobs kuaishou all --category 产品 --max 0 --format json --output kuaishou-products.json

输出格式

使用 --format-f 指定输出格式:

  • table:适合人在终端快速浏览。
  • json:适合 AI agent、脚本、索引和二次处理。
  • csv:适合表格软件和数据分析。
  • md:适合报告、Markdown 表格和用户可读输出。

使用 --output-o 写入文件:

jobs didi all AI --category 产品 --format csv --output didi-ai-jobs.csv
jobs didi analyze ai-product --format md --output didi-ai-product-report.md

标准岗位字段

不同招聘官网的原始字段会被统一成下面的结构,方便后续 agent 或脚本消费:

id
job_no
name
url
category_code
category_name
nature_code
nature_name
location_codes
location_names
experience_code
levels
department_code
department_name
updated_at
description
requirement
raw

raw 只保留必要的原始字段,方便排查接口变化,不作为表格输出的主要内容。

给 AI Agent 的用法

仓库内置了一个 skill:

skills/jobhunt-cli/SKILL.md

推荐 agent 工作流:

  1. 运行 jobs sites,确认支持哪些公司。
  2. 运行 jobs <site> filters --format json,查看城市、岗位类别、招聘类型等筛选项。
  3. jobs <site> search <关键词> --format json 做快速检索。
  4. jobs <site> detail <id> --format json 获取单个岗位详情。
  5. jobs <site> all --max 0 --format json 拉取全量匹配岗位。
  6. jobs <site> analyze ai-product --format md 生成 AI 产品岗位画像报告。

对 agent 来说,json 是默认推荐格式;需要交付给用户时再导出 csvmd

新增招聘网站

新增公司时,只需要实现一个 site adapter:

src/sites/<site>/
├── index.js
└── utils.js

adapter 需要提供统一方法:

export default {
  id: 'example',
  name: 'Example',
  description: 'Example social recruitment',
  columns: [],
  detailColumns: [],
  maxPageSize: 20,
  async filters() {},
  async search(args) {},
  async detail(id) {},
  async all(args) {},
};

注册到 src/core/registry.js 后,CLI 会自动获得:

jobs example filters
jobs example search
jobs example detail
jobs example all
jobs example analyze ai-product

更详细的接入清单见 docs/ADDING_SITE.md

项目结构

.
├── bin/jobs.js                 # 独立 CLI 入口
├── src/core/                   # 注册、输出、错误、分析逻辑
├── src/sites/                  # 公司招聘网站 adapter
│   ├── didi/
│   └── kuaishou/
├── skills/jobhunt-cli/         # 给 AI agent 使用的 skill
├── integrations/opencli/       # 可选 OpenCLI 兼容层
├── scripts/                    # smoke 检查脚本
├── docs/                       # 开发文档
└── examples/                   # 示例输出

开发与验证

运行 smoke 检查:

npm run smoke
npm run smoke:cli

本地直接运行 CLI:

node bin/jobs.js sites
node bin/jobs.js didi search AI --category 产品 --limit 1 --format json

发布前预检 npm 包内容:

npm pack --dry-run

可选 OpenCLI 兼容

普通用户不需要安装 OpenCLI。

如果用户本来就在使用 OpenCLI,可以使用可选入口:

integrations/opencli/index.js
opencli.js

产品对外推荐的主接口仍然是:

jobs <site> ...