Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Racious/Reqmira

Repository files navigation

Reqmira — 輕量 API 工作台

本機優先、Git 友善、以參數拆解與 API 閱讀為核心的輕量 API 分析工作台。 以 Tauri 2 + Vue 3 + Rust 打造,HTTP 流量一律經 Rust(reqwest)發送,天生無 CORS 限制。

設計定稿見 apilens-dev-spec.html(文件內產品名為 ApiLens,最終定名 Reqmira)。 操作教學見 docs/使用教學.md,測試報告見 docs/測試報告.md

功能

  • Request Builder:GET/POST/PUT/PATCH/DELETE 等,Query/Headers/JSON·Text·Form Body,環境變數 {{var}}
  • Auth 分頁:Bearer/Basic/API Key 自動組 header,隨請求存檔
  • 動態變數/回應引用:{{$uuid}}·{{$timestamp}} 自動生成;{{responses.<id>.<path>}} 跨請求引用回應
  • 環境(Environment):local/dev/自訂環境切換,變數於 Rust 端解析(無 CORS);內建環境編輯 UI(免開檔)
  • Request Inspector:自動拆解 Path/Query/Headers,型別與格式推測(email/uuid/date...),JSON Body schema 推測
  • Response Viewer:狀態/耗時/大小、JSON Tree(點行展開、複製值/JSON/路徑)、Schema、Raw、Headers
  • Codegen 沉澱:由回應產生 TypeScript Interface/Java DTO(record)/Markdown API 文件
  • Deep-Diff:兩筆回應結構化比對(Rust),綠增/紅刪/黃變更,基準可由 History 指定
  • History:最近送出快照,可回顧、設為 Diff 基準
  • Flow 自動化:多步驟流程,回應變數抽取(JSONPath)、注入、斷言
  • Collection 樹:展開/收合、右鍵新增·重新命名·刪除、拖拉移動
  • 匯入:貼 curl 指令;或 OpenAPI(swagger.json)/Postman collection 一鍵生成整組請求
  • 多語言 code snippet:由請求產 curl/fetch/Python/Java 發送碼
  • 版面客製:佈局上下↔左右、中欄比例拖曳、四面板各自收合、欄寬拖曳(皆記憶)
  • 命令面板:Ctrl+K 快速跳請求/切環境/執行動作
  • 體驗:未儲存標記、Ctrl+Enter 送出/Ctrl+S 儲存、JSON 格式化、複製反饋 toast

安裝

Releases 下載(Windows):

類型 說明
Reqmira_x.y.z_x64_en-US.msi 安裝版(推薦),整合捷徑與解除安裝
Reqmira_x.y.z_x64-setup.exe NSIS 輕量安裝程式
Reqmira_x.y.z_portable.exe 攜帶版,免安裝直接執行

開發

npm install # 安裝前端依賴
npm start # 啟動桌面開發模式(= tauri dev)

其他指令:

npm run dev # 僅前端(瀏覽器,無 Tauri command)
npm run build # vue-tsc 型別檢查 + vite build
npm test # 前端單元測試(Vitest)
npm run test:rust # Rust 單元/整合測試
npm run package # 打包正式安裝檔(MSI / NSIS)
npm run typecheck # 僅型別檢查

發佈(CI)

推送 v* tag 即觸發 GitHub Actions(.github/workflows/release.yml)自動建置並發佈 Release:

# 版本號需與 package.json / Cargo.toml / tauri.conf.json 一致
git tag v0.1.0
git push origin v0.1.0

Release 內容由 CHANGELOG.md 對應版本段落自動產生(見 scripts/extract-changelog.mjs)。

專案結構

src/ # Vue 3 前端
 app/ # 全域樣式
 features/ # collections · requests · response-viewer · inspector · runner
 shared/ # types · api · stores · components · analyze · generators · jsonpath
src-tauri/src/ # Rust 後端
 commands/ # request · collection · env · flow · analyze · workspace
 services/ # request_runner · variable_resolver · file_store · deep_diff
 models.rs · error.rs
workspace/ # 範例工作區(可作為使用者資料範本)
 environments/*.yaml · collections/**/*.api.yaml · flows/*.flow.yaml
.github/workflows/ # release.yml(tag 觸發自動發佈)

首次使用

  1. npm install 後執行 npm start
  2. 視窗上方點「📂 開啟工作區」:
    • 選本專案 workspace/(已含範例)即可直接用;
    • 或選自己的專案資料夾,依提示在其下建立 reqmira/ 工作區。
  3. 環境切到 demo,左欄選 Demo · httpbin GET 按「送出」看回應(需連網)。
  4. 左欄 FlowsDemo · httpbin 兩步流程 → ▶ 執行,體驗自動化。

機密處理

環境檔中的 tokenpassword 等為機密欄位,範例中留空。 若要將工作區納入 Git,請勿提交含機密值的環境檔(見 .gitignore 說明)。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /