前言¶
在 DeepSeek Harness(DSH)里跑 Agent 时,账单核对、配比换算、统计汇总这类任务经常落到「让模型心算」。大模型对四则运算没有确定性的执行路径:既可能输出看起来合理却错误的数字,也可能在思维链里反复列竖式,消耗大量推理 Token。社区插件 dsh-calc-tool(维护者 yhy854,分类:模型推理)的思路很直接——把算术交给专用工具 calc,由手写解析器求值,避免 eval 类动态执行带来的安全风险。
下面介绍插件定位、能力边界、安装方式与典型用法;事实均以 GitHub 仓库 README 与 package.json 为准。
这是什么¶
dsh-calc-tool 是面向 DSH 的计算器插件,npm 包名为 dsh-calc-tool,当前版本 0.1.0,许可证 MIT。安装并启用后,Agent 会获得名为 calc 的工具;传入数学表达式即可得到数值结果,用于替代模型在上下文中的「脑补算术」。
插件目录页:https://www.skillhub.cn/plugins/yhy854/dsh-calc-tool(社区目录站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
计算能力¶
README 中列出的支持范围如下。
| 类别 | 支持内容 |
|---|---|
| 基础算术 | + - * / % //(整除)**(幂运算,右结合) |
| 数学函数 | abs ceil floor round trunc sign sqrt cbrt exp log log2 log10 sin cos tan asin acos atan pow hypot max min |
| 常用常量 | PI、E |
| 语法特性 | 括号优先级、一元正负号、科学计数法(如 1.5e3) |
三角函数默认使用弧度;若按角度计算,可写 sin(30 * PI / 180)。运算优先级为:**(右结合) > 一元 ± > * / % // > + -。
安全与资源上限¶
实现上采用手写词法分析与递归下降解析,README 明确 不使用 eval 与 new Function。词法层对白名单外的字符(如引号、分号、反引号、{}、[])直接报错;白名单查表使用 Object.create(null) 与 Object.hasOwn,并配有针对原型链污染的回归测试。
护栏包括:表达式最长 4096 字符、括号嵌套最多 64 层、单函数参数最多 32 个;结果为 NaN 或 Infinity 时拒绝返回。
结构化错误¶
算式不合法或越界时,插件返回带错误码的提示,便于 Agent 自行修正,例如:
| 错误码 | 含义 |
|---|---|
CALC_PARSE_ERROR |
语法错误(含出错位置) |
CALC_UNKNOWN_IDENTIFIER |
非白名单函数或变量 |
CALC_DIVIDE_BY_ZERO |
除数为 0 |
CALC_NOT_FINITE |
溢出或对负数开偶次方等 |
CALC_LIMIT_EXCEEDED |
超长 / 过深嵌套 / 参数过多 |
CALC_BAD_ARGUMENT |
参数类型或数量错误 |
安装与启用¶
DSH 理念是「一切皆插件」;安装走桌面端官方插件面板,无需自行 git clone。步骤如下。
- 打开 DeepSeek Harness 桌面端,左侧进入 插件;
- 右上角 添加插件;
- 填入下面 npm 包名 或 GitHub 地址 之一,确认安装。
npm 包名:
dsh-calc-tool
GitHub 地址:
https://github.com/yhy854/dsh-calc-tool
装完后按面板提示重启,并 新开一个会话 再试用。插件可在面板中随时关闭,不使用时无需卸载。
兼容性:README 标明与 DSH 内核 0.2.x 兼容;peerDependencies 为 @deepseek-ai/dsh-tools 的 >=0.2.0-0(覆盖 rc 预发布版)。
典型用法¶
启用后 Agent 调用 calc,参数为 expression 字符串。README 示例:
calc { expression: "1280 * 0.85 + 42.5" } → 1130.5
calc { expression: "15 + 27 * sqrt(9)" } → 96
适用场景与注意¶
适合谁: 需要在对话或任务流中做确定性数值计算、又希望减少模型心算幻觉与 Token 浪费的 DSH 用户。
已知边界(README 原文):
- 遵循 JavaScript IEEE 754 双精度浮点,例如
0.1 + 0.2为0.30000000000004;固定位数可配合round()。 - 安全整数约在 ±9e15(
Number.MAX_SAFE_INTEGER)内;更大整数可能有精度损失。 - 不支持符号代数、矩阵或解方程。
权限与审阅: 插件在 当前 DSH 进程权限 下运行。安装前建议浏览 源码仓库 与 MIT 许可证,确认符合你的安全策略。
本地验证测试(开发者参考):
node test/evaluate.test.mjs
README 称内置 43 条测试,覆盖运算正确性、恶意载荷拦截、原型链回归与资源上限等。
结尾¶
dsh-calc-tool 把 Agent 中的算术从概率生成改为工具调用,并在解析层规避常见的不安全求值方式。若你在 DSH 里频繁遇到算错或推理链里反复验算的问题,可通过面板安装 dsh-calc-tool 启用 calc 工具。
- 目录页:https://www.skillhub.cn/plugins/yhy854/dsh-calc-tool
- GitHub:https://github.com/yhy854/dsh-calc-tool