Echolot
命令行与 CI

echolot import 和 export

将 cURL 命令、集合、规范和 HAR 文件带入工作区,并将工作区写出给其他工具使用。

echolot import 将你手头的内容变成工作区文件:cURL 命令、Postman、Insomnia、Paw 或 Bruno 集合、OpenAPI 或 Swagger 规范、HAR 文件。 echolot export 将工作区或其中一个文件夹写出为 Postman、Insomnia 或 Bruno 集合,或写出为 Echolot 工作区的副本。它们做的事与 App 中的文件 › 导入… 和文件 › 导出工作区… 相同; 参见导入和导出。

echolot import

echolot import <file> [--workspace <workspace>] [--folder <folder>] [--format <format>]

<file> 是要导入的文件、一个 Bruno 集合文件夹,或用 - 表示从标准输入读取。

格式根据内容判断。集合或规范会落在自己的文件夹中;cURL 命令会变成一个请求。写出内容的路径输出到标准输出,每行一个,摘要输出到标准错误:

pbpaste | echolot import - -w Alpenglow.echolot --folder auth
Imported 1 request from cURL.
note: 1 credential kept out of the workspace files but not saved, as there is no Keychain here: auth_token_token. Set ECHOLOT_SECRET_AUTH_TOKEN_TOKEN where Echolot sends.
auth/auth-token
你导入的内容格式名称
cURL 命令curl
Postman 集合postman-collection
Postman 环境postman-environment
OpenAPI 3 文档(YAML 或 JSON)openapi
Swagger 2 文档swagger
Insomnia 导出文件insomnia
HAR 文件har
Paw 文件paw
MCP 客户端的配置(其中的服务器)mcp-config
Bruno 集合文件夹本身,无需指定格式

凭据绝不会写入文件。 在认证设置和凭据标头中找到的密码、令牌、API 密钥和其他机密值会变成机密变量,以请求和字段命名(me_password),而文件中保留 {{me_password}}。 在 Mac 上它们存入钥匙串。没有钥匙串时(Linux、CI、ECHOLOT_KEYCHAIN=0),值会被省略,Echolot 会指出要设置的 ECHOLOT_SECRET_<NAME> 变量。报告会指出机密的名称,绝不会给出它们的值。

导入规范会创建一个跟随该规范的文件夹。Echolot 会说明这一点(note: the folder follows …);请用 echolot spec check 和 apply让它保持最新。

选项

选项含义
-w、--workspace <folder>工作区文件夹(其中有 workspace.toml 的那个)。默认:当前文件夹。
--folder <path>导入到工作区的这个文件夹中,例如 users/admin。
--format <format>跳过检测:curl、postman-collection、postman-environment、openapi、swagger、insomnia、har、paw 或 mcp-config。

echolot export

echolot export <output> [--workspace <workspace>] [--folder <folder>] --format <format> [--no-environments] [--force]

<output> 是写出的位置:Postman 和 Insomnia 为文件,Bruno、Echolot 工作区以及带环境的 Postman 为文件夹。

echolot export /tmp/alpenglow.postman_collection.json -w Alpenglow.echolot --format postman
Exported 21 requests, 7 folders, 3 environments as Postman Collection v2.1.
warning: 8 requests left out: Postman Collection v2.1 has no MCP requests. …
  left out: realtime/order-updates
  left out: inventory/reserve-stock
  …
warning: Response captures (Store in a Variable) are not exported; other tools set variables from scripts.
warning: 1 password, token or key is written in clear: it is typed into an auth or header field rather than kept in a secret variable. Move it to the Keychain before sharing the file.
/tmp/alpenglow.postman_collection.json
格式接受写出
echolot每种请求一个带有自己 ID 的新工作区文件夹。导出文件夹时会保留它上面的各级文件夹。
postmanHTTP 和 GraphQL一个 Postman Collection v2.1 文件,或一个包含集合及其环境的文件夹。
insomniaHTTP、GraphQL、WebSocket、Socket.IO 和 gRPC一个 Insomnia v5 文件。
brunoHTTP 和 GraphQL一个 Bruno 集合文件夹。

格式容纳不了的内容会在标准错误中指明:它无法容纳的请求(left out:),以及在转换中有所变化的部分,例如响应捕获,或另一个工具没有的动态值。

机密值绝不会写出。 机密变量只按名称导出。如果某个凭据是直接输入在认证或标头字段中,而不是保存在机密变量里,Echolot 会发出警告,因为这样的凭据会照原样写出。

Echolot 绝不会覆盖你所导出的工作区,也不会写入它的内部或周围;除非你传入 --force,否则也绝不会替换输出路径上的任何内容;被替换的内容会移到废纸篓。

选项

选项含义
-w、--workspace <folder>工作区文件夹。默认:当前文件夹。
--folder <path>只导出工作区的这个文件夹,例如 users/admin。
--format <format>echolot、postman、insomnia 或 bruno。必填。
--no-environments不导出环境。
--force替换输出路径上已有的内容。

退出码

退出码何时
0已导入或已导出。警告不会改变它。
1无法读取或写入文件。
64未知格式,或输出路径已存在而未带 --force。

本页内容