前言¶
在 DeepSeek Harness(DSH)里做代谢建模,常见路径是:先把全基因组注释成蛋白序列,再调用 CarveMe 或 gapseq 等外部流水线建 GEM,接着用 COBRApy 做一致性检查、补洞和 FBA。这些步骤分散在多个脚本和环境中,智能体很难稳定串成一条可复现的工作流。
@dsh-bio/dsh-bio-gem(社区仓库 moonbowterfly/dsh-bio-gem)把「构建 → 验证 → 补洞 → 出报告」收进 DSH 插件形态:输入细菌全基因组(蛋白 FASTA,支持多质粒/多染色体;裸 .fna 可走自动注释兜底),产出标准 SBML 与模型卡,并归入 dsh-bio-genie 生态,便于后续 FBA、基因必需性、生产包络线等消费工具直接加载。维护者为 moonbowterfly,在 SkillHub 目录中分类为工作流。
这是什么¶
一句话定位:基因组进、经校验的 SBML 出(Genome-scale metabolic model builder for dsh: genome in, validated SBML out)。
插件以 npm 包 @dsh-bio/dsh-bio-gem 发布(纯 ESM,MIT 许可证),当前资料所示版本为 0.1.19。除 gem_build 外,README 说明另有 23 个依赖 Python cobra 的分析/验证/补洞/账本/基准/导出类工具;构建侧则单独依赖 CarveMe(及 diamond)或可选的 WSL2 + gapseq。
核心功能¶
下面按 README 已写明的职责归纳,不展开未在资料中出现的接口细节。
建模流水线¶
- 输入:细菌全基因组;蛋白 FASTA 为主路径。若输入为裸基因组(
.fna),可选依赖pyrodigal做自动注释兜底(gem_annotate相关能力)。 - 构建(
gem_build):默认引擎为 CarveMe(独立 venv,需carve.exe与同目录的diamond.exe);可选engine=gapseq,经 WSL2 桥接,README 标注为实验性、单模型约 30–60 分钟,非必需。 - 验证与补洞:除构建外的大多数
gem_*工具在装了cobra的 Python 环境中运行。 - 交付物:标准 SBML 与模型卡;运行时模型、账本、任务等落在
~/.dsh/dsh-bio-gem/(models/、ledger/、jobs/等)。
与 dsh-bio-genie 的分工¶
| 插件 | 职责 |
|---|---|
| dsh-bio-gem | 造模型:基因组 → 构建 → 验证 → 补洞 → 模型卡 |
| dsh-bio-genie | 用模型:FBA、基因必需性、生产包络线、模型管理面板及更广生信工具 |
两者可同时安装;README 称 genie 的 agent persona 已内置 GEM 能力域路由,「建模型 / 建模 / 补洞」类需求会转给 gem_* 工具。
托管集成(v0.1.11+,与 genie 同实例时)¶
gem 提供两个只读、loopback-only 的 HTTP 端点,供 genie 面板探测状态(gem 本身不注册独立设置页):
GET /api/dsh-bio-gem/integration/health
GET /api/dsh-bio-gem/integration/v1/status
非本机或 Origin/Host 不一致的请求返回 403;端点不暴露 token 或任意命令。
安装与启用¶
环境要求(摘要)¶
| 组件 | 要求 |
|---|---|
| dsh 引擎 | 0.1.x(npx -y @deepseek-ai/dsh --version) |
| Node.js | ≥ 22.19 或 ≥ 24(见包内 engines) |
| Python | 3.10+ 且可 import cobra(分析侧;已装 genie 时可复用其自举环境) |
| CarveMe + diamond | 独立 venv ~/.dsh/dsh-bio-gem/venv-carveme(仅 gem_build carveme 路径) |
| WSL2 + gapseq | 可选,仅 gem_build 的 gapseq 引擎 |
Python 解释器探测顺序(v0.1.4 起):GEM_PYTHON → dsh-bio-genie 自举环境 → CONDA_PREFIX → PATH 中的 python,且逐个验证能否 import cobra。
安装插件¶
Web 端推荐从 npm 安装(--profile 必填):
npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem
也可从 GitHub 源或本地目录安装(命令以 README 为准):
npx -y @deepseek-ai/dsh plugin --profile web add github:moonbowterfly/dsh-bio-gem
npx -y @deepseek-ai/dsh plugin --profile web add ./dsh-bio-gem
dsh 桌面端 0.2.0+ 可使用内置 CLI,--profile desktop 安装同一包名;安装后需重启对应 profile 的 dsh。若遇 npm 404,README 建议等待数分钟或追加 --registry https://registry.npmjs.org/。
确认插件已注册(无需启动服务):
npx -y @deepseek-ai/dsh --profile web --dump-config | grep dsh-bio-gem
未装 genie 时:自备 cobra Python¶
已安装 @dsh-bio/dsh-bio-genie 可跳过;否则示例用 uv 建 venv 并设置 GEM_PYTHON(须在启动 dsh 之前):
uv venv --python 3.11 "$HOME/.dsh/dsh-bio-gem/venv"
uv pip install --python "$HOME/.dsh/dsh-bio-gem/venv/Scripts/python.exe" cobra pyrodigal
setx GEM_PYTHON "$env:USERPROFILE\.dsh\dsh-bio-gem\venv\Scripts\python.exe"
准备 CarveMe 构建引擎¶
构建侧使用独立 venv,不要并入 genie 或系统 Python:
uv venv --python 3.11 "$HOME/.dsh/dsh-bio-gem/venv-carveme"
uv pip install --python "$HOME/.dsh/dsh-bio-gem/venv-carveme/Scripts/python.exe" carveme
curl -L -o diamond.zip https://github.com/bbuchfink/diamond/releases/latest/download/diamond-windows.zip
unzip -o diamond.zip diamond.exe -d "$HOME/.dsh/dsh-bio-gem/venv-carveme/Scripts/"
README 强调:可执行文件名是 carve 而非 carveme;缺少 diamond 时可能仅一行提示且退出码为 0、输出目录为空,排查构建失败时应先确认 diamond.exe 与 carve.exe 同目录。
典型用法¶
在 DSH 对话中驱动工作流¶
安装并完成上述环境后,在 DSH Web 或桌面端重启插件生效。若同时安装 dsh-bio-genie,可直接用自然语言描述「从某基因组构建 GEM、验证、补洞、导出 SBML」等需求;genie 会将建模类意图路由到本插件的 gem_* 工具链,产出写入 ~/.dsh/dsh-bio-gem/models/ 等目录,再由 genie 的 FBA 等工具加载。
未装 genie 时,仍可通过 DSH 注册的同批 gem_* 工具完成构建与分析,但需自行保证 GEM_PYTHON 与 CarveMe venv 就绪。
仓库内冒烟与集成自检¶
维护者在源码目录提供不依赖 dsh 服务进程的检测命令(资产目录需 --assets-root 或 DSH_BIO_GEM_ASSETS,缺资产时部分检查 SKIP):
GEM_PYTHON=<你的-cobra-python> node test/smoke.js --skip-build
GEM_PYTHON=<你的-cobra-python> node test/smoke.js
node test/integration.js
与 genie 同机时的状态探测¶
在本地 loopback 访问(示例,具体 Host 以你的 dsh 实例为准):
GET http://127.0.0.1:<port>/api/dsh-bio-gem/integration/health
GET http://127.0.0.1:<port>/api/dsh-bio-gem/integration/v1/status
BioGenie 面板据此显示 ready / degraded 等五态;state 仅为 ready 或 degraded。
适用场景与注意¶
适合谁:需要在 DSH 智能体工作流里,把细菌 GEM 从基因组到可验证 SBML 串成一条链路的研究或工程场景;并与 dsh-bio-genie 联用做下游代谢分析。
权限与安全:插件以当前 dsh 进程的用户权限读写本地目录、调用 Python 与 CarveMe/gapseq 子进程。安装前应阅读 GitHub 源码 与 MIT 许可证,确认工具行为符合你的数据与合规要求。集成端点仅 loopback,但建模仍会写盘到 ~/.dsh/dsh-bio-gem/。
卸载:npx -y @deepseek-ai/dsh plugin --profile web remove dsh-bio-gem 不会删除上述运行时目录,需手动清理。
引擎兼容:README 记载 dsh 0.1.x 经 0.1.5-rc.2 核验;0.2.0+ 桌面端于 2026-10-01 实测工具注册与 gem_media_resolve 执行。gapseq 路径依赖固定 WSL2/conda 拓扑,换机器常需改 python/gapseq_wsl.py 中的路径常量。
结尾¶
dsh-bio-gem 把 GEM 构建、验证、补洞和 SBML/模型卡交付封装为 DSH 工作流插件,并与 dsh-bio-genie 的「用模型」能力衔接。目录页:SkillHub — moonbowterfly/dsh-bio-gem;源码与安装说明:github.com/moonbowterfly/dsh-bio-gem。