G0DM0D3隐私控制全解:无账号、无云同步的自托管数据流设计
【免费下载链接】G0DM0D3LIBERATED AI CHAT项目地址: https://gitcode.com/GitHub_Trending/g0/G0DM0D3
G0DM0D3是一款开源的多模型 AI 聊天界面,它把"数据去哪儿了"写成了明文:没有账号系统、没有云端历史同步,聊天记录只存在你自己的浏览器里。对于想自托管(self-host)、又担心提示词被上传的普通用户来说,这套隐私控制设计值得一读。本文用大白话讲清楚它的三条数据路径、一键关闭遥测的No-Log 模式,以及如何用Local-only 模式实现完全离线的本地数据闭环。
先搞清楚:AI 聊天工具的隐私痛点是什么?
大多数在线 AI 聊天产品有三个默认行为,而 G0DM0D3 全部反着来:
| 常见做法 | G0DM0D3 的做法 |
|---|---|
| 强制注册账号 | 无账号系统,打开就能用 |
| 聊天历史存云端 | 历史只存在浏览器localStorage,无云同步 |
| 偷偷收集使用数据 | 默认只收集结构化元数据,且可一键关闭 |
项目的完整说明见 README.md 的 "Privacy" 一节,更正式的三层数据政策在 TERMS.md。它的态度很直接:"不需要信任这份文档,去读代码验证。"
一分钟看懂:数据到底流向哪里?
G0DM0D3 官方把数据流分成三个层级(Tier),这是理解它隐私设计的关键。
Tier 1 —— API 元数据(API 服务器端):每次 API 请求都会记录"系统表现如何",比如耗时、模型名称、成功/失败、响应字符数(不是内容本身)、错误分类。记录的是"怎么跑的",而不是"你说了什么"。实现见 api/lib/metadata.ts。
Tier 2 —— 浏览器遥测信标(网页端,默认开启):在浏览器里生成一个随机临时的会话 ID(与任何账号无关),把模式、层级、耗时、得分、流水线配置等元数据批量发送到遥测端点。提示词文本、回复文本、图片、API 密钥都不在采集范围内。实现见 src/lib/telemetry.ts 与 functions/api/telemetry.ts。
Tier 3 —— 数据集贡献(默认关闭,需显式开启):只有 API 调用方在请求中发送contribute_to_dataset: true时才会保存完整对话内容并发布到公开数据集。网页版不暴露、不发送这个开关。实现见 api/lib/dataset.ts。
一句话总结:你说的话只会发给你自己配置的模型提供方(OpenRouter、Venice 或本地模型服务器),G0DM0D3 自身默认只记录"骨架"元数据。
隐私控制开关一:No-Log 模式(一键停掉遥测)
这是新手最应该知道的开关。路径:
Settings(设置)→ General(通用)→ No-Log Mode(无日志模式)
打开它会发生两件事:
- 停止新的应用遥测——不再向
/api/telemetry发送任何元数据事件; - 清空浏览器内存中尚未发出的遥测缓冲区——已经攒下的事件一并丢弃。
需要注意的是:No-Log 模式管的是G0DM0D3 自己的遥测,它不能改变模型提供方或服务宿主(如 Cloudflare)自身的网络日志。如果你想连"遥测辅助分类器"(会向辅助模型发送提示词生成一个分类标签)也一起跳过,No-Log 模式同样会跳过这个分类请求。
隐私控制开关二:Local-only 模式(最强本地边界)
如果你已经在本地跑模型(Ollama、LM Studio、llama.cpp 等),Local-only 模式是隐私的"满配"。开启后它同时做到:
- 排除OpenRouter 和 Venice 的所有模型调用,比赛只在你配置的本地模型之间进行;
- 自动关闭G0DM0D3 应用遥测,并清空待发送的遥测事件;
- 查询分类、评审、拒绝检查等辅助调用全部走本地模型;
- 对话、设置、密钥全部留在浏览器本地存储。
配合自托管页面(把index.html用python3 -m http.server 8080起在本地),就构成了官方推荐的最强本地边界:请求不离开你的机器,遥测被关掉,历史不出浏览器。详细步骤见 LOCAL_MODELS.md。
你的电脑 ┌─────────────┐ HTTP ┌──────────────────┐ │ G0DM0D3 网页 │ ───────────► │ 本地模型服务器 │ │ (index.html)│ │ localhost:11434 │ │ 历史在本地 │ ◄─────────── │ (Ollama/LM Studio)│ └─────────────┘ 响应 └──────────────────┘ ✂️ 无云同步 ✂️ 无遥测 ✂️ 请求不出机器聊完话,历史记录归谁管?——本地自托管机制
G0DM0D3 的聊天记录存在浏览器的localStorage里,这带来几个直白但重要的结论:
- 🧹清空浏览器数据 = 永久删除聊天,没有任何恢复机制;
- 🔄换浏览器/换设备,历史不会跟着走;
- 🔒无痕窗口关闭后一切归零;
- 📦 官方建议:应用最多保留 100 段对话、每段 500 条消息,想长期保存就定期用Settings → Data下的导出/导入功能备份,把它当成一个本地文件来管理。
换句话说:你完全拥有你的历史,也完全负责备份它——这正是"无账号"的代价与自由。
自托管部署时,如何进一步收紧数据管道?
如果你的团队打算自建服务而不是用托管版,还有几个"出厂可调"的阀门:
- 不设置
HF_TOKEN和HF_DATASET_REPO环境变量,HuggingFace 自动发布即被禁用,遥测端点会直接拒收事件; - 静态部署(只放
index.html)本身不会发布任何遥测数据,除非你额外部署了 functions/api/telemetry.ts 这个端点; - 遥测端点内置字段白名单(functions/api/telemetry.ts 中的
ALLOWED_FIELDS):只有显式列出的顶层字段才可能入库,未列出的字段一律丢弃; - 容器化部署可参考 docker-compose.yml 与 Dockerfile。
要提醒的诚实细节:白名单是"防意外泄漏"的护栏,不是递归的 PII 检测器;项目也不承诺任何元数据值在极端情况下永远不可关联到人——这种"不夸大"的表述本身,就是它数据透明度政策的一部分。
新手上手清单:三步完成隐私设置
- 打开设置 → General → 开启 No-Log Mode,先关掉应用遥测,心里有底;
- 配置本地模型:Settings → API Keys → Local Models 填入
http://localhost:11434/v1,点Test & Discover Models验证连通; - 开启 Local-only 模式并自托管页面,实现"请求不出机器"的最强边界;重要对话定期用 Settings → Data导出备份。
结语:透明本身就是隐私设计
G0DM0D3 的做法可以概括为一句话:它不承诺"零遥测",而是把每一条数据路径都摊开给你看——哪些字段被采集、存在哪、何时发布、如何关闭,全部有对应的源码位置可查(api/lib/、functions/api/、TERMS.md)。对新手而言,这比任何一句"我们绝不收集你的数据"都更可信:你可以自己读代码、自己开关阀门、自己保管历史。在 AI 工具普遍"账号 + 云端 + 黑盒日志"的当下,这套无账号、无云同步的自托管数据流设计,值得成为你评估任何 AI 应用隐私实践时的参考样本。
【免费下载链接】G0DM0D3LIBERATED AI CHAT项目地址: https://gitcode.com/GitHub_Trending/g0/G0DM0D3
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考