mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-17 13:55:50 +00:00
feat: 增强 auto mode 的易用性 (#312)
* feat: poor 模式降级 yolo 审阅模型 * feat: 为多模块添加 Langfuse tracing 支持 在 web search、agent creation、away summary、token estimation、 skill improvement 等模块中集成 Langfuse trace,并透传至 compact/apiQueryHook/execPromptHook 等调用链。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: 让 auto mode 记录回主 trace * fix: reopen auto mode prompt when classifier is unavailable * fix: 修复 auto mode 情况下, llm 报错导致弹窗也不打开的问题 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,9 @@ import {
|
||||
type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
|
||||
logEvent,
|
||||
} from '../../services/analytics/index.js'
|
||||
import { createTrace, endTrace, isLangfuseEnabled } from '../../services/langfuse/index.js'
|
||||
import { getSessionId } from '../../bootstrap/state.js'
|
||||
import { getAPIProvider } from '../../utils/model/providers.js'
|
||||
import { jsonParse } from '../../utils/slowOperations.js'
|
||||
import { asSystemPrompt } from '../../utils/systemPromptType.js'
|
||||
|
||||
@@ -146,6 +149,15 @@ export async function generateAgent(
|
||||
? AGENT_CREATION_SYSTEM_PROMPT + AGENT_MEMORY_INSTRUCTIONS
|
||||
: AGENT_CREATION_SYSTEM_PROMPT
|
||||
|
||||
const langfuseTrace = isLangfuseEnabled()
|
||||
? createTrace({
|
||||
sessionId: getSessionId(),
|
||||
model,
|
||||
provider: getAPIProvider(),
|
||||
name: 'agent-creation',
|
||||
})
|
||||
: null
|
||||
|
||||
const response = await queryModelWithoutStreaming({
|
||||
messages: normalizeMessagesForAPI(messagesWithContext),
|
||||
systemPrompt: asSystemPrompt([systemPrompt]),
|
||||
@@ -161,9 +173,12 @@ export async function generateAgent(
|
||||
hasAppendSystemPrompt: false,
|
||||
querySource: 'agent_creation',
|
||||
mcpTools: [],
|
||||
langfuseTrace,
|
||||
},
|
||||
})
|
||||
|
||||
endTrace(langfuseTrace)
|
||||
|
||||
const textBlocks = (Array.isArray(response.message.content) ? response.message.content : []).filter(
|
||||
(block): block is ContentBlock & { type: 'text' } => block.type === 'text',
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user