claude-code-best/src/components
claude-code-best c80e593212
feature: langfuse thinking 及 文本edit的问题修复( #371); 省略 diff 以减少内存峰值 (#376)
* feat: langfuse tracing 增加 thinking 参数记录

在 recordLLMObservation 中添加 thinking 配置(type/budgetTokens),
所有 provider(claude/gemini/openai)及 tokenEstimation、sideQuery
调用处同步传递 thinking 信息,便于 Langfuse 面板观察 thinking 使用情况。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix: langfuse tracing 兼容 budget_tokens snake_case 格式

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix: 统一传递完整 thinking 配置而非仅 thinkingType

Langfuse 追踪直接传递整个 thinking 对象(含 type 和 budget_tokens),
Analytics 日志同步补充 thinkingBudgetTokens 字段,logAPIQuery 改为
接收 ThinkingConfig 类型参数。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat: 省略旧消息的代码 diff 展示,仅保留最新消息的完整 diff

* fix: Edit 工具增加 Tab/空格规范化匹配,修复中文和缩进文件编辑失败

Read 工具输出将 Tab 渲染为空格,用户复制后 Edit 工具无法匹配。
在 findActualString 中增加 Tab→空格规范化回退匹配,并精确映射回原始文件位置。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* docs: README 添加安装/更新失败的解决方案提示

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-27 17:06:33 +08:00
..
agents fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
ClaudeCodeHint Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
CustomSelect feat: 添加工具类增强与状态管理改进 2026-04-22 22:38:10 +08:00
design-system refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
DesktopUpsell Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
diff Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
FeedbackSurvey chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
grove chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
HelpV2 chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
HighlightedCode Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
hooks chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
LogoV2 chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
LspRecommendation Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ManagedSettingsSecurityDialog Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
mcp fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
memory feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
messages feature: langfuse thinking 及 文本edit的问题修复( #371); 省略 diff 以减少内存峰值 (#376) 2026-04-27 17:06:33 +08:00
Passes Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
permissions chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
PromptInput fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
sandbox refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
Settings Feature/add auto mode settings and fix bug (#368) 2026-04-26 15:43:25 +08:00
shell feat: 添加 UI 组件增强与测试覆盖 2026-04-22 22:38:10 +08:00
skills fix: 修复类型问题 2026-04-10 17:34:01 +08:00
Spinner fix: 解决 node 下 loading 按钮计算错误问题 2026-04-17 10:42:40 +08:00
StructuredDiff chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
tasks chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
teams fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
TrustDialog chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
ui Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ultraplan Add Ultraplan Feature for Advanced Multi-Agent Planning (#232) 2026-04-10 22:17:00 +08:00
wizard fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
AgentProgressLine.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
AntModelSwitchCallout.tsx fix: 修复 USER_TYPE=ant 时 TUI 无法启动的问题 2026-04-02 20:31:04 +08:00
App.tsx feat: 支持自托管的 remote-control-server (#214) 2026-04-09 17:40:50 +08:00
ApproveApiKey.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
AutoModeOptInDialog.tsx fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
AutoUpdater.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
AutoUpdaterWrapper.tsx 更新大量 tsx 原始文件; 已经迁移 login panel; 部分 (#121) 2026-04-04 23:24:27 +08:00
AwsAuthStatusBox.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
BaseTextInput.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
BashModeProgress.tsx feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
BridgeDialog.tsx feat: 全部类型问题解决 2026-04-11 10:24:00 +08:00
BuiltinStatusLine.tsx fix: 修复类型问题 2026-04-10 17:34:01 +08:00
BypassPermissionsModeDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ChannelDowngradeDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ClaudeInChromeOnboarding.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ClaudeMdExternalIncludesDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ClickableImageRef.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
CompactSummary.tsx fix(types): replace all as any with proper type assertions 2026-04-09 23:51:33 +08:00
ConfigurableShortcutHint.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ConsoleOAuthFlow.tsx feat: 重构供应商层次 (#286) 2026-04-17 09:33:14 +08:00
ContextSuggestions.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ContextVisualization.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
CoordinatorAgentStatus.tsx fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
CostThresholdDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
CtrlOToExpand.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
DesktopHandoff.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
DevBar.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
DevChannelsDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
DiagnosticsDisplay.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
EffortCallout.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
EffortIndicator.ts feat: 添加 UI 组件增强与测试覆盖 2026-04-22 22:38:10 +08:00
ExitFlow.tsx 更新大量 tsx 原始文件; 已经迁移 login panel; 部分 (#121) 2026-04-04 23:24:27 +08:00
ExportDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
FallbackToolUseErrorMessage.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
FallbackToolUseRejectedMessage.tsx 更新大量 tsx 原始文件; 已经迁移 login panel; 部分 (#121) 2026-04-04 23:24:27 +08:00
FastIcon.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
Feedback.tsx feat: 全部类型问题解决 2026-04-11 10:24:00 +08:00
FileEditToolDiff.tsx feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
FileEditToolUpdatedMessage.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
FileEditToolUseRejectedMessage.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
FilePathLink.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
FullscreenLayout.tsx feat: 远程群控 (#243) 2026-04-11 23:22:55 +08:00
GlobalSearchDialog.tsx fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
HighlightedCode.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
HistorySearchDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
IdeAutoConnectDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
IdeOnboardingDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
IdeStatusIndicator.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
IdleReturnDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
InterruptedByUser.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
InvalidConfigDialog.tsx feat: 添加 UI 组件增强与测试覆盖 2026-04-22 22:38:10 +08:00
InvalidSettingsDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
KeybindingWarnings.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
LanguagePicker.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
LogSelector.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
Markdown.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MarkdownTable.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MCPServerApprovalDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MCPServerDesktopImportDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MCPServerDialogCopy.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MCPServerMultiselectDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MemoryUsageIndicator.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
Message.tsx feature: langfuse thinking 及 文本edit的问题修复( #371); 省略 diff 以减少内存峰值 (#376) 2026-04-27 17:06:33 +08:00
messageActions.tsx feat: 添加工具类增强与状态管理改进 2026-04-22 22:38:10 +08:00
MessageModel.tsx fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
MessageResponse.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
MessageRow.tsx feature: langfuse thinking 及 文本edit的问题修复( #371); 省略 diff 以减少内存峰值 (#376) 2026-04-27 17:06:33 +08:00
Messages.tsx feature: langfuse thinking 及 文本edit的问题修复( #371); 省略 diff 以减少内存峰值 (#376) 2026-04-27 17:06:33 +08:00
MessageSelector.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
MessageTimestamp.tsx feat: 全部类型问题解决 2026-04-11 10:24:00 +08:00
ModelPicker.tsx feat: 添加 model/provider 层改进 2026-04-22 22:38:10 +08:00
NativeAutoUpdater.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
NotebookEditToolUseRejectedMessage.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
OffscreenFreeze.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
Onboarding.tsx fix: 修复初次登陆的校验问题 2026-04-10 22:06:02 +08:00
OutputStylePicker.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
PackageManagerAutoUpdater.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
PrBadge.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
PressEnterToContinue.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
QuickOpenDialog.tsx fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
RemoteCallout.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
RemoteEnvironmentDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ResumeTask.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
SandboxViolationExpandedView.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ScrollKeybindingHandler.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
SearchBox.tsx refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
SentryErrorBoundary.ts feat: 更新 sentry 错误上报 2026-04-03 09:39:25 +08:00
SessionBackgroundHint.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
SessionPreview.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ShowInIDEPrompt.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
SkillImprovementSurvey.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
Spinner.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
Stats.tsx refactor: 大规模迁移原有组件到 ink 包内 2026-04-07 22:26:45 +08:00
StatusLine.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
StatusNotices.tsx feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
StructuredDiff.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
StructuredDiffList.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TagTabs.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TaskListV2.tsx feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
TeammateViewHeader.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TeleportError.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TeleportProgress.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TeleportRepoMismatchDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TeleportResumeWrapper.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TeleportStash.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TextInput.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
ThemePicker.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ThinkingToggle.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
TokenWarning.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
ToolUseLoader.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
UndercoverAutoCallout.tsx fix: 修复 USER_TYPE=ant 时 TUI 无法启动的问题 2026-04-02 20:31:04 +08:00
ValidationErrorsList.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
VimTextInput.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
VirtualMessageList.tsx fix(types): clean type fixes across 92 files 2026-04-09 23:45:56 +08:00
WorkflowMultiselectDialog.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
WorktreeExitDialog.tsx fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00