DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

6e6e6e /

6e6e6e/dsh-simple-calc

Verified

极简计算:像在纸上写算式一样的 DSH 计算器,支持单位、百分比、货币和日期(基于fend 引擎)。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ff7c92f0

dsh-simple-calc · 极简计算

像手写算式一样做计算,不用再记函数名。 一行一个算式,结果直接显示;支持变量赋值;支持单位、百分比、货币、进制、大数和日期计算。

为什么做

系统内置的计算器方便,但是使用的时候总会缺少一些的功能,而且使用不够直观,必须看着一堆的按钮,非常不友好。 我希望的计算应该是一个很自然的过程,就是在草稿纸上手写算式一样,所以做了这个插件,极简计算把「写」和「算」放在一起,想算什么直接写,结果直接计算出来,计算历史也都可以直接看到。

安装

从 Releases 下载安装包,在 DSH 的插件面板里选择安装本地包、指向这个文件。固定地址 dsh-simple-calc.tgz 永远指向最新版;想装指定版本,就进 Release 页面挑带版本号的那个。

开发时也可以直接 clone:

git clone https://github.com/6e6e6e/dsh-simple-calc.git

然后在插件面板里指向这个目录。

怎么用

  • 侧边栏点「极简计算」进入;
  • 一行一个表达式,Enter 开新行,行首 Backspace 并到上一行,↑/↓ 换行;
  • 可以自定义变量:赋值 x = 5,接着在后续行可以直接计算 x * 2 得 10;
  • 单位换算:100 km/h to mph、5'10" to cm、100 C to F;
  • 百分比计算:20% of 80、200 * 15%(会显示成 30,并标注原值 3000%);
  • 货币换算:100 USD to CNY、100 CNY to USD、100 USD + 50 EUR to USD;
  • 日期计算: @2026-11-01、today + 1 months、days until @2027-01-01;
  • 大数/进制计算:2^100、0xff + 1;
  • 右上角的 ?:悬停或点击打开语法速查;
  • 点击结果直接复制;「复制全部」会把整张纸导出成 表达式 = 结果 的纯文本。

注意事项

  • 不支持解方程、微积分、矩阵(因为不想让人记太多函数符号);
  • 日期只支持 @YYYY-MM-DD,暂不支持时区;日期行只接受整行表达式;日期不参与变量赋值(例如 d = @2026-11-05 暂不支持)。普通算术里也不会把日期当成数字。
  • 汇率来自 Frankfurter(ECB 参考汇率),首次打开时会更新一次,之后缓存 12 小时再更新;

代码结构

文件 做什么
index.js Host 入口:挂 /api/dsh-simple-calc/fend.wasm 和 /api/dsh-simple-calc/rates
lib/rates.js 汇率获取、校验、12 小时磁盘缓存、断网回退
lib/date.js 日期语法、日期加减、日差、周几
lib/core.js 行分类、整张纸求值、结果格式化、错误文案
lib/client.template.js 页面、行编辑、键盘、语法帮助、自动保存、i18n
scripts/build-client.mjs 把 date/core/fend 内联进 client.js
client.js 构建产物,浏览器真正加载的文件
vendor/fend/ fend 1.5.9 的 wasm、浏览器 bundle 和 MIT 许可证

开发

npm test        # 37 个用例:日期、求值、格式化、汇率缓存、Host 路由、bundle 冒烟
npm run build   # 从 lib/ 和 vendor/ 生成 client.js

改代码改 lib/,client.js 是生成物。

vendor/fend/fend.bundle.js 由 fend-wasm-web@1.5.9 用 esbuild 打成 IIFE,暴露 globalThis.__DSH_SIMPLE_CALC_FEND__(包含 initialiseWithHandlers,用于货币)。升级 fend 时重新生成这个文件,并同步 wasm。

致谢

计算引擎使用了 fend,这是一个非常好的项目,没有它,这个插件里那些单位、百分比、进制和任意精度的小数都要我自己从头来写了。

许可

  • 计算引擎:fend,MIT,见 vendor/fend/LICENSE;
  • 插件本身:MIT 许可,Copyright (c) 2026 6e6e6e。
—/ 5

No ratings yet

Verified DSH bundle

Commit ff7c92f0184b

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout