gregherbe76/Hire-Shield
GitHub: gregherbe76/Hire-Shield
HireShield 是一个开源AI系统,用于检测招聘诈骗、幽灵职位和钓鱼企图,帮助求职者避免浪费时间和数据泄露。
Stars: 0 | Forks: 0

# HireShield
**申请前,先辨别职位真伪。**
一款开源 AI 系统,可检测可疑招聘帖、幽灵职位及钓鱼企图——且绝不会直接指控特定公司。
[](https://hire-shield.replit.app)
[](LICENSE)
[](https://nodejs.org)
[](https://www.typescriptlang.org/)
[](CONTRIBUTING.md)
[**在线演示 →**](https://hire-shield.replit.app)
## 为什么选择 HireShield
求职诈骗与幽灵职位泛滥成灾。求职者们花费数小时精心修改简历,申请那些永远不会被填补的职位,甚至更糟——将个人数据交给了冒充招聘人员的钓鱼团伙。HireShield 为求职者提供对任何职位信息的快速、透明**第二意见**:
- 🧪 **启发式优先,LLM辅助。** 确定性 NLP 信号(如紧急性标记、可疑措辞、风格计量学、元数据、重复职位检测)计算信任评分。LLM 仅用于提供定性推理和面向候选人的摘要——绝不单独决定最终判定。
- 🧯 **绝不指控。** 输出以*信任信号*和*置信度*呈现,而非对特定雇主的评判。我们呈现证据和建议行动。
- 🔗 **粘贴文本或 URL。** 输入职位描述,或粘贴 URL——HireShield 会获取并解析职位信息(并支持可选的 JS 渲染回退)。
- 📊 **社区遥测数据。** 跨所有分析的聚合统计:风险分布、最常见检测信号、幽灵职位占比、实时动态。
## 界面截图

## 功能特性
- **信任评分 (0–100)**,附带清晰的风险等级——*合规 · 低风险 · 中风险 · 高风险 · 极高风险*。
- **幽灵职位概率**,基于过时性、流动性和语言信号。
- **7维度信号报告**:可疑措辞、紧急性、风格计量学、元数据异常、重复检测、招聘渠道检查及 LLM 推理。
- **面向候选人的摘要**——用通俗易懂的语言说明该职位的实际内容。
- **建议行动**——申请前的具体后续步骤。
- **可分享的永久链接**——每次分析都在 `/analyses/:id` 生成稳定 URL。
- **社区页面**——遥测数据、风险分布图、近期分析实时动态。
- **开放 API**——契约优先的 OpenAPI 规范,生成的 React Query hooks 及 Zod 验证器。
## 技术栈
| 层级 | 技术栈 |
| ------------ | ------------------------------------------------------------------------------------------- |
| 代码仓库 | pnpm 工作空间, Node.js 24, TypeScript 5.9 |
| 前端 | React 19, Vite, wouter, TanStack Query, Tailwind, shadcn/ui, framer-motion, recharts |
| API | Express 5, OpenAI SDK (gpt-5.4 经由 Replit AI Integrations 代理) |
| 数据库 | PostgreSQL + Drizzle ORM |
| 数据验证 | Zod v4, `drizzle-zod` |
| API 代码生成 | Orval (源自 `lib/api-spec/openapi.yaml`) |
| URL 抓取 | 原生 `fetch` + `cheerio`, 并以 Apify Website Content Crawler 作为 JS 渲染回退 |
## 仓库结构
```
hireshield/
├── artifacts/
│ ├── api-server/ # Express API, mounted at /api
│ ├── hireshield/ # React + Vite frontend, mounted at /
│ └── mockup-sandbox/ # Component preview server (dev only)
├── lib/
│ ├── api-spec/ # OpenAPI spec — single source of truth
│ ├── api-client-react/ # Generated React Query hooks (Orval)
│ ├── db/ # Drizzle schema + migrations
│ └── nlp-engine/ # Tokenize, tfidf, urgency, stylometry, duplicate-detection
└── scripts/ # Workspace utility scripts
```
## 快速开始
### 前置条件
- **Node.js 24**
- **pnpm 9+** (`corepack enable pnpm`)
- **PostgreSQL 14+** (任意服务商——Neon, Supabase, 本地环境等)
- 一个 **兼容 OpenAI 的 API 端点** (OpenAI, Azure OpenAI, OpenRouter, 或启用了 OpenAI shim 的本地 Ollama 等)
### 安装依赖
```
git clone https://github.com/YOUR_USERNAME/hireshield.git
cd hireshield
pnpm install
```
### 配置环境
```
cp .env.example .env
# 然后在 .env 文件中填写 DATABASE_URL 和 AI_INTEGRATIONS_OPENAI_*
```
完整变量列表请参阅 [`.env.example`](.env.example)。仅 `DATABASE_URL` 和两个 `AI_INTEGRATIONS_OPENAI_*` 密钥为必需项。
### 初始化数据库
```
pnpm --filter @workspace/db run push
```
### 运行项目
在两个终端(或两个后台进程)中:
```
# API 地址 http://localhost:8080
pnpm --filter @workspace/api-server run dev
# 前端地址 http://localhost:5173
pnpm --filter @workspace/hireshield run dev
```
打开前端 URL。前端通过 `/api/*` 在相同源站与 API 通信——若在不同主机上运行,请设置代理或调整 API 基础 URL。
### 全量类型检查
```
pnpm run typecheck
```
### 编辑规范后重新生成 API 客户端
```
pnpm --filter @workspace/api-spec run codegen
```
## 分析器工作原理
1. **输入标准化。** 粘贴文本或 URL。URL 经 `fetch-posting.ts` 处理——先使用简单的 `fetch + cheerio` 提取器,若页面为 JS 渲染(由 `APIFY_API_TOKEN` 控制),则回退至 Apify Website Content Crawler。SSRF 防护会屏蔽私有 IP 段;响应大小上限为 2 MB,超时时间为 10 秒。
2. **NLP 信号** (`lib/nlp-engine`)。确定性检查产生各维度评分:可疑措辞、紧急性、风格计量学异常、元数据缺失、跨历史重复职位检测。
3. **LLM 推理。** 通过 OpenAI SDK 调用 `gpt-5.4`,设置 `response_format: { type: "json_object" }`。它返回候选人摘要、定性观察结果及幽灵职位概率——但**绝不直接设定信任评分**。
4. **信号融合。** 信号被加权计算,得出最终信任评分和风险等级。LLM 输出作为上下文合并,而非最终判定。
5. **数据持久化。** 每次分析结果存储于 `analyses` 表,并在 `/analyses/:id` 生成永久链接。聚合数据供给 `/community` 页面展示。
## 架构决策
- **启发式优先,LLM辅助。** 确定性优于幻觉。评分结果可复现。
- **绝不指控。** 所有文案均围绕证据和建议展开,不针对特定雇主下结论。
- **契约优先的 API。** `openapi.yaml` 同时驱动 React Query hooks 和 Zod 验证器。编辑规范后务必重新生成。
- **路径路由的代码仓库。** API 位于 `/api/*`,前端位于 `/`。两者作为单一制品部署于共享代理之后。
## 安全
如发现漏洞,请**勿**公开创建 issue。请查阅 [SECURITY.md](SECURITY.md) 了解漏洞披露流程。
## 许可证
[MIT](LICENSE) © HireShield 贡献者。
## 主题标签
`job-scam-detection` · `ghost-jobs` · `recruitment-fraud` · `phishing-detection` · `nlp` · `openai` · `gpt` · `trust-score` · `typescript` · `react` · `vite` · `express` · `drizzle-orm` · `postgres` · `pnpm-workspace` · `open-source`
如果 HireShield 帮助你避开了诈骗,请为仓库点个星 ⭐ —— 这真的很有帮助。
标签:AI系统, DLL 劫持, GNU通用公共许可证, MITM代理, Node.js, TypeScript, URL解析, 二进制发布, 信任评估, 大语言模型, 安全插件, 幽灵职位识别, 开源工具, 招聘诈骗检测, 数据隐私, 文本分析, 求职安全, 测试用例, 社区遥测, 网络安全, 自动化攻击, 钓鱼攻击防护, 隐私保护