dsh-wolfram-nb:在 DeepSeek Harness 裏調用 Wolfram Language 並側邊渲染筆記本

前言

在 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 中安裝(與插件目錄簡介一致):

  1. 打開 DeepSeek Harness
  2. 進入「插件」→「添加插件」
  3. 輸入 @nashihang777/dsh-wolfram-nb
  4. 點擊安裝

從 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 。

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

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

小夜