← 返回列表
未验证
把 Biomni 函数、数据湖与生信工具接给智能体调用
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/1 · 已提供中文文档
DeepSeek Harness biomni 插件
综合分
29.2
GitHub 分
29.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ZhuYanTech/dsh-biomni该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-web-react@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session@deepseek-ai/dsh-settings用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-biomni 把生物医学研究能力接进 DeepSeek Harness。 一个持久的 Python 解释器,Biomni 的 218 个研究函数、 76 个数据集的数据湖、113 个生信工具 —— 以 skill 的形式交给你的 agent, 而且只承诺这台机器真的做得到的事。 DSH Plugin License: MIT English · 简体中文 · 更新日志 它防的是哪种失败 给 agent 一套生物医学工具库,它会以一种特别难查的方式出错。 它调用 query_pubmed。函数是存在的,但依赖从没装上,于是抛异常。agent 不会报告这个落差—— 它会默默手搓一个自己的 PubMed 客户端,然后把结果当作那个被验证过的工具的输出交给你。让它去访问一个 根本没下载的数据湖,同样的事会发生在文件路径上:先编一个看着合理的路径,再编一个看着合理的结论。 dsh-biomni 只有一条规矩:绝不宣传这台机器给不出的东西。 你的 agent 看到的一切——每个函数、每个 数据集、每个命令行工具——都是先检查你的真实环境之后生成的。缺的东西要么不出现,要么被点名,连同它缺什么。 你的 agent 会拿到什么 | | | |---|---| | 🐍 一个记得住事的解释器 | 每个会话一个进程。import、DataFrame、拟合好的模型都能从这次调用活到下次,agent 因此可以分小步推进,而不是每次重发一整个脚本。闲置半小时的解释器会被回收以释放内存——并且会明确告诉 agent,而不是让它自己撞上 NameError。 | | 🧬 21 个研究函数 skill | Biomni 的生物医学库,每个模块一个 skill,带真实签名——参数类型、默认值,以及每个参数到底是什么意思。按需加载,所以 218 个函数占约 1.6k token 常驻,而不是 26k。(需要装 Biomni) | | 🗄️ 一个数据湖 skill | 这台机器上真的下载了的数据集,带确切路径、体积和许可标记。能用本地数据就别绕一圈去查网。 | | 🔧 一个软件 skill | 这台机器上真的装了的生信包和 CLI 工具——让 agent 去调 samtools,而不是自己重写一个。 | | 🔍 一份诚实的环境报告 | /biomni 命令和设置页,如实告诉你什么能用、什么不能、以及装哪个包能修好——连价格一起报,151 MB 只换一个函数的依赖不会被写得像免费的。 | | 📤 产出出口 | run_python 返回的是文本,而且有上限——图画不出来,真实的表会被截断。解释器的命名空间里绑好了 BIOMNI_OUT 输出目录;写进去的文件会按名字和大小回报给模型,并能在设置 → Biomni 里直接看:图就地显示,CSV 显示成表格,文本显示开头——也可以整份下载。 | | 🧪 数据湖浏览器 | 设置 → Biomni 列出全部 76 个数据集及体积,标出哪些在盘上,按需一个个取。非商用数据集需要显式确认。 | 它是一个普通的 out-of-tree 插件,不 fork、也不改 harness 源码。 安装 1. 装插件 dsh plugin --profile web add dsh-biomni 就这一步。CLI 会读本包的 dsh.bundle.patch 声明,把 dsh-biomni 追加进你 profile 的 bundles, 不需要手改 profile 文件。 从源码装(开发用) git clone https://github.com/ZhuYanTech/dsh-biomni && cd dsh-biomni bash scripts/install.sh web 这条路打出的 tarball 里 lib/ 是预构建好的,pnpm 不需要为它跑任何构建脚本。 2. 建一个装了 Biomni 的 Python 环境 可选,而且值得知道为什么。 数据湖和软件目录立刻就能用 —— 它们读的是随插件发布的一份清单, 再对着你这台机器逐项核对。只有那 21 个工具模块 skill 需要 Biomni 本体,因为那些是真的要 import 的 Python。 git clone https://github.com/ZhuYanTech/dsh-biomni && cd dsh-biomni bash scripts/setup-env.sh 脚本在你装了 uv 时优先用它——同一份解析,11 秒对 pip 的几分钟—— 没有就回退到 pip。然后它会跑一遍探针,Biomni 真的能 import 才算成功。这一步才是关键:一个建在 Python 3.9 上的环境、或者某个 wheel 悄悄装失败的环境,在你第一次调用工具之前和正常的一模一样。 最后它把要粘贴的设置连同路径一起打印出来。 加 --extras 装下面那四个可选包;给一个目录参数可以建到 .venv 以外的地方。 手动装,或者用容器 curl -sLO https://raw.githubusercontent.com/ZhuYanTech/dsh-biomni/main/python/requirements-biomni.lock.txt python3.11 -m venv .venv # 需要 3.11+,macOS 自带的是 3.9 .venv/bin/pip install -r requirements-biomni.lock.txt 如果你宁愿运维配一次、而不是每个人自己建 venv,仓库里的 Dockerfile 把解释器打成镜像。它的活动 部件更多——插件的 python/ 目录要挂进去,python 设置要指向一个在容器里执行的包装脚本——文件里 写清了怎么接。CI 每次推送都会构建这个镜像并在里面跑探针,所以"能构建"是被检查过的,不是我说的。 实测:77 个包,806 MB,Biomni 的 312 个函数里 279 个可调用。 Biomni 只声明了三个依赖,实际需要的远不止,所以 requirements-biomni.txt 是读它源码整理出来的 真实清单,逐条标注了每个包解锁什么。旁边的 .lock.txt 把所有传递依赖的版本钉死,两个人隔一周装 也能得到同一个解释器。 有四个包被移出了 core 档,放在 requirements-biomni-extras.txt,因为实测它们的代价远超收益: | | 独占体积 | 买到 | |---|---|---| | rdkit | 151 MB | 1 个函数 | | cobra | 147 MB | 2 个函数 | | scholarly | 119 MB(要驱动一个真浏览器) | 1 个函数 | | statsmodels | 68 MB | 2 个函数 | 加起来 494 MB 换 7 个函数。需要那七个就装,别的什么都不变。探针会连价格一起报出来, 而不是把它们当免费的建议给你。 3. 指向那个解释器 启动 dsh --profile web,打开 设置 → Biomni,把 Python 解释器填成 /abs/path/to/.venv/bin/python。改动立即生效。 也可以直接写进 $DSH_HOME/settings.yaml: biomni: python: /abs/path/to/.venv/bin/python # 第 2 步建的 venv dataPath: /abs/path/to/data # 可选:存放 biomni_data/ 的那一层 timeoutMs: 600000 idleTimeoutMs: 1800000 # 闲置 30 分钟回收解释器;0 = 不回收 guardShellPython: true 4. 看看你实际拿到了什么 /biomni 这个解释器能跑什么,缺什么、装什么能补上 /biomni-datasets 盘上有哪些数据、还能取哪些、各多大 /biomni-out 这次工作产出了什么 哪些模块能导入、哪些函数能调用、哪些数据集在盘上、哪些工具装了——以及每一项缺失对应装哪个包能修好。 和设置页是同一组数字,因为两边读的是同一份分析。 可选:生物医学人格 插件本身给所有 agent 提供解释器和 skill。如果你想让某一个 agent 被框定成生物医学研究者——开场先加载 workflow skill、遇到缺包如实上报而不是绕过去——装上随包附带的 preset: pnpm run install:preset 需要知道的几件事 「能导入」和「能调用」是两个数字。 一个 Biomni 模块可以干净导入,它的函数照样可能在调用时抛异常, 因为有些依赖是在函数体里才 import 的。dsh-biomni 把这两个数分开报,绝不平均成一个分数——一个 「可用度 82%」恰好会盖住那个导致「编造结果」的落差,而那正是这个项目要防的事。 数据湖按单个数据集取。 76 个加起来 15.1 GB,而单个文件从 4 KB 的 assay 表到 6.2 GB 的结合 数据库都有 —— 几乎没人想要整套。/biomni-datasets 列出盘上有什么、还能取什么、每个多大; python/fetch.py 按名字取。一个都没下载就是没有数据湖 skill —— 确定的答案,不是失败。 部分数据集不许商用。 Biomni 提供了一个商用子集(76 里的 41 个)。一个数据集可以已下载、可读、 但仍然受限,所以许可被当作独立的一件事追踪、在 skill 里点名,并且在它真正生效的那一刻拦住: 取一个受限数据集需要显式确认。 一个闲置的解释器占 298 MB。 实测:装完常用那套(numpy / pandas / scipy / matplotlib / scikit-learn)之后一个进程常驻 298 MB,空解释器 74 MB,而且会一直占到会话结束。所以闲置超过 idleTimeoutMs 的解释器会被回收,下一次调用会明确告诉 agent 命名空间已经空了、以及为什么。 这句通知才是重点:一个悄悄清空的命名空间,和一个没被声明的缺失依赖是同一类失败,只是从另一头来的。 Python 归 run_python,不归 shell。 有一道守卫拦住 agent 通过 bash 摸到别的解释器——但用绝对路径 写出你配置的那个解释器的调用会被放行,因为那条路到达的是对的库。samtools 这类 CLI 工具照常走 bash,只有 python 和 pip 受限。 底下是怎么回事 Biomni 用 ToolRetriever(基于向量嵌入的检索器)解决「200+ 个工具 schema 塞不进上下文」的问题。 DSH 的 skill 系统本身就是这个东西,而且形状更好:会话目录里每个 skill 只挂名字和一行描述,完整内容由 模型通过 skill 工具按需加载。不需要嵌入、不需要相似度、不需要一个会选错的检索器——选择由模型自己的 判断做出。 在本仓库工作的贡献者和 agent 请先读 AGENTS.md,那里写着一批容易破坏、又不容易发现的约束。 许可 MIT。Biomni 本身也是 MIT;它数据湖里的各个数据集有各自的条款。
扫码进群