DeepSeek Harness (DSH) 插件介绍:dsh-jwt

在 DSH 环境下开发智能体时,调试外部 API 请求常涉及 JWT 令牌。开发者需要快速查看令牌的头部、负载以及过期时间等声明,而不需要编写额外的解码脚本或手动操作 Base64。dsh-jwt 插件直接在 DSH 环境中提供了解码与检查能力。

这是什么

这是一个由 ZhijiangTang 维护的 DSH 插件,归类于联网工具,采用 MIT 许可证。它专注于将 JWT 令牌拆分为三段并解码,同时解析时间相关的声明,用于调试和检查。

核心功能

  1. JWT 解码:将 header.payload.signature 拆分,并对 header 与 payload 进行 Base64url 解码。
  2. 时间声明解读:解析 exp(过期)、iat(签发)、nbf(生效)时间,支持 UTC 和本地时间显示。
  3. 状态检查:检查令牌是否已过期、剩余有效时间等。

安装与启用

使用以下命令将插件添加到指定的 profile:

dsh plugin --profile <你的 profile> add file:./plugins/dsh-jwt

安装完成后,通常需要重启 profile 以加载插件。

使用方法

注册工具 jwt_decode,参数为 token(字符串类型,必填)。输入一个完整的 JWT 令牌字符串即可执行解码。

输出字段

字段 类型 说明
ok boolean 是否成功解析(header 与 payload 均为合法 JSON)
parts integer 按 . 切分得到的段数(2 或 3)
header object / null 解码后的 JOSE header
payload object / null 解码后的 payload(claims)
signaturePresent boolean 是否存在签名段(仅存在性判断,不校验)
issuedAt object? iat 声明:包含值、UTC 时间、本地时间
notBefore object? nbf 声明:包含值、UTC 时间、本地时间、是否生效
expiresAt object? exp 声明:包含值、UTC 时间、本地时间、是否过期、剩余秒数
expired boolean? 是否已过期(依据 exp)
remainingSeconds number? 距过期的剩余秒数(已过期时为负)
errors string[] 解码或解析过程中的错误信息(解析失败时不抛异常)

适用场景与注意

  • 调试用途:适合在开发调试阶段快速查看令牌结构、时间声明和 payload 内容。
  • 安全警告:不验签。插件不校验签名有效性、密钥匹配或 iss/aud 等声明。请勿依据本工具的输出做任何安全决策(如身份认证、授权、信任来源等)。需要可信校验时,请使用具备密钥校验能力的库。
  • 容错处理:如果令牌格式错误或 JSON 解析失败,工具会返回 ok: false 及 errors 列表,而不会抛出异常中断流程。

总结

dsh-jwt 为 DSH 开发者提供了一个轻量级的 JWT 调试工具,专注于结构解析与时间检查。如需了解更多或查看源码,请访问 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜