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 。

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

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

小夜