前言¶
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/jsonschema(若無 2xx 響應,則取第一個響應)。 - 代碼運行權限:安裝即在本機運行第三方代碼。請在安裝前審閱源碼,確認其安全性。