前言¶
在 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 。