wigolo 隐私完全解析:~/.wigolo 里存什么、什么数据离开你的机器
【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolo
wigolo是一个 local-first(本地优先)的 AI 编码代理网络工具:搜索、抓取、爬取与研究全部跑在你自己的机器上,通过 MCP 协议接入 Claude Code、Cursor 等代理,无 API Key、无云端后端、每次查询 $0。正因如此,很多人最关心的问题是:wigolo 的隐私模型到底如何?~/.wigolo目录里存了什么数据?有哪些数据会离开你的电脑?本文带你逐层拆解 wigolo 的本地数据存储、遥测机制与网络出口,给出新手也能看懂的完整答案。
一句话结论:状态全在本地,出口只有三类
wigolo 的隐私设计不是"政策承诺",而是结构性保证:软件运行在你的机器上、数据存在你的磁盘上、根本没有厂商后端可以发送数据。完整说明见官方文档 docs/privacy-security.md。
它建立外网连接只限于三种情况:
- 🔍你的查询所指向的搜索引擎和目标网站——这是产品功能的本身;
- 🤖你自行配置的 LLM 服务商——如果你配置了的话。若使用本地模型(
WIGOLO_LOCAL_LLM=auto指向本地模型服务),合成分析也完全不出机器; - 📡你自己设置的遥测端点——默认不存在,详见下文。
此外,init/warmup阶段会从公开分发源下载浏览器引擎和模型组件,无许可证校验、无更新回传、无账号体系。
~/.wigolo 里到底存了什么?
wigolo 安装的全部状态都集中在数据目录(默认~/.wigolo,可用WIGOLO_DATA_DIR覆盖,见 src/config.ts)。目录结构一目了然:
| 路径 | 内容 |
|---|---|
wigolo.db | 知识缓存:页面、搜索结果、全文 + 向量索引 |
jobs.db | watch 监控任务 |
fastembed/等模型缓存 | 设备上的嵌入与排序模型,init/warmup时创建 |
config.json | 非机密设置(密钥按设计被排除在外) |
keys/ | 操作系统钥匙串不可用时的加密凭据文件 |
plugins/ | 已安装的插件 |
skills/receipts.json | 技能安装台账 |
shell-history | 交互式 shell 历史 |
telemetry/ | 可选的本地遥测事件文件——不启用则不存在 |
searxng/ | 可选的旧版聚合器边车,仅当你选用了该后端 |
daemon-admin.token | 每进程的管理路由令牌(仅属主可读,每次守护进程启动都轮换) |
想查占用空间,运行wigolo config --storage;而rm -rf ~/.wigolo即可彻底抹掉所有数据——这是本地优先工具最直接的"删除权"。
遥测:默认关闭,开启也只写本地文件
这是隐私解析的重点。wigolo 的遥测(telemetry)默认关闭。如果你用WIGOLO_TELEMETRY=1主动开启,事件也只是逐行追加到本地 NDJSON 文件:
~/.wigolo/telemetry/events-YYYYMMDD.ndjson依然什么都不发送。只有当你额外设置了WIGOLO_TELEMETRY_ENDPOINT指向自己的 URL 时,才会发生网络 POST——wigolo 本身不内置任何厂商端点。实现逻辑非常克制,可以完整审查 src/cli/telemetry.ts:先写本地文件,再检查是否配置了端点,且所有错误都被吞掉,遥测绝不影响主流程。
随时可以用wigolo doctor查看当前遥测状态,它会明确打印Telemetry: opt-in disabled/enabled(见 src/cli/doctor.ts)。
密钥与凭据:明文永不上盘
wigolo 对机密数据采用分层防护(src/security/key-store.ts):
- 🔐LLM API Key优先进入操作系统钥匙串(keychain);无钥匙串的环境(如部分 Linux 服务器)则写入
~/.wigolo/keys/下的AES-256-GCM 加密文件(加密实现见 src/security/key-crypto.ts)。init只从WIGOLO_LLM_API_KEY环境变量读取密钥——从不经过命令行参数,因此不会泄漏到 shell 历史或进程列表; - 🔐代理凭据的用户名密码部分同样存入钥匙串,
config.json中只保留去掉凭据的 URL; - 🔐
wigolo config --export自动排除密钥,导出的配置文件可以放心分享; - 🔐 REST Bearer Token 支持
WIGOLO_API_TOKEN_FILE,部署时可挂载为文件密钥,避免出现在进程可见的环境变量里。
serve 模式与 SSRF:把网络假想成敌意的
如果你以守护进程方式对外提供 HTTP/MCP 服务,wigolo 按"网络充满敌意"的假设做了加固(详见 docs/privacy-security.md):
- 失败关闭的绑定门:非环回地址绑定且无令牌时拒绝启动;
- DNS 重绑定防护:
Host头非环回的请求直接 403,恶意网页把域名解析到127.0.0.1也拿不到你的守护进程; - 浏览器 Origin 防护:带
Origin头的请求在令牌校验前就被拒绝,网页无法探测令牌有效性。
同时,fetch/crawl及所有带 URL 的 REST 路由都会拒绝解析到内网/环回地址的目标(本地开发可用WIGOLO_FETCH_ALLOW_PRIVATE=true显式放行),防止你的代理被当作探测内网的跳板。
快速自查清单
| 你担心的问题 | 答案 |
|---|---|
| 搜索记录存在哪? | ~/.wigolo/wigolo.db,纯本地 |
| 有隐藏回传吗? | 无。出口仅限目标网站、你配置的 LLM、你自设的遥测端点 |
| API Key 会明文保存吗? | 不会。钥匙串或 AES-256-GCM 加密文件 |
| 能一键清空吗? | 能。rm -rf ~/.wigolo |
| 如何核实当前状态? | wigolo doctor+wigolo config --storage |
总结
wigolo 用"代码结构"而非声明书来回答隐私问题:全部状态收敛在~/.wigolo,遥测默认关闭且开启后也只落本地文件,密钥永不明文上盘,网络出口被压缩到可枚举的三类。对于希望把 AI 联网能力留在自己机器上的新手,这正是 local-first 工具应有的样子——数据在你手里,删除权也在你手里。
【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考