前言¶
做智能体应用时,模型经常会需要算数:单位换算、百分比、汇率、日期间隔。系统自带的计算器要么功能不全,要么要盯着一堆按钮点,没法「想算什么直接写」。dsh-simple-calc 把「写」和「算」放在一起:一行一个算式,用 Enter 换行,结果即时显示,算式历史就是整张纸。
下面介绍这个插件的定位、安装方式和具体用法。本文依据插件 README 与目录页信息整理,代码与行为请以仓库实际版本为准。
这是什么¶
dsh-simple-calc 是一个 DSH 客户端插件,维护者是 6e6e6e,分类为客户端,目录页显示其 Star 数为 0,版本号 0.2.3,许可证 MIT。它把 fend 计算引擎(1.5.9 的 wasm 构建,见 vendor/fend/)搬进 DSH 侧边栏,支持单位、百分比、货币、进制、大数和日期计算,并附带变量赋值和本地缓存汇率。
它解决的是「边写算式边出结果」的交互问题:不用记函数名,不用在按钮上找符号,写下来的就是算式,结果直接跟在后面。
核心功能¶
1、一行一个算式,逐行求值。行首按 Backspace 可以把当前行并到上一行,↑/↓ 用于在行间移动。
2、变量赋值。写 x = 5,后面各行直接用 x * 2 得到 10。
3、单位换算。支持 100 km/h to mph、5'10" to cm、100 C to F 这类写法。
4、百分比。20% of 80、200 * 15%;后者显示结果为 30,并标注原值 3000%。
5、货币换算。100 USD to CNY、100 CNY to USD、100 USD + 50 EUR to USD。汇率取自 Frankfurter(ECB 参考汇率),首次打开时更新一次,之后每 12 小时更新并做磁盘缓存,断网时回退。
6、日期计算。如 @2026-11-01、today + 1 months、days until @2027-01-01。日期只支持 @YYYY-MM-DD,暂不支持时区。
7、大数与进制。2^100、0xff + 1,得益于 fend 的任意精度计算。
8、结果与导出。点击结果直接复制,复制后提示「复制成功」;「复制全部」把整张纸导出成 表达式 = 结果 的纯文本。
右上角的 ? 可以打开语法速查;界面带 i18n,插件自带 locale/*.json。
安装与启用¶
插件以 DSH 插件包的形式发布,安装依据是 Releases 里的 dsh-simple-calc.tgz:在 DSH 插件面板中选择安装本地包,指向下载好的文件即可。
wget https://github.com/6e6e6e/dsh-simple-calc/releases/latest/download/dsh-simple-calc.tgz
这个固定地址永远指向最新版。需要指定版本时,进 Release 页面挑带版本号的那个包。开发调试时也可以直接 clone,然后在插件面板里指向该目录:
git clone https://github.com/6e6e6e/dsh-simple-calc.git
安装后在侧边栏点「极简计算」进入计算页面。
插件的宿主侧入口 index.js 挂两个服务:/api/dsh-simple-calc/fend.wasm 与 /api/dsh-simple-calc/rates,前者提供计算引擎,后者提供汇率数据。cordis.patch.yml 用于客户端 bundle 的补丁配置。运行环境要求 Node.js >= 20。
典型用法¶
一段连续的日常计算,可以直接写在一个页面里:
x = 5
x * 2
100 km/h to mph
20% of 80
100 USD to CNY
days until @2027-01-01
2^100
每行写完即可看到结果,变量在后续行可用,日期行单独成行、只接受整行表达式。
需要记汇率或单位时的使用方式是:先把常用换算写在纸上,需要复现时点「复制全部」导出文本存档,需要重算时直接重新输入,汇率会自动按 12 小时周期刷新。
开发侧的命令也一并说明,便于对照源码:
npm test # 37 个用例:日期、求值、格式化、汇率缓存、Host 路由、bundle 冒烟
npm run build # 从 lib/ 和 vendor/ 生成 client.js
代码改 lib/,client.js 是构建产物,由 scripts/build-client.mjs 把 date/core/fend 内联进去。
适用场景与注意¶
适合在 DSH 客户端里需要一个顺手算具的人:随手算单位、百分比、汇率、日期,变量可以临时存中间结果。对需要将计算嵌入智能体工作流的开发者来说,这是一个交互层很薄的计算视图,宿主路由 /api/dsh-simple-calc/rates 和 /api/dsh-simple-calc/fend.wasm 是现成的接口。
使用前需要注意几点:
- 插件以当前 DSH 进程的权限运行,安装前应打开源码和许可证看过,重点留意
index.js挂的路由与lib/rates.js的磁盘缓存行为。 - 插件 README 明确不支持解方程、微积分和矩阵,理由是为避免引入大量函数符号;也不要期望日期参与普通算术。
- 日期用法限制:只支持
@YYYY-MM-DD,暂不支持时区;日期行必须整行动作,d = @2026-11-05这类赋值暂不支持,普通算式也不会把日期当数字。 - 汇率时效:首次打开更新一次,之后 12 小时刷新并本地缓存,断网时仅能用缓存值。
- 计算引擎与插件本身均为 MIT 许可,引擎原有许可证见
vendor/fend/LICENSE,插件 LICENSE 标注 Copyright (c) 2026 6e6e6e。
结尾¶
dsh-simple-calc 的定位很直接:不做科学计算器,不做函数符号集合,而是提供一个「纸上写算式」的页面,把单位、百分比、货币、进制、大数和日期都收进 fend 引擎里。作为 DSH 社区目录中的客户端插件,它适合作为日常算数工具嵌入侧边栏。