关于 Slimlytics
Slimlytics 是面向网站运营者的无 Cookie 分析服务,提供托管和自托管选项。其远程 MCP 服务可让 AI 编码 Agent 创建站点、配置第一方跟踪并验证设置。
主要功能
- 01实时访客动态
- 02报告与 CSV 导出
- 03目标、漏斗与归因
- 04第一方跟踪代理路由
- 05托管或自托管部署
适用场景
- 01查看实时访问和流量来源
- 02分析营销活动与页面表现
- 03通过 AI 编码 Agent 配置跟踪
MCP 相关
远程 MCP 服务允许 MCP 客户端创建站点、配置跟踪并确认页面浏览数据已到达,使用浏览器 OAuth。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://slimlytics.com/api/mcpclaude mcp add --transport http djedi-slimlytics https://slimlytics.com/api/mcp{"mcpServers":{"djedi-slimlytics":{"type":"http","url":"https://slimlytics.com/api/mcp"}}}在 Cursor 中打开{"servers":{"djedi-slimlytics":{"type":"http","url":"https://slimlytics.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"djedi-slimlytics":{"type":"http","url":"https://slimlytics.com/api/mcp"}}}{"mcpServers":{"djedi-slimlytics":{"serverUrl":"https://slimlytics.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Slimlytics
私密、实时的网站分析。了解哪些做法有效,摒弃无关信息。
网站 · 免费开始(托管版) · 定价 · 文档 · Agent 设置 · 隐私模型
Slimlytics 会告诉你此刻有哪些访客正在访问你的网站、他们来自哪里以及做了什么,不使用 Cookie、浏览器指纹或会话回放。只需一段轻量的第一方脚本、简洁的仪表板和实时访客流。你的 AI 编码 Agent 甚至可以替你完成安装。
想了解产品? 请访问 slimlytics.com。使用 Slimlytics 无需克隆此代码库。托管版提供免费套餐,设置大约只需一分钟。
托管版还是自托管:由你决定
所有选项均包含全部功能。选择适合你的方案。
| Slimlytics Cloud(托管版) | 自托管(此代码库) | |
|---|---|---|
| 适用对象 | 想要网站分析,而不想再操心维护服务器的用户 | 希望全面掌控自身基础设施的团队 |
| 设置 | 创建账户,粘贴一段脚本标签 | Docker Compose、PostgreSQL、Caddy |
| 服务器、升级、TLS、GeoIP 数据 | 均由我们处理 | 由你自行管理 |
| 费用 | 一个网站可使用免费套餐;付费套餐起价为每月 $7 | $0,网站和页面浏览量不限 |
| 支持 | 社区、电子邮件,或按套餐提供优先电子邮件支持 | 社区 |
| 开始使用 | 创建免费账户 | 见下文的快速开始 |
套餐限制和当前价格请参阅定价页面。
Slimlytics 的优势
- 默认保护隐私。 不使用跟踪 Cookie、不建立跨站用户画像、不捕获表单内容。敏感查询参数会在存储前进行脱敏,并尊重 Do Not Track 和 Global Privacy Control 设置。
- 实时访客监控。 实时查看访客到达网站并浏览网站的过程。
- 关注重要数据的报告。 页面、引荐来源、国家/地区、设备、营销活动、访客和自定义事件,均可排序并导出为 CSV。
- 目标与营销洞察。 提供目标、UTM 归因、用户旅程、顺序漏斗、收入、异常、AI 引荐来源和爬虫;还可选择同步 Google Search Console,并在仪表板中查看查询、页面、国家/地区和设备。Slimlytics 可以为你添加网站的 Search Console 资源并验证其 DNS。
- 第一方交付。 使用自动生成的 Caddy、Nginx 或 Apache 路由,从你自己的域名提供跟踪器,降低广告拦截器拦截它的概率。
- 原生支持 Agent。 远程 MCP 服务支持浏览器 OAuth,可让 Claude Code、Codex、Hermes 或任何 MCP 客户端创建网站、接入跟踪并验证配置。
- 快速轻巧。 采用 Rust API、PostgreSQL 和 Svelte 仪表板,并提供浅色、深色和系统主题。
让 AI Agent 替你安装
将你的编码 Agent 连接到托管 MCP 服务一次,然后让它设置网站分析:
claude mcp add --transport http slimlytics https://slimlytics.com/api/mcp
> Set up Slimlytics for https://shop.example.com behind Nginx and verify it.
Agent 会创建网站、添加第一方代理路由和脚本标签,并确认已记录首个页面浏览量。Codex 和 Hermes 的说明见 Agent 指南(代码库副本:docs/MCP.md)。此外还支持受限范围的个人令牌和 REST API。
自托管与开发
以下内容适用于运行自己的实例或参与贡献。如果你只需要网站分析,Slimlytics Cloud 是更快捷的选择。
功能详情
- 多个站点各自拥有独立的写入密钥、来源、时区和数据保留设置
- 28 天概览卡片和对比指标
- 通过 Server-Sent Events 实时查看 Spy 活动
- 页面、引荐来源、国家/地区、设备、营销活动、访客和自定义事件
- 标准 UTM 归因和基础目标
- CSV 导出
- 默认无 Cookie 跟踪
- 按爬虫产品名称以及 Google、Meta 和 Bing 已发布的爬虫网络过滤机器人
- 每个浏览器均可使用“忽略我的访问”退出链接,且无需 Cookie
- 对敏感查询参数进行脱敏,不采集表单内容
- 通过第一方跟踪器交付,减少意外拦截
- 类似 Clicky 的第一方代理设置,支持每个站点配置路径、Caddy/Nginx/Apache 配置和测试链接
- 支持浅色、深色和系统主题的响应式 Svelte 界面
- 使用 PostgreSQL 和 Caddy 进行 Docker Compose 部署
架构
Browser tracker ──POST──▶ Rust/Axum API ──▶ PostgreSQL
│
Dashboard ◀── JSON + SSE ─────┘
▲
└──────── Caddy ──────── Internet
backend/— Axum、Tokio、SQLx、PostgreSQLfrontend/— Svelte 5、SvelteKit、TypeScripttracker/— 与框架无关的 TypeScript 跟踪器cli/— 可安装的 Rust CLI,用于自动化设置账户、站点和跟踪migrations/— PostgreSQL 模式docker/— 生产容器定义和反向代理scripts/— 经过验证的备份和带防护措施的恢复工具
快速开始自托管
要求:Docker 和 Compose v2+。不想运行服务器?Slimlytics Cloud 可免费开始使用。
生成私有 .env 文件,其中包含彼此独立的随机数据库、JWT 和访客哈希密钥:
./scripts/generate-env.sh
启动前,请检查生成的网址和部署设置。该脚本不会覆盖已有的 .env 文件。
然后启动服务栈:
make up
docker compose ps
curl --fail http://localhost:8080/health
打开 http://localhost:8080 访问公开营销网站。在 /register 创建账户(或在 /login 登录),然后前往 /app 控制面板添加站点并复制生成的跟踪代码片段。定价和隐私页面位于 /pricing 和 /privacy。默认监听器有意仅绑定到回环地址,适用于本地使用或已有 TLS 反向代理的场景。
若要在公网上部署 VPS,并由此服务栈自行终止 TLS,请将 DNS 指向主机,在 .env 中设置 SLIMLYTICS_DOMAIN 和 ACME_EMAIL,然后运行:
docker compose -f compose.yaml -f compose.production.yaml up -d --build
生产环境覆盖配置会开放 80/443 端口、启用自动 HTTPS、持久保存 Caddy 证书,并配置应用来源。请勿将基础 HTTP 服务栈直接暴露到互联网。
本地开发
要求:
- Rust 1.97.1(在
rust-toolchain.toml中固定) - Node.js 24+
- PostgreSQL 16+
make setup
make test
make check
make build
使用 Docker 热重载
make dev # http://localhost:8080
make dev-logs # follow frontend and backend output
make down
make dev 会在常规服务栈之上叠加 compose.dev.yaml。Svelte 更改会通过 Caddy 在浏览器中热重载。后端源文件、Cargo.toml/Cargo.lock、build.rs、迁移文件或 docs/openapi.json 的更改会自动触发 API 重新构建和重启。首次构建后端时需要编译所有依赖,耗时数分钟;后续重建采用增量编译。如果未检测到编辑内容(某些网络或虚拟机文件系统可能如此),请在 .env 中设置 VITE_WATCH_POLLING=true。运行 make up 可恢复使用近似生产环境的镜像。
访客位置
make geoip 会将免费的 DB-IP City Lite 数据库(CC BY 4.0,无需账户)下载到 data/geoip/,Compose 会将其挂载到后端。查询在本地进行,因此访客 IP 不会发送给第三方。生产部署会每月更新数据库。若没有该文件,则会停用位置功能。本地请求来自不包含位置信息的 Docker 私有地址;请在部署环境中测试,或运行 cargo test --test enrichment -- --ignored(设置 GEOIP_TEST_DATABASE)。当 TRUST_PROXY=true 时,可信的 Cloudflare 位置标头优先采用。
使用真实账户在本地测试
make sync-account 会将一个账户从远程部署复制到本地 Docker 数据库,让你可以使用相同的邮箱和密码在本地登录,并查看相同的网站和分析数据。在 .env 中配置 SYNC_SOURCE_SSH、SYNC_SOURCE_PATH、SYNC_SOURCE_COMPOSE_FILES、SYNC_EMAIL,并可选配置 SYNC_EVENT_DAYS(参见 .env.example)。远程端仅供读取;在本地,该账户及其网站会被替换,包括任何使用相同域名的本地网站。不会复制其他用户、API 令牌、OAuth 状态和 Search Console 连接;报告订阅会被设为停用状态。两个数据库必须使用相同的迁移版本。
不使用 Docker
如有需要,可使用 Docker 启动 PostgreSQL,然后分别运行 API 和 Svelte 开发服务器:
docker compose up -d db
export DATABASE_URL='postgres://slimlytics:YOUR_PASSWORD@localhost:5432/slimlytics'
cargo run --manifest-path backend/Cargo.toml
npm --prefix frontend run dev
跟踪器
仪表板会生成随机且可编辑的第一方路径,以及匹配的 Caddy、Nginx 或 Apache 配置。安装该服务器配置后,受测网站只需添加一个同源代码片段:
<script async src="/456bbb63bb86.js"></script>
生成的 JavaScript 路径会返回针对该网站的确切信标路径初始化的完整跟踪器。生成的测试链接会验证这两个路由,且不会插入虚假的分析事件。参见 docs/FIRST_PARTY_PROXY.md。
跟踪器绝不会捕获表单值。无 Cookie 跟踪、“请勿跟踪”和 Global Privacy Control 的行为详见 docs/PRIVACY.md。
Rust CLI 和 AI Agent
使用 Rust 的 Cargo 安装 slimlytics 二进制文件:
cargo install --locked --git https://github.com/djedi/slimlytics --tag cli-v0.2.0 slimlytics-cli
slimlytics auth login --email [email protected]
登录会将短期密码会话换成有过期时间且可撤销的个人 API 令牌。凭据文件存储在操作系统的私有配置目录中,权限为 0600;自动化也可以改为提供 SLIMLYTICS_TOKEN,而无需写入文件。
专为 AI Agent 设计的幂等命令会创建或复用一个域名,并返回完整的服务器配置、同源代码片段和测试 URL:
slimlytics --json site ensure example.com --server caddy
完整的公开指南见 https://slimlytics.com/docs/cli;docs/CLI.md 是仓库中的副本。交互式 Scalar API 参考位于 https://slimlytics.com/api/docs,其依据是可下载的 OpenAPI 3.1 文档:https://slimlytics.com/api/openapi.json。
运维
生产环境发布使用受保护的部署脚本:
make deploy
该脚本要求当前位于干净的 main 分支,且其 HEAD 已推送到 origin/main。脚本通过专用的 slimdeploy 账户连接;在进行任何同步前,要求通过规范路径和仓库标记检查;使用由锁文件固定版本的 OpenAPI 验证器,运行完整的本地测试、检查和构建套件;创建经过验证的 PostgreSQL 备份和源代码回滚快照;同步源代码,同时保留生产环境的 .env 和备份;使用生产环境的 compose.proxy.yaml 覆盖文件应用 compose.yaml;并验证健康状态、就绪状态、准确的 OpenAPI 契约、重定向行为和已部署的 Scalar 样式表。部署失败时,会自动恢复到先前的源代码快照、重新应用 Compose,并等待服务恢复健康。
仍可使用手动备份和受保护的还原:
./scripts/backup.sh
./scripts/restore.sh backups/slimlytics-YYYYMMDDTHHMMSSZ.sql.gz
备份会经过 gzip 验证。还原时必须输入 RESTORE,并使用 PostgreSQL 的 ON_ERROR_STOP。
升级前:
- 运行并验证备份。
- 拉取所需的带标签版本。
- 运行
docker compose build。 - 运行
docker compose up -d。 - 验证
/health、/ready、仪表板和测试数据接收。
如果迁移不向后兼容,请检出之前的标签,并还原升级前的备份以回滚。
管理门户
/admin 会列出账号、其站点、设备和通行密钥,并可将账号登出、停用、重新启用或删除。每项操作都会记录在审计日志中。请从部署目录授予访问权限:
scripts/admin-grant.sh [email protected] # make an admin
scripts/admin-grant.sh [email protected] --revoke # remove admin access
管理员必须在账号安全(/account)下添加通行密钥。门户随后会要求会话在过去 12 小时内验证过该通行密钥。如果有人丢失了所有通行密钥,请确认其身份并运行 scripts/passkey-reset.sh EMAIL;之后,他们可以使用密码登录并添加新的通行密钥。
安全
- 切勿提交
.env。 - 为
JWT_SECRET和VISITOR_HASH_SECRET使用各不相同且至少为 32 字节的值。 - 使用经过测试的生产环境 Compose 覆盖配置或其他可信的 TLS 反向代理;切勿通过明文 HTTP 暴露登录或分析流量。
- 保持 PostgreSQL 为私有;Compose 不会发布其端口。
- 将每个站点限制为预期的来源。
- 怀疑站点写入密钥和应用机密已泄露时,请进行轮换。
有关报告和部署指南,请参阅 SECURITY.md。
文档
docs/IMPLEMENTATION_PLAN.mddocs/ARCHITECTURE.mddocs/REQUIREMENTS.mddocs/API.mddocs/openapi.jsondocs/PRIVACY.mddocs/PERFORMANCE.mddocs/FIRST_PARTY_PROXY.mddocs/SERVER_INGESTION.mddocs/CLI.mddocs/MCP.mddocs/AGENT_INTEGRATION.mddocs/MIGRATION.mddocs/OPERATIONS.mddocs/BILLING.md
项目状态
当前版本包含数据收集诊断、营销洞察、顺序漏斗、Search Console 同步,以及面向 Agent 的限定范围 REST/MCP 访问权限。留存群组、热力图、运行时间监控、定时通知发送、白标和插件市场仍是后续功能。
贡献
欢迎提交问题和拉取请求。请阅读 CONTRIBUTING.md,了解开发流程和隐私审查清单;如需私下报告漏洞,请参阅 SECURITY.md。
此代码库是对早期 Slimlytics 项目的全面重写。
许可证
Slimlytics 基于 GNU Affero General Public License v3.0 开源。你可以自由运行、研究、修改和自托管。如果你将修改后的版本作为网络服务提供给他人,AGPL 要求你向其用户提供修改后的源代码。
以下两个旨在嵌入其他项目的组件改用宽松的 MIT License:
tracker/:在你的网站上运行的浏览器跟踪脚本(tracker/LICENSE)cli/:slimlytics命令行工具(cli/LICENSE)
一分钟内即可试用:slimlytics.com。免费托管方案,无需银行卡。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
