Langfuse 代码库导航图:组织仓库映射与单体仓库路由指南
【免费下载链接】langfuse🪢 Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. 🍊YC W23项目地址: https://gitcode.com/GitHub_Trending/la/langfuse
本文基于 Langfuse 仓库中langfuse-codebase-navigator技能的参考文档 repository-map.md,系统讲解 Langfuse 组织级仓库清单、主产品单体仓库的关键代码区域、SDK/文档/部署仓库的目录地图,以及跨仓库搜索的实操命令。读完后,你可以在接手产品功能、摄取管道、共享查询层或任意周边仓库的任务前,快速定位"该去哪个仓库、从哪个目录开始、用什么rg命令搜索"。
一、Navigator 技能的定位与工作流程
langfuse-codebase-navigator 是 Langfuse 团队为 Agent 设计的"第一站"导航技能:在执行任何深度工作之前,先完成三件事——选择正确的仓库、定位正确的代码区域、加载更具体的技能。其默认工作流(见 SKILL.md 的 Default Workflow 一节)为:
- 按领域对请求分类:产品应用/API/后端/摄取/worker/ClickHouse/模型定价/评估/提示词/数据集/评分/traces →
langfuse/langfuse;文档/变更日志/博客 →langfuse/langfuse-docs;SDK 行为 →langfuse-js、langfuse-python、langfuse-java;部署与自托管 →langfuse-k8s、langfuse-terraform-*、oss-llmops-stack;Langfuse Cloud 基础设施与运维 →infrastructure、analytics、langfuse-ops、platform;GitHub Actions、CLI、MCP、n8n、示例、实验 → 查 repository-map.md 中对应的专业仓库。 - 当路由不明显、任务跨仓库、或用户要求组织级导览时,读取
references/repository-map.md。 - 编辑前先在目标仓库或兄弟仓库中查找更具体的技能(如
backend-dev-guidelines、clickhouse-best-practices),若匹配则优先遵循它。 - 优先在本地兄弟 checkout 中搜索;缺少某仓库时,用
gh repo clone langfuse/<repo> "$LANGFUSE_PARENT/<repo>"克隆到同一父目录。 - 以固定格式返回路由决策:
Route(目标仓库及原因)、Open first(精确的技能路径或代码目录)、Search next(一到两条具体rg/gh命令)、Caveat(仅在依赖稀疏私有仓库元数据或仓库清单频繁变动时给出)。
这个"先路由、后深挖"的约定,正是本文主体——仓库映射图(repository map)存在的意义:它把组织内 28 个仓库、主单体仓库十余个关键目录、SDK 包结构、部署模块和搜索配方压缩成一张可查询的导航表。
二、核心路由表:从需求到起点目录
repository-map.md 的第一张表是需求 → 起点 → 后续检查的映射。它按开发者最常见的任务域组织,是整份地图的入口索引:
| 需求 | 起点仓库 | 应检查的目录 |
|---|---|---|
| 产品 UI、API 路由、tRPC、认证、计费、提示词、数据集、评估、traces、sessions、scores、models | langfuse/langfuse | web/src/features/**、web/src/pages/**、web/src/app/**、packages/shared/src/** |
| 摄取(ingestion)、队列、异步任务、导出、数据保留、评估运行器、后台 worker | langfuse/langfuse | worker/src/**、packages/shared/src/server/** |
| 共享领域类型、仓储、服务、Postgres/ClickHouse 查询 | langfuse/langfuse | packages/shared/src/domain/**、packages/shared/src/server/**、packages/shared/src/server/queries/** |
| 公开 API schema 及生成的服务端/客户端定义 | langfuse/langfuse | fern/apis/server/definition/**、fern/apis/client/definition/**、生成的客户端 |
| 文档、变更日志、博客、手册、cookbook、集成、网站组件 | langfuse/langfuse-docs | content/**、app/**、components/**、components-mdx/**、cookbook/** |
| JS/TS SDK 与集成 | langfuse/langfuse-js | packages/client、packages/core、packages/tracing、packages/otel、packages/openai、packages/langchain |
| Python SDK | langfuse/langfuse-python | langfuse/**、langfuse/api/**、tests/** |
| Java SDK | langfuse/langfuse-java | 生成的 Java 客户端与测试 |
| 云基础设施、Terraform、ClickHouse 运维、负载测试、基础设施脚本 | langfuse/infrastructure | terraform/**、clickhouse/**、scripts/**、load-tests/** |
| Kubernetes / Helm 部署 | langfuse/langfuse-k8s | Helm chart 与 Kubernetes 模板 |
| Terraform 部署模块 | langfuse/langfuse-terraform-aws、langfuse-terraform-gcp、langfuse-terraform-azure | 各云厂商特定模块文件 |
| Terraform provider | langfuse/terraform-provider-langfuse | provider 资源、生成的 schema、测试 |
| 公开 agent 技能(使用 Langfuse) | langfuse/skills | skills/langfuse/SKILL.md及其 references |
| 内部 Langfuse 团队技能 | langfuse/langfuse-internal-skills | 该仓库顶层技能文件夹 |
| CLI | langfuse/langfuse-cli | src/**、bin/**、openapi.yml |
| MCP 提示词管理服务器 | langfuse/mcp-server-langfuse | src/** |
| n8n 节点 | langfuse/n8n-nodes-langfuse | 节点包源码 |
| 实验 GitHub Action | langfuse/experiment-action | action.yml、src/**、schemas/** |
| 示例 | langfuse/langfuse-examples | 示例应用目录 |
| API 参考站点 | langfuse/langfuse-api-reference | 静态/生成的 API 参考资源 |
对主仓库路由的直接印证
上述"主产品单体仓库"三行(产品 UI / 摄取与 worker / 共享查询层)在当前 checkout 中可以直接验证,这正是本地图最有价值的部分:
web/src/features/**与web/src/pages/**、web/src/app/**并存:Langfuse 的 web 端同时保留了 Next.js Pages Router 路由(web/src/pages/**,含 100+ 个 API 处理器文件)与 App Router 路由(web/src/app/api),业务功能则以 feature 目录组织,如web/src/features/traces/(200+ 文件)、web/src/features/evals/(400+ 文件)、web/src/features/datasets/等。worker/src/**的三大分区与地图描述一致:worker/src/features/放置异步功能处理器(评估、实验、批量动作/导出、通知、trace 清理等);worker/src/services/包含IngestionService/(摄取服务)、ClickhouseWriter/(ClickHouse 写入器)、dlq/(死信队列)三个服务原语;worker/src/queues/定义 20 余个队列(ingestionQueue.ts、otelIngestionQueue.ts、evalQueue.ts、batchExportQueue.ts、monitorQueue.ts等),并带有分片队列注册表shardedQueueRegistry.ts。packages/shared/src/**的层级与路由表完全吻合:domain/存放共享领域类型(traces.ts、observations.ts、prompts.ts、scores.ts、dataset-items.ts等 17 个模块);server/存放仓储、服务、认证、缓存、ClickHouse/Postgres 查询、S3、Redis、定价与 LLM 辅助模块;server/queries/下按数据库拆分出clickhouse-sql/与postgres-sql/两个查询构建器目录;features/存放提示词、数据集、评分、评估、模型定价、文件夹、评论、权益(entitlements)等共享特性逻辑。fern/apis/目录包含server/、client/、organizations/三个 API 定义域,其中fern/apis/server/definition/含 39 个 OpenAPI 定义文件,是公开 API 契约的源头;web/public/generated/下则由 Fern 生成api/、api-client/、organizations-api/三份 YAML 产物。
从源码结构看,这张路由表不是静态的理想化描述,而是与仓库当前目录结构逐项对应的"活地图"——这也是它在 SKILL.md 中被要求"当路由不明显时必读"的原因。
三、组织仓库清单:28 个仓库的可见性与用途
repository-map.md 的第二张表是对 Langfuse 组织仓库快照(文档标注快照来源为 2026-05-11 通过gh repo list langfuse --limit 1000 --json ...捕获,快照时所有仓库均未归档且非 fork)的完整索引。文档同时提醒:当用户要求"最新"仓库状态时,应刷新该清单。下表完整继承原文档内容("Route When" 一列说明何时应把任务路由到该仓库):
| 仓库 | 可见性 | 语言 | 何时路由到此仓库 |
|---|---|---|---|
.github | 公开 | n/a | 组织主页、默认社区健康度、组织级 GitHub 元数据 |
202604-offsite-slides | 私有 | TypeScript | 内部 offsite 幻灯片工作。仅当用户点名或询问这些幻灯片时路由 |
analytics | 私有 | Shell | 分析数据管道与文档、成本/数据集市、分析脚本 |
background-jobs | 私有 | TypeScript | 元数据稀疏的早期私有后台任务工作。使用前先查看 README |
experiment-action | 公开 | TypeScript | 运行 Langfuse 实验的 GitHub Action 工作流支持 |
infrastructure | 私有 | HCL | Langfuse Cloud 基础设施、Terraform、ClickHouse 运维、基础设施脚本、负载测试 |
langfuse | 公开 | TypeScript | 主产品单体仓库:web 应用、API、worker、共享包、生成的 API 定义 |
langfuse-api-reference | 公开 | HTML | 生成或静态的 API 参考站点 |
langfuse-cli | 公开 | TypeScript | Langfuse API 的 CLI 封装 |
langfuse-docs | 公开 | MDX | 文档、变更日志、博客、集成、cookbook、手册、营销/文档网站 |
langfuse-examples | 公开 | TypeScript | 展示部署与 Langfuse 用法的示例应用 |
langfuse-ghsa-gccw-7cqr-2cjm | 私有 | TypeScript | 对应 GHSA 安全公告的修复/复现工作。按敏感信息对待 |
langfuse-internal-skills | 私有 | Python | 内部团队技能:支持、PR 漏斗、社交文案、会议纪要、Plain 搜索、写作与路由 |
langfuse-java | 公开 | Java | 自动生成的 Langfuse API Java 客户端 |
langfuse-js | 公开 | TypeScript | JS/TS SDK 包与集成:tracing、OpenAI、LangChain、OTel、提示词、数据集、评分 |
langfuse-k8s | 公开 | Go Template | 社区维护的 Kubernetes 配置与 Helm chart |
langfuse-ops | 私有 | JavaScript | 私有运维工具。使用前查看 README/脚本 |
langfuse-playground | 私有 | Python | 私有 playground/原型代码。用户点名或搜索证据指向时再用 |
langfuse-python | 公开 | Python | Python SDK、生成的 API 客户端、装饰器、OTel、LangChain/OpenAI 集成测试 |
langfuse-terraform-aws | 公开 | HCL | AWS 部署的 Terraform 模块 |
langfuse-terraform-azure | 公开 | HCL | Azure 部署的 Terraform 模块 |
langfuse-terraform-gcp | 公开 | HCL | GCP 部署的 Terraform 模块 |
mcp-server-langfuse | 公开 | TypeScript | Langfuse 提示词管理的 MCP 服务器 |
n8n-nodes-langfuse | 公开 | JavaScript | Langfuse 提示词管理的 n8n 节点 |
nofilter | 私有 | TypeScript | 黑客松/原型仓库。仅在点名或搜索证据指向时使用 |
oss-llmops-stack | 公开 | n/a | 组合 LiteLLM 与 Langfuse 的模块化开源 LLMOps 技术栈 |
platform | 私有 | Python | 元数据稀疏的私有平台仓库。非显然任务路由前先看 README |
skills | 公开 | Python | 公开可安装的 Langfuse agent 技能,用于使用 Langfuse 及其文档/API |
task-search-bar | 私有 | TypeScript | 小型私有任务/原型仓库。用户点名时使用 |
terraform-provider-langfuse | 公开 | Go | 管理 Langfuse 资源的 Terraform provider |
tmp-langfuse-otel-js | 私有 | TypeScript | 新 JS SDK v4 / OTel 工作的临时仓库。需确认工作是否已移入langfuse-js |
使用这张表时有一条明确的纪律(原文档末段):对私有、元数据稀疏的仓库,只有在检查过其 README/根目录文件之后,或用户明确点名时,才路由进去。这是为了避免 Agent 在信息不足的私有仓库上做出错误假设。
四、主产品单体仓库的关键区域详解
文档对langfuse/langfuse的导航前提是一个约定:"从与当前 Langfuse 仓库同一父目录下的兄弟 checkoutlangfuse开始"。地图随后列出 13 个重要区域,并逐一对应源码职责:
web/src/features/**:面向功能的 UI、hooks、服务端模块、页面与组件;web/src/pages/**:Next.js 页面与 API 路由;web/src/app/**:App-router 路由与 app 级 API;web/src/components/**:共享 UI、trace 展示、表格、布局、设计系统组件;packages/shared/src/domain/**:共享领域接口与业务类型;packages/shared/src/server/**:仓储、服务、认证、缓存、ClickHouse/Postgres 查询、S3、Redis、定价、LLM 辅助;packages/shared/src/server/queries/**:ClickHouse 与 Postgres 的 SQL 查询构建器;packages/shared/src/features/**:提示词、数据集、评分、评估、模型定价、文件夹、评论、权益的共享特性逻辑;worker/src/features/**:评估、实验、批量动作/导出、通知、traces、tokenization、清理的异步功能处理器;worker/src/services/**:摄取服务、ClickHouse 写入器、DLQ 与 worker 服务原语;worker/src/queues/**:队列定义与处理器;fern/apis/server/definition/**:服务端/公开 API 定义;fern/apis/client/definition/**:生成的客户端 API 定义;ee/src/**与web/src/ee/**:企业版专属代码。
在当前 checkout 中,ee/目录仅含ee-license-check/的许可校验逻辑,企业特性的 UI 部分则位于web/src/ee/features/(70+ 文件),与地图"企业代码分处两处"的提示一致。而worker/src/features/下的实际子目录(evaluation/、experiments/、batchAction/、batchExport/、notifications/、tokenisation/、batch-trace-deletion-cleaner/等)也与地图描述的"异步功能处理器"清单逐项吻合——地图中的每一条路由都可以用ls或rg --files在本地直接验证,这正是其可作为 Agent 决策依据的可信度来源。
仓库本地技能清单(.agents/skills)
地图同时把"代码在哪个仓库"与"该任务应加载哪个技能"绑定,列出了主仓库.agents/skills下的 23 个仓库本地技能及其路由用途:
agent-setup-maintenance:agent 配置、生成的 shims、共享技能路由;add-model-price:模型价格默认值、provider 价格键、tokenizer ID、匹配模式(其 references 目录下有provider-sources-and-price-keys.md、match-patterns.md等 7 份参考文档);analyze-cloud-costs:Langfuse Cloud 成本分析;backend-dev-guidelines:tRPC、API 端点、worker 处理器、Prisma、ClickHouse 服务、后端测试;changelog-writing:面向用户的发布说明;clickhouse-best-practices:ClickHouse schema/查询/迁移审查(rules 目录含 30 条规则文档,覆盖插入批量化、OPTIMIZE/FINAL规避、跳数索引、JOIN 策略、分区与主键基数字典等);code-review:仓库专属的正确性/回归审查;cursor-agents-workflow:Cursor agent 的 Linear 分支命名、cursorGitHub 标签、人工测试步骤、PR 上的工作证明、Claude/Greptile/Codex 评审意见处理;datadog-query-recipes:生产排查可复用的 Datadog 查询形态;debug-issue-with-datadog:与 Langfuse 代码路径绑定的生产调试;frontend-browser-review:用户可见的web/**变更与浏览器验证;frontend-large-feature-architecture:大型前端功能、controller 状态与渲染性能;git-workflow:Langfuse 仓库的 Git/GitHub/分支/提交/PR/issue 工作流;housekeeping:跨 Linear、Pylon、GitHub 的周期性任务队列审查;langfuse-codebase-navigator:本导航技能本身(组织、仓库、文件夹与技能路由);linear-bug-triage:Linear issue 去重与 bug 证据工作流;pnpm-upgrade-package:pnpm 发布年龄约束下的依赖升级;security-review:用户提供的 URL、密钥、租户与认证范围的安全审查模式;seed-test-data:本地 Langfuse 种子场景(traces、sessions、列表与事件数据);skill-creator:创建或更新仓库拥有的技能;storybook:编写或审查 React 组件 stories;turborepo:任务图、缓存、包边界工作;weekly-production-review:跨 Datadog、incident.io、Linear 与修复项的每周生产审查。
此外,地图还指出web/.agents/skills下有两个前端专属技能:vercel-react-best-practices与vercel-composition-patterns——当前仓库的web/.agents/skills/目录确实同时存在这两个技能文件夹。
五、文档仓库与周边仓库的目录地图
文档仓库(langfuse-docs)
同样以"同一父目录下的兄弟 checkout"为前提,文档仓库的关键区域为:
content/docs/**:产品文档;content/changelog/**:变更日志条目;content/blog/**:博客文章;content/integrations/**:集成文档;content/self-hosting/**:自托管文档;cookbook/**:可运行的示例与 notebook;app/**:文档、博客、变更日志、指南、集成、库的 Next.js 路由;components/**与components-mdx/**:文档站点 UI 与 MDX 组件。
该 checkout 中还记录了一个仓库本地技能:.claude/skills/add-yourself-to-team-langfuse/SKILL.md。
SDK 与集成仓库
langfuse-js的包结构地图:
packages/client:高层客户端、提示词、数据集、评分、实验;packages/core:共享 API 客户端、常量、媒体、传播(propagation)、工具函数;packages/tracing:tracing 封装与 provider;packages/otel:OpenTelemetry span processor 与媒体服务;packages/openai:OpenAI 集成辅助;packages/langchain:LangChain 回调处理器;tests/e2e与tests/integration:行为覆盖。
langfuse-python的模块地图:
langfuse/_client:核心客户端、observe 装饰器、spans、数据集、传播;langfuse/api:生成的 API 客户端;langfuse/langchain、langfuse/openai.py:集成;langfuse/_task_manager:摄取与媒体上传队列;tests/**:SDK 行为与集成测试。
其余集成仓库一行一个定位:langfuse-java(Java API 客户端)、langfuse-cli(命令行 API 访问)、mcp-server-langfuse(MCP 提示词管理服务器)、n8n-nodes-langfuse(n8n 提示词管理节点)、experiment-action(实验工作流 GitHub Action)、terraform-provider-langfuse(Terraform provider)。
部署与运维
infrastructure仓库的关键区域:
terraform/environments/**:环境特定的云资源;terraform/modules/**:可复用 Terraform 模块;terraform/org/**:组织级配置;clickhouse/**:ClickHouse 运维/配置;scripts/**:部署、迁移、一致性、性能与基础设施工具;load-tests/**:基础设施负载测试;.agents/skills/infra-scaling/SKILL.md:自动扩缩容与 RPM/容量工作流。
部署类仓库:langfuse-k8s(Helm/Kubernetes chart 与模板)、langfuse-terraform-aws(AWS 模块)、langfuse-terraform-gcp(GCP 模块)、langfuse-terraform-azure(Azure 模块)、oss-llmops-stack(使用 LiteLLM 与 Langfuse 的参考开源 LLMOps 技术栈)。
技能仓库
- 公开技能仓库
langfuse/skills:入口为skills/langfuse/SKILL.md(文档/API/CLI/产品使用入口),配套 references 共 7 份:cli.md、instrumentation.md、prompt-migration.md、sdk-upgrade.md、error-analysis.md、user-feedback.md、skill-feedback.md; - 内部技能仓库
langfuse/langfuse-internal-skills:blog-writing(文档博客写作与编辑)、langfuse-pr-funnel(功能公告分发草稿与草稿 PR)、langfuse-support-triage(一级支持问题排查与回复起草)、langfuse-support-weekly-review(每周支持/反馈趋势审查)、meeting-notes(日历与 Notion 会议纪要、摘要、行动项)、plain-search(Plain 支持工单检索)、social-post-drafter(X/LinkedIn 文案)、unslop(以用户直接风格做简洁改写)、langfuse-codebase-navigator(本导航技能)。
六、搜索配方:可直接复制的跨仓库检索命令
repository-map.md 的最后一节给出四组实战搜索命令,核心思路是"先用git rev-parse定位兄弟仓库所在的父目录,再在各仓库内用rg做限定目录的高密度搜索"。以下完整继承原文档命令:
1. 主仓库功能搜索
LANGFUSE_REPO_ROOT="$(git rev-parse --show-toplevel)" LANGFUSE_PARENT="$(dirname "$LANGFUSE_REPO_ROOT")" cd "$LANGFUSE_PARENT/langfuse" rg -n "prompt|dataset|score|trace|observation|session|eval" web/src packages/shared/src worker/src限定在web/src、packages/shared/src、worker/src三个目录搜索,能同时命中 UI、共享服务层与 worker 处理器三个平面。
2. 文档仓库搜索
cd "$LANGFUSE_PARENT/langfuse-docs" rg -n "topic or feature name" content app components components-mdx cookbook3. SDK 搜索
cd "$LANGFUSE_PARENT/langfuse-js" rg -n "observe|prompt|trace|span|score|dataset" packages tests cd "$LANGFUSE_PARENT/langfuse-python" rg -n "observe|prompt|trace|span|score|dataset" langfuse tests两个 SDK 仓库都用同一组领域关键词(observe/prompt/trace/span/score/dataset)搜索,体现"以领域词而非符号名起步"的检索习惯——这与主仓库的配方保持一致。
4. 组织级搜索兜底
gh repo list langfuse --limit 1000 --json name,description,isPrivate,primaryLanguage,pushedAt,url gh search code "query org:langfuse" --limit 50当本地兄弟 checkout 缺失,或需要确认仓库清单是否过期(对应文首"刷新清单"的提示)时,用gh重新拉取组织仓库清单;跨仓库代码搜索优先使用本地克隆,仅在本地缺失或需要确认当前默认分支时才回退到 GitHub 搜索(SKILL.md 中对此有相同约束)。SKILL.md 还补充了一条"发现本地 checkout"的命令,可配合使用:
find "$LANGFUSE_PARENT" -mindepth 2 -maxdepth 2 -type d -name .git -print | sed 's#/.git$##'七、适用前提与使用边界
使用这张导航图时有三点必须明确的边界,均来自原文档自身的标注:
- 兄弟 checkout 前提:地图中的
langfuse-docs、langfuse-js、langfuse-python、infrastructure等条目指向"与主仓库同一父目录"的兄弟克隆,而非当前仓库内部路径。在只有当前主仓库的单机环境中,仅"主产品单体仓库"一节的路由与搜索配方可以直接落地,其余仓库需按 SKILL.md 的建议先gh repo clone到同一父目录。 - 快照时效:仓库清单是基于 2026-05-11 的
gh repo list捕获的快照,且当时所有列出仓库均为未归档、非 fork 状态。清单中的私有仓库数量、tmp-langfuse-otel-js这类"临时仓库"的存续性都可能随时间变化,涉及"最新仓库状态"的决策应重新执行组织搜索配方刷新。 - 私有仓库纪律:
analytics、platform、background-jobs、langfuse-ops等元数据稀疏的私有仓库,路由前必须先检查其 README 或根目录文件;langfuse-ghsa-*安全公告仓库按敏感信息对待。
综合来看,repository-map.md 与 SKILL.md 共同构成了一套"需求分类 → 仓库路由 → 目录定位 → 技能加载 → 定向搜索"的完整导航协议。对主仓库部分,其路由表可与web/src、packages/shared/src、worker/src、fern/apis的实际目录结构逐条对应验证;对周边仓库部分,它则以快照加刷新机制的方式管理时效性。掌握这张地图后,任何涉及 Langfuse 代码定位的任务都可以从一个明确的"起点目录 + 搜索命令"出发,而不必先做全仓库盲读。
【免费下载链接】langfuse🪢 Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. 🍊YC W23项目地址: https://gitcode.com/GitHub_Trending/la/langfuse
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考