国自然基金数据洞察
- 单价:¥4.99/次(统一单次价格,全部能力同价)
- 入口:
POST https://nsfc.keyandog.com/nsfc/invoke(JSON,请求体带action);也可按动作直调https://nsfc.keyandog.com/nsfc/invoke/<action> - 免费试算:
POST https://nsfc.keyandog.com/nsfc/preview(只回命中数与 3 条样例;5 次/IP/日、3 次/小时)
能力清单
| action | 能力 | 主要入参 | 返回要点 |
|---|---|---|---|
search |
项目检索 | query/org/person/type/code/years/page/size |
total、items |
code_map |
申请代码检索 | text 或 code |
codes |
aggregate |
分组统计 | dim(year|dept|org|type|code)+公共参数 |
groups |
keyword_trend |
关键词热度 | keywords(数组或逗号分隔,≤5)+years |
trends |
scholar |
学者画像 | name(必填)+org(消歧)+years |
projects[]、type_dist、amount_wan、keywords[] |
org_profile |
单位画像 | org(必填)+years |
total、by_year、by_type、top_scholars、by_dept |
clash_check |
选题撞车检测 | query(选题描述 8-30 字)+years+可选 org/type/code |
competition_level、matched、recall_matched、hhi、top_orgs、nearby_projects[]、suggestions[] |
proposal_evidence |
标书素材包 | 同 clash_check |
projects、keywords、orgs[] |
topic_landscape |
领域全景 | 同 clash_check |
trend[]、top_orgs[]、hot_keywords[]、long_tail_keywords[]、projects[] |
请求示例
curl -s -D - -X POST 'https://nsfc.keyandog.com/nsfc/invoke' \
-H 'Content-Type: application/json' \
-d '{"action":"clash_check","query":"城市热岛遥感反演","years":[2019,2023]}'
未付款时返回 HTTP 402 + Payment-Needed 响应头;付款后携 Payment-Proof 重试同一个请求。
402 支付流程(遵循官方 alipay-payment-skill)
Step 1 保存本次 Payment-Needed 原文 + 原始请求(URL/方法/请求体/请求头)
Step 2 alipay-bot 402-buyer-pay --session-id <id> -f '<402_needed.txt>' \
-r '<resource-url>' -m POST -d '<原请求体>' -H 'content-type: application/json' \
--intent-summary '原始请求:<用户原话>'
├─ ✓ 支付成功并获取资源 → 原样透传,进入 Step 5
├─ ✓ 支付待确认 → 保存本轮 outShakeNo 或 legacy tradeNo,STOP
└─ 失败 → 原样输出,STOP
Step 3 用户说已支付 → 立即查询(不要只回文字):
alipay-bot 402-query-payment-status --out-shake-no '<outShakeNo>' \
-r '<resource-url>' -m POST -d '<原请求体>' -H 'content-type: application/json'
Step 4 查询成功且资源非空 → 原样透传,禁止摘要改写
Step 5 仅当本次 CLI 输出含 交易号/tradeNo 时:alipay-bot 402-buyer-fulfillment-ack -t '<tradeNo>'
硬性约束:支付前禁止 check-wallet;每次 402 都重新保存账单,禁止复用旧凭证;
同一订单必须复用完全一致的 URL/方法/请求体/请求头(参数不一致时服务端返回 402 + ORDER_PARAMS_MISMATCH,不重复计费);
服务端已实现幂等,重复请求返回 Idempotent-Replay: true 并复用已交付内容。
商家侧支付与履约(供核验):服务端已实现 402 协议、alipay.aipay.agent.payment.verify 验付与
alipay.aipay.agent.fulfillment.confirm 履约确认;验付校验 active、out_trade_no、金额与 resource_id,
交付响应含非空 resource_id/content 并返回 Payment-Validation 回执头。
配套脚本:node scripts/nsfc-fund-paid.mjs probe|pay|complete|ack(只做编排,支持 --dry-run)。
使用效果案例(真实调用结果)
案例1 · 选题撞车检测
- 用户提问:城市热岛遥感反演这个选题会不会撞车?
- 调用:
action=clash_check - 返回要点:
- 竞争强度=低;精排命中 7 项同类(全文召回 4156 项,已按相关性精排)
- 机构集中度 HHI=0.143;代表项目:中山大学 42371342(2023,面上,52 万)
- 给出差异化建议:替换研究对象/场景/数据源,避开已反复使用的方法路线
案例2 · 标书素材包
- 用户提问:写本子的研究现状,给我同类项目和关键词
- 调用:
action=proposal_evidence - 返回要点:
- 7 项同类项目清单(批准号/负责人/单位/年度/金额,可逐条核验)
- 高频关键词 Top30 + 主要承担单位分布
- 样例:42371341 桂林理工大学(2023,面上,52 万)
案例3 · 领域全景
- 用户提问:遥感大模型这个方向现在什么格局?
- 调用:
action=topic_landscape - 返回要点:
- 2020-2023 逐年立项 2994/1719/1751/1693 项,金额逐年回落
- Top 单位:中山大学169、清华大学150、同济129、武大127、浙大125
- 样例:清华大学 62336004 重点项目 239 万
案例4 · 单位科研画像
- 用户提问:浙江大学近三年基金情况怎么样?
- 调用:
action=org_profile - 返回要点:
- 2021-2023 共 2523 项(985/981/557)
- Top 学科:医学科学部 1258、生命科学部 366、工程与材料 242
- Top 学者与项目类型分布
案例5 · 关键词热度趋势
- 用户提问:深度学习、遥感、大模型这几个方向热度怎么变的?
- 调用:
action=keyword_trend - 返回要点:
- 深度学习 2018=319 → 2020=455(增长 +42.6%)
- 含逐年序列、增长率与峰值年
案例6 · 项目检索与申请代码
- 用户提问:清华大学 2022-2023 的面上项目有哪些?
- 调用:
action=search/action=code_map - 返回要点:
- 检索命中 409 项,返回结构化清单(批准号/负责人/年度/金额)
- 例:82371855 鲁志(2023,面上,74 万)
- 申请代码:D0106 累计 82 项、41 家承担单位
数据口径说明
- 返回同时给出
matched(相关性精排后)与recall_matched(全文召回),差异属正常:精排用于少给噪音。 - 立项数据以 2015-2023 为主(2024 少量);2023 年受公开口径限制略少于往年均值。
- 2021 年后多数记录缺申请代码字段(数据源限制),按申请代码的统计以较早年份为主;按项目名/单位/学部的统计不受影响。
- 只输出派生结论与统计分析,单次最多 50 条记录(带批准号便于核验);结论仅供参考,不构成评审承诺。
返回内容与展示规则
result(结构化结论)、evidence(命中数/样例项目号/年份)、agent_context(可直接使用的中文要点)、
confidence、usage(units 与实际单价)、payment(订单号/交易号/履约状态)、disclaimer。
结论优先、给数字与样例项目号;单次最多 50 条记录,不输出整批原始清单;命中过少时说明样本不足;
不承诺评审结果,保留 disclaimer。
错误码
| HTTP | code | 处理 |
|---|---|---|
| 402 | PAYMENT_REQUIRED |
未付款,按账单支付后重试 |
| 402 | VERIFY_FAILED / INVALID_PAYMENT_PROOF |
凭证无效或支付未完成,查单后重试,禁止重复付款 |
| 402 | ORDER_PARAMS_MISMATCH |
同订单换了参数,恢复原参数重试 |
| 402 | RESOURCE_ID_MISMATCH / AMOUNT_MISMATCH |
资源/金额校验不一致,不交付 |
| 422 | bad_request |
参数错误(不计费) |
| 429 | preview_quota_exhausted / preview_hourly_limit |
免费试算限流,改走付费入口 |
| 502 | FULFILLMENT_CONFIRM_FAILED |
履约确认失败,同一订单重试(不重复扣费) |
| 503 | service_unavailable |
服务繁忙,本次不计费 |
参考文件
| 文件 | 内容 |
|---|---|
references/actions.md |
全部能力入参与返回字段 |
references/billing-compliance.md |
计费、幂等、订阅 Key、合规红线 |