brew 升级后需运行 noodle agent install 刷新已安装的 skill;Windows 可执行文件未签名,浏览器下载可能触发信任提示;从旧 tap 迁移需按官方迁移说明操作

brew install noodleREADME 未说明硬件要求;提供 macOS、Linux(glibc)arm64/x86_64 及 Windows x64(beta)预编译二进制
终端里的开源 REST 客户端,把请求集合以 YAML 文件存进仓库,随代码一起版本化
把代码仓库本身当作工作区的 REST 客户端,让 API 请求配置随项目一起版本化,方便团队协作和 AI Agent 调用。
核心能力
- 用 YAML 文件组织请求集合,按文件夹分组并纳入 Git 版本管理
- 在终端内编辑 URL、参数、请求头、JSON、XML、表单和文件上传
- 响应支持 JSON/XML 源码与可视化视图,可用 JSONPath 过滤
- 支持 bearer、basic、OAuth 1.0a/2.0、NTLMv2、AWS SigV4 等认证
- 集合运行器支持标签过滤、fail-fast、CSV/JSON 迭代数据与 JUnit 报告
容易踩的坑
- v0.10.4最新正式版2026-11-06 · 2026-11-06 02:26 UTC
Noodle 0.10.4 lets you save a collection run as JSON for scripts or JUnit XML for a CI test viewer. On GitHub Actions, install the CLI with
setup-noodle, run your collection, and keep the report even when an API check fails.Read the full release article.
✨ Features
- Save a collection run with
--json --output results.jsonfor an exact copy of JSON stdout, or--reporter junit --output results.xmlto keep the human-readable summary in the terminal. JUnit records one case per selected execution with its duration, applicable iteration and stage, warnings, and any failure or skip reason. Noodle checks the destination before sending requests and writes a complete file without overwriting an existing one. Failed and gracefully cancelled runs can write reports and retain their exit codes. - Install an exact Noodle CLI release on GitHub Actions with
wilfredinni/setup-noodle@v1. The companion action verifies the release binary against its SHA-256 checksum and makesnoodleavailable to subsequent steps.
🐞 Fixes
- Mask known secrets in JSON-escaped text, including values containing quotes, backslashes, or newlines.
- Identify the script tab, source, line, and column when syntax preflight fails before a TUI send or Runner execution.
- Give user scripts their full CPU allowance by excluding sandbox initialization from the CPU budget while enforcing the wall-clock deadline.
🔧 Refactors
- Align the native file writer and its CI checks with the five release targets: macOS and Linux glibc on x64 and arm64, and Windows x64.
📚 Documentation
- Update
noodle-devwith the CLI report contract, exclusive file publication, and supported native targets. - Update
noodle-usewith JSON fields, JUnit mappings, exit codes, and a GitHub Actions example that installs Noodle and uploads the report. - Document the setup action and collection reports in the README, installation and CLI guides, and client comparison.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
- Save a collection run with
- v0.10.32026-11-02 · 2026-11-02 22:44 UTC
查看更新说明
Noodle 0.10.3 adds saved setup and teardown requests around collection runs, including each CSV or JSON data row. Configure them once in Collection Settings and use the same workflow in the CLI and TUI Runner, with stage labels and results that keep preparation, main requests, and cleanup easy to inspect. Teardown is attempted after failures, including fail-fast, while cancellation stops without starting cleanup requests.
Read the full release article.
✨ Features
- Add optional
hooks.setupandhooks.teardownsaved request IDs in collectionsettings.yml, editable in Collection Settings > General. Run setup, selected main requests, and teardown through the shared request lifecycle with inherited scripts and tests, sharing variables and cookies within each run or data row. Exclude hook requests from target/tag selection, send nothing for an empty main selection, skip mains after setup failure, and count hooks toward data-run execution limits and stage-aware results, summaries, and progress.
🐞 Fixes
- Validate hook IDs and script/test sources before HTTP, check referenced requests on disk before saving settings, and keep collection audits from rewriting requests while checking hook references.
- Wait for pending collection settings saves before starting the Runner or changing referenced files, and require unassigning hooks before renaming or deleting their requests or deleting a containing folder in the TUI.
- Preserve setup, main, and teardown order when showing settled Runner results, including skipped mains, and retain stage labels and the executed hook configuration in session results and details.
📚 Documentation
- Update
noodle-devwith shared hook validation, execution ordering, preflight, cancellation, row isolation, and integration responsibilities. - Update
noodle-usewith hook configuration, cleanup and cancellation rules, stage results, execution limits, and the fail-fast and empty-selection exceptions in its automation guidance. - Synchronize the README and agent instructions, collection format, Settings, Runner, CLI automation and agent guides, in-app tips, version examples, and release article.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
- Add optional
- v0.10.22026-10-24 · 2026-10-24 17:10 UTC
查看更新说明
Noodle 0.10.2 keeps each collection's latest Runner results available for the app session, even after reloading or switching collections. Open a result's request or inherited script source, make changes, and return to the same result with F5; retained results keep the configuration and labels used for that run.
Read the full release article.
✨ Features
- Retain the latest settled run per collection in memory, including executed configuration, request labels, selected iteration/result, response previews, and redacted diagnostics. Preserve it across view changes, collection reloads/switches, configuration edits, and preflight failures until a later run settles or the app exits; do not write Runner history to disk.
- Open a settled result's request or selected script, test, assertion, or capture source with
o. Navigate to the owning request, folder, or collection script phase, offer a searchable picker for multiple test origins, warn when a source is unavailable, and return to the retained selection with F5.
🐞 Fixes
- Preserve failure summaries and source origins when retained-detail limits omit diagnostics, distinguish omitted results from checks that never ran, and label truncated body previews. Limit text body previews to 10,000 UTF-8 bytes and retain binary response metadata without body bytes.
- Keep source selection stable and isolate source-picker search from underlying detail-overlay shortcuts, including repeated navigation to collection script phases.
- Preserve cancellation, persistence, inherited-source, and child-request metadata when bounding Runner and timeline diagnostics.
- Update the transitive
fast-uridependency to its patched version and regenerate the bundled schema validator.
🔧 Refactors
- Share diagnostic bounds between timeline storage and retained Runner snapshots.
- Build and validate Windows artifacts with Bun 1.4.4 and target-specific producer metadata; other release targets remain on Bun 1.4.3. Remove the repeated Windows async-script stress pass while retaining the full applicable suite and native platform checks.
- Refresh runtime and development dependencies while keeping OpenTUI pinned to 0.5.14.
📚 Documentation
- Update
noodle-devwith per-collection session ownership, retention limits, shared diagnostic bounds, source navigation, and regression coverage. - Update
noodle-usewith retained Runner results, source-opening controls, preview limits, and session-only lifetime. - Synchronize the README, agent instructions, in-app tips, Runner and shortcut guides, agent-skill guidance, version examples, comparison, and release article.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
- v0.10.12026-10-18 · 2026-10-18 20:14 UTC
查看更新说明
Noodle 0.10.1 shows Collection Runner results as requests finish, so you can inspect completed responses, checks, and Console logs while the run continues. Stop an active run from the keyboard or mouse, browse elsewhere, and return to its partial or final results with F5.
Read the full release article.
✨ Features
- Show pending, running, passed, failed, skipped, and cancelled Runner executions with live details and iteration-aware summaries through the shared collection execution path.
- Add Stop through shared cancellation, available with
s, mouse activation, focused Enter/Space, completed-result details, and the command palette. Preserve finished diagnostics and distinguish cancelled executions from failures and unstarted requests. - Keep application navigation responsive during runs, resume the current workspace's latest run with F5, and guard edits, additional sends, collection reloads/switches, and execution configuration until cleanup finishes.
🐞 Fixes
- Restore usable Runner focus after completion, cancellation, and configuration failure while preserving inspection focus and compact 80×24 layouts.
- Recover cookie jar and encryption-key locks left by confirmed exited processes, preserving lock backups, existing cookies, and stored keys. Keep live or uncertain owners locked and leave environment transactions unchanged.
- Retry temporary Windows lock-directory creation contention while preserving persistent filesystem errors.
🔧 Refactors
- Upgrade CI and release jobs to Bun 1.4.3, align release-artifact metadata, and refresh runtime and development dependencies while retaining the OpenTUI 0.5.14 pin.
📚 Documentation
- Update
noodle-devfor live Runner state, cancellation ownership, navigation guards, rendered acceptance coverage, and safe dead-owner cookie-lock recovery. - Update
noodle-usewith live Runner inspection, Stop, current-workspace resume behavior, and automatic dead-owner cookie-lock recovery that preserves session data. - Synchronize installation, Runner, shortcut, cookie, troubleshooting, and agent-skill guides, the automation version example, comparison, and release article; retain the README, agent instructions, and in-app Runner tips updated since v0.10.0.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
- v0.10.02026-10-13 · 2026-10-13 22:48 UTC
查看更新说明
Noodle 0.10.0 lets CLI collection runs stop gracefully while preserving completed requests and response diagnostics. Cancelled manual sends retain any completed response and appear in history, while cancellation stays separate from request failures and timeouts. Homebrew installation now uses the official core formula.
Read the full release article.
✨ Features
- Add shared collection-run cancellation and request-start, completion, and skip events with request and optional iteration identity. Keep one runner and result model, preserve completed response phases and redacted diagnostics, roll back unfinished script writes, and cancel HTTP, OAuth, saved/direct children, and inter-request delay.
- Handle CLI collection interruption through SIGINT or SIGTERM by returning partial human or JSON output and exit status 130. Preserve exit statuses 0, 1, and 2; count completed, cancelled, and unstarted executions explicitly without treating cancellation as timeout, ordinary failure, or fail-fast. Close cookie jars and remove signal handlers on every exit path.
🐞 Fixes
- Preserve network traces and original transport error causes, and distinguish HTTP, OAuth, and child-request timeouts from later cancellation. A second CLI interruption forces exit 130 and clears terminal progress.
- Keep overlapping manual sends associated with their own request and completion, preventing older results or cancellation from replacing the selected request's newer response. Repeated Send clicks start only one execution.
- Preserve timeline entries when history loads finish after a save, keep late completions in their original collection, and allow later history saves to continue after a failed write.
- Mark cancelled manual sends in Timeline and Results, retain any completed response and partial diagnostics, and exclude cancelled attempts from folder success rates and response timing averages.
- Pin OpenTUI packages to 0.5.14 to match the existing Homebrew core resource; keep source-build CI and the formula template aligned while preserving Linux dependencies and offline build enforcement.
- Update JSONPath Plus.
- Generate the schema validator bundle with Homebrew's installed Bun during source builds, avoiding compiler-version byte mismatches while retaining the committed-bundle consistency check in CI.
- Verify release artifact producer Bun metadata independently of the local runtime used by release-artifact tests.
🔧 Refactors
- Retire the old Homebrew tap's release dispatch after acceptance into Homebrew core. Published-release recovery now synchronizes only the website update manifest.
📚 Documentation
- Update the
noodle-devskill and testing/architecture references for shared cancellation, execution events, partial diagnostics, accounting, signal acceptance coverage, and cancelled manual-send history. - Update the
noodle-useskill's automation contract for partial cancellation results and exit status 130, and its import prerequisites for official Homebrew installation. - Update the
noodle-releaseskill for Homebrew core maintenance and site-only publication recovery, as committed since v0.9.8. - Document CLI interruption and cancellation accounting, update the comparison page for cancellation and retained history, and clarify official Homebrew installation and migration with explicit agent skill refresh after upgrades.
Windows x64 support is beta. The Windows executable is unsigned; browser downloads may trigger Windows trust prompts.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。

Install
Install from Homebrew core:
brew install noodle
Or use the standalone installer:
curl -LsSf https://noodlerest.dev/install.sh | sh
Prebuilt binaries support macOS and Linux (glibc) on arm64 and x86_64, plus Windows x64 in beta. See installation options for Homebrew and source builds.
Run noodle agent install after a brew upgrade to refresh an installed skill. If you used wilfredinni/noodle,
follow the tap migration instructions.
Windows x64 (beta)
Windows x64 binaries are included from v0.9.7. Install from PowerShell:
irm https://noodlerest.dev/install.ps1 | iex
The installer verifies the release checksum, installs to
%LOCALAPPDATA%\Programs\Noodle\noodle.exe, and updates your user PATH.
Windows executables are unsigned; browser downloads may trigger Windows trust
prompts. Ordinary-account and interactive terminal testing remains pending.
The v0.10.1 Defender report
remains unresolved; it is not a confirmed false positive or evidence about every
later build. See the Windows support statement.
For prerelease testing, manually dispatched CI runs provide a Windows beta ZIP
containing noodle.exe, checksums, and build information.
GitHub Actions
After checking out your collection, install Noodle and run it in a separate step:
- uses: wilfredinni/setup-noodle@v1
with:
version: v0.10.4
- run: noodle collection run ./api --reporter junit --output results.xml
@v1 selects the setup action. The required version selects the exact Noodle
CLI release. The action verifies the binary's SHA-256 checksum before adding it
to the runner's PATH. See setup-noodle
and the CI workflow with report upload.
Quick start
Follow the quick start guide to create a collection, send your first request, and inspect the response.
Features
- 📁 File-based collections: Keep requests in YAML, organize them into folders, and version them with Git.
- ✏️ Request editor: Edit URLs, parameters, headers, JSON, XML, forms, and file uploads in the terminal.
- 🔍 Response inspection: Explore JSON and XML in Source or Visual views, filter JSON with JSONPath, and inspect headers and network traces.
- 📥 Images and downloads: Preview supported images, save response files, and open them in their default app.
- 🗝️ Environments and secrets: Switch between environments, reuse variables, and store secrets in the OS vault.
- 🔐 Authentication: Use bearer tokens, basic auth, API keys, OAuth 1.0a, OAuth 2.0, NTLMv2, and AWS SigV4.
- 🛡️ Proxies and TLS: Configure proxy policies, custom certificate authorities, and mutual TLS.
- 🧪 Response assertions: Check status, timing, headers, and JSON values in the TUI or CI.
- ✅ Scripted tests: Check responses with synchronous or async tests, JSON Schema draft-07, property, length, type, and partial-object matchers.
- 🎯 Response captures: Pass response values to later requests or save them to an environment or secret.
- 📜 Scripting: Prepare requests and process responses with sandboxed JavaScript. Share inline scripts or external JavaScript files across collections and folders. Pre scripts, post scripts, and tests each run collection → folders → request, so request-specific successful writes override inherited values. Author Pre Script, Post Script, and Tests in the TUI with completion, diagnostics, folding, and formatting; browse logs in Console.
- 🎲 Body templates:
Generate test data and timestamps with
$randomand$timeplaceholders. - ⚡ Collection runner and automation:
Run requests or folders with tag filters, fail-fast behavior, delays, CSV/JSON
iteration data, and JSON results. Save collection reports with
--json --output results.jsonor--reporter junit --output results.xml. See the automation contract and CI example. Optional saved setup and teardown requests surround each run or data row; configure them in Collection Settings > General. Empty selections send nothing, and cancellation skips teardown. Interrupt CLI collection runs with Ctrl+C to retain completed results and inspect what was cancelled or never started. In the TUI, inspect completed Results and Console while later requests run; presssor click Stop to cancel, and use F5 to return after browsing elsewhere. Try the local data-run example. - 🕘 Response history and cookies: Revisit past responses and manage a cookie jar for each collection.
- 🎨 Themes and keybindings: Follow your terminal palette or choose a theme, and customize your shortcuts.
- 🔄 Import and export: Bring OpenAPI, Swagger, Postman, and Insomnia collections into Noodle; preserve compatible Postman and Insomnia scripts without translating foreign APIs. Imports that retain scripts or tests require a new collection. Export to OpenAPI or Postman.
- 🤖 AI agent skills:
Install the Noodle skill with
noodle agent installso coding agents can create, maintain, and run collections.
Documentation
- All guides and references
- CLI commands
- Collection format
- Script scopes and inheritance
- External JavaScript files
- Script cookbook
- Changelog
Contributing
Noodle is built with Bun, TypeScript, React, and OpenTUI.
bun install
bun run dev
This starts the local HTTP, HTTPS, authentication, and proxy services and opens
the development collection in dev/collection/. Run bun run dev:server for
services alone, or bun run dev:check to validate the local scenarios. See the
development guide for suites and fixture credentials.
See AGENTS.md for the architecture, conventions, and test commands.
Sponsor
Noodle is free and open source. If it saves you time, you can sponsor its continued development. Sponsorship supports maintenance, bug fixes, documentation, and platform testing.