Skip to content

安全、隐私与数据流 ​

Halo 的安全与权限控制说明:哪些数据留在本机、哪些会发出去,密钥怎样存放,AI 和 IM 访客、其他电脑的同事各能做什么,远程访问有什么风险。

Halo 运行在你自己的电脑上。对话、文件、记忆和密钥都存在本机,Halo 没有保存这些内容的云端。会离开电脑的,主要是发给你所选模型服务商的对话内容,以及你主动打开的连接。你本人使用时,AI 执行工具不会逐次征求确认;对 IM 访客和其他电脑上的同事,Halo 会按你的设置限制。

本页适用于 Halo 3.0.4 公开版。公司提供的 Halo 可能在凭据加密、浏览器访问范围、隧道等方面另有设置,以你屏幕上看到的为准。

哪些留在本机,哪些会发出去 ​

下表列出 Halo 会主动连接的所有对象。除此之外的数据都只在你的电脑上。

连接对象什么时候连接发出去的内容你能怎样控制
你配置的模型服务商(Claude、ChatGPT、GitHub Copilot、自定义 API 等)每次对话、每次数字人运行对话上下文:你的消息、附件内容、AI 读到的文件和工具结果在 设置 › AI 模型 选择服务商,见模型与账号。内容如何处理,以该服务商的政策为准
登录服务(各家的 OAuth 登录)你登录账号、令牌刷新时登录所需的授权信息不用的账号在 设置 › AI 模型 里退出登录
商店来源(数字人协议官方源、MCP Official Registry、Smithery、Claude Skills Registry、SkillHub)打开商店时;每 6 小时检查一次已装内容的更新目录查询;安装时下载软件包在 设置 › 应用商店 里关掉不需要的来源
更新源(项目在 GitHub 上的发布页)启动后 5 秒、每 60 分钟、电脑唤醒后版本检查;有新版本时下载安装包见更新 Halo
使用统计(Google Analytics、百度统计)Halo 运行期间使用事件,例如启动、打开了哪个页面、发了一条消息、数字人运行了一次;附带本机随机生成的安装 ID,以及版本号、操作系统等信息。消息事件只记录「发了一条消息」,不含消息文字公开版的设置里没有关闭开关
隧道和 Halo 的地址服务只在 设置 › 远程访问 › 互联网访问 启动隧道后远程客户端和这台 Halo 之间的全部流量,经 Cloudflare 隧道转发;第一次启动时向 Halo 的地址服务申请这台设备的固定地址停止隧道。见远程访问
联邦网关只在你填写了 联邦网关 后跨网络团队协作的流量,网关只做中转留空就只在局域网内组队。公开版没有内置网关,见联邦网关
IM 平台(企业微信、飞书、微信)接入了机器人时机器人收到和发出的消息、发送的文件在 设置 › 消息通道 断开或删除机器人
网页搜索AI 搜索网页时搜索词,默认发给必应(英文)或百度(中文),只有指定时才用 Google这是内置能力,始终可用
AI 浏览器访问的网站网页控制 打开时(新对话默认打开,之后沿用你上次的选择)普通的网页访问,带着你在 Halo 浏览器里的登录状态在输入框 + › 能力 关掉 网页控制,见AI 浏览器
你自己添加的 MCP 服务器、邮箱它们被调用时取决于该服务器或邮件服务在能力库或 设置 › 消息通道 里管理

另外几点:

  • 崩溃报告只存在本机,Halo 不会上传。需要时你可以在 设置 › 系统 › 崩溃报告 › 打开文件夹 找到它们,自己发给支持人员。
  • 代理:设置 › 系统 › 代理 对 Halo 自己的流量生效,包括模型请求、商店,以及 Halo 启动的 AI 和 MCP 进程。检查和下载更新始终走系统代理。AI 浏览器默认走系统代理,只有打开 同时应用于AI浏览器 才走这里的代理。详见网关与代理。
  • 远程访问打开后,这台电脑会接受连接:Halo 在所有网卡上监听(默认端口 3456),同一局域网的设备输入访问密码后就能连上。

数据存放在哪里 ​

Halo 的数据在两个文件夹里:

文件夹里面有什么
~/.halo(Windows:%USERPROFILE%\.halo)config.json(设置和凭据)、halo.db、工作区、知识库、团队工作记录等
应用数据文件夹(macOS:~/Library/Application Support/halo)AI 浏览器的 Cookie 和登录状态、AI 引擎的配置目录、崩溃报告

各系统的完整路径、日志位置和环境变量 HALO_DATA_DIR,见配置与数据路径。

密钥和凭据 ​

  • 公开版以明文保存凭据。 API Key、登录令牌、远程访问密码等都以明文写在 ~/.halo/config.json 里;MCP 服务器的环境变量和请求头、数字人配置里填的值,也以明文存在 Halo 数据文件夹里。任何能读这些文件的人或程序,都能拿到它们。
  • 设置里的密钥只显示为 ***。 模型服务的 API Key 和登录令牌、消息通道的密钥、远程访问密码,在桌面版、远程访问的网页、Android 应用和 API 返回里都被遮盖。例外:MCP 服务器的环境变量和请求头、数字人配置里填的值、商店来源的 API Key 按原样显示和返回,持有访问密码的远程客户端和 HTTP API 也能读到原值。AI 通过操作 Halo 读到的内容里,这些值都被遮盖。
  • 静态加密是构建选项,公开版没有打开。 公司定制的 Halo 可以打开它,打开后凭据加密保存。旧版本更新说明里的「凭据本地加密存储」不适用于 3.0.4 公开版。
  • Claude Code CLI 登录不经过 Halo 保存令牌。 用 Claude Code CLI 方式登录时,凭据由 CLI 自己保存和刷新,Halo 不保留令牌。

所以,请把数据文件夹当成钥匙串来保护:

  • 不要把 ~/.halo 放进网盘同步、共享文件夹或公开备份。
  • 不要把 config.json 发给别人。排查问题时,改用 设置 › 系统 › 系统诊断 › 导出报告:报告不含密钥本身;错误信息里的 Bearer 令牌、JWT 和部分 sk- 开头的 Key 会被遮盖,但 Anthropic(sk-ant-…)和 OpenAI 项目 Key(sk-proj-…)这类格式不会,所以发出前先通读一遍,见日志与诊断。
  • 电脑设登录密码,别和他人共用系统账号。
  • 设置 › 高级 › Claude CLI 集成 › 配置目录 选 Claude CLI 默认 会和独立安装的 Claude CLI 共用 ~/.claude,界面标为 高风险。没有特别需要,保持 Halo 默认。

AI 执行工具不会逐次确认 ​

你本人使用时,AI 运行命令、修改和删除文件、调用工具,都不会先征求你的同意。

在 设置 › 系统 顶部的 权限 卡片上,可以看到标记 完全权限模式,以及一直打开、不能关闭的 信任模式 开关(「自动执行所有操作」)。3.0.4 没有「每次调用前先问我」的模式。

唯一会让 AI 停下来等你的,是它在对话里提出的问题卡片:你回答后它才继续。IM 对话和计划任务运行这类无人值守的场合,没有这张卡片可用。

实际起限制作用的是这些:

限制作用
工作区对应的文件夹AI 主要在工作区里干活。只把工作区指向你愿意让 AI 改动的文件夹
输入框 + › 能力网页控制、AI 终端、操作 Halo 等开关决定 AI 有没有这些工具,AI 自己打不开开关,见能力
设置 › 高级 › 内置MCP扩展关掉某组内置工具,AI 就用不了
非本人发起的请求IM 访客和其他电脑上的同事受权限设置约束,见IM 访客和其他电脑

操作 Halo 默认关闭。打开后,AI 能通过 Halo 自己的接口改动这台 Halo 里所有工作区、数字人和团队,不限于当前工作区,删除也没有确认弹窗;只有不可撤销的操作,AI 会被要求先用白话和你确认。即使打开,AI 也不能添加模型来源,不能改权限、外观等通用设置,不能动远程访问。少数接口能接收密钥(已有微信机器人的 Token、商店来源的 API Key;修改模型来源的接口也能收 API Key,但 Halo 让 AI 不要这样做),在对话里打出的密钥会留在对话记录里并发给模型服务商,请在设置里自己填。详见操作 Halo 的安全须知。

日志里有什么 ​

日志内容注意
普通日志(main.log)运行信息和错误。写入前会遮盖密钥10 MB 轮转,保留 5 份
远程访问审计日志(auth-audit.log)远程登录的成功、失败和锁定记录不含密码
http-raw.log(只在 开发者模式 打开时生成)Halo 发出的 HTTP 请求的完整请求头和请求体,包括 API Key 和对话内容,不做任何遮盖排查完立刻关掉,并删掉这个文件

开发者模式 在 设置 › 高级,默认关闭。界面上的提示是「生成大量日志文件,可能影响性能。故障排查后请禁用。」日志文件夹从 设置 › 系统 › 日志文件 › 打开文件夹 打开。

不要直接发送 http-raw.log

这个文件里有你的 API Key 和完整对话。需要给别人看诊断信息时,用 系统诊断 › 导出报告 生成的脱敏报告。

IM 访客能做什么 ​

把数字人接到企业微信或飞书机器人后,给机器人发消息的人分成两类:

身份怎么判定能做什么
主人在 主人用户 ID 列表里的人和你在本机使用一样,不受限制
访客其他所有人只能用你开放给访客的工具

要点:

  • 权限控制 在 设置 › 消息通道 ›(机器人卡片)› 权限 里。关闭时显示「所有人都有完全访问权限」,也就是每个发消息的人都等同主人。
  • 用 扫码添加机器人 创建的企业微信、飞书机器人,权限控制 会自动打开。主人列表为空时,第一个私聊机器人的人自动成为主人;群聊不会认领主人,没有主人的机器人在群里什么都不做。所以扫码后请你自己先私聊它一次。
  • 手动添加的机器人,公开版默认 不 打开 权限控制。如果会有别人给它发消息,记得打开。
  • 访客访问权限 关闭时,「访客只能聊天和使用记忆」:访客仍能收到回复,只是不能用工具。
  • 打开 访客访问权限 后,第一次默认只开放 读取文件、查找文件、搜索内容,而且只限这个工作区。网页、写文件、运行命令等要你逐项打开。
  • 访客永远拿不到 操作 Halo,也不能让数字人主动给别人发 IM 消息。群里主人和访客的消息被合并处理时,按访客的权限执行。
  • 个人微信机器人没有权限控制:每个给它发消息的人都拥有主人权限。只在只有你自己会发消息的场合使用它,见个人微信。

INFO

公司提供的 Halo 可能默认打开权限控制,或预设了访客可用的工具。

各开关的含义、如何获取自己的用户 ID、典型配置示例,见主人与访客权限。

来自其他电脑的请求 ​

跨电脑团队里,同事的数字人或同事本人可以请你的数字人干活。这些请求在你的电脑上执行,按你给每位成员的设置受限:

  • 邀请、加入和添加成员时,Halo 会问「你邀请的人可以让你的数字人做什么」,选项是 只读、读写文件、它通常可以执行的所有操作。在 3.0.4 里默认是 只读。
  • 之后可以在成员设置的 其他人可以要求它做什么 里细调,开关和 IM 访客的相同。
  • 来自其他电脑的请求始终可以使用记忆,文件访问只限这个工作区;只有全部打开时,才能像你一样访问工作区以外的文件。
  • 操作 Halo 永远不会借给同事。
  • 较早加入、从未单独设置过的成员会显示「尚未单独设置:其他电脑上的人可以使用它的全部能力。」看到这句,请为它选一个范围。
  • 你自己使用、你自己的数字人之间互相协作,都不受这些限制。

使用联邦网关时,网关只中转流量,不保存团队内容。但 Halo 没有在网关这一层再加密内容,网关管理员打开诊断用的 room.trace 时,日志里会记下成员的消息文字。所以只用你信任的网关,并通过 HTTPS / WSS 部署,见联邦网关能看到什么。

远程访问的风险 ​

打开 设置 › 远程访问 后,任何拿到访问密码的人都能完全控制这台 Halo。界面上的 安全警告 写的是:「启用远程访问后,任何拥有密码的人都可以完全控制您的计算机(读写文件、执行命令)。」

事实说明
密码自动生成 12 位,或自定义 8–64 位(需包含大小写字母和数字)。没有过期时间,改密码后所有已连接的客户端都要重新登录
单个 IP 锁定5 分钟内输错 5 次,该 IP 锁定 15 分钟
全局锁定所有 IP 合计 60 分钟内输错 10 次,所有客户端(包括你自己)锁定 30 分钟
锁定提醒桌面系统通知,文字为英文。重启 Halo 会清零计数
局域网连接走 http://,不加密。在公共网络里请改用隧道的 HTTPS 地址
互联网访问经 Cloudflare 隧道和 Halo 的地址服务转发,不是点对点直连。二维码里只有地址,不含密码

不用时关掉远程访问或停止隧道;怀疑密码泄露时立刻改密码,必要时用 更换地址 换掉公网地址。详见远程访问的安全须知。

AI 浏览器的登录状态 ​

  • Halo 里所有浏览器页面共用一份 Cookie 和登录状态:你的标签页、AI 打开的页面、数字人的页面都一样。你登录一次,AI 和数字人就能以你的身份访问这个网站。
  • 只在愿意让 AI 代你操作的网站上登录。
  • 设置 › 系统 › 浏览器数据 › 清除浏览器数据 会让所有网站退出登录,包括数字人用的网站,无法撤销。Halo 自己的数据不受影响。
  • 公开版不限制 AI 浏览器能打开哪些网站。限制访问范围的白名单只在公司定制版里有;这类版本允许时,设置 › 系统 里会出现 浏览器允许的站点。

更多用法见 AI 浏览器。

通过 IM 发送文件的限制 ​

AI 在 IM 对话里可以把报告、图片、PDF 发回聊天,但只能发数字人工作区里的文件,或系统临时目录里的文件。

  • 指向别处的快捷方式(符号链接)会先解析成真实位置再检查。
  • 对受限的对话(例如访客)关闭的文件夹,也发不出去。
  • 数字人主动推送 IM 消息时附带的文件,适用同一规则。
  • 访客的工具设置里还有单独的 File Send 开关,决定访客能否让 AI 发文件。

所以,不要把敏感文件放进对外机器人所用数字人的工作区。

Halo Server 的默认令牌 ​

Halo Server 没设置 HALO_REMOTE_PASSWORD 时,默认令牌是 halo123,人人都能猜到,而且只有 7 位,浏览器和 Android 应用都登录不了。部署前务必设置一个 8 位以上的强密码,见服务器配置。

管理员检查清单 ​

  • [ ] 工作区只指向愿意让 AI 改动的文件夹。
  • [ ] ~/.halo 没有放进网盘、共享文件夹或公开备份。
  • [ ] 开发者模式 已关闭,旧的 http-raw.log 已删除。
  • [ ] 每个对外的企业微信、飞书机器人都打开了 权限控制,主人是你自己,访客只开放了需要的工具。
  • [ ] 没有在多人会发消息的场合使用个人微信机器人。
  • [ ] 跨电脑团队里,每位成员都设置了 其他人可以要求它做什么,没有「尚未单独设置」。
  • [ ] 不需要时关掉 操作 Halo;新对话会沿用上次的开关。
  • [ ] 远程访问用了强密码,不用时关闭,隧道不用时停止。
  • [ ] AI 浏览器只登录了必要的网站。
  • [ ] Halo Server 设置了自己的 HALO_REMOTE_PASSWORD。

下一步 ​

基于 MIT 协议开源 · Open source under the MIT license