Skip to content

源码索引

这一页把书里出现的关键源码入口集中列出来。阅读时建议打开对应文件,对照章节中的运行链路看。

根配置

文件读它是为了理解什么
package.json根脚本、Node 版本、pnpm 版本、Turbo 入口。
pnpm-workspace.yaml哪些目录被纳入 workspace。
turbo.jsonbuild、dev、lint、typecheck、test 的任务关系和缓存策略。
docker-compose.yml本地完整自托管栈:web、worker、Postgres、ClickHouse、Redis、MinIO。
docker-compose.dev.yml本地开发依赖栈:通常只起数据设施,web/worker 从源码跑。
.agents/ARCHITECTURE_PRINCIPLES.md仓库内的架构原则和约束。

Web 层

文件或目录读它是为了理解什么
web/src/pagesNext.js pages router 入口。
web/src/features主要业务功能的 UI 和局部服务端组织。
web/src/components/table/data-table.tsx通用表格抽象。
web/src/components/table/types.ts表格列、状态和行为类型。
web/src/features/tracing-tables/README.mdtracing tables 的组织原则。
web/src/features/search-bar/README.md搜索语法、FilterState 和跨视图扩展契约。
web/src/styles/globals.cssTailwind token、颜色变量和基础样式。
web/src/server/api/root.tstRPC router 聚合入口。
web/src/server/api/trpc.tsprocedure、context、鉴权和项目权限约束。
web/src/pages/api/public/ingestion.ts普通 ingestion batch API:auth、rate limit、events_only 过滤和 processEventBatch 调用。
web/src/pages/api/public/events.ts/events endpoint 如何包装成 legacy OBSERVATION_CREATE
web/src/pages/api/public/otel/v1/traces/index.tsOTel trace ingestion:raw body、gzip、JSON/Protobuf、SDK header 和 OTel queue 发布。
web/src/features/public-api/server/withMiddlewares.tsPublic API 的 method、CORS、错误处理包装。
web/src/features/public-api/server/createAuthedProjectAPIRoute.tsAPI key、scope、rate limit 和 schema 校验入口。
web/src/features/public-api/README.md新增 Public API 的开发流程。
web/src/features/evalsevaluator 配置 UI、tRPC router、unstable public API、target/mapping 表单。
web/src/features/experimentsexperiment 列表、comparison、metrics 和 run/item score 展示。
web/src/features/experiments/server/router.tsPrompt Experiment 如何要求 prompt/dataset/model config,创建 DatasetRun 并投递 experiment create 队列。
web/src/features/datasets/server/publicDatasetService.tsSDK/API 如何创建 DatasetRunItem,把外部 runtime 产生的 trace 连接到 dataset run。
web/src/features/datasets/server/dataset-router.tsRemote Experiment webhook 的配置和触发入口。
web/src/features/score-analyticsscore analytics 的 tRPC 查询、数据转换、图表和双 score 比较 UI。

Shared 契约层

文件或目录读它是为了理解什么
packages/shared/src/domain/observations.tsobservation domain model。
packages/shared/src/domain/traces.tstrace domain model。
packages/shared/src/domain/scores.tsscore domain model。
packages/shared/src/domain/score-configs.tsscore config 的数据类型、分类值和取值范围约束。
packages/shared/src/domain/dataset-run-items.tsdataset run item 的运行结果连接模型。
packages/shared/src/server/llm/types.tsExperimentMetadataSchema:当前 Prompt Experiment 的 run metadata 契约。
packages/shared/src/features/evals/types.tsevaluator target、变量映射和 legacy/new eval 语义。
packages/shared/src/features/evals/observationForEval.tsobservation/experiment evaluator 的执行输入快照格式。
packages/shared/src/server/queues.ts队列名、job 名、payload schema。
packages/shared/src/server/redis/**BullMQ queue class、sharding、Redis 短期状态。
packages/shared/src/server/ingestion/processEventBatch.tsingestion 请求侧批量处理和入队。
packages/shared/src/server/ingestion/types.tsingestion event types、Zod schema、usage/cost/environment 规范化。
packages/shared/src/server/clickhouse/schemaUtils.tseventTypestrace/observation/score/dataset_run_item 的实体映射。
packages/shared/src/server/otel/OtelIngestionProcessor.tsOTel ResourceSpan 到 Langfuse ingestion events / v4 event inputs 的转换。
packages/shared/src/interfaces/filters.tsFilterState、filter operator 和事件表筛选结构。
packages/shared/src/server/queries/clickhouse-sql/event-query-builder.tsv4 events 查询构造器。
packages/shared/src/server/repositories/definitions.tsClickHouse record read/insert schema。
packages/shared/src/server/repositories/experiments.tsexperiment 查询、run/item 指标和 score 聚合。
packages/shared/src/server/repositories/scores.tstrace/session/experiment/score analytics 使用的 score 查询入口。
packages/shared/prisma/schema.prismaPostgres schema 源头。
packages/shared/clickhouse/migrationsClickHouse schema 迁移。
packages/shared/clickhouse/scripts/dev-tables.sh本地 v4 events_full / events_core 表和 legacy backfill 示例。

Worker 层

文件或目录读它是为了理解什么
worker/src/app.tsworker 启动和队列注册。
worker/src/queues各队列 processor。
worker/src/queues/workerManager.tsBullMQ Worker 注册、metrics、OpenTelemetry 和 failed/stalled hooks。
worker/src/queues/ingestionQueue.tsingestion job 消费流程。
worker/src/queues/otelIngestionQueue.tsOTel ingestion job 消费、legacy/v4 direct write 决策和 observation eval 调度。
worker/src/queues/eventPropagationQueue.tsv4 event propagation repeat job 的 worker processor。
worker/src/services/IngestionService/index.ts事件转换和写入准备。
worker/src/services/ClickhouseWriter/index.tsClickHouse 批量写入队列。
worker/src/features/eventPropagation/handleEventPropagationJob.tsobservations_batch_staging 按分区补写 events_full 的主逻辑。
worker/src/features/eventPropagation/handleExperimentBackfill.ts根据 dataset_run_items_rmt 回填 experiment 字段到 events_full
worker/src/features/evaluation/evalService.tslegacy trace/dataset evaluator 调度和 LLM-as-a-Judge 执行核心。
worker/src/features/evaluation/observationEvalobservation/experiment evaluator 的新调度和执行路径。
worker/src/features/evaluation/evalScoreEvent.tsevaluator 输出如何转换成标准 SCORE_CREATE 事件。
worker/src/features/evaluation/evalCompletion.tsevaluator 完成后如何写 score、更新 JobExecution
worker/src/features/experiments/experimentServiceClickhouse.tsprompt experiment 如何创建 dataset run item、trace 和 observation。

部署与 K8s

文件或目录读它是为了理解什么
web/DockerfileLangfuse Web 镜像构建、运行时文件和 entrypoint。
web/entrypoint.shPostgres/ClickHouse 自动迁移和 web 启动边界。
worker/DockerfileLangfuse Worker 镜像构建和运行入口。
worker/entrypoint.shWorker 容器如何拼接数据库环境并启动。
../langfuse-k8s/charts/langfuse/Chart.yamlHelm chart dependency:Postgres、ClickHouse、Valkey、MinIO。
../langfuse-k8s/charts/langfuse/values.yamlweb/worker、数据库、Redis、S3、扩缩容和 secret 配置入口。
../langfuse-k8s/charts/langfuse/templates/web/deployment.yamlWeb Deployment 的 env、probe、Service 端口和副本配置。
../langfuse-k8s/charts/langfuse/templates/worker/deployment.yamlWorker Deployment 的 env、probe、端口和副本配置。
../langfuse-k8s/charts/langfuse/templates/_helpers.tplHelm values 如何生成 DATABASE_*CLICKHOUSE_*REDIS_*LANGFUSE_S3_*
../langfuse-docs/content/self-hosting/deployment/kubernetes-helm.mdx官方 K8s Helm 部署教程。
../langfuse-docs/content/self-hosting/configuration/scaling.mdx官方 sizing、worker 扩缩容和高吞吐建议。

API Contract 和生成文件

文件或目录读它是为了理解什么
fern/apisPublic API 定义源头。
generated生成后的 API client 或产物,只读。
web/src/features/public-api/typesWeb 侧 Public API 类型桥接。
web/src/pages/api/publicPublic API route 入口。

文档站点本身

文件或目录读它是为了理解什么
.vitepress/config.mts本书站点的导航、sidebar、搜索和主题配置。
index.md站点首页。
part00-prefacepart08-labs按参考教程结构拆分的正文和实验课。
part03-architecture/06-data-model-visuals.md数据结构图谱:实体关系、存储落点、observation tree、v4 抽象变化。
part03-architecture/08-entity-business-relations.md业务实体关系:Observation、Trace、Session、Dataset、Experiment、Score、Evaluator 的组合方式。
part03-architecture/07-deployment-k8s.md部署结构:Docker Compose 到 Kubernetes Helm 的对象映射和生产差距。
part09-subsystems子系统精读模板、Ingestion / Event Store 子系统、Experiment 子系统、Evaluation 子系统完整链路。
architecture/langfuse-current-architecture.drawio中文 draw.io 架构图 XML 源文件。
public/architecture/langfuse-current-architecture.drawio在线站点可直接访问的 draw.io XML。
architecture/skills-eval-system-architecture.drawioSkills Eval 技术方案总览 draw.io XML 源文件。
public/architecture/skills-eval-system-architecture.drawio在线站点可直接访问的 Skills Eval draw.io XML。
langfuse-repo-guide.md早期单页长文版,可作为浓缩参考。