Repository navigation
dsh-exact-integers:为 DSH 工具提供任意精度整数传输 #8867
TanTsiChen
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
开源了一个面向工具作者的独立 Cordis 插件和 TypeScript SDK:dsh-exact-integers,采用 MIT 许可证。
它为需要精确整数的工具提供显式的数据契约:DSH 参数和结果使用规范十进制字符串,工具处理函数内部使用
bigint。每个参与的工具声明哪些字段属于精确整数,SDK 负责验证、解码和返回前编码。主要能力:
maxDigits和maxJsonBytes,超限时拒绝处理。parseNativeJson()/stringifyNativeJson(),供支持大整数 JSON 数字的外部端点使用;桥接入口接收原始 JSON 文本。dsh-exact-integers/codecs,或通过ctx.exactIntegers.register()/defineExactTool()接入 DSH。没有全局 JSON 补丁,也不会自动改写已有工具。加载服务后,工具的核心注册代码如下:
完整的 Cordis 配置和工具插件示例在仓库中。
目前使用源码构建和本地 tarball 安装:
npm run demo无需 API key,会经过真实 DSH 工具运行时。npm pack生成的安装包可安装到宿主部署中,再按示例加载服务和自己的工具。当前仓库版本为0.1.0,尚未发布到 npm registry。兼容性基线为
@deepseek-ai/dsh-tools@0.2.1-alpha.1和@deepseek-ai/cordis@4.0.5-alpha.1;运行环境为 Node 22.19+(22.x)或 Node 24+。公开测试包含 18 组独立合成测试,覆盖万位整数、严格拒绝非法输入、真实工具执行、脚本化 provider 的流式参数、普通/压缩 JSONL 保存、回放和会话恢复。Node 22.19 与 24 的 CI 已通过。接入边界需要明确:模型必须按照字符串 schema 传入精确整数字段;已经被普通
JSON.parse舍入成number的值无法恢复。测试未调用真实模型,不代表模型一定遵守 schema。详细 API、资源限制和接入方式见 README。仓库由所有者维护,目前不接受外部贡献,相关政策见 CONTRIBUTING.md。
All reactions