面向 DeepSeek Harness 的确定性计算引擎,附带一个预设:引导 LLM 通过引擎而非文本生成来完成计算。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-reckoner
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:curtainsmall/dsh-reckoner
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
面向 DeepSeek Harness 的计算引擎,用来强制 LLM 通过确定性程序求值,而不是靠文本生成。
目录
安装
dsh plugin --profile <profile> add dsh-reckoner
Reckoner 预设
本包附带两个智能体预设:
| 预设 | id | 工具 | 外部来源 |
|---|---|---|---|
| Reckoner | reckoner |
记录工具与求值工具 | 全部知识来自 LLM |
| Reckoner with search | reckoner-with-search |
与 Reckoner 预设相同的工具,外加网页检索工具 | 包含网页检索结果 |
会话只拿到本插件的工具,别无其他:没有 shell、没有文件系统、没有网络、没有子代理。因此一次求值中的每个数字,要么是 LLM 用 set 存入的值,要么是 eval 产生的结果。当给出的条件不足以求解时,LLM 应停下并指出。
Reckoner with search 预设另外提供检索工具,供 LLM 到网上查找外部知识。
引擎
基础
每个宿主进程运行一台引擎,所有会话的调用都作用于它。它是一台不含领域知识的计算器。LLM 把条件中给出的量 set 进引擎,自行构思思路并写下公式交给 eval 求值,再取回结果用于输出。
| 工具 | 作用 |
|---|---|
set |
写入一个槽;value: null 删除该槽 |
get |
读回一个槽;这是读取值的唯一方式 |
eval |
把一条公式的结果写入 target 指定的槽 |
record_start / record_end |
开启与封闭一条记录 |
record_message |
把说明写进记录 |
search(仅 Reckoner with search 预设) |
在网页上检索 |
一个值是数字、复数、值的数组或具名值的对象。在引擎里,单位以 SI 基本单位的组合表示。一条公式就是作用于各槽的一个表达式,含 + - * / ^ 以及一组 $ 符号与常量。没有比较、没有逻辑、没有赋值。调用返回 {ok: true, ...} 或 {ok: false, code, error},被拒绝时不改变任何状态。
记录
一条记录就是一次计算的过程:它的标题、条件、说明、求值步骤与可选的结束语。
已封闭的记录在 <home>/records/<id>.jsonl,尚未封闭的那条在 <home>/open-record.jsonl,封闭时后者被重命名为前者,因此封闭的记录总是完整的。
文章生成
每条已封闭的记录都可以写成一篇独立的文章。宿主侧 LLM 调用以纯文本接收记录事实,数字截到最多四位小数。
| 格式 | 产物 |
|---|---|
| Markdown | 平铺的 .md 文件 |
| LaTeX | .tex 源文件写入以文件名命名的目录,按需编译为 PDF |
对 LaTeX,PDF 编译交由 latexmk 或 MiKTeX 的 texify 完成,并需要 xelatex 引擎;勾选编译而没有可用驱动或引擎时,「生成」按钮禁用,对话框指明缺少的部分。
配置
| 设置 | 含义 |
|---|---|
DSH_RECKONER_HOME |
插件主目录,默认 ~/.dsh-reckoner |
DSH_RECKONER_LOG_LEVEL |
debug、info、warn、error 或 off;默认 info |
主目录存放未封闭的记录(open-record.jsonl)、已封闭的记录(records/<id>.jsonl)、插件状态与日志(logs/<YYYY-MM-DD_HH-mm-ss.SSS>.log,每次插件挂载一个文件)。状态文件 state.json 是一棵树:每个会记忆设置的模块一个子树,外加扁平的 restartRequired 标记。
文档
| 文档 | 内容 |
|---|---|
| 引擎手册(English) | 引擎的长篇参考 |
| reckoner-interface、reckoner-template | Reckoner 模式下智能体所读的手册 |
| 参与贡献(English) | 环境搭建、提交规范、发布流程 |
许可
MIT。Copyright (c) 2026 curtainsmall
链接
同类插件
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36802
dsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
Tencent/WeKnora#dsh-weknora★ 36302
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 7042
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 5074
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
sixtysevenlf/dsh-blender-plugin★ 1575
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 15 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 34 个 family / 228 个 op 的规划层。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1155
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。