HitKeep 介绍与选型指南

HitKeep 介绍与选型指南:单 Go 二进制内嵌 DuckDB 的隐私优先 Web 统计——核心架构、功能特性、适用场景与限制,及与 Plausible/Matomo/Umami/GoatCounter 的量化对比(版本、许可与星数溯源官方渠道,查询日期 2026-11-01)。

HitKeepHitKeepGo自托管数据分析2026/11/01

HitKeep 介绍与选型指南

目标:面向准备自建网站访问统计的读者,讲清 HitKeep 是什么、能做什么、不能做什么,并与 Umami、Plausible、Matomo、GoatCounter 四个同类开源产品做量化对比,帮助你在 30 分钟内完成选型判断。本文为认知篇,所有版本、许可、架构与特性信息均溯源自官方渠道(来源与查询日期随文标注),部署、配置与命令的逐条实测见本系列其余三篇。

一、环境信息

本文是认知与选型篇,以下为撰写时核实的实体信息与版本基线(查询日期:2026-11-01):

  • 软件名称:HitKeep(仓库 HitKeep/hitkeep;来源渠道所载旧仓库地址 pascalebeier/hitkeep 实查已 301 重定向至新组织 HitKeep/hitkeep,内容可达)
  • 最新稳定版:v2.15.1(2026-10-28 发布,来源:GitHub Releases 页 https://github.com/HitKeep/hitkeep/releases)
  • 开发语言:Go,官方发行形态为单二进制(linux-amd64 / linux-arm64)与官方容器镜像
  • 许可证:MIT(来源:仓库 LICENSE 与 README "100% open source under MIT")
  • 仓库状态:未归档、持续活跃(shields.io 徽章 "last commit: yesterday";OpenSSF Best Practices 项目编号 11990)
  • 官网:https://hitkeep.com;官方文档:https://hitkeep.com/guides/introduction/;托管服务:https://hitkeep.com/cloud(EU / US 区域)
  • 对比对象(同为查询日期 2026-11-01):Umami(umami-software/umami)、Plausible(plausible/analytics)、Matomo(matomo-org/matomo)、GoatCounter(arp242/goatcounter);另在文末提及 Open Web Analytics(GPL-2.0,PHP 系)

二、软件概述

HitKeep 官方 README 的一句话定位是:"AI native, sovereign, privacy-first web analytics in one binary."——AI 原生、数据自主、隐私优先的 Web 访问统计,且全部能力收进一个二进制(来源:仓库 README,查询日期 2026-11-01)。它回答的问题从基础的「页面被看了多少次、访客从哪里来」,一路延伸到「转化有没有发生、收入贡献多少、搜索引擎带来了多少点击,以及 AI 爬虫和 AI 引荐给我带来了什么」。

它的产品形态有三种用法:

  1. 托管服务(SaaS):HitKeep Cloud,官方提供 EU 与 US 两个托管区域,不想自运维时按月付费(来源:README 与 hitkeep.com/cloud)。
  2. 自托管(self-host):本系列的主角。官方给出三条自托管路径——Homebrew 安装、Docker Compose(README 标注为 "production-oriented self-hosted setup",即面向生产的自托管基线)、原生二进制 + systemd(来源:README Quick Start 与官方安装指南)。
  3. 浏览器埋点:一行异步脚本 <script async src="https://analytics.example.com/hk.js"></script>,页面浏览与自动交互事件(外链点击、文件下载、表单提交)即开始上报;产品自定义事件(注册、下单等)另有专门的事件 API(来源:README "Track Your First Site" 与官方自定义事件指南)。

💡 技术拓展:把 HitKeep 放进「隐私优先统计」的坐标系里看——GoatCounter 用「刻意简洁」换来了约 40MB 级的内存占用(见站内《GoatCounter 介绍与选型指南》),HitKeep 则选择在同样「无 cookie、单二进制」的前提下把报表纵深拉满:漏斗、电商收入、Search Console、AI 可见性全部内置,代价是内嵌一个真正的分析型数据库 DuckDB,二进制体积与内存占用都上一个台阶。两者恰好代表这一品类的两个极端:极简计数器 vs. 全功能分析舱。选型时先问自己要多少报表纵深,再看资源预算。

三、核心架构

官方对架构的概括是:一个 Go 二进制,内嵌 DuckDB 与 NSQ,没有独立的数据库、队列或缓存——"Self-host one Go binary with embedded DuckDB and NSQ … no separate database, queue, or cache"(README 原文)。拆开看有六个关键部件(来源:README、官方配置参考与 hitkeep --help 全量输出,查询日期 2026-11-01):

  • 单 Go 二进制:仪表盘前端、追踪脚本 hk.js、SQL 迁移、DuckDB 扩展全部打进一个可执行文件;官方 Releases 发行 linux-amd64 与 linux-arm64 两个架构(来源:GitHub Releases 资产列表)。本系列部署篇实测:从官方镜像提取的 v2.15.1 linux-amd64 二进制约 158MB,构建基线为 Ubuntu 22.04(glibc 2.35+)。
  • 内嵌 DuckDB(分析型列式数据库):以「每租户一个数据库文件」的方式存储——默认租户库在 data/hitkeep.db,站点数据拆分到 data/tenants/<UUID>/hitkeep.db(部署篇实测目录形态);页面/会话/目标/漏斗按小时/日/月三层 rollup 预聚合,仪表盘读聚合层;DuckDB 内存上限与线程数默认按运行环境自动派生(部署篇实测容器内派生为 7714MiB 与 6 线程);数据按 data-retention-days(默认 365 天)保留,过期数据归档至 archive-path(来源:官方配置参考 data 段)。
  • 内嵌 NSQ 消息队列:仅绑定本机回环 127.0.0.1:4150(TCP)与 127.0.0.1:4151(HTTP),充当 pageview/事件从受理到落库之间的缓冲——上报接口先返回 202 受理,再异步消费入库(部署篇实测 POST /ingest 返回 HTTP 202、响应体为空)。
  • memberlist gossip 集群:默认监听 0.0.0.0:7946,通过 --join-addr 可把多个节点组成集群,备份、垃圾列表刷新、MCP 等 leader-only 任务由此协调(来源:官方配置参考 clustering 段与启动日志)。
  • 统一 HTTP 服务:默认 :8080,仪表盘、埋点脚本、ingest 上报、REST API(内置 OpenAPI 描述,实测 GET /openapi.json 共 275 个路径)、webhook 与可选 MCP 端点(/mcp)共用这一个端口;另有 /healthz(进程存活)与 /readyz(全部租户库就绪)两个健康端点(部署篇实测)。
  • DuckDB 扩展随包内置:S3 备份(aws/httpfs)与 XLSX 导出(excel)所需扩展随镜像/二进制携带,首次使用时解压到 DATA_PATH/.duckdb/extensions——官方明确要求该目录可写、且所在挂载不得使用 noexec(README "DuckDB extensions" 段原文)。

四、功能特性

以下特性清单逐条溯源自仓库 README 与官网(查询日期 2026-11-01):

  • 隐私优先:浏览器端不设置统计 cookie、尊重 Do Not Track,"collects focused website analytics without building a cross-site identity"(不构建跨站身份)。
  • 从流量到收入的完整链路:"Follow acquisition through pages, automatic and custom events, goals, funnels, ecommerce revenue, UTM and QR campaigns, Search Console, and Web Vitals."——自动事件 + 自定义事件、目标、漏斗、电商收入、UTM 与二维码活动、Search Console、Web Vitals 一条龙内置。
  • Search Console 集成:OAuth 接入 Google Search Console,点击、曝光、CTR、排名趋势进站可看。
  • AI 原生分析:AI 爬虫抓取、AI 引荐访问与聊天机器人结果作为独立流量渠道统计;Ask AI 以带引用的聚合证据作答;只读 MCP 服务器让受治理的 AI 助手安全读取统计(/mcp,默认关闭)。
  • 自定义追踪域名:统计脚本可挂在自己的域名下(规避拦截),支持 external TLS 或 Caddy on-demand TLS 两种模式。
  • 团队协作与 SSO:多用户、站点级成员权限、团队 SSO 域,且这部分能力在 MIT 开源版内——"Custom tracking domains and team SSO live in the same public codebase—not in a separate proprietary edition."(README 原文)
  • 数据自主:完整数据带出(takeout)、开放格式导出、REST API、webhooks、分享链接与细粒度权限。
  • 反垃圾流量:内置 OSS 垃圾列表过滤,支持自动刷新(可整体关闭以适配离线/隔离环境)。
  • 运维内建:自动备份(本地目录或 s3:// 目标,默认每 60 分钟、保留 24 份)、数据保留与归档、四类限流(ingest/API/auth/webhook)、启动时数据库压缩整理(compact)与可识别损坏的自动恢复。
  • 邮件能力:SMTP 发送邀请、密码重置与周期性邮件报告。

官方刻意不做的(README "HitKeep is web-focused" 段原文):会话回放(session replay)、移动端 SDK、内置 A/B 实验、访客个体画像——"favors aggregate traffic and conversion evidence over visitor profiles"。

五、快速开始(官方路径速览)

官方 README 给出三条自托管路径(查询日期 2026-11-01;Docker Compose 路径的逐条实测回显见本系列部署篇):

路径一:Homebrew(官方限定 Apple silicon macOS 或 x86_64 Linux;Linux ARM64 请用二进制或 Docker):

brew install HitKeep/hitkeep/hitkeep
hitkeep --version

路径二:Docker Compose(README 标注为面向生产的自托管基线):

mkdir hitkeep && cd hitkeep
curl -fsSLo compose.yml https://raw.githubusercontent.com/HitKeep/hitkeep/main/examples/compose.yml
curl -fsSLo .env https://raw.githubusercontent.com/HitKeep/hitkeep/main/examples/.env.example
# 编辑 .env:HITKEEP_JWT_SECRET 用 openssl rand -hex 32 生成;
# HITKEEP_PUBLIC_URL 改成浏览器实际访问的地址
docker compose up -d

路径三:原生二进制:从 GitHub Releases 下载对应架构压缩包,按官方二进制安装指南配置 systemd 服务(https://hitkeep.com/guides/installation/binary/)。

任一路径完成后,在仪表盘创建站点,然后往目标网页插入一行脚本:

<script async src="https://analytics.example.com/hk.js"></script>

六、适用场景与限制

适合(结合官方定位与架构取舍):

  • 想要「隐私优先 + 报表纵深」兼得的团队:无 cookie 的同时要有漏斗、电商收入、Web Vitals、Search Console——同体量的 GoatCounter/Umami 都不覆盖这组能力。
  • 厌倦「数据库全家桶」的运维:不需要 PostgreSQL/MySQL、Redis、独立消息队列,一个容器或一个二进制即整套系统,备份与保留策略内建。
  • 多站点集中统计与团队协作:站点级权限、团队 SSO 在开源版内。
  • AI 时代的流量可见性:关心 ChatGPT/Claude 等 AI 渠道带来的引荐与爬虫行为,或想把统计数据接进 AI 助手(只读 MCP 端点)。
  • 二次集成:REST API(275 个路径)、webhooks、takeout 导出的组合,适合把统计平台当数据源。

限制(选型前务必确认可接受):

  • 项目年轻:仓库 2025 年 11 月才创建,截至 2026-11-01 星数 103、中文社区资料少;遇到问题主要依赖官方文档与 Issue,第三方生态(导入器、教程、周边工具)远小于 Umami/Matomo。
  • 存储引擎绑定 DuckDB:全部 100 个命令行旗标中没有任何数据库引擎切换项(部署篇实测 --help 全量输出),不像 GoatCounter/Umami 可以换 PostgreSQL——备份、迁移、直接读库都要走 HitKeep 自己的机制。
  • 二进制基线 glibc 2.35+(Ubuntu 22.04 构建,官方二进制指南明确):Debian 10/11、CentOS 7 等老发行版不能直接跑发行二进制(部署篇实测在更老 glibc 的宿主机上报 GLIBCXX 符号缺失),请改用官方容器镜像。
  • DuckDB 扩展目录约束:数据目录需可写且不得以 noexec 挂载(README 原文),对安全加固型的挂载参数有要求。
  • Web-focused 的能力边界:无会话回放、无热图、无移动 SDK、无内置 A/B——需要这些请看 Matomo 或产品分析工具。

七、同类选型对比

对比对象选取与 HitKeep 定位最接近的四个开源 Web 统计产品:Umami、Plausible、Matomo、GoatCounter(均为自托管可用的独立产品,平台站内另有专文)。下表数据除标注外均为 2026-11-01 查证:星数取自 shields.io GitHub 徽章(当日缓存值),许可证取自各仓库 LICENSE/徽章,技术栈与存储取自各官方文档。

维度HitKeepUmamiPlausibleMatomoGoatCounter
GitHub Stars(2026-11-01,shields.io)10340k30k22k6.1k
开发语言/技术栈Go(单二进制)Node.js/Next.jsElixir + PhoenixPHPGo(单二进制)
许可证MITMITAGPL-3.0GPL-3.0EUPL-1.2 轻微修改版
存储依赖内嵌 DuckDB(不可外置)PostgreSQL(v2,MySQL 为 v1 遗留)PostgreSQL + ClickHouseMySQL/MariaDBSQLite 或 PostgreSQL
外部队列/缓存无(内嵌 NSQ)可选 Redis无强制可选 Redis无
部署形态单二进制/systemd 或官方 Docker ComposeDocker Compose 为主官方 Docker Compose 为主传统 PHP 或 Docker单二进制 + systemd
cookie/GDPR无 cookie、尊重 DNT无 cookie无 cookie默认有 cookie,可配 cookieless无 cookie
漏斗内置无(以事件为核心)企业版功能内置(另含热图/表单/A/B)无
电商收入报表内置事件级云端收费层插件(WooCommerce 等)无
Search Console 集成内置无有插件无
原始明细/导出takeout + API + webhooks事件级 API事件级 API + 导出全量数据库在手可选明细 + CSV 导出
免费/付费策略自托管 MIT 完整功能;云托管付费MIT 完全免费;云托管付费自托管 CE 免费(AGPL);云托管付费自托管免费;云托管付费自托管任意用途免费;托管版合理用量免费

说明:功能行(漏斗/电商/Search Console)的口径来自各产品官网功能页与文档;GoatCounter 的「无漏斗」结论另经站内专文实测确认。各产品迭代较快,精确到小版本的功能差异请以官方 changelog 为准。

表后解读(「如果…则…」):

  • 如果你要「零外部依赖 + 报表纵深」(漏斗/电商/Search Console/AI 可见性)——HitKeep 是目前唯一把整套能力塞进单二进制的选项:内嵌 DuckDB 撑起了分析型负载,代价是社区小、存储引擎不可外换。它适合「想要 Plausible 的隐私、Matomo 的纵深、GoatCounter 的部署简单度」三者兼得的场景。
  • 如果你的需求只是「博客/文档站的 PV/UV」且服务器只有 1GB 内存——GoatCounter 更省心(站内专文:《GoatCounter 介绍与选型指南》),HitKeep 的 DuckDB 在这个量级属于性能过剩。
  • 如果你想要最大社区与现成生态、坚持 MIT 许可——选 Umami(平台站内有专文:《Umami 介绍与选型指南》),它没有漏斗/电商报表,但 40k 星的社区最厚。
  • 如果不介意跑 ClickHouse 双件套、要现代界面与点击流明细——选 Plausible(平台站内有专文:《Plausible 介绍与选型指南》)。
  • 如果团队已有 PHP/MySQL 运维习惯,或需要热图/表单/A/B 全家桶——选 Matomo,它是最接近「开源自建 GA」的选项。
  • 另有 Open Web Analytics(GPL-2.0,PHP + MySQL,shields.io 2026-11-01 星数 2.7k),属传统 PHP 生态的 WordPress 伴生方案,本文不展开。

本系列其余三篇基于 v2.15.1 真实服务器实测:《HitKeep 2.15.1 Docker Compose 部署指南》覆盖镜像选型、Compose 编排、初始化与注数验证全流程;《HitKeep 2.15.1 配置参数详解》逐组拆解 100 个配置项(旗标与 YAML 键一一对应);《HitKeep 2.15.1 常用 CLI 命令与工具详解》覆盖 config/healthcheck/systemd 与排障实录。

八、参考链接

  • 官网:https://hitkeep.com(定位与特性来源,查询日期 2026-11-01)
  • 仓库与 README:https://github.com/HitKeep/hitkeep(版本、许可、架构与快速开始来源)
  • 版本发布页:https://github.com/HitKeep/hitkeep/releases(v2.15.1 于 2026-10-28 发布核验)
  • 官方文档:https://hitkeep.com/guides/introduction/;安装总览:https://hitkeep.com/guides/installation/
  • 官方安装指南:Docker Compose https://hitkeep.com/guides/installation/docker-compose/;二进制 https://hitkeep.com/guides/installation/binary/;Homebrew https://hitkeep.com/guides/installation/homebrew/
  • 配置参考:https://hitkeep.com/reference/configuration/
  • 官方同类对比库:https://hitkeep.com/vs/
  • 容器镜像:Docker Hub https://hub.docker.com/r/pascalebeier/hitkeep;GHCR https://github.com/HitKeep/hitkeep/pkgs/container/hitkeep
  • OpenSSF Best Practices:https://www.bestpractices.dev/projects/11990
  • 站内相关文档:《GoatCounter 介绍与选型指南》、《Plausible 介绍与选型指南》、《Umami 介绍与选型指南》