千手网络行为清单
本地优先不是一句口号,而是可以逐条核对的网络行为承诺。本页穷举千手桌面客户端会发生的每一类网络请求(何时、发往哪里、带什么、如何关闭),以及永不发生的行为。防火墙审计时可直接对照。
会发生的网络请求(共 12 类)
除「更新检查」与 Chromium 运行时基础行为(末条)外,其余全部由用户显式动作或显式配置触发——不配置就不出网。
更新检查
- 触发
- 启动后自动检查目前仅 macOS 正式包(延迟约 5 秒);各平台可在菜单/设置手动检查
- 目的地
- files.octoooo.com(版本描述文件 latest*.yml;发现新版本且用户同意后才下载安装包)
- 数据内容
- 标准 HTTP 请求(携带当前版本号语义的 feed 拉取);不含文件、邮件或任何业务数据
- 如何控制
- 暂无应用内关闭开关(手动检查始终可用);隔离环境阻断该域名即可,检查失败静默、不影响使用
AI 模型调用 — 用户自有模型(DirectEngine / BYOK)
- 触发
- 用户显式发起 AI 任务时
- 目的地
- 用户自己配置的模型供应商 API(如 DeepSeek / Kimi / 智谱 / 自部署 vLLM 等)
- 数据内容
- 当次任务的提示词与所附上下文(用户选择的文件片段/邮件内容等);API Key 存本机系统密钥链,不经千手服务端
- 如何控制
- 不配置模型则完全不出网;可接入企业内网自部署模型实现全内网闭环
AI 模型调用 — 组织模型(ProxyEngine)
- 触发
- 登录企业服务端且使用组织下发模型时
- 目的地
- 企业服务端 /api/ai/execute(服务端再转发模型供应商;组织 API Key 只存服务端)
- 数据内容
- 当次任务的提示词与上下文;SSE 流式返回
- 如何控制
- 不登录企业服务端则该路径不存在;私有化部署时全程企业内网
邮件收发
- 触发
- 用户添加邮箱账户后的同步与发送
- 目的地
- 用户配置的 IMAP/SMTP 服务器;Google / Microsoft OAuth 授权流走对应官方端点
- 数据内容
- 标准邮件协议流量(TLS);凭据存系统密钥链
- 如何控制
- 不添加邮箱账户则无此类请求;可随时删除账户
网络搜索 / 网页抓取
- 触发
- 用户或智能体在任务中显式使用 Web 搜索 / URL 抓取工具时
- 目的地
- 所配置的搜索 Provider 与目标网页(抓取带 SSRF 防护,默认拦截内网地址)
- 数据内容
- 搜索关键词 / 目标 URL;返回内容进入当次任务上下文
- 如何控制
- 设置 → AI → 工具 中可切换 Provider 或全局禁用
MCP 工具调用
- 触发
- 用户显式注册 MCP 服务器并在任务中调用其工具时
- 目的地
- 用户配置的 MCP 服务器地址(含其 OAuth 授权端点)
- 数据内容
- 按所调用工具的参数而定;高风险调用需人工确认,全部进审计
- 如何控制
- 不注册则无此类请求;每个服务器可单独管理工具白名单
MinerU 云端文档解析(可选 OCR 增强)
- 触发
- 仅在用户显式配置 MinerU API Key 并选用云解析时
- 目的地
- mineru.net(或用户自定义端点)
- 数据内容
- 被解析的文档内容(这是明确的外发数据流,界面有诚实标注)
- 如何控制
- 默认不启用——未配置 API Key 时调用直接失败不出网;常规 OCR 走本机引擎(macOS Vision / Windows OCR / Tesseract)
企业服务端账户与配置同步
- 触发
- 用户登录企业服务端后
- 目的地
- 企业服务端(认证 /api/auth、模型与智能体配置 /api/models/sync、/api/agents/sync、审计上报等)
- 数据内容
- 账户凭据(TLS)、组织配置、按组织策略上报的审计事件
- 如何控制
- 本地模式不登录即完全无此类请求;私有化部署时全程企业内网
License 在线校验(团队/企业授权)
- 触发
- 仅在连接企业服务端并使用在线授权时(激活 / 心跳 / 解绑)
- 目的地
- 企业服务端 /api/license/*
- 数据内容
- 授权状态与设备标识;离线授权码走本地验签,不联网
- 如何控制
- 离线授权码模式零网络请求;本地免费能力不依赖任何 license 请求
移动端-桌面端远程连接
- 触发
- 用户主动配对移动设备时
- 目的地
- 同一局域网直连,或用户自带网络(Tailscale/WireGuard 等);仅选用千手托管中继时经中继服务器
- 数据内容
- 端到端加密的业务流量(托管中继只转发密文,不持业务密钥)
- 如何控制
- 不配对则无;LAN / 自带网络路径不经千手任何服务器
OctoReport 远程调研交接
- 触发
- 企业同时部署 OctoReport 且用户显式交接调研任务时
- 目的地
- 企业服务端 → 企业内部 OctoReport 集成网关
- 数据内容
- 调研任务描述与产物回执;integration_key 只存企业服务端
- 如何控制
- 未部署 OctoReport 则入口不可用;不阻断其他功能
Chromium 运行时基础行为(拼写检查词典)
- 触发
- Windows / Linux 上输入框启用拼写检查时,Chromium 按界面语言自动下载 hunspell 词典(一次性)
- 目的地
- Google 词典分发域(Chromium 内置行为);macOS 使用系统拼写服务,不产生此请求
- 数据内容
- 词典文件下载请求;不含任何用户输入内容(拼写检查本身在本机进行)
- 如何控制
- 隔离环境阻断该域仅影响拼写下划线提示,不影响其他功能
永不发生的行为
本地文件内容不自动上传
文件索引(FTS5 全文索引)完全在本机构建与存储;添加监控文件夹、预览、检索均不产生外发请求。文件内容离开本机只有三种情况,且全部由用户显式触发:发起 AI 任务时作为上下文发往所选模型端点、显式启用 MinerU 云解析时发往所配解析端点、通过端到端加密的远程连接在自己的设备间传输。
邮件正文不自动外发
桌面端邮件同步只发生在用户邮箱服务器与本机之间,不经千手服务端。AI 处理邮件同样只在用户显式发起时按所选引擎的数据流路径进行。(移动端伴侣的邮件中继是独立的可选企业服务,走企业服务端且有独立的数据边界说明。)
无遥测、无行为统计、无崩溃自动上报
客户端不内置任何统计 SDK;运行指标(性能计时等)仅写本机日志。我们通过更新 feed 的请求量估算活跃规模(不含任何标识符与业务数据),并如实按"近似值"对待。
无后台采集 / 无定时抓取
桌面端没有 RSS 采集器、定时爬取或后台报告调度;深度调研的网络检索只在用户发起调研时进行。周期性采集类需求由企业自行部署的 OctoReport 承担。
API Key 与凭据不上传
用户自有模型的 API Key、邮箱密码、OAuth token 均存本机系统密钥链(Keychain / DPAPI / libsecret);组织模型的 Key 只存企业服务端、永不下发客户端,反向同理。
保险箱内容对一切网络与 AI 隔离
保险箱(vault)中的文件不参与索引、OCR、AI 上下文、导出与远程文件通道;不存在把保险箱内容发往任何网络端点的代码路径。
如何自行验证
我们鼓励安全团队在部署评估中直接抓包验证上述承诺:在隔离网络中运行千手本地模式(不登录企业服务端、不配置云端模型),用防火墙或代理观察出站连接——预期仅有 macOS 正式包的一次更新检查与 Chromium 运行时基础行为(均可阻断,阻断后核心功能不受影响)。逐项开启邮箱、模型、搜索等配置,即可对照本清单核对每类请求的目的地与触发条件。
本页随产品行为变更同步维护;若发现清单与实际行为不符,请通过octoooo@octoooo.com告知我们,我们将按安全问题处理。更多安全机制(加密、审计链、IPC 信任模型)见安全与合规。