MXterm Pro

安全与隐私

最后更新: 2026 年 9 月

MXterm Pro 不会上传你的 SSH 密码、终端输出和 Agent 对话记录。它只向 mxterm.net 和 Google Analytics 发送一小部分已列明的数据,使用情况报告可以关闭。它不是沙箱。分屏的权限和背后的 shell 一样大,里面运行的任何 AI Agent 也一样。

什么时候不该选 MXterm Pro

这里的控制手段适合这样的开发者:在可以重置的仓库里运行 Agent,并且想看清应用发出了什么。Agent 拿到的是真实的 shell,每个 Agent 信任到什么程度由你决定。有些需求,换别的工具更合适。

  • 你需要给不可信的 Agent 输出划一道硬边界。请用容器或虚拟机,因为这里的分屏拥有你当前用户的全部权限。
  • 你们的策略禁止一切出站连接。没有任何设置能关掉更新检查和 Free 套餐限额请求。你可以在防火墙上屏蔽 mxterm.net,应用照常运行。
  • 你需要带 Authenticode 签名的 Windows 安装包。当前这个没有签名。
  • 你需要 Linux 版。目前没有 Linux 版本。

哪些数据会离开你的电脑

下表列出应用自己发出的请求。每个请求还会把你的 IP 地址暴露给接收它的服务器。受开关控制的报告从不包含终端输出、命令、文件路径、SSH 主机或许可证密钥。发送前还有一道检查,载荷命中这类词的清单就直接丢弃。

内容与去向时机携带的数据关闭方式
更新检查(mxterm.net)启动后 5 秒,之后每 4 小时一次应用版本、操作系统和界面语言无设置项
Free 套餐限额(mxterm.net)同上没有任何数据:不带标识符的普通 GET无设置项
每日上报(mxterm.net)每天一次随机安装 ID、版本、Free 或 Pro、系统版本、CPU 类型、启动次数、升级提示计数、崩溃标记设置 → 隐私
故障事件(mxterm.net)列明的十五类故障之一发生时一个原因代码,从不包含错误文本设置 → 隐私
使用情况 ping(Google Analytics)仅在启动时发送一次随机客户端 ID、版本、系统名称设置 → 隐私
许可证激活与复核(mxterm.net)激活或停用时,以及启动时和大约每天一次的复核激活:密钥、机器指纹、主机名、版本、平台。复核:密钥、机器指纹、版本如果粘贴已签名的 token,就不需要联网
Token Meter 账户调用(厂商 API)只有在你开启 Claude 套餐限额或实时 Codex 限额,或添加服务商密钥之后才会发生;最多每 5 分钟一次凭据,只发给对应厂商,用来读取套餐用量或余额默认关闭

你自己编译的版本不带任何上报密钥,但仍会发出更新检查和 Free 套餐限额请求。每次发送前都会重新读取开关状态。遥测说明列出了每个字段。

有两类内容不在表里。你在分屏里运行的工具,比如 Claude Code 或 Codex,会自己向它们的厂商发请求。你连接的任何对象,比如 SSH 主机、MXterm Host 或预览栏里的页面,都会收到你发给它的内容。应用本身不会向任何 AI 模型发请求:Command Recipes(⌘J)只是一张本地关键词表。

哪些数据留在你的电脑上

MXterm Pro 没有云端账户,所以它存的数据都在本机。下表说明每类数据存在哪里、怎么保护。

数据存放位置
SSH 密码按主机保存在系统凭据存储(macOS Keychain)里。应用从不读回密码来填表单,也不会替你输入。你在终端里自己输入。
密钥文件和口令只保存密钥文件的路径,文件留在原处。主机列表写入磁盘前会去掉密钥口令。
已保存的主机、布局和设置存在应用自己的本地存储里,未加密,任何以你的身份运行的程序都能读取。主机名、端口、用户、标签页、文件夹和 Agent 选择都在里面。密码不在。
许可证 token存在凭据存储和本地存储里。它已签名,但未加密,带有许可证上的邮箱和姓名、套餐、订单 ID 和签发日期。
远程访问访问密码只以 Argon2id 哈希保存在系统凭据存储里,从不写入文件,设置之后也不会再次显示。与这台 Mac 配对的设备的 token,以 SHA-256 哈希保存在应用数据文件夹的一个文件里。你添加的 MXterm Host 的 token 保存在凭据存储里。共享会被保存,并在重启后待每个分屏重新运行时恢复;无法验证的共享会被丢弃。
终端输出在内存里。应用不会自行把分屏输出存到磁盘,退出后滚动缓冲区就没了。你自己保存的文件,比如 Control Room (原 War Room) 报告或 SFTP 下载,归你所有。
Token MeterClaude Code、Codex、Gemini CLI 和 omp 按模型统计的每小时 token 数,最多保留 30 天,数据来自这些工具本来就保存的对话记录。提示词和回复不会被复制。
仅限本地的日志应用数据文件夹里有三份日志,分别记录分屏结束的原因、Control Room 投递的决定,以及远程接入的过程。里面只有固定词语、计数和哈希后的句柄,不含终端 ID、消息文本、路径或地址,也不会被发送出去。
诊断文件设置 → 隐私 → 创建诊断文件,会写出一个脱敏的 JSON 文件。你先自己查看,在你发送之前不会有任何内容离开你的电脑。你可以自己用邮件发送,或者(MXterm Pro 1.1.74 起)点击 发送给 MXterm,它会把“设置 → 反馈”打开为一份缺陷报告并已勾选该文件;再点一次发送,才会连同你的消息送到 mxterm.net(见隐私页面)。反馈也只有在你勾选时才会附上该文件。更早的版本会打开你的邮件应用。

Agent 分屏能做什么

Agent 分屏是一个真实的终端,以你的用户身份在你的文件夹里运行 Agent 的命令行工具。它能读取和删除你能读写的文件,使用你的 git 凭据,访问你的网络。MXterm Pro 不会对 Agent 运行的命令另加任何权限管控。

Bypass Mode

Bypass Mode(绕过模式)是创建工作区页面里的一个复选框,默认关闭。开启后,分屏启动时会附加该 Agent 自带的跳过审批参数,之后这个 Agent 运行命令、编辑文件都不再询问。旧版本默认开启;如果你从没改过这一项,现在它默认是关闭的。

Agent附加的参数
Claude Code--dangerously-skip-permissions
Codex--dangerously-bypass-approvals-and-sandbox
Gemini CLI 和 Qwen Code--yolo
Grok--always-approve

表中只列出其中一部分。14 个 Agent 有各自的参数,Goose 使用环境变量,只能在设置里设定。两者都不适用的 Agent 什么都不附加,所以这个设置对它们没有任何作用。

只检查你自己输入的内容

你键入的内容会先过一道检查。如果你键入或粘贴的一行命中一份简短的固定清单,比如 rm -rf / 或 git push --force,会先弹出确认。清单只是少数几个子串,换一种写法就能通过。它不会监视 Agent 自己运行的命令。

MCP 服务器允许 Agent 做什么

MXterm Pro 运行一个本地 MCP 服务器,让 Agent 可以操作应用的一部分功能。它有八个工具,没有一个能读取其他分屏的输出。

工具作用可用条件
browser.open_preview在发起调用的分屏旁边的预览栏里打开一个 http 或 https URL任何分屏
worktree.spawn, list, remove在 <repo>/.worktrees 下创建 git worktree 并在其中打开新的 Agent 分屏,列出 worktree,或移除其中一个。移除时会拒绝有未提交更改的 worktree,也会拒绝 .worktrees 之外的路径。仅限开启了 worktree 隔离的工作区
mxt_room.list_peers, send, read_inbox, claim列出房间成员,给他们发消息,读取你自己的收件箱,并占用文件仅限 Control Room 里的分屏

有一个工具要格外小心。mxt_room.send 的 execute 模式,会把文字键入同一房间里另一个 Agent 的终端。它不能指向 Moderator,上限是每分钟 20 条消息、每条 8,192 字节,接收方 Agent 会被告知这段文字是同伴的交接,不是你发的。文件占用只作提示:不会阻止任何写入。

会话 token 和它涉及的文件

每个分屏的会话 token就是它的终端 ID,一个随机 UUID。MXterm Pro 会把它作为 MXTERM_SESSION 导出到分屏的环境里,所以该分屏里的任何程序都能读到。服务器只监听本机回环地址。本机任何程序都能访问这个端口,但每次调用都需要一个存活分屏的 token,关闭分屏,token 就失效。

为了让 Agent 找到服务器,应用每次启动都会修改它自己文件夹之外的配置。它会在 ~/.claude.json、~/.codex/config.toml 和 ~/.omp/agent/mcp.json 里添加一个 mxterm 条目,文件不存在就创建。如果 ~/.zshrc 存在,还会往里追加一行。这些内容都不含机密,退出后条目仍然保留。

Gemini CLI 无法从环境变量里读取 token。对于 Gemini 分屏,当前 token 会写进项目里的 .gemini/settings.json,MXterm Pro 还会把这个路径加进项目的 .gitignore,避免误提交。

worktree 的作用和它做不到的事

git worktree 让每个 Agent 在 .worktrees 下有自己的分支和文件夹,从而降低冲突概率。它不能撤销 worktree 里的错误命令,也不能阻止 Agent 访问 worktree 之外的文件。在还没有任何提交的仓库里,worktree 隔离会先创建一个 Initial commit,里面只有一个空的 .gitkeep 文件,文件夹里的其他内容都不会提交。worktree 指南解释了其中的机制。

远程访问

主机服务让另一台设备可以操作你的分屏。在设置 → 远程访问与已配对设备里点 Start Server 之前,它一直关闭。其中“打开 MXterm 时启动主机服务”这项设置默认关闭。开启后,服务会在每次打开 MXterm 时启动,网络还没起来时最多重试 5 分钟。它监听 Tailscale 地址(如果这台 Mac 有),如果你开启了“允许局域网中的设备”,也会监听它的私有网络地址;否则只在本机监听。它从不监听公网地址。

共享以分屏为单位,默认关闭。你可以把分屏共享为仅查看或可控制,时长可选 30 分钟、1 小时、8 小时,或直到你停止。已配对的设备只能看到被共享的分屏,只有以控制方式共享的分屏才能键入,同一时间只有一个人能写。在 Free 上,默认最多同时共享 5 个分屏。MXterm Pro 的设计是在重启后,待每个分屏重新运行时恢复你的共享,并丢弃任何无法验证的共享。

新设备用一个六位字符的配对码配对,配对码 5 分钟后过期,只能用一次,连续输错会把配对锁定 5 分钟。你还可以开启访问密码,新设备就能用密码代替配对码来配对。它在 Tailscale 上可用;如果你允许局域网访问,在局域网上也可用,此时它是未加密的。它默认关闭。Free 许可证可以设置最长 8 小时的临时密码(最短 6 个字符);没有时间限制的长期密码和最长 7 天的临时密码需要 Pro。设备 token 是 256 位的,在主机上以哈希保存,闲置 30 天后过期,也可以随时撤销。在 Free 上,默认可以有 1 台其他电脑配对来控制这台电脑,MXterm 手机应用和浏览器都不计入,只有运行 MXterm 的其他电脑才会计入。

主机服务运行期间,只要至少有一个分屏处于共享状态,MXterm Pro 就会阻止电脑自行进入睡眠,这样已配对的设备仍然能连上它。屏幕仍然可以关闭,你主动触发的睡眠,比如用电池时合上盖子,照样会发生。这一项默认开启,在设置 → 远程访问与已配对设备里有开关。这项功能面向 macOS 和 Windows 开发,Windows 端尚未验证。

服务器使用明文 HTTP 和 WebSocket,自己不加 TLS。在局域网里,网内的其他人可能读到流量,设置里会提醒你。Tailscale 会加密你的设备之间的连接,所以 tailnet 地址更安全。MXterm Pro 使用哪个地址讲了先后顺序。

许可证检查

许可证是一个用 Ed25519 签名的 token。应用每次启动时,在你的电脑上用内置的公钥校验签名。联网时,应用还会在启动时以及大约每天一次,向 mxterm.net 询问这个许可证是否仍然有效。许可证不会过期:token 记录的签发日期只用于溯源,应用从不拿它和时钟比较。

激活粘贴的密钥和定期复核,是许可证流程中需要联网的步骤。应用会把密钥、机器指纹、你电脑的主机名、应用版本和平台发给 mxterm.net,由它统计席位并返回已签名的 token。指纹是硬件 ID 经 SHA-256 哈希后截短的值,硬件 ID 本身不会发送。

停用以同样的方式归还席位,粘贴已签名的 token 则可以离线激活。复核失败或你处于离线时,不会有任何变化。只有连续两次得到“许可证或席位已不存在”的明确答复,才会移除 Pro。席位只在你激活时计数。

下载、签名和更新

macOS 版本使用 Developer ID 证书签名,启用 hardened runtime,已通过 Apple 公证,并已装订(staple)公证票据。它是通用二进制(universal binary),没有 App Sandbox,也没有任何 entitlements。你可以自己验证:把 DMG 的 SHA-256 与更新日志里的值对比,再对应用运行 spctl -a -t exec -vv。source 一行应显示 Notarized Developer ID。

更新只在你点击之后才下载。随后更新程序会先用应用内置的公钥校验 minisign 签名,通过后才安装。这项检查独立于 Apple 的签名,在两个平台上都保护更新。

Windows x64 安装包没有 Authenticode 签名,属于未签名安装包,所以首次运行时 SmartScreen 会显示“未知发布者”。Windows 版刚推出不久。这些在 Windows 上尚未验证:凭据存储、SSH 文件面板和隧道、普通分屏里的 Agent 检测,以及远程主机服务和它的保持唤醒。

应用窗口没有设置内容安全策略。它只加载随应用打包的代码,页面预览在单独的 webview 里打开。

应用会请求的权限

在 macOS 上你可能会看到这些提示。

  • 访问桌面、文稿和下载文件夹,在分屏里的 shell 碰到它们时出现。提示文字会说明原因。
  • 通知,应用第一次发出 Agent 横幅时出现。
  • 开机时启动,只有你在设置 → 通用里打开它才会出现。macOS 把它列在“登录项”下。
  • 读取 Claude Code 已保存的登录信息,只有你在设置 → Token Meter 里开启套餐限额之后才会发生。

在 Mac 上,应用只在你按下听写按钮时使用麦克风,并且不声明使用相机或位置。手机应用只在扫描配对二维码或拍摄你要发送到自己电脑的照片时使用相机,只在你点按麦克风进行听写时使用麦克风。

MXterm Pro 不做的承诺

它不会给终端或里面的 AI Agent 加沙箱或限制。它也不承诺 worktree、文件占用或键入检查能防止数据丢失。它们降低风险,但不是保证。

实用建议

  • 批准破坏性命令之前,先看清 AI Agent 要运行什么。
  • 除非仓库能从远端重置,否则让 Bypass Mode 保持关闭。
  • 同一个仓库里有多个 Agent 工作时,开启 worktree 隔离。
  • 用完分屏就关掉。这会让它的会话 token 失效。
  • 只共享你打算共享的分屏,用完后点停止服务。
  • 保持 MXterm Pro 为最新版本,以获得最新的安全和许可证校验修复。
  • 发现疑似安全问题,请报告给技术支持,不要公开发布。

安全常见问题

MXterm Pro 会把我的 SSH 密钥或密码存到云端吗?

不会。MXterm Pro 没有保存它们的云端账户。保存的密码进入你的系统凭据存储,只保存密钥文件的路径,密钥口令不会写入磁盘。应用确实会发送的少量数据,都列在上面的表里。

AI Agent 能通过 MXterm Pro 做出有害的事吗?

能,和任何拿到 shell 的程序一样。分屏的权限和背后的 shell 完全一样大,MXterm Pro 不加沙箱。MCP 工具范围很窄,但 Agent 运行的命令没有限制。破坏性命令要先看清,不信任的代码请放进容器或虚拟机。

MCP 服务器会把我的终端暴露到网络上吗?

不会。它只监听 127.0.0.1,每次调用都需要一个存活分屏的 token。远程访问是另一个独立的主机服务。在设置 → 远程访问与已配对设备里点 Start Server,或开启“打开 MXterm 时启动主机服务”之前,它一直关闭。它只共享你选定的分屏。

我的许可证会联网检查吗?

会,但很轻量。每次启动时,已签名的 token 都在你的 Mac 上用 Ed25519 签名校验,应用还会在启动时以及大约每天一次,向 mxterm.net 询问许可证是否仍然有效。离线或检查失败时,不会有任何变化,Pro 照常可用。

应用会发送哪些关于我的数据?能关掉吗?

官方构建会发送每日上报、故障报告和 Google Analytics ping。设置 → 隐私里的一个开关可以把这三项全部关闭,DO_NOT_TRACK 环境变量也可以。更新检查和 Free 套餐限额请求没有开关。

Bypass Mode 是做什么的?

它会给每个受支持的 Agent 附加它自带的跳过审批提示的参数,于是 Agent 运行命令、编辑文件都不再询问。它默认关闭,在分屏启动时生效。只在你能撤销改动的地方使用。

Windows 安装包有签名吗?

未签名,没有 Authenticode 签名,所以首次运行时 SmartScreen 会显示“未知发布者”。更新带有 minisign 签名。

怎么验证 macOS 安装包是官方原版、没有被篡改?

把 DMG 的 SHA-256 与更新日志页面上的值对比,再对应用运行 spctl -a -t exec -vv。正常的构建会报告 accepted,source 为 Notarized Developer ID。

对安全使用有疑问?请写信到 support@mxterm.net。另见隐私政策。

问问 AI:MXterm Pro 怎么样

根据本页内容,在 ChatGPT、Claude 或 Perplexity 里直接生成回答。回答由 AI 写,不是我们写的,请核对它引用的来源。

发送的问题AI Agent 通过 MXterm Pro 的分屏和 MCP 服务器能做什么,我的 SSH 凭据存在哪里?