client

tetiva-appMIT活跃维护

Tetiva 是一个用 Go 和 Vue 3 构建的桌面 API 调试客户端,支持 HTTP、gRPC、GraphQL 和 WebSocket,可作为 Postman 的替代品。

Tetiva — desktop API client for HTTP, gRPC, GraphQL and WebSocket (Wails v3 + Vue 3)

v1.3.2发布于 2026-10-30 19:32 UTC312star +10 / 7 天1fork同步于 2026-11-10 18:02 UTC

怎么上手

由 README 提炼,执行前请确认
wails3 dev
硬件要求按 README 说明

README 未说明硬件要求;README 只说明这是 Wails 3 桌面应用,安装包约 30 MB,提供 macOS、Windows 和 Linux 下载。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

本地优先的桌面 API 客户端,支持 HTTP、gRPC、GraphQL 和 WebSocket,无需账号,也不收集遥测数据

Tetiva 是一个用 Go 和 Vue 3 构建的桌面 API 调试客户端,支持 HTTP、gRPC、GraphQL 和 WebSocket,可作为 Postman 的替代品。

核心能力

  • 集合、环境和历史记录保存在本地 SQLite 中,可完全离线使用
  • 支持 gRPC 服务端反射或本地 .proto 文件,并可查看请求和响应
  • GraphQL 提供 schema 浏览、内省和带补全的查询编辑器
  • 在 goja 沙箱中运行前后置 JS 脚本,兼容 pm.test 和 pm.expect
  • 可选云同步,带离线队列和最后写入优先的冲突解决

容易踩的坑

开发模式默认监听 http://localhost:9245,前端单独调试时改用 http://localhost:5173;构建依赖 tetiva-app/proto 作为 Go 模块拉取;云同步为可选服务,免费版仅限两台设备。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.3.2
  1. v1.3.2Tetiva 1.3.2最新正式版2026-10-30 · 2026-10-30 19:32 UTC

    Path variables get their own table, responses can show images and HTML pages, and a request can be duplicated in one click.

    Added

    • Path variables. A :name segment in the URL path gets a row in the Path Variables table under Query Params, and its value is sent in its place. Values can use {{variables}} and are percent-encoded, so a/b c stays one segment. Postman url.variable, Insomnia path parameters and OpenAPI in: path parameters are imported into the table, the Postman export, cURL, Copy as, published pages and the MCP request tools (path_variables) carry them, and they sync between devices (#1).
    • Image and HTML responses. PNG, JPEG, GIF, WebP, SVG, BMP and ICO show as a picture with format, pixel size and byte size. HTML and SVG get a Source / Preview switch, also in History; the preview runs no scripts, loads nothing from the network and its links do not open.
    • Duplicate in a request's context menu copies the saved request with its response examples and places the copy below the original (#2). MCP duplicate_request does the same and can give the copy its own name, method and URL in the same call.

    Changed

    • Collections, folders and requests in the sidebar are sorted by name, ignoring case and with numbers in order ("Request 2" before "Request 10"). A published page and a Postman export list them the same way.

    Fixed

    • When the sync session ends for good, the app says so and opens sign-in with the server and email filled in; changes made on this device are kept and sync after you sign in. It used to show "Not connected" with no way to sign in. Together with server 0.22.0, a session whose refresh response got lost (a laptop going to sleep mid-request) now recovers by itself.
    • On macOS the URL bar, fields, bodies, scripts and responses are drawn in SF Mono, not Courier.
    • Quitting the app stops sync and closes the local database cleanly.
    • The GraphQL SDL view is valid SDL with descriptions, the Tests badge stays green when only a script failed, a collection's Authorization tab is fully in Russian, and the sidebar stays usable in a narrow window.

    Before you upgrade

    • Tetiva 1.2.1 and newer on macOS and Windows offer this update inside the app. From 1.2.0 and older, install it once from this page or tetiva.app/download.
    • Path variable values sync only between devices on 1.3.2. An older version keeps them untouched on the server, but sends the :name segment as it is.

    Downloads

    FilePlatform
    Tetiva-1.3.2-macos-universal.dmgmacOS, Intel and Apple Silicon, signed and notarized
    Tetiva-1.3.2-windows-amd64-installer.exeWindows x64
    Tetiva-1.3.2-windows-arm64-installer.exeWindows ARM64
    Tetiva-1.3.2-linux-amd64.debUbuntu 22.04+, x64, needs GTK 3 and WebKit2GTK 4.1
    Tetiva-1.3.2-linux-arm64.debUbuntu 22.04+, ARM64

    On Linux you can also install from the signed APT repository at apt.tetiva.app; see installation. The Windows installers and the Linux packages are not code-signed yet, so SmartScreen will warn on Windows.

    Full list of changes: CHANGELOG.md

  2. preview-2026-10-27Tetiva Preview 2026-10-27pre-release2026-10-27 · 2026-10-27 10:18 UTC
    查看更新说明

    A test build of what's coming after 1.3.1. It's a separate app, Tetiva Preview, with a gray icon. It installs next to Tetiva and keeps its own data in ~/.tetiva-preview, so your regular collections stay untouched. It starts empty and has no sign-in, sync or publishing, and it doesn't update itself. The app still reports version 1.3.1, the release it's built on.

    What's new

    • Path variables (#1): :name segments in the URL get a Path Variables table under Query Params, in sync with the URL. Values can use {{variables}}. Postman url.variable, Insomnia path parameters and OpenAPI in: path parameters are imported into the table, and cURL, Copy as and the Postman export keep them.
    • Duplicate (#2) in a request's context menu makes <name> (copy) and opens it in a tab. The MCP server got duplicate_request, which can set the copy's name, method and URL in the same call.
    • Image and HTML previews in the response. HTML preview runs without scripts and loads nothing from the network.
    • The sidebar is sorted by name.
    • Fixes: SF Mono instead of Courier in the URL bar and editors on macOS, clean shutdown of sync and the database, valid GraphQL SDL view, and a few smaller ones. Full list in CHANGELOG.md.

    Downloads

    • macOS (Apple Silicon and Intel, notarized): Tetiva-Preview-1.3.1-macos-universal.dmg
    • Windows x64 and ARM64: Tetiva-Preview-1.3.1-windows-*-installer.exe. The installer isn't signed, so SmartScreen will ask before running it. It installs into %LOCALAPPDATA%\Programs\Tetiva Preview.
    • Linux x64: Tetiva-Preview-1.3.1-linux-amd64.deb, package tetiva-preview.
  3. v1.3.1Tetiva 1.3.12026-10-19 · 2026-10-19 12:50 UTC
    查看更新说明

    AI agents over MCP now work with the open app: what an agent changes shows up right away, and a save in the app no longer wipes it.

    Added

    • set_active_environment lets an agent switch the active environment of a workspace, and the environment picker in the app follows. send_request says which environment it ran with under environment.
    • update_request and update_collection say in their descriptions that a [redacted] value can be sent back as it is to keep the stored secret, and list what they kept under kept_secrets.

    Changed

    • What an MCP agent changes shows up in the open app right away: collections and requests it creates, edits, moves or deletes appear in the sidebar, inside an expanded collection too; an open tab or detached window shows its edits and closes when it deletes the request; environments it creates, deletes or makes active reach the environment picker.
    • MCP errors and descriptions say what to do next: an id that is not a UUID, a version conflict (with the current version), send_request on a WebSocket request and a missing token each name the fix. Tool descriptions show how to write {{variables}}, the auth_data shape of each auth type, that delete_variable can't be undone and that an omitted workspace_id means the Default Workspace.

    Fixed

    • Saving a request tab no longer writes over a change made to the request in the meantime by an MCP agent or a teammate through sync. The tab takes their changes and keeps your unsaved edits to the rest; where both of you changed the same part of the request, theirs wins.

    Before you upgrade

    • Tetiva 1.2.1 and newer on macOS and Windows offer this update inside the app. From 1.2.0 and older, install it once from this page or tetiva.app/download.

    Downloads

    FilePlatform
    Tetiva-1.3.1-macos-universal.dmgmacOS, Intel and Apple Silicon, signed and notarized
    Tetiva-1.3.1-windows-amd64-installer.exeWindows x64
    Tetiva-1.3.1-windows-arm64-installer.exeWindows ARM64
    Tetiva-1.3.1-linux-amd64.debUbuntu 22.04+, x64, needs GTK 3 and WebKit2GTK 4.1
    Tetiva-1.3.1-linux-arm64.debUbuntu 22.04+, ARM64

    On Linux you can also install from the signed APT repository at apt.tetiva.app; see installation. The Windows installers and the Linux packages are not code-signed yet, so SmartScreen will warn on Windows.

    Full list of changes: CHANGELOG.md

  4. v1.3.0Tetiva 1.3.02026-10-15 · 2026-10-15 10:22 UTC
    查看更新说明

    Compare two responses side by side, and bring collections over from Insomnia, Hoppscotch, OpenAPI and HAR.

    Added

    • Compare responses. Compare in the response status bar shows what changed since the previous send; its menu compares with any of the last ten sends or a saved example, side by side or in one column. Normalize JSON ignores key order and volatile values such as *_at and Date. In History, select two records to compare them. Secret headers show only whether they were sent.
    • Import from other clients. Import File… in the sidebar reads Insomnia, Hoppscotch, OpenAPI / Swagger and HAR files as well as Postman ones. Before anything is saved, a preview shows what comes in, which hosts the requests call and what stays behind.
    • gRPC over TLS. Start the address with grpcs:// or https://; the lock before the address switches the mode.
    • GraphQL: Attach schema loads the schema from a .graphql file or a saved introspection JSON when the server does not answer introspection.
    • Postman scripts more often run as they are: pm.expect and pm.response.to work as in Postman, and so do btoa, atob and pm.variables.
    • The Auth tab of a sub-collection says Inherit instead of No Auth and shows which scheme it inherits and from which collection.
    • The Russian interface (beta) now covers importing, environments, history, the collection overview and the script tabs.

    Changed

    • pm.response.status is now the reason phrase, "OK"; the number is in pm.response.code, as in Postman.
    • A pre-request script that fails stops the send: the response pane says Request not sent and shows the error, its line, whose script it was and what it logged. The request used to go out without what the script would have added.

    Fixed

    • Cancel stops the request itself: the server sees the client go away, and the cancelled send leaves nothing in History.
    • Search in a response or request body highlights every match and counts them, and Cmd+F (Ctrl+F on Windows and Linux) in a body opens its search.
    • A file in a form is sent straight from disk, so a large upload no longer takes its size in memory.
    • Credentials no longer end up in History replay drafts, in send error messages or in the script output that AI agents see over MCP.
    • Pasting a cURL command into the URL bar keeps Inherit auth unless the command has credentials of its own.
    • Cmd+Enter (Ctrl+Enter) sends without adding a blank line to the body, script or query.
    • Windows open on the background of your theme instead of flashing navy, and on Windows a crashed page renderer recovers instead of leaving a blank window.

    Before you upgrade

    • gRPC over TLS: update Tetiva on every device that syncs these requests. Version 1.2.1 and older can't call an address with a scheme (too many colons in address).
    • Scripts that compare pm.response.status with a number should use pm.response.code instead.
    • Tetiva 1.2.1 on macOS and Windows offers this update inside the app. From 1.2.0 and older, install it once from this page or tetiva.app/download.

    Downloads

    FilePlatform
    Tetiva-1.3.0-macos-universal.dmgmacOS, Intel and Apple Silicon, signed and notarized
    Tetiva-1.3.0-windows-amd64-installer.exeWindows x64
    Tetiva-1.3.0-windows-arm64-installer.exeWindows ARM64
    Tetiva-1.3.0-linux-amd64.debUbuntu 22.04+, x64, needs GTK 3 and WebKit2GTK 4.1
    Tetiva-1.3.0-linux-arm64.debUbuntu 22.04+, ARM64

    On Linux you can also install from the signed APT repository at apt.tetiva.app; see installation. The Windows installers and the Linux packages are not code-signed yet, so SmartScreen will warn on Windows.

    Full list of changes: CHANGELOG.md

  5. v1.2.1Tetiva 1.2.12026-10-03 · 2026-10-03 11:11 UTC
    查看更新说明

    Tetiva now updates itself. From this version on, new releases reach macOS and Windows without a trip to the website.

    Added

    • Updates inside the app (macOS and Windows). When a new version is out, Tetiva downloads it in the background, checks it against our ed25519 signature and its checksum, and offers Restart to update on a card at the bottom of the sidebar. The tabs you had open come back after the restart. Settings → Updates has a new Download updates automatically switch, on by default. On Linux the card shows the apt command instead.
    • Postman collection variables come in with the collection as an environment named after it. Postman environment and globals files import from Import File… in the sidebar.
    • pm.collectionVariables works in scripts: get, set and unset use the active environment.

    Changed

    • Windows installs Tetiva for the current user (%LOCALAPPDATA%\Programs\Tetiva) without an administrator prompt. A copy in Program Files is removed after one confirmation, and uninstalling no longer deletes the app's settings.
    • The update check sends the app version and OS (latest.json?v=1.2.1&os=darwin), nothing else.

    Fixed

    • Changes made in a cloud workspace while sync was off now reach the server once sync starts.
    • The selected environment stays selected after a change on another device or the first sign-in, and variables keep the same order on every device (needs server 0.20).
    • Environment import keeps disabled variables disabled, accepts numbers and other non-text values, and no longer leaves a half-filled environment behind.
    • The update dot and the sync warnings on the left rail no longer fade.

    Before you upgrade

    Versions up to 1.2.0 can't update themselves: install 1.2.1 from this page or tetiva.app/download once. Later versions arrive inside the app. On Windows the installer asks once for permission to remove the old copy in Program Files; if you decline, both copies stay, and the old one can be removed in Settings → Apps.

    Downloads

    FilePlatform
    Tetiva-1.2.1-macos-universal.dmgmacOS, Intel and Apple Silicon, signed and notarized
    Tetiva-1.2.1-windows-amd64-installer.exeWindows x64
    Tetiva-1.2.1-windows-arm64-installer.exeWindows ARM64
    Tetiva-1.2.1-linux-amd64.debUbuntu 22.04+, x64, needs GTK 3 and WebKit2GTK 4.1
    Tetiva-1.2.1-linux-arm64.debUbuntu 22.04+, ARM64

    On Linux you can also install from the signed APT repository at apt.tetiva.app; see installation. The Windows installers and the Linux packages are not code-signed yet, so SmartScreen will warn on Windows.

    Full list of changes: CHANGELOG.md

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Tetiva

    A fast, local-first desktop client for HTTP, gRPC, GraphQL and WebSocket.

    ~30 MB download · no account required · no telemetry · MIT

    tetiva.app · Download for macOS, Windows and Linux

    Collections, environments and history live in a local SQLite database, so everything works fully offline and no account is ever required. The client only makes the network requests you ask it to — no analytics, no telemetry, no usage reporting. When you want the same collections on several machines or across a team, an optional cloud sync service keeps them in step with realtime updates.

    It's a Wails 3 app — a Go backend with a Vue 3 frontend, no Electron — which is how the installer stays around 30 MB. There's a live demo video and a comparison with Postman, Insomnia, Bruno and Yaak at tetiva.app.

    Features

    • HTTP — all methods, query/path params, headers, JSON/form/raw/binary bodies, and bearer / basic / API-key auth.
    • gRPC — server reflection or local .proto files, with request and response inspection.
    • GraphQL — schema browser, introspection, and a query editor with completion.
    • WebSocket — raw RFC 6455 connections with a live, timestamped message log.
    • Collections — a drag-and-drop tree; Postman v2.1 import/export, including auth and, if you opt in, scripts.
    • Environments — {{variable}} substitution and secret values, scoped per workspace.
    • History — every request is recorded and can be replayed as a draft.
    • Scripting — pre- and post-request JavaScript in a goja sandbox with Postman's pm.test and chai-based pm.expect: no filesystem, no network, hard 5-second limit.
    • Cookies — a persistent cookie jar per workspace.
    • Sync (optional) — realtime cloud sync with an offline queue and last-write-wins conflict resolution. Free for two devices; paid plans add shared team workspaces.
    • MCP server — exposes collections and requests to AI clients (Claude Code, Cursor) over SSE.

    Stack

    Backend: Go 1.26, Wails 3, SQLite, Uber FX, goja. Frontend: Vue 3 (<script setup>), TypeScript, Pinia, Tailwind CSS 4, CodeMirror 6, reka-ui.

    Development

    Run the full desktop app with hot reload (frontend + Go):

    wails3 dev
    

    It serves on http://localhost:9245.

    You can also work on the UI on its own, in a normal browser with in-memory mock data — no Go backend required:

    cd frontend
    npx vite
    

    This opens http://localhost:5173. The service layer detects the browser and uses mock services instead of the Wails bindings.

    Building

    Protobuf contracts live in tetiva-app/proto and are pulled in as a regular Go module dependency.

    See docs/BUILD.md for the macOS build, including signing and notarization. Per-platform tasks live under build/:

    wails3 task build      # current platform
    wails3 task package    # distributable bundle
    

    Tests

    go test ./...                     # backend
    cd frontend && npm test           # unit (Vitest)
    cd frontend && npm run test:e2e   # end-to-end (Playwright)
    

    License

    MIT