dsh-molecule-viewer:在 DSH 會話裏渲染交互式 3D 分子結構

前言

做蛋白質結構或分子對接的人,看結構的路徑通常是這樣的:模型幫你算了結果,然後你把 PDB 文件另存下來,切到 PyMOL 或者某個網頁工具打開,再截圖貼回討論。文件在會話和外部軟件之間來回倒手,切一次環境,斷一次思路。

在 DSH(DeepSeek Harness)裏,讓模型讀到一個分子文件不難,難的是讓結構本身出現在會話界面裏。dsh-molecule-viewer 這個插件解決的就是這一步:傳入文件路徑或分子數據,會話裏直接渲染一個可以旋轉、縮放、切換樣式的 3D 分子查看器。

這是什麼

dsh-molecule-viewer 是 DSH 的分子結構查看器插件,由 PandaAIDD 維護,MIT 許可證,npm 包名爲 @dsh-plugins/dsh-molecule-viewer,當前版本 0.2.0。

它的定位一句話可以說清:傳入分子文件路徑或 PDB/SDF/MOL2/MOL 格式數據,在會話界面渲染交互式 3D 分子查看器,渲染能力來自 3Dmol.js。DSH 的理念是「一切皆插件」,這類客戶端插件就是這一理念下的產物——不給核心加功能,需要時自己裝。

核心功能

四種分子格式

支持 PDB、SDF、MOL2、MOL 四種格式。其中 PDB 支持 .pdb.ent 擴展名,SDF 支持 .sdf.sd。PDB 對應蛋白質、大分子一類結構,SDF 可以裝多個分子。

注意 SMILES 暫不支持,插件需要的是含 3D 座標的格式。

路徑優先,服務端讀取

可以直接把文件路徑傳給工具,由服務端讀取,不用先把文件內容貼出來。路徑寫法上做了兼容:Windows 寫法(D:\dir\x.pdb)、WSL 寫法(/mnt/d/dir/x.pdb)和 ~/ 開頭的寫法都能自動識別互轉,按你本來的習慣寫就行。

交互式查看器

渲染出來的查看器支持旋轉、縮放,可以即時切換 cartoon / stick / line / sphere 四種樣式,也能改背景色和分子着色方式。默認樣式是 stick,看蛋白質建議用 cartoon

重啓可恢復

查看器載荷會隨 tool/result 事件持久化。也就是說重啓 DSH 之後再加載歷史會話,之前的分子查看器照常渲染,不需要重新調用工具。這一點依賴官方插槽實現,原版 harness 即可直接安裝,不需要改核心。

輕量解析與本地打包的 3Dmol.js

Host 側只做原子計數和校驗,真正的解析和渲染交給瀏覽器端的 3Dmol.js。3Dmol.js 以 vendor/3Dmol-min.cjs(2.4.2)的形式在構建時打進 client bundle,運行時不請求 CDN,加載快、可以離線,也不受瀏覽器跟蹤防護的影響。

安裝與啓用

用官方給出的安裝命令:

dsh plugin --profile web add git+https://github.com/PandaAIDD/dsh-molecule-viewer.git

安裝後需要重啓生效:

dsh --profile web

重啓完成後,view_molecule 工具自動可用,模型會按工具描述自動調用,不需要額外註冊或配置。安裝過程中,dsh plugin 會克隆倉庫、安裝到 profile 的 node_modules,並檢測到 dsh.bundle.patch 聲明後自動加入 dsh.profile.bundles

典型用法

最直接的方式是在對話中描述需求,模型會自動調用工具:

幫我可視化這個分子:D:\project\Dock\data\3IPQ.pdb

也可以明確指定用哪個工具,比如直接粘貼一段沒有落盤的 SDF 數據:

用 view_molecule 工具查看這段 SDF 數據:...

工具的參數規則如下:

1、pathdata 二選一,path 優先。磁盤上有文件就傳路徑,按用戶原始寫法傳即可;data 用於磁盤上沒有文件的情況(如聊天中粘貼的內容),傳純文本,不要 base64 編碼。

2、formatpdb | sdf | mol2 | mol)在傳 data 時必填;傳 path 時按擴展名自動推斷,可以省略。

3、name 爲顯示名稱(如 "1CRN"),作爲查看器標題,可選。

4、style 爲初始渲染樣式(stick | line | sphere | cartoon),默認 stick,看蛋白質建議 cartoon

一個補充說明:超過 2 MB 的分子內容不會內聯進會話日誌,此時查看器位置會顯示一張摘要卡片,原子數和格式仍然可見。

適用場景與注意

這個插件適合在 DSH 裏做結構相關工作的開發者:跑完對接想立刻看構象、讀 PDB 想確認活性口袋、或者拿到 SDF 想快速覈對分子形狀,都可以在會話裏直接完成,不用切到外部軟件。

幾點注意:

1、SMILES 暫不支持,需要含 3D 座標的格式。

2、安裝後必須重啓 DSH 才生效。

3、路徑寫法雖已做 Windows/WSL 互轉,但傳 data 時記得同時指定 format

4、這類插件以當前 dsh 進程的權限運行,安裝前建議先到倉庫檢查源碼與許可證,確認無誤再裝。

結尾

dsh-molecule-viewer 做的事情不復雜:把 3Dmol.js 的渲染能力接進 DSH 會話,讓「算完就看」變成一個不需要切換工具的動作。路徑直傳、重啓可恢復、離線可用這些設計,讓它適合作爲結構相關工作流的常駐插件。

插件在社區目錄的頁面:https://www.skillhub.cn/plugins/PandaAIDD/dsh-molecule-viewer 。目錄是獨立站點,與 DeepSeek、幻方沒有官方從屬關係。源碼倉庫:https://github.com/PandaAIDD/dsh-molecule-viewer 。

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

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

小夜