项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1666
技术标签
使用教程
环境要求
- 已安装 Docker 与 Docker Compose(唯一前置条件)
- 生产环境建议至少 4GB 内存和 4 个 CPU 核心
- 本地需能访问 4000 端口,并能拉取 git 仓库与 Docker 镜像
安装与启动步骤
-
1克隆仓库
把 Trench 源码克隆到本地,URL 来自 README。克隆完成后目录名为 trench。
git clone https://github.com/frigadehq/trench.git -
2准备配置文件
进入服务目录(apps/trench),把示例环境变量文件复制为 .env,后续可在这里改配置和 API Key。
cd trench/apps/trench cp .env.example .env -
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发送示例事件
用 .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查询事件
用 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执行 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' -
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···
finn
开源
把量化神经网络自动编译成 FPGA 数据流硬件
Dataflow compiler for QNN inference on FPGAs
deepflow
开源
无需改代码,eBPF 自动搞定全链路追踪和性能剖析
eBPF Observability - Distributed Tracing and Profiling
pasllm
开源
在 Pascal 里跑大模型,让 Delphi/Lazarus 也能做 AI 对话。
PasLLM - LLM inference engine in Object Pascal (synced from my private work reposito···
zeptoclaw
开源
一个 Rust 二进制搞定本地 AI 助手,安全自治不泄露隐私
Fast, small, secure, local-first personal AI assistant infrastructure: one Rust bina···
docker-diffusers-api
开源
把 Stable Diffusion 装进 Docker,一行命令起 REST API,快速集成图像生成。
Diffusers / Stable Diffusion in docker with a REST API, supporting various models, p···
cactus
开源
让手机和机器人秒级跑起 AI 模型,省电又流畅
Sub-50mb agentic, voice and vision intelligence for consumer devices.
claude-code-proxy
开源
本地转接口,让 Claude Code 用上别的模型订阅
Use Claude Code with your ChatGPT, Kimi, Cursor or Grok subscription via a local Ant···
archestra
开源
给企业 AI 套上护栏,统一管理模型与工具,安全落地
Enterprise AI Platform with guardrails, MCP registry, gateway & orchestrator
