ai-recruit
v1.0.3
Published
AI招聘信息聚合智能体 - 聚合豆包、DeepSeek、ChatGPT、Claude等多个AI模型的回答,通过飞书多维表格汇总,最终给出综合建议
Maintainers
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.02.2 安装 Chrome 浏览器
opencli 依赖 Chrome 浏览器实现自动化操作,必须安装。
macOS:
# 方式一:官网下载
# 打开 https://www.google.com/chrome/ 下载并安装
# 方式二:Homebrew 安装
brew install --cask google-chromeWindows:
从 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\ Chrome2.3 安装 opencli
opencli 是 AI 模型调用引擎,通过浏览器自动化与各 AI 平台交互,无需 API Key。
npm install -g @jackwener/opencli验证安装:
opencli --version2.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飞书认证(可选):
- 去 open.feishu.cn 创建企业自建应用
- 获取 App ID 和 App Secret
- 在应用权限中开启:
base:app、base:record:create、base:record:read、base:record:update、base:table:create、base:field:create、base:block:create、drive:drive - 运行认证:
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-feishuai-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 a1b2c3d4ai-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
