文档 · 隐私

隐私

你的提示词、回复、密钥和账号只发给你用的供应商,中间没有 magpie 自己的服务器。这一页列出 magpie 在这些请求之外自己发出的所有内容,以及关掉它们的每个开关。内容按代码写成,每一节都附了代码链接。

内容发往默认怎么关
每日计数PostHog(us.i.posthog.com)正式版开启;源码构建从不发送设置 → 隐私,DO_NOT_TRACK=1
更新检查、更新说明、合作伙伴列表、图标usemagpie.ai开启更新检查用 noAutoUpdate;其余是应用运行所需
模型目录和汇率models.dev、open.er-api.com开启不可关;不发送任何你的信息
OTLP 导出你指定的收集器关闭保持关闭即可

每日计数

正在运行的正式版 magpie(应用或 magpie serve)每天(UTC)向 PostHog 发送一批事件,好让我们知道有多少人在用、该先照顾哪些 agent、供应商和模型。启动时发送,之后每小时看一次,当天已发过就跳过。从源码构建的版本从不发送。

这批事件里有一个 magpie active,包含:

除非你关掉这一部分,后面还有每个 agent、供应商和模型各一个 magpie uses 事件,只用 magpie 自己的 ID(每类最多 50 个):

同时发送 magpie partner 事件:添加供应商页里排在最前的每个合作伙伴,按它的 ID,在已结束的某一天里被展示、行被打开、Key 页面被打开、从它添加供应商的次数(what:shown、opened、keys、added;每天每项最多 20 次,添加最多 5 次)。只有次数,从不包含你自己的供应商。

每个事件都带 $process_person_profile: false,PostHog 不为这个 ID 建用户档案。不发送名称、Base URL、账号、密钥、提示词、回复和用量。一整批大致如下:

POST https://us.i.posthog.com/batch/
{
  "api_key": "phc_nyDyYyrUTRGvNq5U7FBesCyM2j4GdKeqGp8ko7DBerTC",
  "batch": [
    {
      "event": "magpie active",
      "distinct_id": "3f9c…(32 hex)",
      "timestamp": "2026-10-13T08:00:00Z",
      "properties": {
        "version": "0.1.1190", "kind": "app", "$os": "Mac OS X", "arch": "arm64",
        "agents": 2, "providers": 3, "models": 2, "groups": 1,
        "$process_person_profile": false, "distinct_id": "3f9c…"
      }
    },
    { "event": "magpie uses", "distinct_id": "3f9c…", "timestamp": "2026-10-13T08:00:00Z",
      "properties": { "kind": "agent", "id": "claude", "$process_person_profile": false, "distinct_id": "3f9c…" } },
    { "event": "magpie uses", "properties": { "kind": "provider", "id": "custom", … } },
    { "event": "magpie uses", "properties": { "kind": "model", "id": "deepseek/deepseek-v4", … } },
    { "event": "magpie partner", "timestamp": "2026-10-12T12:00:00Z",
      "properties": { "id": "<partner id>", "what": "shown", "count": 3, "day": "2026-10-12", … } }
  ]
}

api_key 是项目的 PostHog 密钥,只能发送事件,不能读取。代码见 internal/stats 和 partner_events.go。

关闭

下面每个开关关掉其中一部分或全部:

设置里的改动在下一次每小时检查时生效,不用重启。settings.json 在 magpie 的文件夹里(见下文):

settings.json
{
  "noStats": true,
  "noUsageStats": true,
  "noAutoUpdate": true
}

MAGPIE_STATS_HOST 会把计数发到另一个主机(用于测试,设置后源码构建也会发送)。

本机上的文件

文件用途
install-id随机 ID,第一次发送计数时生成
stats-sent上次发送的日期(UTC),保证每天只发一次
partner-counts.json(缓存文件夹)还没发送的合作伙伴次数,最多保留 14 天

install-id 和 stats-sent 在 magpie 的文件夹里:macOS 和 Linux 上是 ~/.config/magpie,Windows 上是 %USERPROFILE%\.config\magpie,设置了 $XDG_CONFIG_HOME 时是 $XDG_CONFIG_HOME/magpie,便携版则在它的数据文件夹里。partner-counts.json 在 ~/.cache/magpie(或 $XDG_CACHE_HOME/magpie,便携版数据文件夹里的 cache)。这些文件都可以删:删掉 install-id 后,下次发送会生成新的随机 ID,你会被算作新用户;关掉计数后,它们都不会再写入。

usemagpie.ai 能看到什么

magpie 会向自己的网站请求几样东西,不受隐私设置影响,就像任何应用访问自己的更新服务器。这些请求都不带安装 ID 或账号。

网站自己的页面(这些文档、首页)带 Cloudflare Web Analytics,不用 Cookie 统计页面访问。应用不加载它。代码见 site/worker.js。

magpie 拉取的公开列表

为了给模型定价和命名,magpie 会拉取 models.dev 的模型目录(models.dev/api.json);为了用你的货币显示价格,会从 open.er-api.com 拉取美元汇率(缓存 12 小时)。插件及其更新来自 npm 仓库,库里的内容来自 GitHub。这些都是公开数据的普通下载,不发送任何关于你、你的供应商或用量的信息;和任何请求一样,这些主机能看到你的 IP(或代理的 IP)。magpie 还会用你自己的密钥或登录向各个供应商读取额度和模型列表;设置 → 额度 → 额度刷新 → 仅手动 可以只在你要求时才读。

OTLP 导出

magpie 可以把每个网关请求导出到你自己的 OpenTelemetry 收集器(比如 Langfuse)。它默认关闭,只发到你设置的地址,从不发给我们。开启后发送每个请求的 span:agent、供应商、模型、token 数、状态、耗时和估算费用。另有开关可以加上指标、本地 agent 对话,以及请求和回复正文(密钥已遮盖)。在 设置 → 可观测性 里开启,magpie serve 也可以用 MAGPIE_OTEL_ENABLED、MAGPIE_OTEL_ENDPOINT、MAGPIE_OTEL_HEADERS、MAGPIE_OTEL_METRICS、MAGPIE_OTEL_SESSIONS、MAGPIE_OTEL_BODIES 和 MAGPIE_OTEL_BODIES_WHOLE。只设地址不会开启导出。细节见参考文档。

为什么计数默认开启

magpie 支持几十个 agent 和供应商,维护的人不多。每日计数让我们知道大家实际在用哪些,好先保证它们能用。正式版默认开启,是因为只靠主动开启的人,数量太少,看不出这些。作为交换,它尽量少:一个随机 ID、内置 ID 和数字;一个开关或 DO_NOT_TRACK=1 就能关掉,源码构建从不发送,发送的全部内容都列在这一页。