dsh-sci:为 DSH 增加物理单位、常数和 ODE 模拟的零依赖插件

前言

在 DSH 的插件化开发场景里,模型需要调用外部工具时,通常会先考虑工具依赖是否轻、运行是否需要网络或额外软件。Blaczz/dsh-sci 面向这类需求,把物理单位换算、CODATA 物理常数查询和 ODE/动力系统模拟做成三个可直接注册的工具。它不修改 DSH 核心,也不引入运行时依赖。

这是什么

Blaczz/dsh-sci 是 Blaczz 维护的独立社区插件,许可证为 MIT © 2026 Blaczz,不与 DeepSeek Harness 有从属关系。它解决的是在 DSH 中轻量完成科学计算工具调用的问题:单位换算、常数查询、固定模型 ODE 模拟。

核心功能

物理单位换算

提供 70 余个单位之间的换算,覆盖 length、mass、time、temperature、energy、pressure、frequency、force、angle、volume、area、electric 等维度。

CODATA 物理常数查询

支持查询 CODATA 物理常数,包括 chekGN_A 等。

ODE / 动力系统模拟

使用四阶 Runge–Kutta 方法,对 9 个预置模型做 ODE/动力系统模拟。

安装与启用

先确认环境满足前置条件:DSH 可用,且 dsh web 可以运行;Node ≥ 22.19;pnpm。

然后执行下面的 GitHub 安装命令:

dsh plugin --profile web add "github:Blaczz/dsh-sci#main"

安装完成后,重启 dsh web,让插件注册生效。

典型用法

下面按插件说明中的示例介绍三类工具。

单位换算

1 eV 换算为焦耳:

units_convert(value=1, from="eV", to="J") → 1.602176634e-19

查询物理常数

返回 chekGN_A 等常数:

physical_constants() → c, h, e, k, G, N_A, … all

调用预置 ODE 模型

lotka-volterra 模型为例:

ode_solve(model="lotka-volterra", params={...}, tEnd=50) → returns the time series + final state [prey, predator]

实现特点

  • 零依赖:纯函数实现,无运行时 node_modules,不访问网络,不依赖外部软件。
  • 无核心修改:通过 ctx.tools.register 注册工具,不包含 client bundle。
  • 可选 peer 依赖:@deepseek-ai/cordis >=4.0.1-rc.1 <5.0.0@deepseek-ai/dsh-tools >=0.1.0-rc.3 <0.2.0

适用场景与注意

适合需要在 DSH 对话或智能体流程中调用物理单位换算、CODATA 常数查询和固定 ODE 模型模拟的使用者。由于插件以当前 dsh 进程权限运行,安装前应检查源码、依赖声明和许可证;如果环境中提供上述可选 peer 依赖,也需确认版本范围与当前 DSH 配置兼容。

链接

  • 社区目录:https://www.skillhub.cn/plugins/Blaczz/dsh-sci
  • GitHub:https://github.com/Blaczz/dsh-sci
羽毛球分组比赛记分
小程序二维码

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

小夜