前言¶
在 DeepSeek Harness 裏做符號計算、畫函數圖、解方程時,常見做法是:讓模型把推導過程寫在對話裏,公式和圖形以純文本或截圖形式出現,難以複用,也無法像 Mathematica 筆記本那樣繼續編輯。若本機已安裝 Mathematica 或帶 math.exe 的 Wolfram Engine,可以把內核接到 Harness 上,由智能體直接調用 Wolfram Language,並在對話窗口右側實時渲染筆記本單元與 MathML 公式。
下面介紹社區插件 @nashihang777/dsh-wolfram-nb(維護者 nashihang777,GitHub:nashihang777/dsh-wolfram-nb)。它在 Harness 中註冊 Host 側工具與 Client 側右側面板,分類爲客戶端插件。
這是什麼¶
該插件是 Mathematica kernel bridge:每個會話拉起一個常駐的 math.exe -noprompt,通過 bridge.wl 用文件式 JSON 協議與 Node 宿主通信;智能體調用 wolfram_eval、wolfram_notebook 等工具時,結果寫入工作區 .dsh-wolfram/latest.json,Client 插件輪詢並在右側 Tab「Wolfram 筆記本」中渲染標題、輸入/輸出單元、MathML 與 PNG 圖形。每次計算還會在 wolfram-notebooks/ 下導出真正的 .nb 文件。
插件與 Wolfram Research 無隸屬關係,不包含、不重新分發任何 Wolfram 軟件;運行時依賴用戶本機已授權的安裝。npm 包版本爲 1.2.0,許可證 MIT,要求 Node.js >= 20。
核心功能¶
| 能力 | 說明 |
|---|---|
wolfram_eval |
在常駐內核中執行一個或多個單元(標題、輸入等),覆蓋符號計算、微積分、矩陣、繪圖等 |
wolfram_notebook |
open 打開已有 .nb;reset 重啓內核;status 查看內核狀態與探測路徑 |
| 右側面板 | 實時顯示筆記本內容;面板頂部「打開…」可從工作區、wolfram-notebooks/ 等列表選 .nb |
/wolfram-open |
在輸入框執行 /wolfram-open <路徑>,不產生模型消息,直接切換面板 |
| 持久內核 | 同一會話內變量與函數定義跨多次調用保留 |
.nb 導出 |
按標題與時間命名,可用 Mathematica 繼續編輯 |
架構上,Host 插件(index.js)管內核與工具註冊;Client 插件(client.js)註冊右側欄 Tab,並在檢測到新的 publishedAt 時自動打開面板。
環境與前提¶
目標機器需要 Windows,且存在可交互的 math.exe(Mathematica 或含該可執行文件的 Wolfram Engine)。內核需能從 stdin 讀表達式;README 說明 WolframKernel.exe -noprompt 不響應 stdin REPL,故以 math.exe 爲準。註冊表自動探測僅適用於 Windows;macOS/Linux 需在配置或環境變量中顯式指定內核路徑。
安裝與啓用¶
在 Harness UI 中安裝(與插件目錄簡介一致):
- 打開 DeepSeek Harness
- 進入「插件」→「添加插件」
- 輸入
@nashihang777/dsh-wolfram-nb - 點擊安裝
從 npm 安裝 bundle(README 推薦):
plugin_manager install_bundle target=@nashihang777/dsh-wolfram-nb@1.2.0
版本號可省略(默認 latest),或用 @1.2.0 固定版本。
分發包約 25 KB,僅含插件代碼。安裝前建議查看 GitHub 源碼與 MIT 許可證;插件以當前 DSH 進程權限運行,並可啓動本機 math.exe,請在可信環境中安裝。
配置¶
在 profile 的 cordis.patch.yml 中覆蓋對應插件條的 config:
- id: wolfram-notebook
name: '@nashihang777/dsh-wolfram-nb'
config:
kernel: 'C:\Program Files\Wolfram Research\Wolfram\15.0\math.exe'
timeoutMs: 180000
idleMs: 1800000
| 字段 | 默認 | 說明 |
|---|---|---|
kernel |
自動探測 | math.exe 路徑、內核目錄或產品目錄 |
timeoutMs |
180000 | 單次請求超時,超時會結束內核 |
idleMs |
1800000 | 空閒後回收內核 |
未配置時,kernel-discovery.js 依次嘗試:配置項 → 環境變量 WOLFRAM_KERNEL / MATHEMATICA_KERNEL → Windows 註冊表 → 標準 Program Files 佈局 → PATH 中的 math.exe。綠色拷貝或非標準路徑安裝時,可只寫產品目錄,例如 kernel: 'D:\Apps\Wolfram\15.1'。排障時可調用 wolfram_notebook 且 action="status" 查看實際內核路徑。
典型用法¶
智能體側調用 wolfram_eval,面板會自動打開並顯示公式與圖形,同時生成筆記本文件:
wolfram_eval title="巴塞爾問題"
cells=[
{"type":"title","text":"巴塞爾問題"},
{"type":"input","code":"Sum[1/n^2, {n, 1, Infinity}]"},
{"type":"input","code":"Plot[Sin[x]/x, {x, -10, 10}]"}
]
生成路徑形如 wolfram-notebooks/<標題>-<時間>.nb。
渲染已有筆記本:
wolfram_notebook action="open" path="wolfram-notebooks/xxx.nb"
手動打開面板:右側欄「+」→ 選擇「Wolfram 筆記本」。
工作區內還會產生 .dsh-wolfram/latest.json(面板數據源)與 .dsh-wolfram/tmp/(橋接臨時文件)。
適用場景與注意¶
適合:已在 Windows 上安裝 Mathematica / Wolfram Engine,希望在 DSH 對話裏讓智能體執行 Wolfram Language,並需要側邊可視化與可導出的 .nb,而不是隻看模型生成的 LaTeX 片段。
限制(摘自 README):
Manipulate、Dynamic等交互式前端無法在網頁面板裏交互,多顯示爲靜態公式或文本。- 部分表達式(如
Quantity)可能沒有 MathML,面板回退爲InputForm。 - 首次繪圖因前端光柵化可能慢 1–3 秒。
- 同一工作區多會話共享
latest.json(內核仍按會話隔離)。 - 頁面刷新後,第一次自動展開右側欄可能需要一次用戶手勢,或手動從「+」進入 Wolfram 筆記本。
插件屬於 DSH「一切皆插件」生態中的社區條目;目錄站 SkillHub 與 DeepSeek / 幻方無官方從屬關係,安裝來源以維護者倉庫與 npm 包爲準。
結尾¶
@nashihang777/dsh-wolfram-nb 把本機 Mathematica 內核接成 Harness 工具,並在對話旁提供 live notebook 面板,適合需要可復現符號計算與筆記本留檔的 Windows 用戶。查閱說明與Issue 可走 GitHub:https://github.com/nashihang777/dsh-wolfram-nb ;插件目錄頁:https://www.skillhub.cn/plugins/nashihang777/dsh-wolfram-nb 。