dsh-mol-structure:在 DSH 對話裏直接查看分子結構

前言

做結構生物學分析的人,常用流程是:讓智能體在對話裏給出一段分析,再把結構扔進 PyMOL / Mol* 查看結果。結果是圖片和結論分居兩個窗口,標註和測量要來回手工搬運。dsh-mol-structure 這個插件想解決的問題是:讓智能體在 DSH 右側邊欄內嵌一個完整的本地 Mol* v5 查看器,直接加載、渲染、標註 PDB/mmCIF 結構,並把結果留在對話旁邊。也就是說,智能體不再只回文字,它展示的畫面和我說的結構是同一個視圖。

下面介紹這個插件:誰維護、能不能裝、怎麼用。

這是什麼

masterchiefm/dsh-mol-structure,維護者 Masterchiefm,分類爲「客戶端」插件,採用 MIT 許可證。它面向 DeepSeek Harness(DSH)的開發者和使用者:在 dsh 桌面端 / Web 端右側邊欄追加一個「結構視圖」頁籤,內嵌 Mol* 查看器,同時向 agent 暴露 22 個 mol_* 工具,把「加載結構 → 建場景 → 測量和標註 → 導出或截圖」整條鏈路放進對話裏。

核心功能

右側邊欄 3D 視圖

右側邊欄出現「結構視圖」頁籤,內嵌完整的 Mol* 查看器。有兩種模式可選:簡潔 agent 畫布,或完整 Mol* 界面。切換頁籤後場景常駐,不會因爲切走就丟掉已加載的結構。

Agent 工具

插件提供 22 個 mol_* 工具,覆蓋完整流程:

  • 加載結構:mol_load
  • 建場景 / 換表徵:mol_scene、mol_style
  • 註冊可回放視圖:mol_panel_define
  • 測量與氫鍵標註:mol_measure、mol_hbonds、mol_structconn
  • Cα 疊合:mol_align
  • 狀態存取與導出:mol_state、mol_export
  • 截圖:mol_screenshot
  • 其餘還包括 mol_status、mol_select、mol_panel 等

對話裏直接說「加載 6w5c」或「看一眼 PAM 口袋」即可驅動對應工具。

結構分析

mol_load 之後插件會做幾件事:清點鏈組成、統計界面殘基接觸,並自動註冊「總覽」和「界面特寫」兩個視圖。外觀默認走出版級規範:蛋白爲半透明 surface(alpha 0.45)加不透明 cartoon,DNA/RNA 爲 cartoon,互作特寫處的側鏈以 stick 突出,距離線加標籤標註。

雙向感知

視圖不是單向的。在 3D 視圖裏點擊殘基,這次點擊會回報給 agent(mol_status / mol_select 可以讀到)。另外本機任意程序也能經 POST /api/mol-structure/command,用同一套命令詞彙驅動查看器。

有一點需要寫明:插件無法強制展開 dsh 的右側邊欄,那是宿主 UI 狀態,插件沒有 API 碰它,只能請求切換到「結構視圖」頁籤。所以凡是涉及結構展示或分析的請求,agent 應該在 mol_load 等 3D 操作之前主動調用 mol_panel 打開右側邊欄結構視圖頁籤,讓用戶立即看到畫面,而不是隻彙報文字結果。

安裝與啓用

方式 A:讓 dsh 裏的 agent 安裝(推薦)

在任一已打開的 dsh 會話裏對 agent 說:

請安裝插件 https://github.com/Masterchiefm/dsh-mol-structure

agent 會調用 plugin_manager(install_bundle,target = 倉庫目錄的絕對路徑,真實目錄、不要符號鏈接),自動完成 profile 依賴登記、cordis.patch.yml 掛載與 client 半身註冊。裝完重啓應用或新開一個會話,右側邊欄就會出現「結構視圖」卡片。

方式 B:桌面端手動安裝

在設置 → 插件 → 本地路徑安裝,指向本地已有的插件目錄;或者手動放置:

  1. 把 package(含 dist/)複製到 %DSH_HOME%\profiles\desktop\node_modules\dsh-mol-structure\
  2. 在 profile 的 package.json dependencies 里加 "dsh-mol-structure": "*"
  3. 在 dsh.profile.bundles 裏追加 "dsh-mol-structure"

注意不要在 profile 的 cordis.patch.yml 裏再加條目,bundle 自己的 cordis.patch.yml(一行 insert,id 爲 mol-structure)會自動生效。

純 Web profile 源碼安裝

dsh plugin --profile web add github:Masterchiefm/dsh-mol-structure

安裝後自檢

按下面三步確認安裝成功:

  1. 右側邊欄出現「結構視圖」卡片,對 agent 說「打開結構視圖」;右側欄被收起時在 UI 裏手動展開。
  2. 對 agent 說「加載 4oo8」,mol_load 返回鏈清單並自動註冊總覽 / 界面視圖。
  3. 在 3D 視圖點擊一個殘基,agent 用 mol_status 能讀到這次點擊。

典型用法:SaCas9–sgRNA–目標 DNA

README 給出的可復現示例是 PDB 4OO8(Nishimasu et al. 2015,本地文件 dist/structures/4oo8.cif):Staphylococcus aureus Cas9(SaCas9)– sgRNA – 目標 DNA 三元複合物。鏈組成爲 A = SaCas9(aa 3–1366)、B = sgRNA(97 nt)、C = 目標 DNA TS(0–20,PAM 端),D/E/F 是晶體內第二個複合物副本。

對 agent 說「加載 4oo8 並看看它怎麼識別 DNA」,可以復現三段視圖:

  1. 總覽:蛋白半透明 surface 罩住 slate cartoon,sgRNA(紅)與目標 DNA(青)爲 cartoon,中央通道構象一目瞭然。
  2. PAM 識別特寫:PI 域 S1106–I1110 環讀 PAM 端鹼基,K1107/S1109 側鏈 stick 貼住 PAM 端磷酸骨架,距離線標註接觸。
  3. seed 異源雙鏈特寫:sgRNA 5′ 段與目標 DNA 形成異源雙鏈,REC lobe 正電槽殘基(R75/Y72/R403 等)側鏈 stick 夾住雙鏈骨架,穩定 R 環構象。

agent 會把每個視角註冊成 mol_panel_define 可回放面板,控制卡可以一鍵重現。README 中的截圖是真實 dsh 窗口截圖,由 node tools/capture-readme.mjs 無頭生成,可以重新截。

檢查更新與插件內自升級

v0.5.0 起插件自帶更新通道,默認開啓自動檢測(每 6 小時),可在設置 → General →「結構視圖:自動檢查更新」改爲每天 / 每週 / 關閉。發現新版本時,已打開的設置頁會顯示更新橫幅,SSE 會向瀏覽器半身推送一次 update 提醒;也可以點「檢查更新」立即查詢,或點「立即更新並重載」一鍵完成下載 → SHA-256 校驗 → 備份 → 原子換文件 → 熱重載,失敗自動回滾。開發者也可以直接調 HTTP 接口:

GET  /api/mol-structure/update
POST /api/mol-structure/update/check
POST /api/mol-structure/update/apply

更新源固定爲 GitHub 倉庫 Masterchiefm/dsh-mol-structure 的 feed/manifest.json(raw.githubusercontent.com + jsDelivr 鏡像,可變分支先釘到完整 commit SHA)。清單裏每個文件帶 size + SHA-256,下載後逐一校驗,任何字節不符即拒絕安裝並回滾。發新版流程:改代碼 → bump package.json 與 index.js 版本 → npm run build(改了 src/ 時)→ npm run manifest → 提交併推送(含 feed/manifest.json)。

適用場景與注意

適合需要在對話裏反覆查看和分析 PDB / mmCIF 結構的開發者與研究人員:尤其是想讓 agent 直接給出標註好的畫面、而不是事後再手工貼圖的人;以及想由本機程序通過 HTTP 接口驅動同一個查看器的集成場景。

幾點提示:

  • 插件以當前 dsh 進程的權限運行,安裝前應先檢查源碼與許可證(MIT)。README 的安裝由社區倉庫維護,與 DeepSeek / 幻方無官方從屬關係,請自行判斷來源。
  • 插件聲明 Node 版本要求爲 >=20,Mol* 依賴版本爲 ^5.13.1。
  • 右側邊欄的展開狀態由宿主 UI 控制,插件只能請求切換頁籤,無法替用戶展開側欄。

小結

dsh-mol-structure 的價值在於把結構查看從「另一個窗口的工具」搬進了對話本身:agent 能加載、渲染、標註結構,用戶點擊也能回到 agent。對於常做結構分析的 DSH 用戶,值得一試。

目錄頁:https://www.skillhub.cn/plugins/Masterchiefm/dsh-mol-structure
GitHub:https://github.com/Masterchiefm/dsh-mol-structure

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜