dsh-api-mock:解析 OpenAPI 生成零依賴 Mock 服務器

前言

DeepSeek Harness (DSH) 採用“一切皆插件”的理念,允許開發者通過插件擴展智能體的能力。在開發接口聯調階段,等待後端接口就緒是常見的瓶頸。dsh-api-mock 解決這一問題,它提供了一種在本地快速生成 Mock 服務器的方案,幫助前端或測試人員提前介入開發流程。

插件簡介

dsh-api-mock 是一個由 uckkk 維護的聯網工具類插件。它解析 OpenAPI 3.x 規範(支持 JSON 或 YAML),生成一個純 Node.js 實現的 Mock 服務器。該服務器不依賴任何外部網絡服務或第三方庫,基於 Node 內置 http 模塊構建,確保前端可以直接獲取響應數據進行聯調。

安裝

安裝該插件需要執行以下命令:

dsh plugin add dsh-api-mock

安裝後,插件會被註冊到當前會話中。

核心能力

該插件主要提供以下功能:

  • 解析規範:支持解析 OpenAPI 3.x 格式的 JSON 或 YAML 文件。
  • 生成服務器:根據規範生成 mock-server.mjs 文件,該文件是零依賴的,可直接運行。
  • 確定性示例數據:按照接口響應的 Schema 確定性生成示例數據。數據生成遵循特定規則(如 string 轉爲字符串,integer 轉爲數字,email 轉爲郵箱格式),同時也尊重字段定義中的 example、default 和 enum 值。
  • 純本地運行:完全在本地運行,不涉及網絡請求或外部服務調用。

使用方式

插件提供了兩個主要工具函數供調用。

生成 Mock 服務器

如果有一個 openapi.yaml 文件,需要生成一個運行在 3000 端口的 Mock 服務器,可以調用:

mock_generate(spec="openapi.yaml", port=3000)

執行後,會生成一個 mock-server.mjs 文件。進入該目錄,運行以下命令即可啓動服務器:

node mock-server.mjs

生成示例數據

如果需要爲特定 Schema 造一條測試數據,例如 User schema,可以調用:

mock_sample(spec="openapi.yaml", ref="#/components/schemas/User")

注意事項

  • 數據生成邏輯:示例數據是按 Schema 類型確定性生成的。例如,字符串字段會填充示例字符串,整數字段填充 42,郵箱字段填充 user@example.com,枚舉字段取首項。同時也優先使用 Schema 中定義的 example、default 或 enum 值。
  • 響應取值邏輯:Mock 服務器返回的響應取自接口定義中第一個 2xx 狀態碼的 application/json schema(若無 2xx 響應,則取第一個響應)。
  • 代碼運行權限:安裝即在本機運行第三方代碼。請在安裝前審閱源碼,確認其安全性。

參考鏈接

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

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

小夜