runcat-tommy/dsh-unitverse ↗★ 0
dsh-unitverse
DSH plugin: universal unit conversion across length, area, volume, time, angle, speed, temperature, pressure, energy and power, with Chinese/English aliases. 单位换算 DSH 插件(长度/面积/体积/时间/角度/速度/温度/压力/热量/功率,支持中英文单位名)。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:runcat-tommy/dsh-unitverse说明文档
阅读完整 README ↗使用方法
安装后,模型可调用工具 convert:
convert(value=100, from="km", to="mi") -> 62.13711922 mi
工具参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
value | number | 是 | 要换算的数值(有限数) |
from | string | 是 | 源单位:符号 / 英文 / 中文,大小写不敏感 |
to | string | 是 | 目标单位:符号 / 英文 / 中文,大小写不敏感 |
返回结构化结果:{ value, from, to, result, category, categoryZh, categoryEn, fromInput, toInput, summary }(fromInput / toInput 为调用方原始传入的单位写法,from / to 为解析后的规范名)。
示例(模型会话)
把 100 公里换成英里
→ convert(100, "公里", "英里") → summary: "100 公里 = 62.13711922 英里 (长度)"
5 feet 是多少厘米
→ convert(5, "feet", "cm") → summary: "5 feet = 152.4 cm (长度)"
36 km/h 换成 m/s
→ convert(36, "km/h", "m/s") → 10
1 atm 是多少 kPa
→ convert(1, "atm", "kPa") → 101.325
212 °F 是多少 °C
→ convert(212, "°F", "°C") → 100
温度温差(Δ)
温度默认按绝对温标换算。若想换算温差,给两个单位都加上 Δ 或 delta 前缀:
1 °C 的温差 = 多少 °F 温差?
→ convert(1, "Δ°C", "Δ°F") → 1.8
绝对温标与 Δ 温差不可混用(例如 Δ°C → K 会被拒绝),报错会同时给出两种修法(都加 Δ 或都去掉 Δ)。温差换算的回显会保留 Δ 标记,以免把温差误读成绝对温标:
convert(10, "Δ°C", "Δ°F") → summary: "10 Δ°C = 18 Δ°F (温度)"
convert(10, "°C", "°F") → summary: "10 °C = 50 °F (温度)" ← 绝对温标,不是同一个结果
从代码中直接使用核心库
换算核心是零依赖纯模块,可直接复用:
import { convert, convertDetailed } from 'dsh-unitverse'
convert(100, 'km', 'mi') // 62.13711922
convert(25, '°C', '°F') // 77
convert(1, 'Δ°C', 'Δ°F') // 1.8(温差)
convertDetailed(3, '公里/小时', 'm/s') // { result: 0.833..., summary: '...' }
注意:
src/index.ts是 DSH 插件入口(依赖@deepseek-ai/cordis与@deepseek-ai/dsh-tools);src/convert.ts+src/units.ts是无宿主依赖的核心库。