trench

一条命令部署,快速搭建产品分析平台

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 66 🐛 待处理 3 👀 关注 13
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1666
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,可自行部署,完全免费。

项目预览

trench 项目界面预览图
图片来源:项目官网

项目数据

分类搜索知识
开发团队FrigadeHQ
官网地址https://trench.dev
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,可自行部署,完全免费。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型analytics,clickhouse,clickhouse-database,clickhouse-server,dashboard,dashboards,event-replay,kafka,kafka-engine,llm,matomo,matomo-analytics,nodejs,open-source,plausible-analytics,posthog,product-analytics,rag,tracking,tracking-events
GitHub 星标★ 1666
上线时间2024-09-30 00:00:00
代码更新2026-04-06
仓库体积6.0 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数4

项目介绍

Trench 是一个开源的轻量级分析基础设施,旨在帮助开发者快速构建产品分析、LLM RAG、可观测性平台等分析类应用。它基于 ClickHouse、Kafka 和 Node.js 构建,提供单个生产就绪的 Docker 镜像,简化了事件追踪和分析管道的搭建。Trench 解决了从零搭建分析后端的高成本问题,核心能力包括事件数据采集、流式处理、存储与查询,并支持通过 API 或 SDK 灵活接入。其设计强调易用性和可扩展性,适合需要自托管分析功能的团队。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1666

使用教程

难度:入门 约 15 分钟 部署方式:Docker 7 步

环境要求

  • 已安装 Docker 与 Docker Compose(唯一前置条件)
  • 生产环境建议至少 4GB 内存和 4 个 CPU 核心
  • 本地需能访问 4000 端口,并能拉取 git 仓库与 Docker 镜像

安装与启动步骤

  1. 1克隆仓库

    把 Trench 源码克隆到本地,URL 来自 README。克隆完成后目录名为 trench。

    git clone https://github.com/frigadehq/trench.git
  2. 2准备配置文件

    进入服务目录(apps/trench),把示例环境变量文件复制为 .env,后续可在这里改配置和 API Key。

    cd trench/apps/trench
    cp .env.example .env
  3. 3启动 Dev 服务

    用 dev compose 文件启动,会自动构建镜像并拉起本地 ClickHouse 与 Kafka,首次构建耗时较长。

    docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build --force-recreate --renew-anon-volumes
  4. 4发送示例事件

    用 .env 中的 public API Key 以 Bearer 方式向 /events 发送一条 ConnectedAccount 事件。

    curl -i -X POST -H "Authorization:Bearer public-d613be4e-di03-4b02-9058-70aa4j04ff28" -H "Content-Type:application/json" -d "{\"events\":[{\"userId\":\"550e8400-e29b-41d4-a716-446655440000\",\"type\":\"track\",\"event\":\"ConnectedAccount\",\"properties\":{\"totalAccounts\":4,\"country\":\"Denmark\"}}]}" 'http://localhost:4000/events'
  5. 5查询事件

    用 private API Key 调用 GET /events 并按事件名过滤,可看到刚发送的事件返回。

    curl -i -X GET -H "Authorization: Bearer private-d613be4e-di03-4b02-9058-70aa4j04ff28" 'http://localhost:4000/events?event=ConnectedAccount'
  6. 6执行 SQL 查询

    调用 /queries 端点直接跑 ClickHouse SQL 做统计分析,示例统计某 userId 的事件条数。

    curl -i -X POST -H "Authorization:Bearer public-d613be4e-di03-4b02-9058-70aa4j04ff28" -H "Content-Type:application/json" -d "{\"queries\":[\"SELECT COUNT(*) FROM events WHERE userId = '550e8400-e29b-41d4-a716-446655440000'\"]}" 'http://localhost:4000/queries'
  7. 7SASL 方式启动

    如需 Kafka SASL 认证,改用专用 compose 文件在后台构建启动;SSL+SASL 用 docker-compose.ssl-sasl.yml。

    docker compose -f docker-compose.sasl.yml up -d --build

关键配置

配置项必填说明示例
public API key(.env 内)是公共 Key,用于发送事件与执行查询的 Bearer 鉴权public-d613be4e-di03-4b02-9058-70aa4j04ff28
private API key(.env 内)是私有 Key,用于读取事件等需要更高权限的请求private-d613be4e-di03-4b02-9058-70aa4j04ff28
KAFKA_SASL_MECHANISM否SASL 认证机制,SASL compose 启动时使用PLAIN
KAFKA_SASL_USERNAME否Kafka SASL 用户名,SASL compose 启动时使用kafka_user
KAFKA_SASL_PASSWORD否Kafka SASL 密码,SASL compose 启动时使用kafka_password

如何确认成功

浏览器打开 http://localhost:4000,页面显示 “Trench server is running” 即启动成功;再发一次示例事件应能查询到。

常见问题

Q:启动服务需要什么配置?

A:唯一前置条件是安装 Docker 和 Docker Compose;生产环境建议至少 4GB 内存和 4 个 CPU 核心,单节点可处理每秒数千事件。

Q:如何修改 API Key 或端口等配置?

A:README 说明所有配置都在 apps/trench 目录下的 .env 文件中修改,改完重启容器生效。

Q:发送事件后查询不到数据怎么办?

A:事件是流式经 Kafka 写入 ClickHouse 的,会有短暂延迟;可稍后重试 GET /events,并确认用的是对应 public/private Key。

Q:Kafka 需要账号密码时怎么启动?

A:使用 README 提供的 docker compose -f docker-compose.sasl.yml up -d --build(SASL_PLAINTEXT,端口 9095);需要 SSL+SASL 时改用 docker-compose.ssl-sasl.yml。

注意事项

  • 发送事件用 public API Key,查询事件用 private API Key,两者都在 .env 中修改,示例值仅作演示。
  • 生产环境建议至少 4GB 内存与 4 个 CPU 核心。
  • dev compose 会同时启动本地 ClickHouse 与 Kafka,首次 --build 构建时间较长。
  • SASL 与 SSL+SASL 部署使用不同的 compose 文件,ClickHouse 端需配套的 Kafka 认证配置文件。

核心亮点

  • 单个 Docker 镜像,集成 ClickHouse 和 Kafka,部署简单
  • 基于 ClickHouse,查询性能强,适合大规模事件数据分析
  • 支持事件追踪 API,易于集成到现有应用

不足之处

  • 文档/社区待观察
  • 项目较新,生态和周边工具尚不成熟

适用场景

  • 自建产品分析仪表盘
  • 构建 LLM 应用的数据追踪与评估
  • 搭建内部可观测性平台

替代项目

PostHog、Matomo、Umami

上一篇:extractous

下一篇:EmbedAnything

同类项目推荐

fuseml 开源

把散落的 AI 工具串成自动化流水线,减少集成折腾

FuseML aims to provide an MLOps framework as the medium dynamically integrating toge···

★ 85 2026-08-09
finn 开源

把量化神经网络自动编译成 FPGA 数据流硬件

Dataflow compiler for QNN inference on FPGAs

★ 1089 2026-11-08
deepflow 开源

无需改代码,eBPF 自动搞定全链路追踪和性能剖析

eBPF Observability - Distributed Tracing and Profiling

★ 4320 2026-08-09
pasllm 开源

在 Pascal 里跑大模型,让 Delphi/Lazarus 也能做 AI 对话。

PasLLM - LLM inference engine in Object Pascal (synced from my private work reposito···

★ 109 2026-08-09
zeptoclaw 开源

一个 Rust 二进制搞定本地 AI 助手,安全自治不泄露隐私

Fast, small, secure, local-first personal AI assistant infrastructure: one Rust bina···

★ 654 2026-08-09
docker-diffusers-api 开源

把 Stable Diffusion 装进 Docker,一行命令起 REST API,快速集成图像生成。

Diffusers / Stable Diffusion in docker with a REST API, supporting various models, p···

★ 204 2026-08-09
cactus 开源

让手机和机器人秒级跑起 AI 模型,省电又流畅

Sub-50mb agentic, voice and vision intelligence for consumer devices.

★ 14612 2026-08-09
claude-code-proxy 开源

本地转接口,让 Claude Code 用上别的模型订阅

Use Claude Code with your ChatGPT, Kimi, Cursor or Grok subscription via a local Ant···

★ 698 2026-11-10
archestra 开源

给企业 AI 套上护栏,统一管理模型与工具,安全落地

Enterprise AI Platform with guardrails, MCP registry, gateway & orchestrator

★ 4435 2026-08-09