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

ai-recruit

v1.0.3

Published

AI招聘信息聚合智能体 - 聚合豆包、DeepSeek、ChatGPT、Claude等多个AI模型的回答,通过飞书多维表格汇总,最终给出综合建议

Readme

AI-Recruit — AI招聘信息聚合智能体

一键向多个AI模型同时提问,汇总对比各模型回答,自动存入飞书多维表格,最终给出综合建议。

用户输入 → 并行调用多个AI模型 → 飞书多维表格存档 → 汇总智能体综合分析 → 终端输出 + 飞书表格链接

一、环境要求

| 依赖 | 版本要求 | 说明 | |------|---------|------| | Node.js | >= 18.0.0 | JS 运行时 | | npm | >= 9.0.0 | 包管理器 | | Chrome 浏览器 | 最新版 | opencli 浏览器自动化依赖 |


二、安装步骤

2.1 安装 Node.js

如未安装,从 nodejs.org 下载 LTS 版本安装。

验证安装:

node --version   # 应 >= v18.0.0
npm --version    # 应 >= 9.0.0

2.2 安装 Chrome 浏览器

opencli 依赖 Chrome 浏览器实现自动化操作,必须安装

macOS

# 方式一:官网下载
# 打开 https://www.google.com/chrome/ 下载并安装

# 方式二:Homebrew 安装
brew install --cask google-chrome

Windows

google.com/chrome 下载安装包,双击安装。

Linux

# Ubuntu/Debian
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt update
sudo apt install google-chrome-stable

验证安装:

# macOS
open -a "Google Chrome"

# 或命令行确认
ls /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome

2.3 安装 opencli

opencli 是 AI 模型调用引擎,通过浏览器自动化与各 AI 平台交互,无需 API Key

npm install -g @jackwener/opencli

验证安装:

opencli --version

2.4 登录各 AI 模型

每个模型只需登录一次,浏览器会保存登录态。

# 必须登录的(默认使用的三个模型)
opencli qwen login       # 通义千问
opencli doubao login     # 豆包
opencli deepseek login   # DeepSeek

# 可选登录
opencli chatgpt login    # ChatGPT
opencli claude login     # Claude
opencli kimi login       # Kimi

每个命令会打开 Chrome 浏览器,在浏览器中完成登录即可。登录成功后关闭浏览器窗口。

2.5 安装 lark-cli(可选,用于飞书集成)

npm install -g @lark-cli/cli

飞书认证(可选):

  1. open.feishu.cn 创建企业自建应用
  2. 获取 App ID 和 App Secret
  3. 在应用权限中开启:base:appbase:record:createbase:record:readbase:record:updatebase:table:createbase:field:createbase:block:createdrive:drive
  4. 运行认证:
lark-cli config init --new
lark-cli auth login

不配置飞书也能用:数据会自动存到本地 ~/.ai-recruit/data/ 目录,终端输出正常。

2.6 安装 ai-recruit

方式一:npm 安装(推荐)

npm install -g ai-recruit

方式二:免 npm 安装(离线包)

向管理员索取 ai-recruit-standalone.zip,解压到任意目录,添加到 PATH 即可:

unzip ai-recruit-standalone.zip -d /usr/local/ai-recruit
sudo ln -s /usr/local/ai-recruit/ai-recruit /usr/local/bin/ai-recruit

离线包已将 Node.js 依赖打包为单个文件,无需 npm install,只需 Node.js >= 18。

验证安装:

ai-recruit --version

三、环境诊断

安装完成后,运行诊断确认一切就绪:

ai-recruit doctor

正常输出示例:

🔍 AI-Recruit 环境诊断

📦 检测 opencli ...
  ✅ opencli 1.8.4

📦 检测 lark-cli ...
  ✅ lark-cli 1.0.55

🤖 检测AI模型登录状态 ...
  ✅ 通义千问 (qwen)
  ✅ 豆包 (doubao)
  ✅ DeepSeek (deepseek)

  ✅ 环境就绪
  可用模型: 3/3

四、快速上手

# 1. 不指定模型,默认使用 通义千问 + 豆包 + DeepSeek
ai-recruit ask "招5年Go后端候选人需要问哪些问题"

# 2. 跳过飞书,仅终端输出(无需 lark-cli)
ai-recruit ask "Python数据分析师面试题" --no-feishu

# 3. 指定模型
ai-recruit ask "行业后端Java人才分布" --models qwen,deepseek

# 4. 查看历史
ai-recruit history

# 5. 查看某次查询的完整结果
ai-recruit result <query-id>

五、命令详解

ai-recruit ask <问题> (别名 a

| 参数 | 简写 | 说明 | 默认值 | |------|------|------|--------| | <prompt> | — | 必填,要提问的问题 | — | | --models | -m | 模型列表,逗号分隔 | qwen,doubao,deepseek | | --synthesizer | -s | 指定汇总模型 | deepseek | | --concurrency | -c | 并发数 | 2 | | --timeout | -t | 单模型超时秒数 | 180 | | --no-feishu | — | 跳过飞书,仅终端输出 | false |

示例

# 默认三个模型
ai-recruit ask "产品经理跳槽时注重哪些方面?"

# 只用两个模型,指定汇总模型
ai-recruit ask "SRE面试重点" -m qwen,doubao -s deepseek

# 提高并发,延长超时
ai-recruit ask "Java架构师技能要求" -c 3 -t 300

# 不写飞书,只看终端
ai-recruit ask "快速测试" --no-feishu

ai-recruit doctor

检测 opencli、lark-cli、各模型登录状态、飞书认证状态。

ai-recruit models

列出所有可用模型及当前登录状态。

ai-recruit history

查看历史查询记录(最近 20 条)。

ai-recruit history          # 最近 20 条
ai-recruit history -n 50    # 最近 50 条

ai-recruit result <queryId>

查看某次查询的完整结果,包括各模型原始回答和综合建议。

ai-recruit result a1b2c3d4

ai-recruit export <queryId>

导出某次查询到飞书云文档。


六、支持的模型

| 模型 | ID | 是否默认 | 登录命令 | |------|-----|---------|---------| | 通义千问 | qwen | ✅ 默认 | opencli qwen login | | 豆包 | doubao | ✅ 默认 | opencli doubao login | | DeepSeek | deepseek | ✅ 默认 | opencli deepseek login | | ChatGPT | chatgpt | — | opencli chatgpt login | | Claude | claude | — | opencli claude login | | Kimi | kimi | — | opencli kimi login | | Gemini | gemini | — | opencli gemini login |


七、工作流程

一次完整的 ai-recruit ask 执行流程:

1. 环境检测        → 确认 opencli 已安装,目标模型已登录
2. 飞书表格初始化   → 自动创建/复用「AI招聘聚合」多维表格
3. 并行调用模型     → 同时向 2-3 个模型发送提问(浏览器自动化)
4. 实时进度显示     → 每个模型完成/失败立即更新终端
5. 写入飞书表格     → 各模型回答存入「回答明细」表
6. 汇总智能体      → 用最优模型整合所有回答,给出综合建议
7. 回写最终结果     → 综合建议写入「查询记录」表
8. 终端输出        → 显示摘要 + 飞书表格链接

八、容错机制

| 场景 | 表现 | |------|------| | 某模型未登录 | 显示 ⚠️ 已跳过,其他模型正常 | | 某模型超时 | 显示 ⏱️ 超时,其他模型继续 | | 某模型报错 | 显示 ❌ + 错误原因,不影响流程 | | 全部模型失败 | 提示运行 ai-recruit doctor 诊断 | | lark-cli 未安装/未认证 | 自动降级为本地 JSON 文件存储 | | 汇总模型不可用 | 自动降级到下一个可用模型 |

汇总降级链deepseek → doubao → qwen → chatgpt → claude → kimi


九、飞书多维表格

启用飞书集成后,数据自动存入飞书多维表格:

  • 查询记录表:查询ID、查询内容、状态、参与模型、成功数、失败数、创建时间、完成时间、总耗时、最终回答、飞书文档链接
  • 回答明细表:查询ID、模型、原始回答、耗时、状态、错误信息、创建时间

首次使用会自动创建,后续复用。如需重建,删除 ~/.ai-recruit/config.json 即可。


十、本地存储

当飞书不可用时,数据存储在 ~/.ai-recruit/

~/.ai-recruit/
├── config.json       # 配置(飞书 base_token 等)
└── data/
    ├── queries.json   # 查询记录
    └── answers.json   # 回答明细

十一、离线分发(免 npm)

如果对方无法使用 npm,可以打包为独立离线包分发。

构建离线包

cd ai-recruit
npm install --save-dev @vercel/ncc
npx ncc build src/index.ts -o dist-bundle --minify
cd dist-bundle
zip -r ai-recruit-standalone.zip ai-recruit index.js README.md

使用者安装

unzip ai-recruit-standalone.zip -d /usr/local/ai-recruit
sudo ln -s /usr/local/ai-recruit/ai-recruit /usr/local/bin/ai-recruit
ai-recruit doctor

十二、常见问题

Q: 为什么豆包/DeepSeek 显示超时,但浏览器页面已经有回复了?

A: 浏览器自动化场景下,页面加载速度受网络影响。可以尝试:

  • 增大超时:--timeout 300
  • 减少并发:--concurrency 1

Q: 提示 "opencli: command not found"?

A: opencli 未安装或 PATH 未生效。运行 npm install -g @jackwener/opencli,然后重开终端。

Q: 飞书表格时间只显示到日期?

A: 删除 ~/.ai-recruit/config.json 后重新运行,新创建的表格时间字段会显示到分钟。

Q: 如何卸载?

npm uninstall -g ai-recruit
rm -rf ~/.ai-recruit

十三、License

MIT