🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

编码哈希工具 omdsh-dev/dsh-tool-encoding

DeepSeek Harness
omdsh-dev56 天前有提交已提供中文文档扫描:未发现敏感能力

编解码文本并计算哈希、生成 UUID

32/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add omdsh-dev/dsh-tool-encoding
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/30·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 56 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(dependency_conflict · 2026/10/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@deepseek-ai/dsh-tool-encoding(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 18:53:03

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-invariants@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • md5/sha系列哈希
  • UUID生成

DSH 编码/哈希工具插件:base64/base64url/url/hex 编解码、md5/sha1/sha256/sha512 哈希、UUID 生成,零依赖

README

由 DeepSeek 最新模型翻译生成
dsh-tool-encoding DSH 编码/哈希工具插件 —— UTF-8 文本的 base64/base64url/url/hex 编解码 + 哈希 + UUID。零依赖、零进程、纯函数。 包名:@deepseek-ai/dsh-tool-encoding(独立 bundle,非 monorepo 集成形态);lib/ 产物由仓库内 npm run build(tsc)生成并随仓库提交。 License 动机 Agent 处理编码/哈希是日常高频操作:查看 API 响应里的 base64 字段(JWT payload)、构造 query 参数、校验文件完整性(sha256)、生成 UUID。当前做法 bash -c "echo ... | base64" 的问题:进程开销、引号转义地狱(base64 串嵌进 bash 命令再嵌进 JSON 参数,双层转义错误率极高)、跨平台工具命名不一致(md5 vs md5sum vs shasum -a 256)。 安全模型 无 eval、无 new Function。
展开完整文档(README 剩余 1 节)
dsh-tool-encoding

DSH 编码/哈希工具插件 —— UTF-8 文本的 base64/base64url/url/hex 编解码 + 哈希 + UUID。零依赖、零进程、纯函数。

包名:@deepseek-ai/dsh-tool-encoding(独立 bundle,非 monorepo 集成形态);lib/ 产物由仓库内 npm run build(tsc)生成并随仓库提交。

License

动机

Agent 处理编码/哈希是日常高频操作:查看 API 响应里的 base64 字段(JWT payload)、构造 query 参数、校验文件完整性(sha256)、生成 UUID。当前做法 bash -c "echo ... | base64" 的问题:进程开销、引号转义地狱(base64 串嵌进 bash 命令再嵌进 JSON 参数,双层转义错误率极高)、跨平台工具命名不一致(md5 vs md5sum vs shasum -a 256)。

安全模型

无 eval、无 new Function。所有操作是 Buffer/node:crypto/TextDecoder/encodeURIComponent 的纯函数组合:

- UTF-8 完整性:解码用 fatal 模式(TextDecoder('utf-8', { fatal: true })),非法字节抛 encoding: invalid UTF-8 output;合法 U+FFFD/控制字符不误伤(00 NUL、0a 换行、efbfbd U+FFFD 均合法,ff 非法)
- base64 严格校验:无空白、= 仅末尾且 ≤2、长度必须为 4 的倍数、RFC 4648 canonical unused bits(Zh== 等非 canonical 编码拒绝,防多串映射同文本)
- 孤立 surrogate 统一拒绝:所有文本输入过 String.prototype.isWellFormed(),避免静默替换与 URIError 行为不一致
- 字节上限:输入 1 MB / 输出 4 MB(各 1,000,000 / 4,000,000 字节,Buffer.byteLength;输出上限为分配前预估 + 最终检查的保险丝)
- 哈希算法白名单:Object.hasOwn 查表(md5/sha1/sha256/sha512)
- 错误统一 encoding: 前缀,不透传底层 URIError/TypeError

架构

DSH Agent
│ ctx.tools.register()
▼
src/index.ts(Cordis 插件入口 + action 分发 + 独立校验) │ ▼ src/encoding.ts ├── b64Encode/b64Decode — 标准 base64(严格校验) ├── b64UrlEncode/b64UrlDecode — base64url(canonical 无 padding,解码兼容) ├── urlEncode/urlDecode — component 语义(URIError 包装) ├── hexEncode/hexDecode — UTF-8 字节 hex(fatal 解码) ├── digest — 白名单哈希 ├── newUuid — crypto.randomUUID() └── validateUnicode/assertInputBytes/decodeUtf8Strict — 校验器

工具声明

ctx.tools.register(defineTool({
name: 'encoding',
parameters: {
action: {
type: 'string', required: true,
enum: ['base64_encode','base64_decode','base64url_encode','base64url_decode',
'url_encode','url_decode','hex_encode','hex_decode','hash','uuid'],
},
input: { type: 'string', description: 'Input string for encode/decode/hash' },
algorithm: { type: 'string', enum: ['md5','sha1','sha256','sha512'], description: 'For hash' },
},
output: { schema: { type: 'json' }, render: (_a, v) => [{ type: 'text', text: JSON.stringify(v) }] },
execute: (args) => Promise.resolve(executeAction(args.action, args) as JsonValue),
timeoutMs: 1000,
}))

支持的操作

| action | 说明 | 示例 |
| base64_encode / base64_decode | RFC 4648 标准 base64(严格校验) | "foobar" → "Zm9vYmFy" |
| base64url_encode / base64url_decode | JWT 风格,输出无 padding,解码兼容 +/ 与可选 padding | "\uFEFF" → "77u_" |
| url_encode / url_decode | component 语义(非完整 query):空格 %20 非 +,!'() 不转义,decode("+") → "+" | "a b" → "a%20b" |
| hex_encode / hex_decode | UTF-8 字节 hex;解码结果必须合法 UTF-8 | "AB" → "4142" |
| hash | md5/sha1/sha256/sha512 十六进制摘要;仅非安全用途 | sha256("") → e3b0c442... |
| uuid | UUID v4 字符串(crypto.randomUUID()) | "550e8400-..." |

语义契约:

- v1 是 UTF-8 文本工具:所有输入输出为字符串;二进制内容用 hex 表示;解码结果必须合法 UTF-8
- 所有 action 返回字符串(含 uuid)
- 不要对机密材料使用本工具:tool 参数会记录进会话日志

DSH 0.1.5-rc.1 兼容(已验证)

本插件已迁移到 DSH 0.1.5-rc.1 依赖线,并在 local harness 0.1.5-rc.1 的隔离 consumer 中完成全链路验证:

- 类型/运行时:@deepseek-ai/cordis@^4.0.1 + @deepseek-ai/dsh-tools@>=0.0.1-rc.1 =0.0.1-rc.1 ⚠️ web 与 headless 是不同 profile:web 安装不会自动覆盖 headless;dsh run 默认使用 headless profile。

npm pack tarball 安装

npm pack # 生成 dsh-tool-encoding-.tgz
dsh plugin --profile web add ./dsh-tool-encoding-.tgz
dsh plugin --profile headless add ./dsh-tool-encoding-.tgz

验证安装

dsh --profile web --dump-config | grep tool-encoding

运行验证

dsh run "使用 encoding 工具把 hello 做 base64 编码"

手动安装与旧版本兼容

仅适用于不支持 Profile Bundle 的旧快照或插件开发调试环境:

1. 放入 monorepo:cp -r encoding ~/.dsh/source/master/packages/tools/encoding(开发调试)
2. apps/cli/package.json 加 "@deepseek-ai/dsh-tool-encoding": "workspace:^";tsconfig.host.json references 加 { "path": "./packages/tools/encoding" }
3. pnpm install && pnpm run build
4. 在 profile 用户层 patch 插入插件(~/.dsh/profiles//cordis.patch.yml):

- insert:
- id: tool-encoding
name: '@deepseek-ai/dsh-tool-encoding'

5. 验证:dsh --profile --dump-config | grep tool-encoding

注意:patch 是 id-targeted 语义——裸 - id: 条目会报 entry "xxx" not found,必须用 - insert: 列表包裹。
已知限制

1. 任意二进制(不可打印字节)编解码需 v2 的 output: "utf8" | "hex" 模式
2. hash 仅摘要,无 HMAC/加盐/密钥派生;MD5/SHA-1 仅兼容性/非安全完整性校验
3. URL 是 component 语义;表单编码(空格 → +)需独立 action(v2)

测试

pnpm test
功能/错误/攻击载荷共 41 个用例(RFC 4648/1321/6234 已知向量、UTF-8 边界区分、canonical padding 边界、surrogate 统一拒绝等)。完整清单见本地维护的设计文档。

许可

MIT
预览分享卡片长什么样 ↓omdsh-dev/dsh-tool-encoding
分享 · DeepSeek Harness Hub
omdsh-dev/dsh-tool-encoding

编解码文本并计算哈希、生成 UUID

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部