前言¶
在 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 物理常数,包括 c、h、e、k、G、N_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
查询物理常数¶
返回 c、h、e、k、G、N_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