用途:为本地开发 LLM 应用搭建 Langfuse 追踪开发流程,包含热重载、trace 即时可见与调试日志;也可选通过 Docker 自托管本地 Langfuse 实例。
前置条件:需先完成 langfuse-install-auth 配置;Node.js 18+ 及 tsx(npm install -D tsx);Docker 为可选。
主要能力与用法: 1)环境配置:在 git-ignored 的 .env.local 中设置 LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY、LANGFUSE_BASE_URL、NODE_ENV=development、OPENAI_API_KEY。 2)开发优化接入:v4+ 使用 @langfuse/otel 的 LangfuseSpanProcessor、@opentelemetry/sdk-node 的 NodeSDK 与 @langfuse/client 的 LangfuseClient;开发环境下 exportIntervalMillis:1000、maxExportBatchSize:1 以便即时导出,并打印 trace URL、监听 SIGINT 优雅关闭。v3 旧版使用 langfuse 包,设置 flushAt:1、flushInterval:1000、debug:true,并调用 langfuse.shutdownAsync()。 3)热重载脚本:dev 使用 tsx watch --env-file=.env.local src/index.ts;dev:debug 加 DEBUG=langfuse*;dev:trace 加 LANGFUSE_DEBUG=true。 4)开发追踪工具:可用 @langfuse/tracing 的 observe、updateActiveObservation、startActiveObservation 封装 devTrace 与 debugTrace,打印耗时与调试信息。 5)可选自托管:用 docker-compose.langfuse.yml 启动 langfuse/langfuse:latest 与 postgres:16-alpine,运行 docker compose -f docker-compose.langfuse.yml up -d,访问 http://localhost:3000 创建账号、项目与密钥,再将 LANGFUSE_BASE_URL 指向 http://localhost:3000。
限制与注意:自托管需在 git-ignored 的 .env 中放置 DATABASE_URL、POSTGRES_PASSWORD、NEXTAUTH_SECRET、SALT、ENCRYPTION_KEY 等唯一本地值,勿提交或复用示例/生产值;日志与提交中不得包含 .env.local 密钥与本地数据库凭据;本地实例 502 通常是 PostgreSQL 未就绪,需等待约 10 秒。输出需生成本地开发凭据记录,包含 SDK/运行时版本、本地或云端主机、示例 trace 标识及所用调试设置。