内容
# 资助雷达
政府资助事业公告收集、根据申请者条件筛选适合的公告,并由 AI 判断适合度和生成申请书初稿的 REST/MCP 服务。
单纯的公告列表并不是我们的目标。公告原文分散在各处,支持对象、营业年限、地区、附件格式在不同来源中各不相同。资助雷达将这些信息整理成一个 schema,明确不匹配的公告会被排除,模糊的公告会被标记为“需要确认”。然后,为调用者提供适合度、支持价值、准备材料和初稿写作的提示。
## 功能
- 收集 K-Startup、企业门户、科技部、 중소벤처기업부 的公告。
- 将公告标准化为标题、机构、领域、申请对象、营业年限、地区、截止日期、附件链接。
- 合并多个来源中重复发布的相同公告。
- 隐藏过期公告。
- 根据申请者类型、营业年限、地区判断基本资格。
- 返回可直接用于 LLM 的 `fitPrompt` 和 `draftPrompt`。
- 提供 Web 应用、公开读取 REST API 和 token 保护的 MCP 端点。
本项目不调用自身的 LLM。ChatGPT、Claude、Hermes 等调用者的模型会接收资助雷达的结果并进行判断和写作。
## 演示
当前正在运行的实例。
| 界面 | 地址 |
|---|---|
| Web 应用 | `https://grant.sealcpa.com/` |
| REST 列表 | `https://grant.sealcpa.com/api/grants` |
| 文档 | `https://grant.sealcpa.com/docs/` |
| MCP | `https://grant.sealcpa.com/mcp` |
读取 REST 是公开的,因为政府公告是公开数据。MCP 是一个集成接口,需要 Bearer token。
本仓库是公开安全的源代码镜像。实际运行所需的 secret、部署设置和内部操作メモ不会公开。
## 快速启动
```bash
npm ci
cp .env.example .env
```
在 `.env` 中填写 API 密钥并更新缓存。
```bash
npm run refresh
npm run mcp
```
默认服务器地址是 `http://localhost:13280`。
## 环境变量
| 变量 | 必需 | 用途 |
|---|---:|---|
| `DATA_GO_KR_SERVICE_KEY` | 是 | K-Startup、科技部、 중소벤처기업부 data.go.kr API 密钥 |
| `BIZINFO_CRTFC_KEY` | 是 | 企业门户 API 密钥 |
| `GRANT_RADAR_TOKEN` | 推荐 | `/mcp` Bearer token。如果没有,服务器会生成并添加到 `.env` 中。 |
| `PORT` | 否 | HTTP 端口。默认为 `13280` |
| `GRANT_CACHE` | 否 | 缓存文件路径。默认为 `.cache/grants.json` |
| `KSTARTUP_PAGE` | 否 | K-Startup 分页。默认为 `1` |
| `KSTARTUP_PER_PAGE` | 否 | K-Startup 每页大小。默认为 `30` |
| `BIZINFO_SEARCH_CNT` | 否 | 企业门户 每页大小。默认为 `30` |
## REST 示例
```bash
curl -G "https://grant.sealcpa.com/api/grants" \
--data-urlencode "applicantType=中小企业" \
--data-urlencode "businessAgeYears=3" \
--data-urlencode "capability=AI 기반 물류 최적화 SaaS" \
--data-urlencode "intent=初期 고객 实证和事业化 资金 확보"
```
响应中只包含“可能”或“需要确认”的公告。明确不可能的公告会被排除。
## MCP 工具
| 工具 | 功能 |
|---|---|
| `match_grants` | 返回符合条件的公告、资格原因和 `fitPrompt`。 |
| `get_grant` | 返回特定公告的详细链接、附件和提取文本。 |
| `draft_application` | 根据公告和用户配置文件生成初稿写作提示。 |
提示由调用者的 LLM 执行。我们设计了不填充未知事实,而是留下“[待填]”。
## 目录结构
| 路径 | 角色 |
|---|---|
| `packages/core` | 收集适配器、标准化 schema、缓存、重复移除、资格判断、提示生成 |
| `packages/mcp` | Express 应用、REST 端点、MCP 服务器 |
| `scripts/refresh.ts` | 从来源获取数据并更新 `.cache/grants.json` |
| `web/` | 静态 Web UI 和文档查看器 |
| `docs/` | 使用手册、API 合同、来源规格、项目地图 |
## 验证
```bash
npm test
```
目前,在本地基準下,`npm ci` 后有 30 个 Node 测试通过。
## 边界
资助雷达是一种帮助公告探索和申请书初稿写作的工具。它不负责实际申请提交、最终法律和会计判断、事业经费执行和结算管理。申请前,请务必确认原文公告和附件。
不需要 LLM API 密钥,也不会存储。