dsh-sci ๐ฌ
August 14, 2026 ยท View on GitHub
Zero-dependency scientific computing tools for DeepSeek Harness: physical-unit conversion, CODATA physical constants, and RungeโKutta ODE/dynamical-system simulation. No core changes.
A DeepSeek Harness (DSH) pure tool plugin registering three model tools that scientists reach for daily โ all implemented as zero-dependency pure functions: no network, no external software, fully unit-tested.
| Tool | Purpose | Example |
|---|---|---|
units_convert | Physical unit conversion (length/mass/time/temperature/energy/pressure/frequency/force/angle/volume/area/electric, 70+ units) | 1 eV โ J, 0 โ โ K, 1 kWh โ J |
physical_constants | Look up CODATA physical constants (c, h, e, k, G, N_A, โฆ) | physical_constants("h") |
ode_solve | 4th-order RungeโKutta integration of common dynamical systems (the simulation engine) | exponential / logistic / harmonic / damped / pendulum / predator-prey / SIR / Lorenz / Van der Pol |
โจ Features
- Zero dependencies: unit conversion, physical constants, and the RK4 integrator are hand-written pure functions โ no runtime
node_modules, no network. - Safe simulation:
ode_solveuses a curated model library (9 dynamical systems) with parameters, not arbitrary code execution โ safe for the model to call. - Verified accuracy: the RK4 integrator is checked against analytic solutions (
e^-t,cos t) in unit tests. - Zero core changes: pure
ctx.tools.register, no client bundle.
๐ฆ Install
Prereqs: DSH (dsh web works), Node โฅ 22.19, pnpm.
# From GitHub (prebuilt lib/ committed)
dsh plugin --profile web add "github:Blaczz/dsh-sci#main"
# Local directory
cd dsh-sci && npm install --legacy-peer-deps && npm run build
dsh plugin --profile web add ./dsh-sci
Restart dsh web after install, then ask the agent: "convert 5 eV to joules", "look up the Planck constant", or "simulate a damped oscillator with ฯ=2, ฮถ=0.1 out to t=20".
๐ฌ Usage
User: simulate the Lotka-Volterra predator-prey model, alpha=1, beta=0.1, gamma=1, delta=0.02, to t=50
agent โ ode_solve(model="lotka-volterra", params={...}, tEnd=50)
โ returns the time series + final state [prey, predator]
User: how many joules is 1 electron-volt?
agent โ units_convert(value=1, from="eV", to="J") โ 1.602176634e-19
User: list all physical constants
agent โ physical_constants() โ c, h, e, k, G, N_A, โฆ all
๐ ๏ธ Development
npm install --legacy-peer-deps
$env:DSH_NODE_MODULES = "$env:USERPROFILE\.dsh\profiles\node_modules"
npm run setup:dsh-workspace
npm run verify # โ
one-shot gate: clean + typecheck + test + build
npm test # vitest (24 tests: units / constants / ODE accuracy + manifest)
Layout
dsh-sci/
โโโ package.json # dsh.bundle.patch (pure tool plugin)
โโโ cordis.patch.yml # bundle patch layer
โโโ scripts/ # build (tsc only) / clean / setup-dsh-workspace / verify
โโโ src/
โ โโโ units.ts # โ
unit conversion (70+ units, dimension + factor + offset)
โ โโโ constants.ts # โ
CODATA 2018 physical constants
โ โโโ ode.ts # โ
RK4 integrator + 9-model dynamical-system library
โ โโโ index.ts # host half: registers the 3 tools
โโโ tests/ # units / constants / ode / manifest
๐งฉ Ecosystem positioning
- Fills a gap: the DSH ecosystem previously had zero
physics/ode/numerical/fftplugins, and theunitshits were all "unit-test / unit-economics" false positives โ no physical unit conversion. The existingdsh-scienceprojects are reproducible Python/R workbenches (not numerical tools), anddsh-robotic-harnessis MuJoCo robotics (a heavy dependency). - Technical route: follows the zero-dependency pure-tool pattern of
omdsh-dev/dsh-tool-*, with pure functions under test. - Zero core changes: pure
ctx.tools.register, no external software, no network.
โ๏ธ License
MIT ยฉ 2026 Blaczz. An independent community plugin, not affiliated with DeepSeek Harness.