DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Biomni — DeepSeek Harness 插件(DSH Plugin)
← Plugins
B

dsh-biomni

Biomni

DSH 插件:一个按会话持久化、配备 Biomni 生物医学工具库的 Python 解释器,以及一个报告该解释器实际能够执行哪些操作的设置部分。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:ZhuYanTech/dsh-biomni#22d2d9f767ca5ff2b18dc39b02e06b467fc786db
README兼容性版本

兼容性与来源证明

Biomni 以 dsh-biomni 发布,当前版本为 0.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/1

版本

0.3.0stable
2026/9/1
0.2.0stable
2026/8/31
0.1.0stable
2026/8/31

相关插件

正在加载相关插件…

最新版
0.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/1
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-biomni

Biomedical research, wired into DeepSeek Harness.

A persistent Python interpreter, Biomni's 218 research functions, its 76-dataset data lake, and 113 bioinformatics tools — offered to your agent as skills that only ever promise what your machine can actually deliver.

English · 简体中文 · Changelog


The failure this prevents

Give an agent a biomedical tool library and it fails in a particular, nasty way.

It calls query_pubmed. The function exists, but its dependency was never installed, so it raises. The agent does not report the gap — it quietly writes its own PubMed client and hands you the result as though it came from the validated tool. Point it at a data lake it does not have and the same thing happens with a file path: a plausible guess, then a plausible answer.

dsh-biomni's one rule: never advertise what this machine cannot deliver. Everything your agent is told about — every function, dataset, and command-line tool — is generated by checking your actual environment first. Anything missing is either left out, or named out loud along with what it needs.

What your agent gets

🐍 A Python interpreter that remembersOne process per session. Imports, dataframes and fitted models survive from one call to the next, so the agent works in small steps instead of resending a script every time. One left unused for half an hour is retired to reclaim its memory — and the agent is told, rather than discovering it as a NameError.
🧬 21 research-function skillsBiomni's biomedical library, one skill per module, carrying real signatures — parameter types, defaults, and what each one means. Loaded on demand, so 218 functions cost ~1.6k tokens of context instead of ~26k. (Needs Biomni installed.)
🗄️ A data lake skillThe biomedical datasets actually downloaded on this machine, with exact paths, sizes, and licence flags. Prefer local data over a web round trip.
🔧 A software skillThe bioinformatics packages and CLI tools actually installed here — so the agent reaches for samtools instead of reimplementing it.
🔍 An honest environment reportThe /biomni command and a Settings page telling you exactly what works, what doesn't, and which package would fix it — with the price, so a 151 MB single-function dependency never reads like a free one.
📤 An outlet for resultsrun_python returns text, capped — a plot cannot be printed and a real table gets truncated. The interpreter has an output directory bound as BIOMNI_OUT; files written there are named back to the model, and Settings → Biomni shows them: a figure inline, a CSV as a table, anything textual as its head — or downloads the file whole.
🧪 A data lake browserSettings → Biomni lists all 76 datasets with sizes, marks what is on disk, and fetches one at a time. Non-commercial datasets need an explicit acknowledgement.

It is an ordinary out-of-tree plugin. It does not fork or patch the harness.

Install

1. Add the plugin

dsh plugin --profile web add dsh-biomni

That is the whole step. The CLI reads this package's dsh.bundle.patch declaration and appends dsh-biomni to your profile's bundles — no profile file to edit.

Installing from source instead (for development)
git clone https://github.com/ZhuYanTech/dsh-biomni && cd dsh-biomni
bash scripts/install.sh web

This packs a tarball with lib/ prebuilt and installs that, so pnpm never needs to run a build script for it.

2. Build a Python environment with Biomni

Optional, and worth knowing why. The data lake and software catalogs work immediately — they read a manifest shipped with the plugin, checked against your machine. Only the 21 tool-module skills need Biomni itself, because those are real Python that has to import.

git clone https://github.com/ZhuYanTech/dsh-biomni && cd dsh-biomni
bash scripts/setup-env.sh

The script picks uv when you have it — 11 seconds against minutes for pip, on an identical resolution — and falls back to pip otherwise. It then runs the probe and refuses to claim success unless Biomni actually imports, which is the part that matters: an environment built on Python 3.9, or one where a wheel failed quietly, looks exactly like a working one until the first tool call. It finishes by printing the setting to paste, with the path filled in.

Add --extras for the four opt-in packages below. Pass a directory to build somewhere other than .venv.

By hand, or in a container
curl -sLO https://raw.githubusercontent.com/ZhuYanTech/dsh-biomni/main/python/requirements-biomni.lock.txt
python3.11 -m venv .venv          # 3.11+ required; macOS ships 3.9
.venv/bin/pip install -r requirements-biomni.lock.txt

For deployments that would rather provision once than have every user build a venv, the Dockerfile builds the interpreter as an image. It is more moving parts — the plugin's python/ directory has to be mounted in and the python setting has to name a wrapper that runs inside the container — and the file explains the wiring. CI builds the image and runs the probe inside it on every push, so "it builds" is checked rather than claimed.

Measured: 77 packages, 806 MB, 279 of Biomni's 312 functions callable.

Biomni declares three dependencies and needs far more, so requirements-biomni.txt is the real list, reverse-engineered from its source and annotated with what each package unlocks. The .lock.txt beside it pins every transitive version, so two people installing a week apart get the same interpreter.

Four packages sit outside that core tier, in requirements-biomni-extras.txt, because each was measured to cost far more than it unlocks:

exclusive costbuys
rdkit151 MB1 function
cobra147 MB2 functions
scholarly119 MB (drives a real browser)1 function
statsmodels68 MB2 functions

Together that is 494 MB for 7 more functions. Install them if you need those seven; nothing else changes. The probe names them with their price rather than suggesting them as if they were free.

3. Point the plugin at that interpreter

Start dsh --profile web, open Settings → Biomni, and set the Python interpreter to /abs/path/to/.venv/bin/python. It takes effect immediately.

Or write it into $DSH_HOME/settings.yaml:

biomni:
  python: /abs/path/to/.venv/bin/python   # the venv from step 2
  dataPath: /abs/path/to/data             # optional: holds biomni_data/
  timeoutMs: 600000
  idleTimeoutMs: 1800000                  # retire an unused interpreter after 30 min; 0 = never
  guardShellPython: true

4. See what you actually got

/biomni              what this interpreter can run, and what would fix the gaps
/biomni-datasets     what data is here, what is available, and what each costs
/biomni-out          what the work has produced

Modules that import, functions that are callable, datasets on disk, tools installed — and for everything missing, the package that would fix it. Same numbers as the Settings page, because both read the same analysis.

Optional: the biomedical persona

The plugin gives every agent the interpreter and the skills. If you want one agent framed as a biomedical researcher — told to load the workflow skill first, to report missing packages rather than work around them — install the bundled preset:

pnpm run install:preset

Good to know

"Importable" and "callable" are different numbers. A Biomni module can import perfectly and still have functions that raise on call, because some import their dependencies inside the function body. dsh-biomni reports these separately and never averages them into one score — the whole point is that a single "82% available" figure would hide exactly the gap that causes invented results.

The data lake is fetched one dataset at a time. All 76 come to 15.1 GB, and they range from a 4 KB assay table to a 6.2 GB binding database — so almost nobody wants the set. /biomni-datasets lists what is on disk, what is available, and what each one costs; python/fetch.py fetches by name. Nothing downloaded simply means no data-lake skill: a definite answer, not a failure.

Some datasets are non-commercial. Biomni ships a commercial-use subset (41 of 76). A dataset can be downloaded, readable, and still restricted, so the licence is tracked as its own fact, named in the skill, and enforced at the one point where it binds: fetching a restricted dataset needs an explicit acknowledgement.

An idle interpreter costs 298 MB. Measured with the usual stack imported — numpy, pandas, scipy, matplotlib, scikit-learn — against 74 MB for a bare one, held for as long as the session exists. So one left unused for idleTimeoutMs is retired, and the next call tells the agent that its namespace is empty and why. That notice is the point: a namespace that quietly empties itself is the same failure as an unadvertised missing dependency, arrived at from the other direction.

Python belongs to run_python, not the shell. A guard stops the agent from reaching a different interpreter through bash — but it lets through calls that name your configured interpreter by absolute path, since those reach the right libraries. CLI tools like samtools run through bash as normal; only python and pip are restricted.

Under the hood

Biomni solves the "200+ tool schemas don't fit in context" problem with ToolRetriever, an embedding-based retriever. DSH's skill system already is that, in a better shape: the session catalog carries only a name and one-line description per skill, and the model loads a full body on demand through the skill tool. No embeddings, no similarity search, no retriever that can pick wrong — the selection is the model's own judgement.

Contributors and agents working in this repo should read AGENTS.md, which carries the constraints that are easy to break and hard to notice.

License

MIT. Biomni is MIT-licensed too; individual datasets in its data lake carry their own terms.