我用开源栈复刻了一个“科研 Agent“:29 个技能、24 个 MCP 服务、一个有状态的内核——全都可复用
我用开源栈复刻了一个科研 Agent:29 个技能、24 个 MCP 服务、一个有状态的内核——全都可复用给大模型配一张真正的实验台,难的从来不是模型,而是脚手架。一句话概括Open Science Toolkit是一套在全开源栈上搭建 Claude-Science 风格科研 Agent 的可复用组件。它包含:29 个科研技能——AlphaFold2、Boltz、Chai-1、ESMFold2、OpenFold3、DiffDock、ProteinMPNN、ESM-2、Evo 2、Borzoi、scGPT、scVI……每个都是自包含的SKILL.md,按需加载;24 个领域 MCP 服务,封装了 62 个公开科学 API(PubMed、ChEMBL、临床试验、基因组、变异、表达、本体……);4 个 Agent 画像,身份与工作风格解耦,按角色裁剪工具;一个有状态的 Python 内核,变量跨 cell 存活,就像 Agent 自己操作的一个 notebook;一个自包含的浏览器聊天 UI,内置3D 结构查看(3Dmol.js,不依赖外部 CDN)。跑在 OpenHands V1 SDK 上,开箱无需 Docker;大脑可接任意 OpenAI 兼容端点。Apache-2.0 许可。pipinstall-e.--no-depscp.env.example .env# 填 LLM_BASE_URL / LLM_MODEL / LLM_API_KEYpython-mopen_science.server--serve--port8000仓库地址:https://github.com/WangHuiNEU/open-science-toolkit为什么做这个现在有一类 AI 产品,不只是聊科学,而是真的在做科学:折叠蛋白、设计序列、检索文献、跑数据、出图。它们很惊艳,但也都是闭源的。有意思的是,这类系统最难的部分并不是模型本身,而是脚手架——你怎么给一个语言模型配一张能干活的实验台?它怎么知道 AlphaFold2 存在、什么时候该调用它?怎么在不被二十几个生信 API 的工具定义淹没的前提下把它们都接进来?第 3 步算出的变量怎么活到第 8 步?一个.pdb文件怎么渲染成人能看的结构?Open Science Toolkit 就是我在开源栈上把这些零件逐一造出来的尝试——而且关键在于,每个零件都可以单独拆出来用。你不必整套照搬:clone 下来,只取技能加载器,或只取 MCP 聚合层,或只取有状态内核,接到你自己的 Agent 上即可。四个硬骨头,以及它们怎么被解决1. 技能:Agent 怎么知道自己会什么?把 29 个工具定义一股脑塞进系统提示,是烧穿上下文窗口、把模型搞晕的经典做法。这里换个思路:每个能力是一个技能(skill)——一个目录,含一个SKILL.md(YAML 头 指令)和它需要的辅助脚本。加载器采用渐进式披露:Agent 先看到一份精简的技能菜单(名字 一行描述),只有当某个技能与当前任务匹配时,才注入它的完整正文。相当于给 Agent 能力做懒加载。29 个技能分六大主题:结构预测与对接(6)、蛋白设计与嵌入(4)、基因组与单细胞(4)、图表与可视化(2)、文献与写作(4)、计算与工作流(9)。最后一组是元层:Modal / SSH-SLURM 上的远程 GPU 执行、用来写新技能的skill-creator、用来自省会话的self-awareness。因为格式遵循标准的 Agent Skills 约定,这些技能能直接放进任何兼容的框架。2. 数据源:接 62 个 API 而不付工具定义税科学都藏在 API 后面——PubMed、bioRxiv、ChEMBL、ZINC、临床试验、基因组装配、变异库、表达图谱、本体。全都朴素地接进来,工具列表就废了。工具箱把它们封装成24 个领域 MCP 服务——标准的 Model Context Protocol 服务,按领域分组(文献、基因组、变异、化学、试验……),把62 个 HTTP 客户端收在一个公共层之后,统一处理限流、重试、门控。服务按查询领域按需注入,所以 Agent 永远只看到与当前任务相关的工具。而且因为它们就是普通的 MCP 服务,可以独立用在任何MCP 客户端里——Claude Desktop、Cursor,随你。3. 状态:要的是内核,不是计算器大多数 Agent 的代码执行是无状态的:每段代码在真空里跑。真实分析不是这样——你加载一次数据集,然后一直在它上面干活。KernelSession封装了jupyter_clientipykernel,给 Agent 一个持久的 IPython 内核。变量跨 cell 存活:第一步加载 DataFrame,三步之后变换它,最后画出来——和人在 notebook 前一模一样。就这一个组件,直接改变了多步分析能做到什么程度。4. 身份 vs. 能力:用共享零件拼出四个 Agent一个 Agent 画像就是一份metadata.yaml,含身份提示(它是谁)、工作风格规则(它怎么做事)、能力开关。工具箱自带四个:operon——主科研计算 Agent,全套工具;onboarding——首次运行的引导设置,只问不做;reviewer——审查对话记录中的幻觉/编造;bookmarker——从对话里抽取要点。一个漂亮的工程细节是工具裁剪:OpenHands 用正向匹配的正则(filter_tools_regex)过滤工具,但画像是用excluded_tools黑名单来写的——这样读起来自然得多。中间的桥把黑名单编译成负向先行断言(negative-lookahead)正则,于是你写排除这几个,框架执行其余全放行。小细节,但写 Agent 时体验提升很大。架构一览层实现运行时OpenHands V1 SDK(MIT),LocalWorkspace——开箱无需 Docker大脑任意 OpenAI 兼容端点,凭据仅走环境变量内核KernelSession(jupyter_clientipykernel),变量持久技能基于检索的懒注入加载器(先菜单,匹配后注入正文)AgentOpenHandsAgentfilter_tools_regex工具裁剪3D 查看器3Dmol.js 内嵌在自包含 Web UI 里大脑刻意做成模型无关:三个环境变量指向任意 OpenAI 兼容端点即可。凭据只存在于环境中,绝不进任何提交的文件。盒子里到底有什么装配代码——src/open_science/(约 340 个 Python 文件):FastAPI 服务、Agent 加载器、内核、大脑、技能加载器、数据源注册表、溯源层、产物渲染、远程计算胶水、Web UI;29 个技能——skills_assets/(29 个SKILL.md 79 个辅助脚本);4 个 Agent 画像——agents_assets/;24 个 MCP 数据源——src/open_science/datasources/vendor/(62 个 API 客户端);设计拆解——docs/design-teardown/(9 章,讲清背后的模式:配置即调优记录、身份/工作风格分离、追溯而非重算、渐进式披露、MCP 聚合、自省与自知);验证脚本——tests/(分阶段冒烟测试:大脑往返、有状态内核、MCP 源、技能加载、Agent 裁剪)。一切都为可复用而设计。那 9 章设计拆解就是专门写来让你偷思路的,而不只是偷代码。五条值得偷走的设计原则(哪怕你永远不碰这个仓库)用渐进式披露替代大提示词。先给菜单,匹配后注入正文。上下文是预算。追溯,别重算。一个只读的溯源层,让 Agent 查历史产物,而不是重跑昂贵计算。身份与工作风格分离。它是谁和它怎么做事是两个轴,放在不同字段里,自定义画像才能只改一个而不丢另一个。把 API 聚合到一个带门控的公共层后面。限流、重试、门控属于共享层,而不是复制粘贴进 62 个客户端。状态本身就是特性。持久内核能解锁无状态执行器根本做不到的分析。上手gitclone https://github.com/WangHuiNEU/open-science-toolkitcdopen-science-toolkit pipinstall-e.--no-depscp.env.example .env# 填 LLM_BASE_URL / LLM_MODEL / LLM_API_KEYpython-mopen_science.server--serve--port8000# http://localhost:8000/ 聊天 UI# http://localhost:8000/docs API 面板Apache-2.0许可,基于 OpenHands(MIT)与 3Dmol.js(BSD)。模型权重各自遵循自身许可。如果这里面任何一个组件对你有用——技能加载器、MCP 聚合、有状态内核、黑名单→正则的工具裁剪桥——拿去用就好。它就是为此而生的。⭐ 仓库:https://github.com/WangHuiNEU/open-science-toolkit欢迎提 Issue、PR 和问题。

相关新闻

ComfyUI API自动化测试:Postman集成与异步接口验证实战

ComfyUI API自动化测试:Postman集成与异步接口验证实战

1. 项目概述:为什么需要自动化接口验证?如果你正在使用 ComfyUI 的托管 API 服务(比如 ComfyStack、RunDiffusion 或其他云服务)来部署你的 AI 生图工作流,那么你很可能已经体验过手动测试接口的繁琐。每次修改工作流中…

2026/7/6 1:09:32 阅读更多 →
创业资源丰富的国内EMBA权威综合实力TOP5榜单

创业资源丰富的国内EMBA权威综合实力TOP5榜单

在国内企业全球化布局、科创产业高速迭代的当下,企业创始人、核心高管对兼具优质创业资源、国际化视野与合规学历认可度的EMBA项目需求持续攀升。相较于传统商科课程,优质EMBA不仅能补齐管理者系统化商业思维,更能提供产学研孵化、高端圈层、…

2026/7/6 1:09:32 阅读更多 →
大型系统的依赖管理与解耦

大型系统的依赖管理与解耦

大型系统的依赖管理与解耦在软件工程领域,构建和维护大型系统是一项复杂且持续的挑战。随着业务需求的膨胀和技术的迭代,系统规模如同滚雪球般增长,模块间的耦合度往往也随之悄然攀升。最终,系统可能变得僵化、脆弱且难以演进&…

2026/7/6 1:07:31 阅读更多 →

最新新闻

mRemoteNG免费远程连接管理器:3天从零到精通的完整教程

mRemoteNG免费远程连接管理器:3天从零到精通的完整教程

mRemoteNG免费远程连接管理器:3天从零到精通的完整教程 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_mirrors/mr/mRemoteNG …

2026/7/6 2:03:45 阅读更多 →
抖店体验分怎么提升-4点8分实操方法-抖音电商2026规则落地

抖店体验分怎么提升-4点8分实操方法-抖音电商2026规则落地

抖店体验分怎么提升?提升到4.8全套实操方法|抖音电商2026规则落地 前言 2026抖音电商体验分权重重新划定:商品体验50%、服务体验35%、物流体验15%,4.8分是店铺核心分水岭。低于4.8分,千川流量、商品卡自然流权重、平台…

2026/7/6 2:01:44 阅读更多 →
Haiwell Cloud SCADA 3 与主流 PLC 协议对比:支持 3 类设备驱动的连接实测

Haiwell Cloud SCADA 3 与主流 PLC 协议对比:支持 3 类设备驱动的连接实测

Haiwell Cloud SCADA 3 与主流 PLC 协议深度兼容性实测报告在工业自动化系统集成领域,多品牌PLC设备的互联互通一直是工程师面临的现实挑战。海为科技最新发布的Cloud SCADA 3版本以"内置多种工业设备驱动"为核心卖点,宣称能够无缝对接西门子、…

2026/7/6 1:59:44 阅读更多 →
数字通信同步技术:3种载波同步方法对比与低信噪比场景实战

数字通信同步技术:3种载波同步方法对比与低信噪比场景实战

数字通信同步技术:3种载波同步方法对比与低信噪比场景实战在数字通信系统中,载波同步是实现可靠数据传输的核心技术之一。当信号经过信道传输后,接收端需要精确恢复发送端的载波频率和相位,才能正确解调出原始信息。尤其在低信噪比…

2026/7/6 1:59:44 阅读更多 →
缠论终极自动化解决方案:5分钟在通达信上实现免费缠论分析插件

缠论终极自动化解决方案:5分钟在通达信上实现免费缠论分析插件

缠论终极自动化解决方案:5分钟在通达信上实现免费缠论分析插件 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论分析而烦恼吗?ChanlunX缠论插件为你提供了一套完整…

2026/7/6 1:57:44 阅读更多 →
RTVS 1.3.0 阿里云 CentOS 7.8 部署:5分钟完成 Docker 网络与端口映射配置

RTVS 1.3.0 阿里云 CentOS 7.8 部署:5分钟完成 Docker 网络与端口映射配置

RTVS 1.3.0 在阿里云CentOS 7.8上的高效部署指南:Docker网络与端口映射实战1. 环境准备与基础配置在阿里云CentOS 7.8上部署RTVS视频平台前,需要完成以下基础环境配置。选择CentOS 7.8是因为其长期支持周期和稳定的内核版本,能够完美兼容Dock…

2026/7/6 1:57:44 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻