内容
# 工作力数据浏览器
一个界面连接了 89 个精选的美国劳动力市场数据源 —— 其中 30 个提供实时 API 访问,涵盖官方统计数据(BLS、FRED、人口普查局、O*NET、劳工部、SEC EDGAR)和实时信号(Indeed 招聘实验室的职位发布、ADP 工资单、Anthropic 经济指数)。
**三种使用方式,最简单的方式先:**
| | 什么 | 在哪里 |
|---|---|---|
| 🖥️ | **实时仪表盘** — 浏览、图表、下载。无需设置。 | [workforce-data-explorer.streamlit.app](https://workforce-data-explorer.streamlit.app) |
| 🤖 | **AI 连接器(MCP)** — 提问自己的 Claude 或 ChatGPT 问题,并获得实时劳动力数据回答 | `https://workforce-data-mcp.onrender.com/mcp` |
| ⚙️ | **自行运行** — 克隆此仓库,获取免费 API 密钥 | [快速入门](#自行运行) 以下 |
## 内容
| 来源 | 您获得的内容 |
|---|---|
| **FRED** | 816,000+ 时间序列 — 失业率、职位空缺、辞职率、工资、参与率、申诉、CPI、GDP |
| **BLS** | CES 工资单、CPS 家庭调查、JOLTS、就业成本指数、生产率、OEWS 职业工资 |
| **人口普查局** | ACS 人口统计/收入/通勤按州和县划分,QWI 招聘/离职,县商业模式 |
| **O*NET** | 900+ 职业概况 — 技能、任务、能力、技术使用 |
| **劳工部** | 每周 UI 申诉、OSHA 检查、工资和工时执法 |
| **SEC EDGAR** | 裁员 8-K 表格,10-K 表格中的人力资本披露,公司备案 |
| **Indeed 招聘实验室** | 每日职位发布指数(全国/州/大都会/行业)+ AI 发布份额 |
| **ADP** | 每周和每月私人工资单(通过 FRED) |
| **Anthropic 经济指数** | 按职业和任务划分的现实世界 AI 使用情况 |
---
## 🖥️ 仪表盘
**[workforce-data-explorer.streamlit.app](https://workforce-data-explorer.streamlit.app)** — 无需安装。
- **目录** — 按主题搜索所有 89 个精选来源
- **职位发布** — 来自 Indeed 的实时劳动力需求,包括 AI 发布的份额
- **州劳动力市场** — 任意州的四个主要指标
- **FRED / BLS / 人口普查局 / O*NET / 劳工部 / SEC 页面** — 获取、图表和下载任意时间序列为 CSV
- **AI 助手** — 用普通英语提问(“显示我 2022 年以来的辞职率 vs. 空缺率”)。共享助手每分钟允许几个问题;在该页面的扩展器中粘贴自己的免费 [Groq 密钥](https://console.groq.com/keys),即可无限使用。
## 🤖 AI 连接器(MCP)
最佳体验:将实时劳动力数据插入您已经使用的 AI 中。连接器公开了 15 种工具 — FRED 和 BLS 时间序列、职业工资、人口普查局 ACS、O*NET 职业、UI 申诉、SEC 裁员/公司备案、Indeed 每日职位发布、AI 发布份额、州劳动力市场快照和 AI 使用暴露按职业划分 — 由您的 AI 决定调用哪些。
**Claude(claude.ai)** — 需要付费计划:
1. 设置 → **连接器** → **添加自定义连接器**
2. 名称:`Workforce Data` — URL:`https://workforce-data-mcp.onrender.com/mcp`
3. 在新聊天中,提问类似 *"本月上市公司裁员情况如何?"* 或 *"比较软件开发人员和护士的工资。"*
**ChatGPT** — 设置 → 连接器(开发者模式)→ 添加相同的 URL。
**Claude 桌面应用程序,本地运行** — 简单的方法是扩展包:
1. 克隆仓库并创建虚拟环境(参见 [自行运行](#️-自行运行))。
2. 从 [最新版本](https://github.com/thelancehaun/workforce-data-explorer/releases/latest) 下载 `Workforce-Data.mcpb` 并双击它。
3. Claude 打开安装对话框 — 点击 **安装**,然后指向您克隆的仓库文件夹。连接器出现在设置 → 扩展中,带有开启/关闭切换。完成 — 无需配置文件。
<details>
<summary>替代:手动 <code>claude_desktop_config.json</code> 条目</summary>
> ⚠️ **仅在 Claude 完全退出时编辑此文件(⌘Q)。** 应用程序在退出时从内存中重写它,因此在运行时进行的编辑将被静默丢失。
```json
{
"mcpServers": {
"workforce-data": {
"command": "/path/to/workforce-data/.venv/bin/python",
"args": ["/path/to/workforce-data/mcp_server.py"]
}
}
}
```
</details>
**Claude 代码** — 一个命令,在每个会话中都可用:
```bash
claude mcp add --scope user workforce-data -- /path/to/workforce-data/.venv/bin/python /path/to/workforce-data/mcp_server.py
```
> 托管的连接器在空闲时运行在免费层 — 冷启动后第一个问题需要 ~30–60 秒。
## ⚙️ 自行运行
需要 **Python 3.10+** (在 3.13 上测试)。所有依赖项都在 `requirements.txt` 中。
```bash
git clone https://github.com/thelancehaun/workforce-data-explorer.git
cd workforce-data-explorer
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # 然后添加您的免费 API 密钥(参见下文)
streamlit run app.py # 仪表盘
python mcp_server.py # MCP 服务器(stdio,用于 Claude 桌面应用程序)
python mcp_server.py --http # MCP 服务器(HTTP,用于远程托管)
```
应用程序无需任何密钥即可运行 — SEC、O*NET 和部分 BLS/人口普查局功能无需密钥 — 但 FRED(驱动大多数时间序列)和 AI 助手聊天需要免费密钥。
### API 密钥(全部免费,大约 5 分钟)
| 密钥 | 驱动 | 获取位置 |
|---|---|---|
| `FRED_API_KEY` | 大多数时间序列 | [fred.stlouisfed.org](https://fred.stlouisfed.org/docs/api/api_key.html) |
| `BLS_API_KEY` | 更高的 BLS 速率限制 | [data.bls.gov](https://data.bls.gov/registrationEngine/) |
| `CENSUS_API_KEY` | ACS / QWI / CBP 查询 | [api.census.gov](https://api.census.gov/data/key_signup.html) |
| `GROQ_API_KEY` | 应用程序内 AI 助手聊天 | [console.groq.com](https://console.groq.com) |
| `DOL_API_KEY` | OSHA / WHD 执法数据 | [dataportal.dol.gov](https://dataportal.dol.gov) |
| `ONET_API_KEY` | 可选 — 更高的 O*NET 限制 | [services.onetcenter.org](https://services.onetcenter.org/) |
### 部署您自己的副本
- **仪表盘** → [Streamlit 社区云](https://share.streamlit.io)(免费):指向您的分叉,粘贴您的密钥到应用程序 **设置 → 机密**。
- **MCP 服务器** → [Render](https://render.com)(免费):包含的 `render.yaml` 配置它 — 连接您的分叉作为蓝图,并添加您的密钥作为环境变量。任何 Python 主机(Fly.io、Railway、VPS)都可以使用:`python mcp_server.py --http`。
## 架构
```
app.py Streamlit 仪表盘(概述、AI 助手、数据页面)
ui_theme.py 共享图表样式(验证的调色板,浅色/深色)
mcp_server.py MCP 服务器(stdio + 可流式 HTTP,TTL 缓存工具)
workforce_data/
catalog.py 89 个精选来源的可搜索元数据
chat.py 工具调用聊天引擎(Groq)+ 共享工具层
sources/
fred.py bls.py census.py onet.py dol.py sec.py indeed.py aei.py
```
获取的数据在两个应用程序中都缓存到内存中(1 小时用于时间序列,最多 1 天用于搜索和元数据),因此重复查询不会消耗 API 配额。
## 错误、想法和合作
- **错误或数据看起来不正确?**
[打开问题](https://github.com/thelancehaun/workforce-data-explorer/issues/new/choose)
— 模板使其快速。
- **想建议数据源?** 同一个地方 — 有一个模板。
- **合作 / 媒体:** 联系链接在应用程序的
[关于页面](https://workforce-data-explorer.streamlit.app/settings)
(保留在 GitHub 外,以免被爬虫获取)。
## 许可证
MIT — 参见 [LICENSE](LICENSE)。