CiteLab生物医学实验分析室 · 先算出结果,再引用原文

技术架构

CiteLab 是独立的生物医学实验分析室。运行时是 Vercel 上的 Next.js 与 AI SDK:确定性统计与文献 API 在服务端执行,不进入容器沙箱。

产品边界

做什么

转录组差异表达、GO/KEGG、表型/qPCR 探查、PubMed/OpenAlex 文献、研究空白核实、实验设计、方案审阅、补实验与正交验证。

不做什么

不手写 DESeq2/limma;不编造 GO/KEGG/PMID/DOI;不把观察性设计升级成因果;不发明湿实验配方、抗体货号或引物序列。

请求路径

浏览器(Source Serif 4 + 实验记录本)
  首页 composer 选方法,开始分析才进工作区
        │
        ▼
Next.js App Router  ·  apps/citelab
  cookie 会话(scrypt)
  POST /api/chat  →  hold 200 积分
        │
        ▼
AI SDK 7  streamText + tools  (DeepSeek OpenAI-compatible)
  inspect_dataset / profile_table
  run_deg_analysis     Node Welch t + BH FDR,log2(count+1)
  run_enrichment       Ma'ayan Enrichr HTTP
  ground_findings_in_literature / search_papers_v2
                       NCBI E-utilities → OpenAlex
  read_protocol
  suggest_followup_experiments
        │
        ▼
settleCharge(工具单价 + token)或失败 releaseHold
结果台渲染火山图 SVG、基因、通路、PMID 卡片、补实验清单

运行时与部署

  • Next.js 16 App Router,Vercel Root Directory = apps/citelab
  • 独立安装依赖,不与其它应用共用构建图。
  • AI SDK streamText / tool / isStepCount(8),最长 120 s。
  • 模型:DeepSeek OpenAI-compatible;密钥只在服务端环境变量。
  • 数据库:Neon/Postgres;本地无 DATABASE_URL 时用进程内存储。
  • 对象存储:当前分析产物(火山图 SVG、工具 JSON)走响应流,不进沙箱。

认证与积分

  • 自建 cookie 会话 + scrypt,不是 better-auth。
  • 注册赠送 2500 积分 / 30 天(可用环境变量覆盖)。
  • 每轮对话先冻结 200 积分;工具成功后按目录结算,失败释放。
  • 结账 API POST /api/payment/checkout 只认 product_id
  • 支付网关目前为空:登记订单,checkout_url 恒为 null。接入你的商户后,钱进你的账户,再经 webhook 发放积分。

工具单价

  • agent.tool.search_openalex10 积分
  • agent.tool.search_pubmed10 积分
  • agent.tool.search_papers_v230 积分
  • agent.tool.run_deg_analysis40 积分
  • agent.tool.run_enrichment30 积分
  • agent.tool.ground_findings_in_literature30 积分
  • agent.tool.suggest_followup_experiments20 积分
  • agent.tool.inspect_dataset10 积分
  • agent.tool.profile_table20 积分

分析方法(可落地、可审计)

差异表达

基因 × 样本 count CSV。列名含 ctrl/treat 时自动分组。对 log2(count+1) 做 Welch t,BH FDR。阈值默认 |log2FC|≥1 且 padj<0.05。已有 DEG 表(含 log2FoldChange 与 padj)只画火山图。

富集

Enrichr:GO BP/MF 2023 与 KEGG 2021 Human。空列表或服务失败如实返回,禁止编造通路。上下调应分开富集。

文献

先 NCBI E-utilities,不足再 OpenAlex。只引用返回的 PMID/DOI。零命中写「证据不足」。找不到文献 ≠ 新颖。

实验

补实验规则映射 n<3、无批次、零显著、富集空白、缺正交验证。方案审阅只读上传文本。不发明湿实验步骤。

工作台交互

  • 左侧 232px 分析室导航:新建分析、指南、架构、分析记录、可用积分。
  • 首页 composer-first:选方法留在首页,只有「开始分析」进入工作区。
  • 工作区:对话列(横格纸)+ 结果台(火山图 / 基因 / 通路 / 文献卡片)。
  • 话术:新建分析、可用积分、正在分析、发送 / 停止、添加数据或方案。
  • 字体 Source Serif 4 + IBM Plex Mono,纸色 / 砖红。

技能(写入系统提示,不是网页分类)

  • biomedical-deg · biomedical-enrichment · dataset-eda
  • literature-grounding · research-design · experiment-review

文件约定

  • 表格:CSV/TSV。Excel 请另存为 CSV。
  • 方案:txt/md 或粘贴。PDF/Word 请先导出文本。
  • 演示数据:/demo-counts.csv(ctrl_1–3 / treat_1–3)。

仓库结构

公网应用在 apps/citelab,独立依赖、独立 Vercel 项目。竞赛部署只发布这一层。