# FireAI 1.0:重新设计的界面,一眼看清 Mac 的网络状态 > HisnLabs 推出的 FireAI 1.0 重新设计了世界地图、Activity、Home 和提醒,网络状态直接呈现而无需解读数字,操作步骤也比 0.1.8 更少。 FireAI Security & Research Team (HisnLabs) · Published 2026-09-30 Canonical: https://hisnlabs.com/zh/blog/fireai-1-0-yiyan-kanqing-mac-wangluo FireAI 1.0 于 2026 年 9 月 30 日发布,重新设计了这款防火墙呈现 Mac 网络活动的方式。FireAI 是 HisnLabs 开发的 macOS 网络防火墙,内置一个提供决策建议的设备端 AI 模型。本文列出自 0.1.8 以来的变化,每项变化都遵循下文所述四项设计决定之一。 这四项决定是:呈现状态,而不是让用户读数字;在你注视的地方进行操作;除非有事发生,否则画面保持静止,这同时也降低了 CPU 占用;以及让每一条提醒都用平实的语言说明发生了什么、可以怎么处理。 ## 自 0.1.8 以来的变化 | 区域 | 之前(0.1.8) | 现在(1.0) | | --- | --- | --- | | 世界地图 | 弧线显示历史总量;空闲连接上的圆点也一直在移动 | 数据河流:线宽和移动的圆点跟随实时吞吐量,且只在有数据流动时出现;昼夜阴影;实时流量环 | | 国家 | 不以列表显示 | 地球仪下方的“Requests by country”(按国家统计的请求),每行都有 Filter 和 Block | | 上传提醒 | 没有针对上传的提醒 | 向某个国家的异常上传会在列表、地球仪、Home 和菜单栏中被标记 | | Activity | 连接列表 | 每个连接一条 60 秒心跳条;被拦截的连接可 Replay(回放) | | Home | 数字 | 隐私天气胶囊,以及会对事件作出反应的吉祥物 | | 建议 | 建议列表 | Quick Review 卡片堆,可拖动或用键盘作答 | | 威胁 | 威胁详情 | “Why?”时间线,列出所观察到的情况 | | 菜单栏 | 状态图标 | 拦截时闪一下红色;上传峰值期间显示红色箭头和国家代码 | | FireAI Pilot | 0.1.8 中全 Mac 共用一个配置;自 0.1.8 build 3 起按网络区分 | 按 Wi-Fi 网络和安全模式分别学习 | | CPU 占用 | 自 0.1.8 build 3 起降低 | 只重绘发生变化的部分;地球仪在后台时暂停 | *每个构建版本的发布说明见[发布页面](https://hisnlabs.com/en/whats-new)。* ## 世界地图:用形状表示吞吐量 在 0.1.8 中,地图上的弧线代表历史总量,即使连接已经沉寂,弧线上的圆点仍在移动。总量几乎说明不了当下,而空闲线路上移动的圆点暗示着并不存在的活动。现在,世界地图绘制的是“数据河流”。线宽按对数刻度跟随实时吞吐量,范围约从 1 KB/s 到 1 MB/s。App 上传时,白色圆点从 Mac 流出;下载时,彩色圆点流回,而且只在有数据流动时才会出现。空闲线路保持细而静止,因此地图上的运动总是意味着流量。[世界地图文档](https://hisnlabs.com/zh/docs/world-map)列出了详细信息。 在会改变对连接的理解之处,界面补充了上下文。地球真实的夜半球会加上阴影,一个小月亮标记当地正值夜间却仍然繁忙的目的地,连接卡片还会给出目的地的大致当地时间,例如“About 1 AM there”(当地约凌晨 1 点)。地球仪周围的一个圆环显示各国在当前流量中所占的份额,标注为“LIVE · 1.2 MB/s”。指向某一扇区会显示该国家、其份额和速度,并淡化其他国家的线路,以便单独查看一个国家。 ## Requests by country:在你注视的地方操作 在地球仪下方,一个新列表显示每个国家的国旗、一根条形和一个请求数,即连接数与被拦截尝试数之和。选中某一行时,地球仪会沿最短路径平滑转到该国家并加上标签。再次选中该行,地球仪会继续旋转,不会跳动。相邻国家的标签会堆叠排列,而不是相互重叠。 这样设计的原因是让观察与操作彼此靠近。指向某一行会显示两个按钮。Filter 会把地球仪和列表都限定在该国家。Block 会在确认后,为已在该国家见过的目的地创建拦截规则。该国家中的新目的地仍会发出询问,或遵循当前模式,因此这一操作覆盖的是已观察到的内容,而不会悄悄扩展到未观察到的内容。参见 [Requests by country and upload spikes](https://hisnlabs.com/zh/docs/requests-by-country-and-upload-spikes)。 > 世界地图和国家列表是 FireAI 1.0 的一部分。提供 17 天试用。 [Download FireAI for Mac](https://hisnlabs.com/en/download) ## 上传峰值:指明国家的提醒 当某个国家在过去 10 秒内收到至少 5 MB、且至少是其平常速率的 10 倍时,就会被标记。该国家会以红色移到列表顶部并显示速度,例如“↑ 4.2 MB/s”,同时出现一行红字:“Unusual upload to France · since 14:02”(向法国的异常上传,始于 14:02)。地球仪显示红色线路和一个跳动的标记,Home 的天气变为“Storm”(暴风雨),菜单栏显示红色 ↑ 和国家代码。 因此,同一事实会显示在四个地方,各自对应用户可能处于的不同关注程度:菜单栏供一瞥,Home 供一段会话,地图供调查,列表供决定。峰值结束后,标记保留一分钟。备份这类稳定的上传在大约两分钟后会被视为正常,从而减少对预期行为的重复提醒。FireAI 不会自行拦截这些流量;提醒说明发生了什么,并把决定留给用户。 ## Activity:一条心跳条记录一分钟的行为 现在,每个连接都带有一条 60 秒心跳条,显示在其卡片上,也作为表格中的“Last minute”(最近一分钟)列。尖峰代表突发,波浪代表持续的数据流,红色刻度代表一次被拦截的尝试,平线代表安静的连接。心跳条每秒更新一次,且只在屏幕上可见时更新。它用一种可以在各连接间一眼比较的形状,取代了一排速率数字。详见 [Activity and connection history](https://hisnlabs.com/zh/docs/activity-and-connection-history)。 被拦截的连接带有一个 Replay 按钮。它会播放一段 2 秒的动画:一个数据包离开 App,负责拦截它的那一部分对应的 FireAI 吉祥物接住数据包,目的地处出现一个 ✕。动画之后会显示是什么拦截了该连接,以及它尝试了多少次。其目的是按事件发生的顺序回答“是什么阻止了它?”,而无需单独的日志视图。 ## Home、菜单栏和吉祥物:没有原因就不动 Home 现在以一个隐私天气胶囊开头。“Clear”(晴朗)表示这一小时内没有任何拦截,“A few clouds”(少云)和“Showers”(阵雨)分别表示有一些和有很多被拦截的连接,“Storm”(暴风雨)表示出现上传峰值,“Sheltered”(庇护中)表示紧急断网开关已开启。“Calm”(平静)和“Calm night”(平静的夜晚)表示几乎没有任何数据外发。点按胶囊会打开 Activity,在暴风雨期间则打开世界地图。[Home 仪表板文档](https://hisnlabs.com/zh/docs/home-dashboard)描述了每种状态。 3D 吉祥物会对同样的事件作出反应。遇到一波拦截(定义为 10 秒内五次或以上)时它会摇头,遇到上传峰值时会跳起来,深夜几乎没有流量时会打盹。没有事情发生时,它不会进行任何绘制。菜单栏图标也遵循这一规则:发生拦截时闪红约一秒,最多每 3 秒一次;上传峰值期间显示红色 ↑ 和国家代码(参见 [Menu bar widget](https://hisnlabs.com/zh/docs/menu-bar-widget))。在这里,动画被用作信号,因此没有动画本身也是一种信息。 ## Quick Review、威胁时间线和 FireAI Pilot [Quick Review](https://hisnlabs.com/zh/docs/quick-review-suggestions) 把建议列表变成一叠卡片。拖动卡片或按 ← 为拦截,→ 为允许,↓ 为跳过,Esc 为停止。拖动时会出现 BLOCK 和 ALLOW 印章,让人在松开卡片之前就能看到结果,最后会显示一份汇总。每个回答都会创建规则并教会 FireAI Pilot,因此一个决定只需做一次,却能用两次。 在[威胁页面](https://hisnlabs.com/zh/docs/the-threats-page)上,“Why?”时间线会列出该 App 首次联网的时间及其是否已签名、它与服务器的首次接触以及服务器所在国家、各项警示迹象,以及 FireAI 采取了什么措施。这样,判断结论会按顺序附上证据。 [FireAI Pilot 按 Wi-Fi 网络和安全模式分别学习](https://hisnlabs.com/zh/docs/fireai-pilot-learns-per-network),这一变化始于 0.1.8 build 3,并成为 1.0 的一部分。网络以其名称或已保存位置的简短指纹形式存储,绝不存储名称本身,而且只保存在 Mac 上。读取 Wi-Fi 名称需要定位权限。在其他网络上作出的决定,其权重约为在当前网络上作出的决定的三分之一。 ## 更低的 CPU 占用 “除非有事发生,否则不动”这一规则对资源占用有一个附带效果。Home 只重绘发生变化的部分,地球仪以每秒 24 帧绘制,并在 FireAI 处于后台时暂停,3D 吉祥物在入场动画之后停止绘制。心跳条只在可见时更新。FireAI 是一个在其他工作旁持续运行的程序,因此其界面被设计为在网络安静时几乎不占资源。 ## 我们坚持的设计原则 - 呈现状态,而不是数字:在读到任何数字之前,宽度、颜色、形状和一个天气词语就已传达出含义。 - 在你注视的地方操作:Filter 和 Block 位于国家行上,Replay 位于被拦截的连接上,回答位于卡片上。 - 除非有事发生,否则不动:运动表示有流量,静止表示安静。 - 每条提醒都用平实的语言说明发生了什么以及可以怎么做,FireAI 不会在没有用户参与的情况下对上传峰值采取行动。 - 操作只覆盖已观察到的内容:按国家拦截只适用于已见过的目的地,新的目的地交由当前模式处理。 ## 局限 - 上传阈值(10 秒内至少 5 MB,且为平常速率的 10 倍)是一种启发式规则。低于该阈值的短暂合法上传不会被标记,而向经常接收大量上传的国家进行的大规模上传也可能不会被标记。 - 目的地所在国家是根据其地址推断的,当地时间和夜间标记是针对该国家的近似值。 - 按国家拦截覆盖的是已见过的目的地,并不是针对整个国家的规则。 - 稳定的上传按设计会在大约两分钟后被视为正常,因此缓慢、持续的数据传输在此之后不会被标记。 - 没有定位权限时,FireAI 无法读取 Wi-Fi 名称,FireAI Pilot 也就无法区分不同网络。 ## 如何更新 FireAI 可以在设置中自行更新。未开启自动更新的用户可以[下载 FireAI 1.0](https://hisnlabs.com/zh/download)并免费试用 17 天。[发布页面](https://hisnlabs.com/en/whats-new)列出了每个构建版本的变化。 ## FireAI 和 HisnLabs 在其中扮演的角色 看清你的 Mac 在与哪里通信,并在同一个界面上直接处理。 FireAI 是 HisnLabs 自己的产品:一款直接在 Mac 上运行的 AI 防火墙。它用通俗易懂的语言显示你的应用建立的每一个连接,并让你决定哪些数据可以离开你的 Mac——它的 AI 在本地运行,因此你的流量永远不会发送给我们或任何其他人。HisnLabs 的安全研究团队负责让这些判断保持准确:归类哪些域名只是普通的遥测、哪些属于真正的服务,追踪连接背后的国家和网络,并用真实的流量模式训练设备端模型(FireAI Pilot 功能)——这一切都不会离开你的 Mac。 你可以阅读它背后的技术决策,或试用 FireAI 17 天:[HisnLabs 出品的 FireAI](https://hisnlabs.com/zh/download)。 ## Sources - [FireAI release notes](https://hisnlabs.com/en/whats-new) - [FireAI docs: World map](https://hisnlabs.com/en/docs/world-map) - [FireAI docs: Requests by country and upload spikes](https://hisnlabs.com/en/docs/requests-by-country-and-upload-spikes) - [FireAI docs: Activity and connection history](https://hisnlabs.com/en/docs/activity-and-connection-history) - [FireAI docs: Home dashboard](https://hisnlabs.com/en/docs/home-dashboard) - [FireAI docs: Quick Review for suggestions](https://hisnlabs.com/en/docs/quick-review-suggestions) - [FireAI docs: The Threats page](https://hisnlabs.com/en/docs/the-threats-page) - [FireAI docs: Menu bar widget](https://hisnlabs.com/en/docs/menu-bar-widget) - [FireAI docs: FireAI Pilot learns per network](https://hisnlabs.com/en/docs/fireai-pilot-learns-per-network)