From 0e9d6955f045c4599483a0460db84e263c06a203 Mon Sep 17 00:00:00 2001 From: James Feng <47167674+GhostDragon124@users.noreply.github.com> Date: Tue, 2 Jun 2026 12:55:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(build):=20=E4=BF=AE=E5=A4=8D=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E4=BA=A7=E7=89=A9=20hang=20=E6=AD=BB=20+=20=E7=A9=BA?= =?UTF-8?q?=20tool=20name=20(4=20stub=20NAME=3D"")?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause: Bun code splitting + MONITOR_TOOL/WORKFLOW_SCRIPTS stub 触发循环 ESM 死锁; 4 个 prompt.ts stub 的 NAME 常量为空字符串导致 API 400 error. Fix: - build.ts: splitting: false - defines.ts: 禁用 MONITOR_TOOL, WORKFLOW_SCRIPTS - 4 个 prompt.ts: 补全正确 tool name 验证: --version / -p / --print 三种模式全部通过 --- build.ts | 2 +- scripts/defines.ts | 4 ++-- src/tools/DiscoverSkillsTool/prompt.ts | 4 ++-- src/tools/SendUserFileTool/prompt.ts | 4 ++-- src/tools/SnipTool/prompt.ts | 4 ++-- src/tools/TerminalCaptureTool/prompt.ts | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build.ts b/build.ts index cfc4aa9bb..e4f504f9e 100644 --- a/build.ts +++ b/build.ts @@ -20,7 +20,7 @@ const result = await Bun.build({ entrypoints: ['src/entrypoints/cli.tsx'], outdir, target: 'bun', - splitting: true, + splitting: false, define: getMacroDefines(), features, }) diff --git a/scripts/defines.ts b/scripts/defines.ts index 6964c4a0e..ea79df7eb 100644 --- a/scripts/defines.ts +++ b/scripts/defines.ts @@ -59,10 +59,10 @@ export const DEFAULT_BUILD_FEATURES = [ 'PROACTIVE', // 主动自主代理模式(SleepTool 控制 tick 节奏,省 token) 'DAEMON', // 守护进程模式,长驻 supervisor 管理后台 worker(非 GB 级主因) 'ACP', // ACP 代理协议,支持外部 agent 接入 - 'WORKFLOW_SCRIPTS', // 工作流脚本(.claude/workflows/ 中的 YAML/MD) + // 'WORKFLOW_SCRIPTS', // 已禁用:stub 空壳,启用后 __esm() 循环初始化导致构建产物 hang // 'HISTORY_SNIP', // 已禁用:snip 功能暂时关闭 // 'CONTEXT_COLLAPSE', // 已禁用:实现是空壳 stub,启用后会抑制 auto compact 导致上下文管理完全失效 - 'MONITOR_TOOL', // Monitor 工具,流式监控后台进程输出 + // 'MONITOR_TOOL', // 已禁用:stub 空壳,启用后 __esm() 循环初始化导致构建产物 hang // 'FORK_SUBAGENT', // 已禁用:通过 Agent tool 的特殊方式实现了等效功能,无需再开 'KAIROS', // Kairos 定时任务系统核心 'COORDINATOR_MODE', // 多 worker 编排模式(AgentSummary 泄露已在 52b61c2c 修复) diff --git a/src/tools/DiscoverSkillsTool/prompt.ts b/src/tools/DiscoverSkillsTool/prompt.ts index 20ddc1ab7..01dae6b18 100644 --- a/src/tools/DiscoverSkillsTool/prompt.ts +++ b/src/tools/DiscoverSkillsTool/prompt.ts @@ -1,3 +1,3 @@ -// Auto-generated stub — replace with real implementation +// Stub — DiscoverSkills tool name export {}; -export const DISCOVER_SKILLS_TOOL_NAME: string = ''; +export const DISCOVER_SKILLS_TOOL_NAME: string = 'DiscoverSkills'; diff --git a/src/tools/SendUserFileTool/prompt.ts b/src/tools/SendUserFileTool/prompt.ts index 65f8174fe..469047fa6 100644 --- a/src/tools/SendUserFileTool/prompt.ts +++ b/src/tools/SendUserFileTool/prompt.ts @@ -1,3 +1,3 @@ -// Auto-generated stub — replace with real implementation +// Stub — SendUserFile tool name (KAIROS assistant mode) export {}; -export const SEND_USER_FILE_TOOL_NAME: string = ''; +export const SEND_USER_FILE_TOOL_NAME: string = 'SendUserFile'; diff --git a/src/tools/SnipTool/prompt.ts b/src/tools/SnipTool/prompt.ts index dc82319e5..084b6a16c 100644 --- a/src/tools/SnipTool/prompt.ts +++ b/src/tools/SnipTool/prompt.ts @@ -1,3 +1,3 @@ -// Auto-generated stub — replace with real implementation +// Stub — Snip tool name export {}; -export const SNIP_TOOL_NAME: string = ''; +export const SNIP_TOOL_NAME: string = 'Snip'; diff --git a/src/tools/TerminalCaptureTool/prompt.ts b/src/tools/TerminalCaptureTool/prompt.ts index 90c458932..f50662f62 100644 --- a/src/tools/TerminalCaptureTool/prompt.ts +++ b/src/tools/TerminalCaptureTool/prompt.ts @@ -1,3 +1,3 @@ -// Auto-generated stub — replace with real implementation +// Stub — TerminalCapture tool name export {}; -export const TERMINAL_CAPTURE_TOOL_NAME: string = ''; +export const TERMINAL_CAPTURE_TOOL_NAME: string = 'TerminalCapture';