Skip to content

Latest commit

 

History

History
109 lines (83 loc) · 11.6 KB

privacy.md

File metadata and controls

109 lines (83 loc) · 11.6 KB

数据与隐私

简体中文 | English | 日本語 | 한국어 | Русский | Español | Português (Brasil)

一句话结论: 对话、记忆、文件和密钥存在你的设备上;发给模型的内容会发到你选定的模型供应商:用官方 API Key 时直连,否则经过 Modelflare 转发。我们不声称能做到万无一失——凡是发给模型的内容,都会离开你的设备。

这份文档说明 AnyModelBot 把什么存在哪里、什么会离开你的设备、怎么删除。有问题可以发邮件到 support@anymodel.bot。

数据目录

运行方式 数据目录
桌面版 · Windows %APPDATA%\anymodel bot\data
桌面版 · macOS ~/Library/Application Support/anymodel bot/data
桌面版 · Linux ~/.config/anymodel bot/data
命令行 npm start ./data(环境变量 AMB_DATA_DIR 可改)
Docker 容器内 /data(README 示例里挂载为卷 amb-data)

数据清单

数据 存放位置(数据目录内) 会离开设备吗 去向
对话与会话 anymodel.db(SQLite) 回答需要的那部分会 作为模型请求的上下文,经 Modelflare 发给你选定的供应商
导入的技能 skills/<机器人 ID>/;启用项复制到 dsh/<机器人 ID>/skills/ 名称和说明、使用时读取的正文与资料会 作为上下文发给所选模型;导入仅上传到你使用的 AnyModelBot 实例,不访问 GitHub
聊天搜索索引 anymodel.db 的 message_search 及其全文索引 不会 在实例内搜索已保存的消息,不调用模型
记忆 memory/(Markdown:bots/、groups/、team/) 被用到时会 作为上下文进入模型请求;写入前会过滤看起来像密钥的内容
机器人工作区文件 workspaces/<机器人>/(含收到的文件 inbox/、生成的图片和视频 media/) 机器人读取并发给模型时会 同上
Modelflare 登录凭据 modelflare-account.json(权限 600) 只在刷新令牌时发给 modelflare.dev Modelflare
API Key 内置网关的隔离配置 magpie/config/ 每次模型请求作为鉴权发给 Modelflare Modelflare
官方 API Key(如果你填了) 内置网关的隔离配置 magpie/config/ 每次模型请求作为鉴权发给对应的厂商 对应的模型厂商
微信登录态与同步游标 数据目录内(weixin/ 等) 与微信 iLink 接口通信时会 腾讯微信
飞书聊天账号的 App ID / Secret anymodel.db 与飞书开放平台建立长连接时会 飞书
Telegram、Slack、Discord 的 token anymodel.db 与对应平台通信时会 你接入的平台
允许名单与使用请求 anymodel.db:谁能用哪个渠道账号、陌生人发来的第一条消息(截断,帮你认出是谁) 不会 —
待发送的回复 anymodel.db 的出站队列:还没发出去的消息内容和原因,包括等对方下次发消息再发的微信消息(最多留 7 天;发出去的留 7 天、发不出去的留 30 天后删除) 发送时会 微信 / 飞书
后台任务和规则 anymodel.db(任务、规则、运行记录,留 30 天);任务文件夹在 workspaces/<机器人>/tasks/,30 天没动过会删除(先在「需要你」里告诉你);它们的会话记录在 dsh/<机器人>/sessions/,随任务一起删除 运行时会 同对话:作为模型请求的上下文,经 Modelflare 发给你选定的供应商
设置 config.json 不会 —
日志 logs/app.log(按大小轮转) 不会;「复制诊断信息」由你手动复制,密钥已替换成 *** —
连接应用的凭证(你连接了才有):授权登录的令牌、粘贴的令牌和 Key、专属链接、自定义 MCP 的请求头 / 查询参数 / 环境变量 app-secrets.json(权限 600,不在数据库里);日志、诊断包和界面里都打码 每次读写时作为鉴权发给对应的服务;本地命令的环境变量只交给你添加的那个本地程序 你连接的应用(飞书、腾讯文档、钉钉、高德地图、语雀、Notion、GitHub、Linear、Atlassian、Canva),或你添加的自定义 MCP 服务
连接的名称、地址、状态和工具清单 anymodel.db(专属链接、带 Key 的地址只存打码后的样子) 不会 —
机器人从已连接的应用里读到的内容(文档、消息、工单…) 不单独保存,进入对话后和对话存在一起 会 作为模型请求的上下文,经 Modelflare 发给你选定的供应商
屏幕截图(电脑操作) 不长期保存 会 作为模型请求的一部分,经 Modelflare 发给支持视觉的模型;不会转发到微信或飞书聊天,除非你要求作为文件发送

本地控制台的访问控制

  • 管理界面默认只监听 127.0.0.1:3600,局域网和公网访问不到。
  • 桌面版每次启动都会生成一个随机访问令牌,其他本机程序无法直接调用管理接口。
  • 监听非回环地址时(例如 Docker 里的 0.0.0.0)强制令牌访问,令牌在数据目录的 ui-token(Docker:docker exec amb cat /data/ui-token)。
  • 不要把 3600 端口直接暴露到公网;需要远程访问时,请放在你自己控制的 VPN 或带鉴权的反向代理后面。

登录 Modelflare

  • 使用 OIDC 授权码 + PKCE(RFC 7636),按 RFC 8252 作为原生应用:AnyModelBot 是公共客户端,没有客户端密钥,授权结果回调到本机回环地址的临时端口。
  • 登录过程在 modelflare.dev 完成,AnyModelBot 看不到你的 Modelflare 密码。
  • 在 Modelflare 个人资料页的「已授权的应用」里可以随时撤销这台设备的授权;应用里「退出登录」也会撤销授权,并删除为这台设备和各个机器人签发的 Key。

模型请求与 Modelflare

  • 模型请求由内置的 magpie 网关发往 Modelflare,再由 Modelflare 转给你选定的模型供应商。
  • 请求里包含模型回答所需的内容:提示词、对话上下文、被用到的记忆、文件内容、工具结果,以及电脑操作时的截图。
  • 请求带有 X-Modelflare-Skill: anymodel-bot/<版本> 头,用于在 Modelflare 侧标识来源;应用里打开的 Modelflare 链接带 utm_source=anymodelbot。 从应用打开充值页时,网址 # 后面带着登录时 ID Token 里的账户标识(#amb_account=…,不是密钥),Modelflare 网页据此核对浏览器里登录的是不是同一个账户;# 后面的内容不会发给服务器、CDN 或统计脚本。「已切换 Key 配置」的提示只在本机用随机盐对 Key 算 HMAC 做比较,不保存、也不上传 Key 或它的摘要。
  • Modelflare 会保留请求日志;保留什么、保留多久,见 Modelflare 信任中心。各模型供应商对数据的处理,以它们各自的条款为准。

用自己的官方 API Key

  • 在引导页或 设置 → 模型 填入 OpenAI、Anthropic 等厂商的官方 Key 后,这些厂商的模型请求由内置网关直接发给厂商,不经过 Modelflare,也不带 X-Modelflare-Skill 头。这些内容的保留方式以对应厂商的条款为准。
  • 厂商地址写死在应用里,界面和接口都不能改,Key 不会被发到别处。Key 只存在内置网关的隔离配置里(权限 600),不写日志、不进命令行参数,界面只显示末 4 位。
  • 只填官方 Key、没有登录时,应用不会读取 Modelflare 的账户数据和价格目录。填写 Key 时,应用会用它向厂商读取一次模型列表来校验,之后每小时读一次来更新列表。
  • 内置网关从 models.dev 读取公开的模型目录(上下文长度、参考价)。这个请求只下载,不带 Key 和对话内容。
  • 生图和生视频只能通过 Modelflare 使用。

遥测

  • 内置电脑操作驱动(Cua Driver)的遥测通过环境变量 CUA_TELEMETRY_ENABLED=0、CUA_DRIVER_RS_TELEMETRY_ENABLED=0 关闭。
  • 内置网关 magpie 以关闭自动更新、关闭账户发现的方式运行,不读取你电脑上已有的其他 AI 工具凭据。
  • AnyModelBot 自有代码(src、electron、ui、scripts、dsh-runtime/plugins)里没有分析或遥测上报:搜索 telemetry、analytics、sentry、posthog、mixpanel,只命中上面 Cua 的两个环境变量。
  • 随附的第三方组件各自的行为以它们的文档为准,这里不作保证。

应用自己会发起的其他网络请求

除模型请求外,应用还会在以下情况联网:

  • 读取 Modelflare 的模型目录、余额、用量和通知(你的账户数据,发往 modelflare.dev)。
  • 生成图片或视频时,从 docs.modelflare.dev 读取该模型的请求格式。
  • 微信渠道:与 ilinkai.weixin.qq.com 通信,并从微信 CDN 下载你发来的图片和文件。
  • 飞书渠道:与飞书开放平台保持长连接。
  • Telegram、Slack、Discord 渠道:接入后与 api.telegram.org、slack.com、discord.com 及其文件地址通信,用来收发消息和你发来的文件。
  • Windows 上开启代理模式且系统里没有可用的 PowerShell 7 时,从微软官方发布地址下载 PowerShell 7(可用 AMB_PWSH_AUTO_INSTALL=0 关闭,详见开发文档)。
  • 桌面安装版启动后及每 6 小时向 GitHub 检查应用更新,默认后台下载更新文件;可在「设置 → 常规」关闭自动下载。请求不带账户凭据或聊天内容,安装需要你点击「重启并更新」,且没有正在运行的任务。
  • 查看还没安装的新版本「更新了什么」时,从 GitHub(raw.githubusercontent.com)读取那个版本的更新日志。只在你点开时请求,不带账户凭据或聊天内容;已安装版本的更新日志随应用打包,不联网。
  • 仅当你显式设置 AMB_CATALOG_URL 使用远程 Bot 目录时,才会读取远程列表并按需下载经过签名和哈希校验的包,不上传你的数据。默认的官方 Bot 目录、界面、示例数据和技能均随应用内置,打开和安装不发起这些网络请求。

电脑操作与截图

  • 读取屏幕会截图,截图作为模型请求的一部分发给支持视觉的模型。
  • 默认所有电脑操作自动执行;可以在 机器人设置 → 电脑操作 改为「改变界面的操作先问我」,读取屏幕仍然自动。
  • 权限预设为「只读」的机器人只开放读取类工具。

渠道

  • 你在微信、飞书、Telegram、Slack、Discord 里和机器人收发的消息,会经过这些平台的服务器,受它们各自的隐私政策约束。
  • 默认只有主人和你允许的人能和机器人对话;其他人发来的消息不会交给模型,只登记成使用请求(见 开发文档)。

如何删除数据

  1. 退出 AnyModelBot(托盘菜单 → 退出)。
  2. 删除上面表格里的数据目录。Docker:docker rm -f amb && docker volume rm amb-data。
  3. 在 Modelflare 个人资料页的「已授权的应用」里撤销 AnyModelBot 的授权。
  4. 如有需要,在飞书开放平台停用你创建的应用(包括扫码时自动创建的),在微信里解除与机器人的绑定;在 Telegram(@BotFather)、Slack、Discord 上删除你创建的机器人;在各个应用自己的设置里(Notion、飞书、GitHub 等)断开 AnyModelBot 的授权,删除你创建的令牌和 Key。