如果你在用 Claude / Cursor / Cline / Dify / 扣子,或自己在写科研脚本,这一页给的是可直接复制的接入方式。
一、为什么需要"接口层"而不是又一个网页
- 网页工具只能人点;接口层能让 AI 助手、批处理脚本、内部系统直接调用。
- 大模型自己算统计量(t 检验、ΔΔCt、AUC)会给出看起来合理但不可复现的数字;调用确定性引擎才能写进论文。
- 文字可以生成,数值不能"生成"——这是接口层存在的唯一理由。
二、MCP 接入(三行配置)
- 端点:https://sanyu.wentangkeji.com/api/mcp(streamable-http),另兼容 /api/mcp/sse。
- 认证:请求头 Authorization: Bearer sk-sanyu-xxx(在 /api-keys 自助生成)。
- 免密钥试用:dna_translate、orf_find、roc_auc 三个工具无需密钥,每 IP 每天 20 次,返回体带 demo:true。
- 目录可匿名读取:tools/list 不需要密钥,便于客户端先展示能力再引导授权。
三、REST 接入(适合脚本与后端)
- OpenAPI 描述:https://sanyu.wentangkeji.com/api/open/v1/openapi.json(可直接导入 Dify / Postman / 代码生成器)。
- 调用形式:POST /api/open/v1/run/{action},body 为工具参数。
- 每个响应都带 engine_status(real / unavailable / error):unavailable 表示引擎没跑起来,此时不要转述任何数值。
- 执行失败、引擎不可用、参数不足——都不扣积分。
四、能算什么(按场景)
- 统计:ROC/AUC 与 DeLong、KM/Cox、t/方差/卡方/秩和、Tukey/Dunn、PSM/IPTW、SMD、样本量、随机化。
- 数据出表:Table 1、亚组表、列数据画像、CRF/SDTM 校验。
- 生信:差异表达、GO/KEGG 富集、PPI、单细胞聚类与注释、GEO 全流程。
- 湿实验:引物设计、序列翻译/ORF/酶切、IHC 评分、IC50、NCA 药代、种属剂量换算。
- 临床:肾功能剂量调整(Cockcroft-Gault + CKD-EPI + 19 种药分档)。
- 文献:站内 153 万篇 PMC 全文检索 + PubMed 实时检索 + 引文真伪核验。
最小可用示例:REST 调 ROC/AUC
curl -X POST https://sanyu.wentangkeji.com/api/open/v1/run/act_roc \
-H "Authorization: Bearer sk-sanyu-你的密钥" \
-H "Content-Type: application/json" \
-d '{"labels":[0,1,0,1,1,0],"scores":[0.1,0.9,0.2,0.8,0.7,0.3]}'
# 返回(节选)
# {"success":true,"engine_status":"real","data_source":"local_computation",
# "result":{"auc":1.0,"best_threshold":0.7,"sensitivity":1.0,"specificity":1.0}}
常见问题
- MCP 与 REST 该用哪个?
- 让 AI 助手调用(Claude / Cursor / Cline / Dify / 扣子)用 MCP,配置一次即可看到全部工具;自己写脚本或做系统集成用 REST,控制更细、可批量。两者算的是同一套引擎,结果一致。
- 返回里的 engine_status 是什么意思?
- real = 确定性引擎真的算出结果;unavailable = 引擎不可用(依赖缺失等),此时不该转述任何数值;error = 执行出错并给出原因。这个字段的作用是让调用方无法把"没算"当成"算了"。
- 调用失败会扣费吗?
- 不会。参数不足、引擎不可用、执行失败三种情况都不扣积分;只有真正产出结果才计费,响应体里带本次消耗与余额。