MoreRSS

site iconEin Verne修改

软件工程师,开源爱好者,Linux用户和vimer开发者。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Ein Verne的 RSS 预览

突破 Claude Code 5小时限制:利用 GitHub Copilot 代理 Claude Code 请求

2025-08-28 13:00:00

如果大家高频使用 Claude Code 进行代码对话和生成工作的话, 经常会遇到 5 小时的限制。 幸运的是,如果你已经订阅了 GitHub Copilot,现在有一个巧妙的解决方案:通过本地代理将 GitHub Copilot 的 Claude Sonnet 4 模型转换为 Anthropic API 格式,从而绕过 Claude Code 的使用限制,继续享受顶级的 AI 编程体验。

基本原理

解决方案的核心思路非常直接:在本地搭建一个代理服务,将发送到 Anthropic API 的请求转发给 GitHub Copilot。

工作原理如下:

  1. 本地启动 copilot-api 代理服务
  2. 配置环境变量,将 Claude Code 的请求重定向到本地代理
  3. 代理服务将 Anthropic API 格式的请求转换为 GitHub Copilot 兼容格式
  4. GitHub Copilot 处理请求并返回结果
  5. 代理将结果转换回 Anthropic API 格式返回给 Claude Code

前置条件

开始配置之前, 请确保自己满足以下条件。

  • Node.js >=16.x
  • GitHub 账户并订阅 GitHub Copilot
  • 终端命令行

推荐使用 Tmux,Git 等工具配合使用。

使用教程

首先安装 copilot-api ,或直接执行,运行命令之后连接 GitHub Copilot 认证。认证过程会自动打开浏览器,并跳转到 GitHub 授权页面。 在浏览器当中输入、验证、完成授权之后,认证信息会自动保存到本地。

可以通过一下的命令直接运行,也可以全局安装之后执行

npx copilot-api@latest auth

全局安装

npm install -g copilot-api
copilot-api --version

然后需要启动代理服务。 需要确保这一个代理服务一直在后台运行, 不要关闭。

npx copilot-api@latest start --claude-code

接下来需要配置一下环境变量, 之后再启动 Claude。

ANTHROPIC_API_KEY=sk-dummy
ANTHROPIC_BASE_URL=http://localhost:4141
claude --dangerously-skip-permissions

启动 Cloud Code 之后, 会在界面当中显示当前请求的 API, 如果是 Localhost 则表明配置成功了。 那现在 Cloud Code 使用的就是你本地的代理, 而非 Anthropic 官方 API。

同样的,我们为了保持代理服务, 我们可以将代理服务的执行命令放在 Tmux 当中执行。

完成上述所有的配置之后, 我们就可以开心地使用 GitHub Copilot 提供的 Sonnet 4 模型进行 Web Coding 了。

Claude Code PM 开源项目: 给你的 Claude Code 配置一位 PM

2025-08-25 13:00:00

在我使用使用 Claude Code 过程中,借鉴 Kiro,我逐渐习惯让 Claude Code 编写一个产品设计书放在 docs 文件夹下, 然后我会仔细地审查这一份产品设计文档, 修改其中的不明确的点, 或者是说 AI 理解错误的内容, 然后再让 Claude Code 通过这一个产品设计书来实现完整的代码。然而今天我看到的一个开源项目 Claude Code PM ,则是将我上面实现的这一套文档驱动的开发流程转变成了更专业的,更符合团队业务需求的流程,并且引入了敏捷开发,项目管理中的重要概念,及时是一个人的项目,通过 Claude Code PM 的流程约束,我发现 Claude Code 的智能程度也提升了不少。

并且项目通过和 GitHub Actions 进行集成,主要使用 GitHub Issues 以及 GitHub Actions 来管理项目整体的进度,通过任务的拆分使得我们可以并行地执行多个 Claude Code 实例,大大提升了 Claude Code 的使用效率。

Claude Code PM

痛点

在使用 Cloud Code 的过程当中,我们经常会遇到这样的问题

  • 会话与会话之间的上下文消失, 这使得我们得不断提醒 AI 去重新查看相关文件
  • 当多个 AI agent 开发同一段代码时, 修改同一段代码,并行工作可能会产生冲突
  • 在工作当中,有一些决策都是口头规范,并没有约束在书面上,需求也会随之发生变化,AI 无法及时地了解。
  • 追踪进度难,除非是 AI 执行到结束,否则我们无法看到执行的进度

面对上面的困境,Claude Code PM 将软件开发拆分成 PRD 文档、Epic 规划、任务拆解、GitHub 同步和并行执行五个阶段。通过 GitHub issues 和 Git worktree,通过 AI Agent 的并行工作,实现了从需求到代码的全链路可追踪。

我们可以通过以下的四个命令来了解一下整个交互执行过程,主要分成如下的几个步骤:

# Create a comprehensive PRD through guided brainstorming
/pm:prd-new memory-system

# Transform PRD into a technical epic with task breakdown
/pm:prd-parse memory-system

# Push to GitHub and start parallel execution
/pm:epic-oneshot memory-system
/pm:issue-start 1235

为什么要使用 Github?

大多数的 Claude Code 的工作流程都是独立运行的, 单个开发人员在其本地环境中与 AI 协作, 这带来了一个根本性的问题, AI 辅助开发变成了一个孤岛。 我们可以通过 GitHub Issues 作为我们的数据库, 这使得我们可以产生真正的团队协作。

  • 多个 Claude 实例可以同时处理同一个项目。
  • 开发人员可以通过评论实时查看进度。
  • 团队的成员可以随时参与,上下文始终可见。
  • 代码审查通过后,PR 自动发生。

虽然使用了 Vibe Coding,但严格遵守五阶段的纪律:

  • 第一阶段:头脑风暴,在这个阶段,明确地梳理模糊的地方,定义好功能点。
  • 第二阶段:文档,编写规范的文档,避免任何模糊的边界条件。
  • 第三阶段:计划,具有明确的技术决策,通过专业的架构师角色完成。
  • 第四阶段:执行,开始构建指定的内容。
  • 第五阶段:追踪,每一步透明。

在每一个阶段当中,Claude Code PM 都设定了快捷命令。

RPD

PRD 是 Product Requirements Document 产品需求文档,是软件开发生命周期中的核心文档之一。

PRD 是一份全面的、结构化的文档,概述了正在开发的产品的目标、特性、功能和约束条件。它起到了以下的关键作用:

  • 项目蓝图,为业务和技术团队提供指导,帮助他们打造、发布或推销产品。
  • 沟通桥梁,确保所有相关者在产品的景愿和执行计划上保持一致。
  • 规范化工具,将商业需求文档和市场需求文档用更加专业的语言进行描述。

PRD 核心组成部分包括:

  1. 问题陈述 明确产品要解决的问题或机会。
  2. 目标和目的 制定可衡量、可实现的短期和长期目标。
  3. 用户故事和用例 定义目标用户需求,以及用户与产品的交互方式。
  4. 功能需求 描述产品的具体功能和特性。
  5. 性能要求 定义产品的性能标准和约束条件。

Epic

Epic 是敏捷开发和项目管理中的一个重要概念,指大型功能需求和用户故事。

Epic 的定义是指一个非常大的功能特性,具有以下特征:

  • 规模比较大,通常需要分解成更多的 User Story 才能实现。
  • 跨迭代,一个 Epic 往往需要多个开发迭代 Sprint 才能完成。
  • 业务价值高,通常对应重要的业务目标和用户价值。

在敏捷开发中,按照颗粒度从大到小分成四个层级。

  • Epic 使用:最大颗粒度的需求,代表重要的产品功能。
  • Feature 特性:Epic 的细分,具体的功能模块。
  • Story 用户故事:可在一个迭代中完成的具体需求。
  • Task:Story 的具体实现,具体的开发任务。

在 Claude Code PM 系统当中,PRD 和 Epic 形成了清晰的转换关系。在 PRD 创建阶段,可以通过深度的头脑风暴产生全面的产品需求。稳打在 Epic 规划阶段,可以将 PRD 转化为技术实施的计划,形成 Epic 任务分解。

在 Epic 任务分解阶段,可以将 Epic 进一步拆分为具体的开发任务。从价值来看,在 PRD 轻型的转换关系中,可以将 Epic 轻型的转换关系中,PRD 文档主要服务于产品规划,从业务角度描述要做什么和为什么做;Epic 主要服务于技术实施,从工程角度的规划如何做和分几步做。

这种文档体系确保了从业务需求到技术实现的完整可追溯性,避免了传统开发中的模糊驱动编程的问题,让每一行代码都能追溯到明确的规范说明。

项目结构

.claude/
├── CLAUDE.md            # 全局指令与项目元信息
├── prds/                # 产品需求文档 (PRD)
├── epics/               # 实施规划与任务拆解
│   └── [epic-name]/
│       ├── epic.md      # 技术方案与架构决策
│       ├── [task].md    # 具体任务文件
│       └── updates/     # 子 Agent 进度更新
├── agents/              # 专用 AI Agent 执行环境
├── commands/            # pm: 系统命令定义
└── context/             # 上下文与规则文件
  • PRD 阶段:通过  /pm:prd-new feature-name,生成结构化需求文档,涵盖愿景、用户故事、验收标准等。
  • 规划阶段/pm:prd-parse feature-name  自动将 PRD 转化为技术实施计划 (epic.md),明确架构决策和技术栈选择。
  • 任务拆解/pm:epic-decompose feature-name  将 epic 拆分为可验收的子任务,并标注并行执行可能性。
  • GitHub 同步/pm:epic-oneshot feature-name  或  /pm:epic-sync feature-name,将 Epic 与任务推送为 GitHub Issues,结合 gh-sub-issue 插件实现父子关系。
  • 并行执行:通过  /pm:issue-start 1234  启动专用 Agent,多个 Agent 针对数据库、业务逻辑、API、UI、测试等独立并行工作,在各自工作树(worktree)中隔离上下文,最后同步合并,无冲突。

更多常用的命令参考

/pm:init 安装依赖 并配置 GitHub。

PRD Commands

# 针对新需求,开展头脑风暴。
/pm:prd-new memory-system

# Review and refine the PRD...

# 将需求文档变成可实施的计划。
/pm:prd-parse memory-system

# 列出所有的 PRD。
/pm:prd-list

# 编辑现有的 PRD。
/pm:prd-edit

# 显示 PRD
/pm:prd-status

Epic Commands

# 将设计拆分成任务
/pm:epic-decompose

# 将 Epic 推送到 GitHub
/pm:epic-sync

# 拆分任务并完成同步。  decompose and sync
/pm:epic-oneshot memory-system
# Creates issues: #1234 (epic), #1235, #1236 (tasks)

# 列出所有 Epic
/pm:epic-list

# 列出 Epic
/pm:epic-show

# 标记完成
/pm:epic-close

# 编辑
/pm:epic-edit

# 更新任务的进度
/pm:epic-refresh

Issue Commands

# Start development on a task
/pm:issue-start 1235
# Agent begins work, maintains local progress

# 将更新推送到 GitHub
/pm:issue-sync 1235
# Updates posted as issue comments

# 显示 Issue
/pm:issue-show

# 查看状态
/pm:issue-status

# 将 issue 标记为完成
/pm:issue-close

# 重新打开 issue
/pm:issue-reopen

# 编辑 Issue
/pm:issue-edit

Workflow Commands

/pm:next - Show next priority issue with epic context
/pm:status - Overall project dashboard
/pm:standup - Daily standup report
/pm:blocked - Show blocked tasks
/pm:in-progress - List work in progress

Sync Commands

/pm:sync - Full bidirectional sync with GitHub
/pm:import - Import existing GitHub issues

Maintenance Commands

/pm:validate - Check system integrity
/pm:clean - Archive completed work
/pm:search - Search across all content

Whispering 开源离线的语音转文字应用

2025-08-20 13:00:00

在之前的视频和文章当中,我给大家介绍过非常多语音转文字的应用, 有订阅制的 [[Aqua Voice]] ,[[Wispr Flow]] ,[[Voicenotes]],[[VoiceInk]] ,[[superwhisper]] ,也有免费的 [[Spokenly]] ,在本地完全离线运行的 [[Tok]] 。 今天要为大家介绍的Whispering,正是这一领域的颠覆性产品——一个真正的开源、本地优先的语音转文字应用。

Whispering 它符合了我之前选择软件的所有的准则,开放源代码,Local First 支持本地转译,大大减少了隐私暴露的风险。

Whispering 是什么

Whispering 是一款完全免费,开源的桌面语音转文字应用,基于 Svelte 5 与 Tauri 构建的, 支持本地和云端转录、LLM 驱动文本转换(Transformation)、语音激活模式(VAD)等功能。 即使有这么多功能,Whispering 体积只有 22M, 可以在 macOS、Windows、Linux 以及浏览器当中运行。

O7JUe1Xorz

现在在日常生活当中, 我越来越依赖于语音输入进行文字的录入,大部分订阅式的语音转写工具都是闭源的或者是黑盒式的。 我们无法知道我们的录音被发送到了什么地方进行了转写。 与此同时,造成的隐私泄露我们也无法估计。Whispering 遵循本地优先的设计理念, 让用户真正掌握自己的数据。

核心的特性包括:

  • 开源 MIT 许可,所有的代码都可审计。音频与文本数据均存在于本地,用户可以完全掌握录音数据。
  • 本地优先, 支持本地的 Whisper C++(Speaches)转录, 无需联网即可使用。
  • 可扩展的文本后处理, 可以兼容任意的外部大模型, 用户可以自定义 Prompt, 进行自动矫正, 翻译或者是格式转换。
  • 轻量,Svelte 5 和 Tauri 实现,应用响应非常快

Whispering 通过本地 IndexedDB 存储了语音的记录和转写的文本, 会保存在浏览器或者桌面端的数据库当中。 如果用户使用外部服务的话, 可以直接将音频或者是文本内容发送至外部的服务器, 没有中间服务器, 确保了用户 API Key 的安全。

核心功能

本地和云端转录

当然,在本地模式的基础之上, Whispering 还支持云端模式, 可以支持 Groq, OpenAI, 11Labs 等云端转写的场景。 用户可以自己配置 API Key, 按需付费。

语音激活 VAD 模式

传统的语音转录应用都需要我们按下特定的快捷键, 或者是长按某些快捷键来进行触发。 Whispering 最具创新的功能就是语音激活模式。 用户只需要按一次就可开始会话, 应用会自动检测语音的开始和结束, 无需持续按住按钮或者反复切换。

AI 驱动的文本转换 Transformations

Whispering 可以和任意的 LLM 集成, 可以做语法纠正、翻译、简化文本,结构化摘要等。

快捷键和粘贴板集成

Whispering 也可以通过全局的快捷键进行触发, 转写的结果会自动粘贴到当前光标的位置。

成本对比

Whispering 的官方文档上面也给出了一个性能和成本的对比。 我们使用不同的云端服务和模型, 都有不同的价格, 大家也可以进行一个参考。 从成本上来看,Whisperin 可以以最小的支出, 就可以满足日常数小时的转录需求, 实现了与闭源工具成本显著的差异化。

服务与模型 成本(每小时) 轻量使用(20 分/天) 中度使用(1 小时/天) 重度使用(3 小时/天) 传统闭源工具
distil-whisper-large-v3-en (Groq) $0.02 $0.20/月 $0.60/月 $1.80/月 $15–30/月
whisper-large-v3-turbo (Groq) $0.04 $0.40/月 $1.20/月 $3.60/月 $15–30/月
gpt-4o-mini-transcribe (OpenAI) $0.18 $1.80/月 $5.40/月 $16.20/月 $15–30/月
本地转录(Speaches/Whisper C++) $0.00 $0.00/月 $0.00/月 $0.00/月 $15–30/月

开源的应用也确保了用户永远不会锁定在特定的厂商生态中,即使原开发团队停止维护,社区也可以继续地开发和改进。

实现架构

Whispering 采用了现代化的三层架构技术栈, 在桌面和 web 端实现了 90%的代码复用,确保了应用的性能和用户体验。

  • 服务层(Service Layer),是平台无关的业务逻辑,使用 well-crafted result 类型处理错误。
  • 查询层 Query Layer 基于 TanStack Query 实现响应式数据的获取和缓存。
  • UI 层 ,采用 Svelte 5 组件搭配 Tailwind CSS 和 shadcn-svelte, 打造了可访问的交互界面

主要技术栈:Svelte 5、SvelteKit、Tauri、Rust、IndexedDB/Dexie.js、TanStack Query、TailwindCSS、WellCrafted、shadcn-svelte、Turborepo 等。

  • Svelte 5 提供了响应式的 UI 和高效的状态管理。
  • Tauri 实现了原生桌面性能,同时保持了应用的小巧,Rust 为原生桌面功能提供了最佳性能。
  • IndexedDB + Dexie.js 可靠的本地数据存储。

最后

Whispering 以其开源透明本地优先的设计理念 以及高效轻量的实现手段, 为音频转文字提供了一个强有力的开源替代方案。 无论是隐私敏感的个人用户, 还是需要定制化 AI 处理的开发者, Whispering 都能够以低成本高可控性满足需求, 并在开源社区中持续迭代和发展。

Whispering 不仅仅是一个独立的语音转录应用,它是 Epicenter 生态系统的重要组成部分。Epicenter 的愿景是将用户的所有数据——笔记、转录、聊天记录——存储在一个包含纯文本和 SQLite 的文件夹中。所有工具共享这个内存,形成一个开放、可调整的个人数据生态。在这个生态系统中,Whispering 转录的文本可以无缝集成到其他 Epicenter 应用中,如本地 AI 助手 epicenter.sh。这种设计避免了应用间的数据孤岛问题。

related

  • [[Speaches]]
  • [[TalkTastic]]

Crystal: 多 Claude Code 实例管理器

2025-08-19 13:00:00

之前的视频当中介绍过了 Claudia,它是一个 Claude Code 的桌面管理器,它将很多 Claude Code 的终端功能迁移到了桌面版当中,它也支持在应用内直接和 Claude Code 进行对话,但是它缺少了一个核心的功能,那就是当我在同一个项目中开启不同的 Session 时,有可能产生冲突,为了避免这个问题,官方的解决办法是使用 Git worktree,在开发不同的功能时,使用不同的 Worktree 来隔离每一个 Cloud Code 的环境。 今天要介绍的 Crystal 就是这样的一款可以支持多个 Cloud Code 的桌面客户端,并且每一个会话之间相互隔离。

Crystal 是一个 Electron 桌面客户端,可以让用户运行,审查,以及测试多个 Claude Code 实例,并且使用 Git worktrees 来隔离多个任务。Crystal 是有 Stravu 创建的独立项目,Stravu 提供了可编辑,可协作的 AI 笔记库,支持文字,表格,图表等。

工作流

使用 Crystal 可以按如下的流程

  • 通过提示词创建 session,每一个都通过 git worktree 隔离
  • 在独立的 session 中迭代任务,每一个迭代都会产生一个提交,方便随时返回
  • 审查内容的变更,或者做一些人工的编辑
  • 然后将提交合并成一个(Squash),将其提交到 main 分支

核心功能

  • 并行的 Sessions,可以一次执行多个 Claude Code 任务
  • Git Worktree 隔离,每一个 Session 之间都拥有独立的分支和环境
  • Session 持久化,每一个对话都可以随时恢复
  • Git 集成,集成了 rebase 和 squash 操作,简化 Git
  • 追踪修改,可以查看变更,追踪修改
  • 通知,当 Session 需要输入时桌面通知
  • 执行脚本,可以直接在 Crystal 中测试修改

使用

在使用之前确保

  • Claude Code 安装并且登录
  • Git 安装
  • 既存的 Git 仓库

在项目的 release 中下载 dmg 文件,并完成安装。

然后就可以在 Crystal 中通过 Prompt 来创建 Sessions

随时监控以及测试变更,当 Session 完成之后

  • 可以执行脚本,进行测试
  • 查看变更
  • 继续对话,修改

最后当一些都没有问题时,

  • 点击 「Rebase to main」,将所有的提交合并成一个提交,然后合并到 main 分支
  • 这使得 main 分支比较干净清晰

从代码构建

# Clone the repository
git clone https://github.com/stravu/crystal.git
cd crystal

# One-time setup
pnpm run setup

# Run in development
pnpm run electron-dev

构建生产应用

pnpm build:mac

related

解决 Claude Code 上下文丢失问题: claunch 项目会话管理

2025-08-15 13:00:00

今天在使用 Claude Code 的过程,发生了一件非常沮丧的事情,我远程控制的 Claude Code 电脑忘记插上充电器,平时都是依靠连接的显示器进行充电的,昨天晚上将显示器关闭,导致使用的时候一直都是用的电脑的电池,于是在中午的时候,我通过 [[VibeTunnel]] 连接不上我的 Claude Code 了。并且 Claude Code 中执行的内容也中断了,最关键的是有一些上下文,如果重新再来,极有可能造成很大的不一致。

我知道可以使用 claude --continue 来恢复最近一次的 Session,但是我进一步的想到,如果我开启了多个项目,--continue 的选项只能恢复最近的一个,其他项目的 Session 可能就丢失了,然后我想到了 [[Claudia]] 一个可视化管理 Claude Code 的界面工具,直接在界面中可以恢复之前的 Session。但是我自己 90% 的时间是在终端下,并且是通过 SSH,或者 [[VibeTunnel]] 来控制 Claude Code ,这种情况下,一旦电脑发生重启,我远程的情况下依然无法恢复刚刚的 Session。

所以为了解决这个问题,我又看到了一个叫做 claunch 的轻量级会话管理器,可以为每个项目提供持久化的 Session。

问题

$ claude
Human: 我需要帮助处理这个 React 应用的身份验证...
# 花费 10 分钟解释项目结构
# 1 小时后,切换到另一个项目
$ cd ../api-project
$ claude
Human: 正在处理 API 的数据库设计...
# 之前的 React 上下文完全丢失
# 回到 React 项目
$ cd ../react-project
$ claude --resume [session-id]
# 记不住会话 ID,或者 ID 已失效
Human: 我需要帮助处理这个 React 应用的身份验证...
# 又花费 10 分钟重新解释所有内容

每次重建上下文需要很长的时间,而每天在不同项目间多次切换,累积的重复解释时间相当可观。

解决方式

为了解决这个问题

$ cd ~/projects/react-app
$ claunch
# 直接 Claude 会话(轻量级,默认模式)

$ claunch --tmux
# 持久化 Claude 会话(终端崩溃后仍可恢复)

$ cd ~/projects/api-server
$ claunch --tmux
# 为 API 项目创建单独的持久化会话

# 系统重启后
$ cd ~/projects/react-app
$ claunch --tmux
# React 对话完美恢复

还可以使用 claunch list 查看会话列表。

这个工具的实现原理非常简单,Claude 每一个 Session 都存在一个 id,但是通常我们很难记忆这些 ID,所以我们可以借助脚本帮我们记忆。

#!/bin/bash
# 自动检测项目名称
PROJECT=$(basename "$PWD")
# 创建/连接 tmux 会话
tmux new-session -As "claude-$PROJECT" \
  "claude --resume $(cat ~/.claude_session_$PROJECT)"

通过对 Tmux 的封装,我们可以直接通过名字来恢复之前的工作状态。

related

  • [[Claude Squad]] 管理多个 Claude 实例的终端应用

Langfuse 使得 LLM 应用全链路可观测

2025-08-14 13:00:00

不知道大家在运用 LLM 的过程中有没有遇到过这样的问题,我需要不断的调试 Prompt,让 Prompt 给出符合自己满意的结果,并且在应用中使用 Prompt 的时候我需要进行成本的控制,并且持续的迭代优化,而目前大语言模型后台虽然能提供一个简单的支出统计,但用户交互过程中的信息都是捕捉不到的,比如用户的每次请求输出栓输出是否符合预期,不同版本之间的 Prompt 对结果的影响评估,以及用户请求的延迟等等。带着这些需求,我搜寻了一些方案,然后就发现了 Langfuse。

Langfuse 是什么

Langfuse 是一款开源的 LLM 工程平台,通过全面的追踪(Tracing)与可视化,帮助开发者从请求端到模型端的每一步数据都留痕、可度量,从而实现快速调试、成本管控与持续优化 。

Langfuse 是专为大规模语言模型(LLM)应用设计的开源可观测与分析平台,能捕获模型交互过程中的所有上下文信息——输入、输出、工具调用、延迟及成本等。它支持多种模态(文本、图像、音频等)、多家模型服务商以及主流开发框架(如 LangChain、LlamaIndex 等),并提供 Python、JavaScript 等多种语言 SDK。

这么说可能比较抽象,那么我就举一些具体的例子,Langfuse 能做什么。

功能模块 主要能力 价值
追踪管理 记录每次 LLM 请求的输入、输出、上下文与调用链,生成可视化的时序图 快速定位问题节点,洞察复杂流程
提示词版本管理 集中式管理与版本控制 Prompt,可在线编辑与灰度发布 缩短 Prompt 调优反馈循环,确保多版本演进可控
多模型支持 可以同时管理多个 LLM 满足不同场景需求
评估(Evaluations) 支持 LLM 自评、人工标注与自定义评估流水线,对模型输出质量打分 建立一致可复现的评价体系,持续提升应用效果
数据集与实验 构建测试集与基准,自动化运行 A/B 测试与对比分析 持续验证不同配置的效果,保障生产环境质量
LLM Playground 交互式 Playground,可实时调试 Prompt 与模型配置 在发现异常追踪后,直接跳转调试环境,加速问题修复
开放 API 提供完整 REST / SDK 接口,可二次开发自定义工作流 融入既有 LLMOps 流水线,满足企业级定制需求
框架支持 DeepSeek,LangChain,LlamaIndex 和 AWS Bedrock 等框架集成 非常轻松地接入

Langfuse 的核心技术优势

  1. 开源+自托管或云端二选一:可在分钟级完成自托管部署,也可使用官方托管服务,根据业务需求弹性选型。
  2. 框架与语言无关:自 OpenAI、Anthropic 到开源模型均可接入;与 Python、TypeScript、JavaScript 等语言 SDK 无缝集成。
  3. 多模态支持:不限于文本,对图像、音频等多种模态进行统一追踪与度量。
  4. 成本与性能监控:自动统计 Token 用量、API 调用成本和延迟指标,实时洞察运营开销。
  5. 透明化 Roadmap:公开开发计划与版本更新日志,社区活跃度高,生态不断完善。

典型应用场景

  • 开发调试:在开发阶段,通过 Trace 定位生成环节中的异常或性能瓶颈,加速迭代。
  • 质量评估:对比不同 Prompt、模型或配置方案效果,以数据驱动选择最优方案。
  • 运营监控:实时监测生产环境调用趋势、错误率与成本消耗,及时发现与预警。
  • 用户反馈闭环:收集用户标注或打分,将反馈融合进评估流水线,支持持续改进。

安装和使用

安装 SDK:

pip install langfuse openai

配置环境变量:

export LANGFUSE_SECRET_KEY="sk-lf-..."
export LANGFUSE_PUBLIC_KEY="pk-lf-..."
export LANGFUSE_HOST="https://cloud.langfuse.com"

在代码中添加追踪装饰器:

from langfuse import observe
from langfuse.openai import openai

@observe()
def ask_model(prompt: str):
   return openai.chat.completions.create(
       model="gpt-4o",
       messages=[{"role": "user", "content": prompt}],
   ).choices.message.content

@observe()
def main():
   return ask_model("什么是 Langfuse?")

main()

打开 Langfuse 仪表盘,即可查看每次请求的 Trace 树、生成记录与指标面板。

总结

Langfuse 以其全链路追踪、多模态支持与开放生态,正在成为 LLM 应用的必备 LLMOps 平台。无论是在新项目验证阶段还是大规模生产环境,Langfuse 都能帮助团队快速定位问题、优化成本与确保服务质量,为 AI 应用的持续演进提供坚实支撑。

related

  • [[LangSmith]]