公司动态

csdn-cc-bioinfo

📅 2026/8/11 17:31:37
csdn-cc-bioinfo
cc-bioinfo一个能「自己跑完整生信分析」的本地 AI Agent 平台——架构拆解、核心工作流与上手面向做生信 / 临床科研的开发者、工程化爱好者、想把 AI Agent 用到真实科研流程里的人关键词AI Agent、生物信息学、本地部署、多用户隔离、MCP、可复现分析大多数人用 AI 做生信卡在同一个地方AI 只会「纸上谈兵」地给你一段 R / Python 代码真要跑还得你自己装环境、配 conda、下数据、调报错、出图。对不会编程的临床医生和科研新手这一步就是劝退线——统计和代码是那个「沉默的杀手」。cc-bioinfo 想解决的正是这一段它是一个本地可运行、面向生信 / 科研的 AI Agent 工作台把「会写代码的通用 Agent」升级成「能在你自己的服务器上真跑生信分析全流程、还能多用户团队共用」的平台——AI 自己建环境、装包、拉公开数据、跑分析、出图、写手稿。本文从工程视角拆一下它的架构、两个核心工作流、防造假机制以及怎么上手。末有 GitHub 与在线试用入口。一、它和「直接让通用助手做生信」差在哪一句话通用助手给你「代码」cc-bioinfo 给你「结果」。通用 AI 助手cc-bioinfo代码运行只输出代码你自己跑内置真实运行环境AI 自己跑环境准备你手动装 R / Python / 包conda-first 自动建环境、缺包即装数据你手动下载AI 按设计自动拉公开数据GEO / GWAS 等产物零散片段图表 手稿 可复现包environment.yml / run_all.sh / checksum严谨性全靠你把关预注册硬约束 结论用词天花板 决策日志部署云端第三方可本地 / 私有服务器部署支持多用户隔离它不是一个「聊天框套壳」而是把「设计课题 → 真跑分析 → 诚实出稿」这条链路做成了可复现的工程流程。二、整体架构多用户形态先看多用户部署形态的分层个人单机形态是它的简化版![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_urlfigures%2Fcsdn-arch.pngpos_idimg-AVtpRK8H-1786330972224浏览器登录态 / session │ ▼ 反向代理鉴权前置 │ 基于操作系统账户做身份校验 ▼ 每个登录用户 → 一个独立的用户级进程各自的会话 / 设置 / 终端 / 记忆 │ 进程以该 Linux 用户身份运行经 unix socket 通信 ▼ 真实运行环境终端 沙箱 conda几个关键设计点多用户隔离靠操作系统兜底每个登录用户对应一个以其 Linux 账户身份运行的独立进程通过 unix socket 系统账户权限做隔离——不是「应用层用一个 userId 字段区分」那种软隔离而是操作系统 UID / 文件权限这一层的硬隔离。团队共用一台服务器各人的数据互不可见。身份不信任客户端用户身份一律由服务端从已认证会话解析绝不采信前端传入的 userId从机制上堵掉「猜个 id 就读别人数据」。真实运行环境OS 级沙箱限制文件读写范围与网络 浏览器内置终端每用户独立、并发与空闲回收有上限 分析工作流自动建 conda 环境。这是「真跑」的底座。Agent 核心流式状态机不是经典 ReAct平台的 Agent 循环没有走教科书式的 ReAct想一步→做一步→再想而是一个基于 AsyncGenerator 的流式状态机一个主循环里跑「消息压缩 → 流式调用模型 → 决策点 → 工具编排 → 状态更新」边生成边执行。配套的几个工程点是长会话不退化的关键多级上下文压缩从局部裁剪到整段折叠再到自动压缩分级触发控制上下文膨胀多种故障恢复策略断流、超时、限流、子进程卡死等各有兜底不是一崩到底工具并行策略只读工具并行有并发上限、写入工具串行兼顾速度和一致性多 Agent 编排一个 coordinator 可以派生多个 worker 并行干活支持 Teams 协作与 worktree 隔离避免多个 Agent 互相踩文件。其他工程特性各一句话Skills 系统BYOSBring-Your-Own-Skill能力以 skill 插件形式扩展条件激活生信只是装上去的一个领域包机制本身是通用的。MCP 集成支持 stdio / SSE / HTTP / WebSocket 多种传输工具运行时动态发现、并入统一工具池内置 PubMed / 文献检索等。第三方模型可接入 Anthropic / OpenAI / DeepSeek / 本地 Ollama 等兼容模型不锁死单一厂商。IM 接入桌面端配置后经独立 adapter 进程把会话桥接到飞书 / Telegram 等远程对话配对码有时效、一次性、失败限流。成本追踪QueryEngine 累计 token / 花费长任务花了多少心里有数。质量门禁统一入口一条命令bun run verify按改动影响面跑 policy / server / coverage 等改生产代码必须带同区测试Feature Quality Contractcoverage 只能涨不能降。可观测性内置 OpenTelemetrytraces / metrics / logs。三、两个核心工作流bio-design 与 bio-analyze这是 cc-bioinfo 做生信的「双引擎」。一个负责想清楚要做什么一个负责真把它跑出来中间用一份结构化交接单衔接![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/655db2c7175f4689bdb8c48d8c2bd2aa.png#pic_center/bio-design 课题设计对话式不是一键生成 │ 产出 design.md 结构化交接单TOPIC.yml ▼ /bio-analyze 读交接单 → 动态生成分析阶段 → 自动建 conda 环境 │ → 跑分析 / 出图 → 手稿 可复现包 ▼ /bio-design review 回看结果、修订设计形成闭环bio-design科学思维的对话伙伴不是流水线。它不会闷头给你吐一份方案而是在每个决策点停下来提问、等你回答内部把步骤标成「检索 / 思考 / 对话」三种模式。一条硬规则值得说写进设计文档的所有文献 URL / ID 必须来自真实检索不许用占位符编造文献检索还内置了撤稿排除——避免把已撤稿的研究当证据。bio-analyze读交接单动态生成流水线。它不是固定几步而是读完 TOPIC.yml 后按课题动态生成分析阶段数量不定一路走到出图、写稿、准备投稿。两个工程亮点环境自动准备conda-first 的决策树——有环境就复用缺包即装机器上没有 conda 就自举一个连构建方式都找不到时强制去联网查。用户不需要预装 R / Python。可复现产物产出里带environment.yml、R_session_info、run_all.sh、带 checksum 的数据来源清单——别人能照着复现这是生信文章最该有、也最常缺的一环。四、防造假把「诚实」写进机制而不是靠自觉这是 cc-bioinfo 最该被工程同行看到的部分。AI 做科研最大的风险不是「跑不动」是「为了让结果好看偷偷 p-hack、放宽阈值、把弱结果吹成强结论」。它的对策是把约束前置并写死![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_urlfigures%2Fcsdn-antifraud.pngpos_idimg-foOa5GYY-1786330972225# 预注册硬约束机制示意非真实配置hard_constraints:-id:pathway_gaterule:目标通路的显著差异基因数 ≥ 3fail_action:HARD_STOP# 不达标就停止该假设禁止放宽阈值保命题-id:wording_ceilingrule:分子对接类结论只能用 predict / suggest / indicateforbidden:[prove,demonstrate,cause]# 禁止因果 / 确证式断言iron_rules:-禁止编造任何未真实跑出的数据-禁止把训练 / 泄漏数据当结果-禁止静默跳过步骤或偷换工具配套还有两层状态机诚实记账哪个分析阶段失败了、被归档了如实写进workflow_state.yml不抹掉重写成「一切顺利」决策日志每个判断、每个坑记一条严重度 现象 处置 状态全程可审计。一句话它不保证你一定能出阳性结果但保证不替你造假。这恰恰是敢把真实课题交给它的前提。五、一个真实案例脱敏它是怎么「诚实翻车又爬起来」的平台归档里有多个「两个 AI 全程无人干预跑完」的真实课题。挑一个最能说明工程严谨性的数值来自项目归档记录课题常用麻醉药七氟醚 × 心肌缺血再灌注损伤 × 铁死亡 的生信 分子对接。撞预注册闸门选择诚实失败而非放宽阈值原定主通路在严格阈值下几乎跑崩十几个目标基因只中一个。预注册规则写死了「不达标就换路、禁止把阈值放宽到勉强过关」——于是它止损切换到另一条通路重跑而不是 p-hack 保命题。原来那份阴性结果没删归档成诚实记录。弱结果用阳性对照定量框定分子对接打分全是弱结合没有一个过公认的强结合线。它补了一个公认真抑制剂做阳性对照一对比就把「弱」钉成了有意义的结论——不是流程有问题是这个药本来就不靠高亲和力单靶点结合。定稿前还主动撤回了一处把对接打分越界换算成「亲和力差几百倍」的错误表述。自愈能力真实发生装包没有写权限 → 自动改装到用户库下载超时 → 自动加长重试一个进程自匹配导致死循环占满 CPU → 自主止损并改成有界循环某绘图包编译失败 → 换等效包。这些都是它「看日志 → 猜原因 → 验证 → 修复」自己完成的。同类归档里还有颈动脉斑块单细胞 空间转录组当场砍掉站不住的假设、把削帽程序如实归给免疫细胞、CAVD vs 冠心病对比孟德尔随机化他汀为何救不了瓣膜的靶点错配、房颤→心衰蛋白中介 MR扫了近两千个血浆蛋白、中介零命中、如实写成「直接机制」等——共同点是阴性 / 弱结果全都如实呈现没有一处美化。六、技术栈与部署技术栈Bun TypeScript 为主CLI 用 InkReact 渲染终端 TUI支持--print无头模式鉴权服务用 Go生信分析侧 R ≥ 4.3 Python ≥ 3.9由分析工作流自动装文档站 VitePress测试用 bun test / Vitest / Playwright。部署形态单机 / standalone个人跑安装脚本选单机模式浏览器本地访问systemd user 服务托管。多用户 / multiuser团队服务器Ubuntu LTS root安装脚本一路装好反代、TLS、鉴权服务、systemd团队成员用各自系统账户登录彼此隔离。BYOS自己写领域 skill 插件plugin.jsonSKILL.md把平台改造成任意领域的 Agent 工作台。七、诚实边界已知限制先说清楚promo 归 promo几条得如实讲——这也是这个项目一贯的调性数据外发如果你接的是云端模型Anthropic / OpenAI / DeepSeek 的 API对话内容会发给对应厂商想让数据完全不出内网请接本地 Ollama之类的本地模型。当前版本基于「数据敏感度」自动拦截外发的路由尚未完全实装涉密数据请自行按上述方式控制别默认它帮你拦住了。Computer Use让模型截屏 / 操作 UI目前对 Linux 适配不完整能力更完整的是桌面端场景。把边界写在最显眼处本身就是这个平台想传达的方法论一个愿意告诉你「这条我还没做到」的工具才值得你把真实课题交给它。八、试一试开源仓库MIThttps://github.com/tangmoogmoogtang-dotcom/cc-bioinfo在线体验https://www.cc-bioinfo.com —— 不用装环境、不用写代码打开浏览器就能开一个课题把你的数据 假设贴进去看它能诚实地帮你跑到哪一步。