# @dsh-bio/dsh-bio-genie v0.6.37

> **主题**：DSH 0.2.0 适配（含官方桌面端）——直接安装 + preset 随插件自带 + 双引擎兼容（条件能力检测）。
> 生物信息学「许愿式分析」宿主插件：62 个工具（57 语义化 + 5 执行器/元工具）、50 个 skill 注册条目、零依赖自举 Python 环境。

## 亮点

**DSH 0.2.0（含官方桌面端）全面适配（0.6.37 新增）**

- **peer 声明放宽**：`^0.1.0-rc.6` → `^0.1.0-rc.6 || ^0.2.0-rc.1`——0.2.0-rc.2 上**直接安装**（此前会被兼容性检查拒绝，需手工放行）。
- **agent preset 随插件自带**：`cordis.patch.yml` 新增 `@deepseek-ai/dsh-agent-preset` 声明——0.2.0+ 上**安装插件即自动获得「生物基因精灵」preset**（0.2.0 起 `~/.dsh/.agent-presets` 文件式扫描已废除）；preset 自带的 4 个 skill（bio-autopilot / bio-project-chain / bio-wetlab-design / dsh-bio-genie-expert）通过 `createRequire(baseUrl)` **动态定位到本包内** `preset/bio-genie/skills`（不依赖任何用户目录、不依赖安装位置）。
- **双引擎兼容（条件能力检测，实测必需）**：preset 声明行带 `disabled: !!js <能力检测>`——`@deepseek-ai/dsh-agent-preset` 不可解析时（0.1.x 无此包）自动禁用该行；0.1.x 上保留 postinstall 文件式机制，行为不变。对照实验证明：该行**无条件**参与时 0.1.x 会 fail-loud 崩溃（`plugin tree failed to load`），能力检测是正确解法。
- **单一数据源生成**：`cordis.patch.yml` 的 preset 段由 `scripts/build-preset-patch.mjs` 从 `preset/bio-genie/` 生成——改 persona / skills 后重跑脚本即可（勿手改生成物）。

## 安装

```sh
# 全局装了 dsh CLI：
dsh plugin --profile web add @dsh-bio/dsh-bio-genie
# 或经 npx（无需全局 CLI）：
npx -y @deepseek-ai/dsh plugin --profile web add @dsh-bio/dsh-bio-genie
```

- 安装后**重启 dsh**；首次启动自动引导 Python 环境（uv + Python 3.12 + venv + biopython，约 1–2 分钟）。
- **0.2.0+（含官方桌面端）**：装完即有「生物基因精灵」preset，无需任何后置动作。
- **0.1.x**：pnpm v11 会拦插件的 postinstall（preset 文件式复制）；若打印 `[ERR_PNPM_IGNORED_BUILDS]`，按 README「安装后批准构建脚本」章批准一次（支持免交互：改 `pnpm-workspace.yaml` 的 allowBuilds 占位值为 `true` 后重跑 add）。

## 验证口径（2026-10-01 实测）

- **DSH 0.2.0-rc.2（官方桌面端，Windows）**：直接安装（无兼容性记录）→ preset 自动出现（`agentPreset=bio-genie` 创建成功、persona 生效）→ skill 动态定位（`bio-autopilot` 加载成功，base directory = 插件包内 `preset/bio-genie/skills`）→ 工具全量注册（bio_×62 / gem_×22 / graft_×11 / galatea_×19）且真实执行（`bio_seq_analyze` 返回结果 + `_provenance`）。
- **DSH 0.1.5-rc.2**：安装 → 启动正常（preset 行被能力检测自动跳过，无 `ERR_MODULE_NOT_FOUND`）；无需手工改动。
- **对照实验**：preset 行无条件下，0.1.5 fail-loud 崩溃——条件检测为发布必需设计（非可选优化）。
- `npm run bench`：本地全绿；2 项 Ensembl 网络用例因上游 `rest.ensembl.org` 不可达失败（环境性，与代码无关）。
- 全部测试通过（含文档计数、skill 质量门）。

## 已知边界（诚实清单）

- 0.1.x 安装日志可能出现一次 preset 行的能力检测跳过（设计行为，非故障）。
- 如你此前手工在 profile patch 里写过 `preset-bio-genie` 段（0.2.0 迁移期的临时做法），升级后建议移除——插件已自带同 id 声明；共存不致命（实测可启动、preset 可用），移除后以插件版本为准。
- pnpm v11 构建拦截照旧：0.1.x 影响 preset 文件式复制；0.2.0+ 与 preset 可用性无关。
- 其余边界见 v0.6.36 清单（qblast 排队、短序列放宽、第二层依赖按需补装等）。
