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。

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

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

小夜