Repository navigation
Releases
gem 0.1.19 — 链霉菌权威模型目录 gem_models
新能力
- gem_models 权威模型目录(Sco-GEM / Salb-GEM / iJV1220):list / install / verify 全链支持,SHA256 逐字节校验,面向链霉菌研究场景开箱即用
- G0–G6 七关验证链落地(含 G6 ATP 泄露哨兵);模型卡声明审计 v3;账本/构建/指纹改进
质量
- 4 项定向测试入链;npm test 全绿(计数门 11 pass / 0 fail)
npm: npm install @dsh-bio/dsh-bio-gem@0.1.19(shasum 2a819d0c7ac25381b6839c0486df606519d02e4b)
v0.1.18 — 公开信息审计复核修复批次(含小型行为修复)
@dsh-bio/dsh-bio-gem v0.1.18
主题:公开信息审计复核修复批次(含小型行为修复)。
基因组尺度代谢模型(GEM)构建插件:基因组输入 → 构建 → 验证 → 补洞 → 出报告(标准 SBML + 模型卡)。
修复与改进
行为修复
- BiGG 模型下载的代理回退:显式将
ALL_PROXY映射到 http/https(此前仅声明支持、实际未生效);直连失败时按系统/环境代理重试。 - 白名单构建入口守卫:
GEM_GAPSEQ_DB未配置或无效时在任何文件操作前给出可操作错误(生产调用链同样受控,不再隐式使用相对目录)。 - 回归脚本解释器默认值沿用
DSH_HOME(与生产解析规则一致;显式GEM_PYTHON仍最高优先)。
文档与一致性
- 架构文档:去内部阶段代号与决策史;工具契约表补
gem_quality/gem_sample(23 工具 / 23 op);生长/通量单位口径统一(归一化 biomass 为 1/h;一般通量为 mmol/gDW/h)。 - 计数一致性:README 英文段 22 工具(除 build 外);中文标题 23。
- 过程叙事中性化:代码注释与工具返回文案中的开发阶段标签、调用经历记录全部清除(保留判据依据与错误条件)。
安装
npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
分析用 Python(cobra)优先复用 dsh-bio-genie 自举环境;未装 genie 时见 README 第 2 节。
已知边界(诚实清单)
gem_build的 gapseq 引擎为实验性(WSL2 环境绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。- 其余边界见 v0.1.12 清单。
v0.1.17 — 公开信息审计修复与默认值通用化
@dsh-bio/dsh-bio-gem v0.1.17
主题:默认值通用化与公开信息审计修复。
基因组尺度代谢模型(GEM)构建插件:基因组输入 → 构建 → 验证 → 补洞 → 出报告(标准 SBML + 模型卡)。
修复与改进
默认值通用化(面向所有用户)
- 资源路径默认值不再绑定开发机目录:解释器/工具与参考资源改为插件数据目录 + 环境变量优先
(GEM_GAPSEQ_DB/GEM_DIAMOND/GEM_WHITELIST_DB_DIR/GEM_UNIVERSAL_MODEL/GEM_INX_MODEL),
缺失时给出可操作提示而非静默失败。 - BiGG 模型下载的代理回退改为读取环境变量代理(
HTTP_PROXY/HTTPS_PROXY/ALL_PROXY),
不再固定本机端口;描述与实现一致。
测试与文档
- 回归脚本资产配置显式化:
--assets-root或DSH_BIO_GEM_ASSETS指定模型资产;缺资产时相关检查 SKIP(不误报为回归失败)。 - 文档一致性:生长值单位口径说明(归一化 biomass 为 1/h;一般反应通量为 mmol/gDW/h)、工具计数、
架构文档状态与内部代号清理、基准报告路径通用化。
安装
npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
分析用 Python(cobra)优先复用 dsh-bio-genie 自举环境;未装 genie 时见 README 第 2 节。
已知边界(诚实清单)
gem_build的 gapseq 引擎为实验性(WSL2 环境绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。- 其余边界见 v0.1.12 清单。
v0.1.16 — 导出与工作区修复批次
@dsh-bio/dsh-bio-gem v0.1.16
主题:导出与工作区修复批次 + 公开文档整理。
基因组尺度代谢模型(GEM)构建插件:基因组输入 → 构建 → 验证 → 补洞 → 出报告(标准 SBML + 模型卡)。
修复与改进
导出产物规范化
- CSV 导出保持纯数据表(标准表头 + 行);声明/参数/免责信息移入旁车文件
<path>.meta.json(返回体附export_csv_meta路径)——标准解析器(pandas 等)可直接读取。 - 导出路径父目录不存在时自动创建(mkdir -p 语义),不再报 FileNotFoundError。
工作区与运行环境
- 工具相对路径基于会话工作区解析(python 子进程 cwd 对齐会话目录)。
- gapseq 能力探针改为只读检查本地序列库元数据,不再依赖在线检查(离线环境不再误报)。
公开文档整理
- 清理内部流程信息;架构文档措辞规范化。
安装
npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem桌面端(0.2.0+):用桌面端自带 CLI(--profile desktop)或应用内「插件」页安装。
分析用 Python(cobra)优先复用 dsh-bio-genie 自举环境;未装 genie 时见 README 第 2 节。
已知边界(诚实清单)
gem_build的 gapseq 引擎为实验性(WSL2 环境绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。- 其余边界见 v0.1.12 清单。
v0.1.15 gapseq 探测中不再被报成不可用
gapseq 探测中不再被报成不可用
G 系列跨插件契约层修复(独立包,不合并)。
修复
- capabilities 依赖状态折叠:
buildCapabilitiesReport原把所有非ok
的状态都算进missingDeps。runtime.gapseq在 WSL 冷启动期间按契约就是
warn(null= 尚未探测),于是「还在探测」被对外报成「gapseq 不可用」——
冷启动期面板给出错误结论。现区分三态:missing才算unavailable;
warn(探测未完成或进行中)与 check 缺席都归unknown,一并写进
unknown_dependencies供前端提示「待确认」。 - 依赖检查漏项:
requires映射用的判断在某个依赖 id 没出现在checks
里时返回 false,即「未观测到」被当成「已满足」。collectChecks()目前固定
产出全部 check id,该分支在生产路径不可达,但buildCapabilitiesReport
是导出函数,测试或后续裁剪 check 集都会踩到。
测试
test/capabilities-warn-state.mjs新增 5 项。test/check-counts.mjs对gem-expert.md的检查从「文档里是否有 N个语义化
工具这句计数」改为「skill 出现的gem_*工具名与 manifest 双向一致」。
该skill 逐名列工具、无总数声明,旧检查项因此长期 WARN;新检查项同时能发现
缺失与过时两种漂移。
验证
变异:把 warn 折回 missingDeps → actual: 'unavailable', expected: 'unknown',exit 1;还原 → exit 0。npm test exit 0,计数门 9 pass / 0 fail /
0 warn(基线为 8 pass / 1 warn)。
v0.1.14 版本号单一真值源修复
fix: /health 自报版本号与磁盘不一致(潜在)
问题
src/integration.js 的 PLUGIN_VERSION = '0.1.13' 是硬编码字面量。本次未触发显示错误(版本恰好一致),但与 galatea 同型缺陷 —— bump 时漏改即导致自报旧版本。
改动
改为从 package.json 实时读取,消除第二真值源。
新增门禁
test/check-version-source.mjs(与 galatea 同款),接入 npm test。变异实验已验证门禁有效。
已知既有问题(与本次改动无关,经 git stash 判定)
smoke 的「benchmark 自检: 蔗糖条件生长差已知方向」在改动前即失败(37 通过 / 1 失败 / 4 跳过)。
dsh-bio-gem v0.1.12 — 审计修复 + 引擎兼容声明
@dsh-bio/dsh-bio-gem v0.1.12
跨版本说明:npm 上此前 latest 为 0.1.3,本版为 0.1.4–0.1.12 的累积发布(GEM 全链能力 + 一轮审计修复)。
基因组尺度代谢模型(GEM)域插件:全基因组 → 自动构建 → 验证 → 补洞 → 出报告(SBML + 模型卡),供 dsh-bio-genie 宿主消费。
亮点
21 个 gem_* 语义化工具(累积):构建(gem_build/gem_gapseq/gem_annotate)、验证与修复(gem_validate/gem_gapfind/gem_gapfill/gem_phenotype/gem_l3_fix)、分析(gem_biomass/gem_fluxscan/gem_sensitivity/gem_essentiality/gem_double_knockout/gem_enrichment/gem_secretion/gem_precursor_scan/gem_targets)、资产与账本(gem_media_resolve/gem_ledger/gem_benchmark/gem_report)。
能力要点
- 预测账本:一个模型一个账本(
~/.dsh/dsh-bio-gem/ledger/<模型>.jsonl),登记/幂等/坏行容错;退化模型(生长为 0)显式拒绝登记预测。 - 介质两级策略:内置完整成分(含金属离子)预设 + 跨引擎解析护栏。
- 可分泌谱 / 双敲 / 靶点导出:带边界声明与计数闭合校验(closure),不伪造通路。
- 域面板:BioGenie 设置面板「代谢建模」分页(六态 + 修复指引,由宿主托管)。
0.1.12 审计修复轮(本版新增)
test/smoke.js重构:模型资产多候选解析(--assets-root/DSH_BIO_GEM_ASSETS/ 新旧位置)——资产迁移后不再硬编码路径崩溃;缺资产 / 缺账本标记 SKIP 而非失败(--require-assets供 CI 严格模式);CarveMe 跳过判断移至调用前;子进程非零退出 fail-closed。npm test接线:smoke + integration + optional-injection(真注册验证,此前未纳入任何 npm 入口)。
引擎兼容(2026-09-19):经 dsh 0.1.5-rc.2 走廊逐卡走查(55 张变更卡:零适配命中)与实机验证(工具注册 / 代谢建模面板 / 账本与模型数据)。
安装
dsh plugin --profile web add @dsh-bio/dsh-bio-gem
# 或:npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-gem- 安装后重启 dsh web。
- Python 环境:解释器探测顺序 =
GEM_PYTHON→ 宿主dsh-bio-genie自举环境 →CONDA_PREFIX→PATH。分析/验证类工具随装随用。 ⚠️ 构建侧重依赖(gem_build才需要,不与 genie 共享):CarveMe 独立 venv(~/.dsh/dsh-bio-gem/venv-carveme)必须另放diamond.exe(缺它 carve 不报错、退出码 0、输出为空——README 第 3 节有完整步骤与实测坑);gapseq 引擎走 WSL2 桥(可选,实验性)。- Smoke 说明:
npm run smoke的 C58 回归断言需要模型资产与账本——缺失时对应检查显式 SKIP 并打印原因(新机器不会误报失败)。
验证口径
npm test全链通过:smoke(45 项,0 失败 0 跳过)/ integration(10 项)/ optional-injection(21 工具真注册)。- 回归锚点:C58 模型 1084 基因 / 2492 反应;AB 介质生长 0.519981;账本 522 条闭合导出。
已知边界(诚实清单)
gem_build的 gapseq 引擎为实验性(WSL2 本机拓扑绑定,30–60 分钟/模型);默认 carveme 引擎已可出可验证模型。- CarveMe 运行时需手动准备一次(README 第 3 节)——「装完插件」不等于「构建可用」,分析/验证类能力不受影响。
- 注释依赖 SBML groups(gapseq 系模型自带);无注释模型按契约返回
annotation_unavailable兜底,不伪造通路。
dsh-bio-gem v0.1.3 — G6 ATP 解析跨 ID 体系修复
G6 ATP 解析跨 ID 体系修复
gem_validate 的 G6(ATP 泄漏检测) 此前只按固定的 id 模式匹配 ATP 代谢物,对 MetaCyc / BioCyc 导出模型(ATP 的 id 为 M00002_c、name 为 ATP)匹配失败并误判为 SKIP——该关卡在这类模型上实际从未执行。
现改为三级解析:
- id 模式(补 MetaCyc
m00002系列) - name 匹配(跨 ID 体系最稳的信号,排除 dATP 等衍生物)
- 分子式匹配(含去质子化变体)
返回值新增 atp_resolved_by 标明实际命中的解析路径,SKIP 时的提示同步更新。
实机验证
同一模型(MetaCyc 风格 id 的 GEM)G6 由 SKIP 转为 PASS:
atp_metabolite_found: M00002_c
atp_resolved_by: id_pattern
atp_leak_flux: 0.0