隐私与安全
Echolot 把你的数据和机密保存在哪里、发送什么内容给谁,以及哪些操作会在发生前先询问你。
Echolot 没有账户,也没有云端。你的请求以文件形式保存在你的 Mac 上,机密保存在钥匙串中;除非你自己发送或打开某项功能,否则关于你或你的工作区的任何内容都不会离开这台 Mac。本页列出 Echolot 做的事,仅此而已。
你的文件
- 工作区是由纯 TOML 文件组成的文件夹,存放在你保存的任何位置。Echolot 绝不会上传它们。
- Echolot 自己的数据(已存储的响应正文、历史记录、崩溃报告、助手对话)位于这台 Mac 上的
~/Library/Application Support/Echolot。设置 › 关于 › 响应和历史记录 › 在访达中显示会打开它。App Store 版把它保存在自己的容器中;见版本。 - 个人选择,例如窗格布局,以及你信任的脚本和服务器,保存在这台 Mac 上 App 的设置中,绝不在工作区里。
机密保存在钥匙串中
机密值绝不会写入工作区文件,因此你可以放心地把工作区提交到 Git。
- 机密变量只存储在你的登录钥匙串中。文件中只有变量的名称,它的值在钥匙串里。见机密。
- 导入会把在认证和凭据标头中找到的密码、令牌和密钥移入机密变量,导入报告只列出它们的名称,绝不列出值。见导入。
- 导出绝不写入机密值:机密变量只导出名称,导出报告会统计所有以明文填入请求的凭据。
- 把令牌存入机密变量的响应捕获只会把它写入钥匙串。
- 助手的模型密钥、MCP 登录令牌和代理密码同样保存在钥匙串中。以纯文本输入的代理密码或证书口令会显示警告,并提供移到钥匙串。
- 命令行工具读取同样的钥匙串项。在另一个 App 或另一个版本读取某一项之前,macOS 会询问一次;请选择始终允许。
凭据留在各自的服务器上
重定向通向另一个源(另一个协议、主机或端口)时,Echolot 会在跟随之前丢弃凭据:Authorization、Cookie、常见的 API 密钥标头、API 密钥认证所用的标头以及任何含有机密的标头,还有 Digest、AWS 和客户端证书的设置。你为一台服务器设置的机密绝不会因重定向而交给另一台。
磁盘上的响应正文
响应以流的方式写入磁盘,每次发送都会保存在这台 Mac 的历史记录中。设置 › 储存空间决定保存多少,以及如何保存:
| 设置 | 含义 |
|---|---|
| 在磁盘上加密响应正文 | 正文、传输捕获和格式化副本都用保存在你登录钥匙串中的密钥加密,因此没有该密钥,就无法读取 Echolot 储存文件夹中的任何响应内容。已存储的正文在后台加密;关闭后会解密。 |
| 响应正文最多保留 | 超过这个大小后,最久未使用的正文会被移除。在标签页中打开的正文始终保留。 |
| 每个请求的历史记录 | 每个请求保留多少个响应。 |
加密开启时,历史记录搜索按名称、地址和标头查找请求,而不按正文内容查找:历史记录的搜索索引没有加密,所以它不保存正文文本,开启加密也会移除它原有的正文文本。工作区不受影响。见储存和加密。
受保护的环境
把环境标记为受保护(比如 Production),那么在它处于使用中时,你发起的每次发送都会先询问:请求的发送(此时显示为发送到 Production…)、连接、运行器的运行、手动运行流程、快速发送和快捷指令操作、MCP 调用和检查、获取令牌、Schema 获取以及 gRPC 反射。 询问中会写明环境,并显示将要发出的内容,其中的机密已被遮盖。
取消是默认按钮,因此按 Return 绝不会意外发送到受保护的环境,按 Esc 同样取消。切换环境之前不再询问会让该窗口在其环境改变之前不再询问;这一选择绝不会被存储。智能体始终会询问。见受保护的环境。

脚本和本地程序
- 脚本(请求前脚本和测试脚本)在 Echolot 内部的沙盒中运行。脚本只能通过 Echolot 发送请求,规则与你自己的发送相同。
- 只有在你在这台 Mac 上信任脚本之后,它才会运行。你在 Echolot 中编写的脚本是受信任的。来自别处的脚本(导入、
git pull、在 Echolot 之外编辑)会让发送停止,直到你选择查看脚本… 并信任它们。 信任按脚本的内容记录,保存在工作区之外,因此工作区永远无法信任它自己的脚本。 - 以本地程序运行的 MCP 服务器只有在你于“MCP 服务器”页面批准它们的命令之后才会启动(信任并检查)。命令、参数或环境的任何更改都会再次询问。
助手和模型提供商
助手,以及打开后的 Echo AI 评论,使用你在设置 › 助手中选择的模型提供商。
- 模型密钥保存在这台 Mac 的钥匙串中,并且只发送到提供商自己的地址。
- 向某个提供商发送的第一条消息,会在任何内容发出之前先询问,每个提供商一次(兼容服务器按其主机计)。询问会说明将发送什么:对于助手,是你的消息、助手读取的工作区数据及其工具结果。机密值绝不会发送。
- Echo 的 AI 评论只发送关于发生了什么的简短事实(请求的种类、状态码、耗时):绝不发送名称、地址、标头、正文、变量或机密。
- Apple 的设备端模型和这台 Mac 上的服务器(如 Ollama)从不询问:没有任何内容离开这台 Mac。
- 设置 › 助手 › 允许接收你的数据列出你已允许的提供商,每个都有撤销许可。被撤销的提供商下次会再次询问。
- 助手在更改数据或访问新主机之前会询问你,并通过与外部智能体相同的工具和规则工作。
见助手。
外部 AI 智能体
Claude Code、Cursor 或 Codex 这样的智能体可以通过 Echolot 的 MCP 服务器使用工作区,但前提是你允许它们。
- 默认关闭。设置 › 智能体 › 允许智能体使用打开的工作区会打开它,每个工作区也可以在工作区设置 › 智能体中关闭智能体。
- 仅限这台 Mac。服务器监听标准输入和输出,或带令牌的
127.0.0.1。网络上的任何内容都无法访问它。 - 由你批准。默认情况下,读取和安全的发送会直接运行;可能更改数据的发送、新主机和对工作区的更改会询问你(拒绝、允许一次、在本次会话中允许)。受保护的环境和新主机始终会询问。
- 机密永远不会到达智能体。智能体通过名称引用机密。智能体收到的一切内容(包括错误)都已去除机密值,无论是原文、JSON、百分号编码还是 Base64 形式。智能体读取的历史记录中,凭据已被遮盖。
- 从不提供。智能体策略、代理、证书、认证和脚本不是智能体可用的工具。
- 每次调用都有记录。历史记录显示每个请求的发送者(智能体按名称显示),窗口中的智能体会列出最近的调用。
使用数据和崩溃报告
两者都在设置 › 隐私中:使用数据默认关闭,保存在这台 Mac 上的崩溃报告默认开启。
- 分享匿名使用数据。开启时,Echolot 会告诉它的开发者哪些功能被使用(发送请求、一次运行、一次 MCP 检查),附带请求种类和状态码之类的少量信息,并报告错误及其堆栈跟踪。绝不包含 URL、标头、正文、变量、机密或响应。数据发送到 PostHog,即 Echolot 使用的分析服务。
- 收集崩溃报告。默认开启。macOS 会在下次启动时把崩溃和卡死报告交给 Echolot,Echolot 把它们保存在这台 Mac 上,这样你就能把它们附到错误报告中。它们只包含堆栈跟踪,不会发送到任何地方。在访达中显示会打开它们。
Echolot 自行发起的连接
除了你发送的请求,Echolot 只会为以下事项连接网络:
| 内容 | 时机 | 发送的内容 |
|---|---|---|
| 更新检查(直接下载版) | 若自动检查更新已开启则每天一次,或在你选择检查更新… 时 | 向 GitHub 请求发布列表。GitHub 能看到 App 的版本和你的 IP 地址。 |
| Beta 状态(直接下载版,Beta 构建) | 启动时以及每天一次 | 从 GitHub Pages 获取一个带签名的小文件,不带 Cookie 或已存储的凭据。它可以提前结束 Beta 构建,也可以延长其期限。 |
| 响应树中的图像预览 | 仅当指针停在 JSON 或 XML 树中的图像地址上时 | 像浏览器一样获取该图像,不带 Cookie 或已存储的凭据,最大 10 MB。它不会记入历史记录,也不运行任何脚本。 |
| 使用数据 | 仅在开启时 | 见上文。 |
| 你的模型提供商 | 仅当你使用助手或 Echo 的 AI 评论,且已经允许之后 | 见上文。 |
App Store 版不做更新或 Beta 检查:其更新由 App Store 处理。
