
























工具1 ace 站内应该是鼎鼎大名的了:
目前使用的是 ace-tool-rs , 不过我让codex 对其做了 cli + skills 化改造
工具2 MinishLab/semble , 站内讨论较少
测试仓库是 4.1 泄露的claude 源码
测试结果摘要:
完整测试报告:
测试对象:当前项目源码。
测试对象 skill:
ace-codebase-search:通过 ace-tool-rs search-context 执行。semble-search:通过 semble search 执行,参数为 --top-k 5。评分方法:每轮设定一个检索目标与一条提示词;以预期源码文件是否出现在结果中衡量命中,记录首次命中排名、耗时与前 5 个候选结果。
| 指标 | ace-codebase-search | semble-search |
|---|---|---|
| 成功执行 | 20/20 | 20/20 |
| Hit@1 | 11/20 | 14/20 |
| Hit@3 | 14/20 | 18/20 |
| Hit@5 | 16/20 | 20/20 |
| 未命中 | 3 | 0 |
| 平均耗时 | 4.31 秒 | 10.18 秒 |
| 中位耗时 | 4.28 秒 | 10.19 秒 |
| Top5 加权分 | 67 | 89 |
质量胜出:
速度胜出:
结论:如果优先考虑定位准确性,semble-search 更合适;如果优先考虑响应速度,ace-codebase-search 更合适。
| 轮次 | 检索目标 | ACE 排名 | Semble 排名 | ACE 耗时 | Semble 耗时 | 质量结果 |
|---|---|---|---|---|---|---|
| 1 | 定位 MCP add 子命令入口、transport 参数解析与服务器配置保存逻辑。 | 1 | 1 | 4.71 秒 | 8.37 秒 | 命中排名相同 |
| 2 | 定位 MCP 服务器配置中 allowedMcpServers 与 deniedMcpServers 托管策略过滤逻辑。 | 未命中 | 1 | 4.31 秒 | 8.47 秒 | Semble 更靠前 |
| 3 | 定位 MCP 工具完整名称构造、服务名规范化与反向解析相关逻辑。 | 1 | 1 | 4.12 秒 | 8.62 秒 | 命中排名相同 |
| 4 | 定位 Bash 工具只读命令校验、危险命令提示与权限控制逻辑。 | 2 | 2 | 4.59 秒 | 8.58 秒 | 命中排名相同 |
| 5 | 定位 sed 编辑命令解析与替换校验逻辑。 | 1 | 1 | 4.24 秒 | 10.97 秒 | 命中排名相同 |
| 6 | 定位 FileEdit 精确字符串替换、编辑校验与 diff 展示逻辑。 | 1 | 1 | 4.27 秒 | 10.17 秒 | 命中排名相同 |
| 7 | 定位 FileRead 图片处理、大文件读取与行数限制逻辑。 | 1 | 1 | 4.19 秒 | 10.04 秒 | 命中排名相同 |
| 8 | 定位 Glob 文件模式搜索、结果截断与按修改时间排序逻辑。 | 未命中 | 1 | 4.37 秒 | 10.07 秒 | Semble 更靠前 |
| 9 | 定位 Grep 对 ripgrep 的封装、glob 过滤与输出模式处理逻辑。 | 3 | 1 | 3.66 秒 | 10.01 秒 | Semble 更靠前 |
| 10 | 定位 TodoWrite 任务列表输入 schema、状态与优先级校验逻辑。 | 10 | 2 | 3.93 秒 | 10.03 秒 | Semble 更靠前 |
| 11 | 定位 token、价格与总费用统计逻辑。 | 1 | 1 | 4.40 秒 | 10.18 秒 | 命中排名相同 |
| 12 | 定位 login 命令的 OAuth 与 key 认证流程。 | 1 | 4 | 4.68 秒 | 10.84 秒 | ACE 更靠前 |
| 13 | 定位 logout 命令清理凭据与账户信息的逻辑。 | 1 | 1 | 4.20 秒 | 10.20 秒 | 命中排名相同 |
| 14 | 定位 model 命令的模型选择与配置写入逻辑。 | 1 | 1 | 4.72 秒 | 10.40 秒 | 命中排名相同 |
| 15 | 定位 hooks 命令配置事件回调与 shell hook 的逻辑。 | 5 | 1 | 4.15 秒 | 10.30 秒 | Semble 更靠前 |
| 16 | 定位 statusline 命令设置流程与终端状态栏渲染逻辑。 | 5 | 2 | 4.12 秒 | 10.39 秒 | Semble 更靠前 |
| 17 | 定位 plugin 市场浏览、安装、启用、禁用与管理逻辑。 | 未命中 | 4 | 4.33 秒 | 11.56 秒 | Semble 更靠前 |
| 18 | 定位 LSP 客户端、诊断注册表与被动反馈逻辑。 | 1 | 1 | 4.78 秒 | 12.41 秒 | 命中排名相同 |
| 19 | 定位 remote bridge 的轮询配置、会话创建、受信设备、JWT 与 work secret 逻辑。 | 3 | 1 | 4.28 秒 | 10.91 秒 | Semble 更靠前 |
| 20 | 定位 AgentTool 创建子任务、运行内置 agent 与恢复 agent 会话逻辑。 | 1 | 3 | 4.15 秒 | 11.03 秒 | ACE 更靠前 |
检索目标:定位 MCP add 子命令入口、transport 参数解析与服务器配置保存逻辑。
提示词:
MCP add CLI subcommand that parses transport options and saves server configuration
期望命中文件:
src/commands/mcp/addCommand.tssrc/commands/mcp/mcp.tsx结果摘要:
1,耗时 4.71 秒。1,耗时 8.37 秒。ACE 前 5 个候选结果:
src/commands/mcp/addCommand.tssrc/services/mcp/utils.tssrc/commands/mcp/xaaIdpCommand.tssrc/utils/plugins/mcpPluginIntegration.tssrc/cli/transports/transportUtils.tsSemble 前 5 个候选结果:
src/commands/mcp/addCommand.tssrc/main.tsxsrc/services/mcp/config.tssrc/cli/handlers/mcp.tsxsrc/services/mcp/SdkControlTransport.ts检索目标:定位 MCP 服务器配置中 allowedMcpServers 与 deniedMcpServers 托管策略过滤逻辑。
提示词:
filter MCP server configs by allowedMcpServers deniedMcpServers managed policy
期望命中文件:
src/services/mcp/config.ts结果摘要:
未命中,耗时 4.31 秒。1,耗时 8.47 秒。ACE 前 5 个候选结果:
src/tools.tssrc/services/mcp/channelPermissions.tssrc/services/mcp/utils.tssrc/utils/plugins/marketplaceHelpers.tssrc/services/mcp/channelNotification.tsSemble 前 5 个候选结果:
src/services/mcp/config.tssrc/main.tsxsrc/utils/settings/types.tssrc/cli/print.tssrc/migrations/migrateEnableAllProjectMcpServersToSettings.ts检索目标:定位 MCP 工具完整名称构造、服务名规范化与反向解析相关逻辑。
提示词:
build fully qualified MCP tool name mcp__server__tool and normalize server name
期望命中文件:
src/services/mcp/mcpStringUtils.tssrc/services/mcp/normalization.ts结果摘要:
1,耗时 4.12 秒。1,耗时 8.62 秒。ACE 前 5 个候选结果:
src/services/mcp/mcpStringUtils.tssrc/services/mcp/normalization.tssrc/services/mcp/utils.tssrc/tools/McpAuthTool/McpAuthTool.tssrc/components/mcp/MCPStdioServerMenu.tsxSemble 前 5 个候选结果:
src/services/mcp/mcpStringUtils.tssrc/services/mcp/client.tssrc/services/mcp/utils.tssrc/services/tools/toolExecution.tssrc/utils/settings/permissionValidation.ts检索目标:定位 Bash 工具只读命令校验、危险命令提示与权限控制逻辑。
提示词:
Bash tool validates read-only commands and blocks destructive shell commands
期望命中文件:
src/tools/BashTool/readOnlyValidation.tssrc/tools/BashTool/destructiveCommandWarning.tssrc/tools/BashTool/bashSecurity.tssrc/tools/BashTool/bashPermissions.tssrc/tools/BashTool/BashTool.tsx结果摘要:
2,耗时 4.59 秒。2,耗时 8.58 秒。ACE 前 5 个候选结果:
src/tools/BashTool/modeValidation.tssrc/tools/BashTool/destructiveCommandWarning.tssrc/tools/BashTool/shouldUseSandbox.tssrc/tools/PowerShellTool/modeValidation.tssrc/tools/BashTool/utils.tsSemble 前 5 个候选结果:
src/utils/shell/readOnlyCommandValidation.tssrc/tools/BashTool/readOnlyValidation.tssrc/tools/BashTool/prompt.tssrc/utils/promptShellExecution.tssrc/tools/PowerShellTool/readOnlyValidation.ts检索目标:定位 sed 编辑命令解析与替换校验逻辑。
提示词:
parse sed edit commands and validate sed replacements for the shell tool
期望命中文件:
src/tools/BashTool/sedEditParser.tssrc/tools/BashTool/sedValidation.ts结果摘要:
1,耗时 4.24 秒。1,耗时 10.97 秒。ACE 前 5 个候选结果:
src/tools/BashTool/sedEditParser.tssrc/tools/BashTool/modeValidation.tssrc/tools/BashTool/shouldUseSandbox.tssrc/utils/settings/permissionValidation.tssrc/utils/bash/ShellSnapshot.tsSemble 前 5 个候选结果:
src/tools/BashTool/sedEditParser.tssrc/tools/BashTool/sedValidation.tssrc/tools/BashTool/BashTool.tsxsrc/tools/BashTool/pathValidation.tssrc/tools/BashTool/prompt.ts检索目标:定位 FileEdit 精确字符串替换、编辑校验与 diff 展示逻辑。
提示词:
File edit tool replaces exact strings and shows diff before applying edits
期望命中文件:
src/tools/FileEditTool/FileEditTool.tssrc/tools/FileEditTool/utils.tssrc/tools/FileEditTool/UI.tsx结果摘要:
1,耗时 4.27 秒。1,耗时 10.17 秒。ACE 前 5 个候选结果:
src/tools/FileEditTool/utils.tssrc/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsxsrc/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsxsrc/tools/FileEditTool/prompt.tssrc/tools/NotebookEditTool/NotebookEditTool.tsSemble 前 5 个候选结果:
src/tools/FileEditTool/utils.tssrc/components/FileEditToolDiff.tsxsrc/tools/FileEditTool/UI.tsxsrc/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsxsrc/components/permissions/FilePermissionDialog/ideDiffConfig.ts检索目标:定位 FileRead 图片处理、大文件读取与行数限制逻辑。
提示词:
Read file tool processes images and enforces large file line limits
期望命中文件:
src/tools/FileReadTool/FileReadTool.tssrc/tools/FileReadTool/imageProcessor.tssrc/tools/FileReadTool/limits.ts结果摘要:
1,耗时 4.19 秒。1,耗时 10.04 秒。ACE 前 5 个候选结果:
src/tools/FileReadTool/limits.tssrc/utils/readEditContext.tssrc/tools/FileReadTool/prompt.tssrc/utils/json.tssrc/utils/file.tsSemble 前 5 个候选结果:
src/tools/FileReadTool/FileReadTool.tssrc/tools/FileReadTool/prompt.tssrc/utils/readFileInRange.tssrc/utils/attachments.tssrc/tools/FileWriteTool/prompt.ts检索目标:定位 Glob 文件模式搜索、结果截断与按修改时间排序逻辑。
提示词:
Glob tool searches files by pattern and sorts results by modification time
期望命中文件:
src/tools/GlobTool/GlobTool.tssrc/tools/GlobTool/prompt.tssrc/tools/GlobTool/UI.tsx结果摘要:
未命中,耗时 4.37 秒。1,耗时 10.07 秒。ACE 前 5 个候选结果:
src/components/GlobalSearchDialog.tsxsrc/utils/markdownConfigLoader.tssrc/memdir/memdir.tssrc/utils/ripgrep.tssrc/tools.tsSemble 前 5 个候选结果:
src/tools/GlobTool/GlobTool.tssrc/tools/GlobTool/prompt.tssrc/tools/GrepTool/GrepTool.tssrc/tools/GrepTool/prompt.tssrc/utils/glob.ts检索目标:定位 Grep 对 ripgrep 的封装、glob 过滤与输出模式处理逻辑。
提示词:
Grep tool wraps ripgrep and supports glob filtering and output modes
期望命中文件:
src/tools/GrepTool/GrepTool.tssrc/tools/GrepTool/prompt.tssrc/tools/GrepTool/UI.tsx结果摘要:
3,耗时 3.66 秒。1,耗时 10.01 秒。ACE 前 5 个候选结果:
src/utils/ripgrep.tssrc/components/GlobalSearchDialog.tsxsrc/tools/GrepTool/UI.tsxsrc/tools/AgentTool/built-in/claudeCodeGuideAgent.tssrc/tools/PowerShellTool/prompt.tsSemble 前 5 个候选结果:
src/tools/GrepTool/GrepTool.tssrc/tools/GrepTool/prompt.tssrc/utils/bash/ShellSnapshot.tssrc/tools/GlobTool/GlobTool.tssrc/tools/BashTool/prompt.ts检索目标:定位 TodoWrite 任务列表输入 schema、状态与优先级校验逻辑。
提示词:
Todo write tool validates task status priority list schema
期望命中文件:
src/tools/TodoWriteTool/TodoWriteTool.tssrc/tools/TodoWriteTool/constants.tssrc/tools/TodoWriteTool/prompt.ts结果摘要:
10,耗时 3.93 秒。2,耗时 10.03 秒。ACE 前 5 个候选结果:
src/utils/todo/types.tssrc/tools/TaskListTool/TaskListTool.tssrc/tools/ScheduleCronTool/CronCreateTool.tssrc/tools/LSPTool/schemas.tssrc/tools/SyntheticOutputTool/SyntheticOutputTool.tsSemble 前 5 个候选结果:
src/tools/TaskListTool/TaskListTool.tssrc/tools/TodoWriteTool/TodoWriteTool.tssrc/tools/TaskGetTool/TaskGetTool.tssrc/tools/TodoWriteTool/prompt.tssrc/tools/TaskUpdateTool/TaskUpdateTool.ts检索目标:定位 token、价格与总费用统计逻辑。
提示词:
cost tracking tracks tokens pricing and total API cost
期望命中文件:
src/cost-tracker.tssrc/costHook.tssrc/commands/cost/cost.ts结果摘要:
1,耗时 4.40 秒。1,耗时 10.18 秒。ACE 前 5 个候选结果:
src/cost-tracker.tssrc/utils/modelCost.tssrc/commands/cost/cost.tssrc/costHook.tsSemble 前 5 个候选结果:
src/cost-tracker.tssrc/utils/modelCost.tssrc/services/api/claude.tssrc/services/api/logging.tssrc/components/StatusLine.tsx检索目标:定位 login 命令的 OAuth 与 key 认证流程。
提示词:
login command UI OAuth API key authentication flow
期望命中文件:
src/commands/login/login.tsxsrc/commands/login/index.tssrc/cli/handlers/auth.ts结果摘要:
1,耗时 4.68 秒。4,耗时 10.84 秒。ACE 前 5 个候选结果:
src/commands/login/index.tssrc/commands/install-github-app/OAuthFlowStep.tsxsrc/commands/mcp/xaaIdpCommand.tssrc/services/oauth/index.tssrc/commands/extra-usage/extra-usage.tsxSemble 前 5 个候选结果:
src/commands/install-github-app/OAuthFlowStep.tsxsrc/components/ConsoleOAuthFlow.tsxsrc/commands/init-verifiers.tssrc/cli/handlers/auth.tssrc/services/policyLimits/index.ts检索目标:定位 logout 命令清理凭据与账户信息的逻辑。
提示词:
logout command removes credentials and organization accounts
期望命中文件:
src/commands/logout/logout.tsxsrc/commands/logout/index.ts结果摘要:
1,耗时 4.20 秒。1,耗时 10.20 秒。ACE 前 5 个候选结果:
src/commands/logout/logout.tsxsrc/commands/exit/exit.tsxsrc/commands/mcp/xaaIdpCommand.tssrc/commands/login/index.tssrc/commands/extra-usage/extra-usage.tsxSemble 前 5 个候选结果:
src/commands/logout/index.tssrc/cli/handlers/auth.tssrc/utils/auth.tssrc/commands/init-verifiers.tssrc/main.tsx检索目标:定位 model 命令的模型选择与配置写入逻辑。
提示词:
model command selects model and writes model configuration
期望命中文件:
src/commands/model/model.tsxsrc/commands/model/index.ts结果摘要:
1,耗时 4.72 秒。1,耗时 10.40 秒。ACE 前 5 个候选结果:
src/commands/model/index.tssrc/utils/model/configs.tssrc/commands/vim/vim.tssrc/tools/ConfigTool/ConfigTool.tssrc/tools/ConfigTool/prompt.tsSemble 前 5 个候选结果:
src/commands/model/index.tssrc/utils/model/model.tssrc/tools/ConfigTool/prompt.tssrc/commands/model/model.tsxsrc/utils/settings/types.ts检索目标:定位 hooks 命令配置事件回调与 shell hook 的逻辑。
提示词:
hooks command configures shell hooks for events
期望命中文件:
src/commands/hooks/hooks.tsxsrc/commands/hooks/index.ts结果摘要:
5,耗时 4.15 秒。1,耗时 10.30 秒。ACE 前 5 个候选结果:
src/commands/init.tssrc/schemas/hooks.tssrc/utils/hooks/hooksConfigManager.tssrc/utils/hooks/hooksSettings.tssrc/commands/hooks/hooks.tsxSemble 前 5 个候选结果:
src/commands/hooks/index.tssrc/utils/hooks.tssrc/utils/hooks/AsyncHookRegistry.tssrc/schemas/hooks.tssrc/skills/bundled/updateConfig.ts检索目标:定位 statusline 命令设置流程与终端状态栏渲染逻辑。
提示词:
statusline command setup and render terminal status line
期望命中文件:
src/commands/statusline.tsxsrc/commands/status/status.tsxsrc/commands/status/index.ts结果摘要:
5,耗时 4.12 秒。2,耗时 10.39 秒。ACE 前 5 个候选结果:
src/tools/AgentTool/built-in/statuslineSetup.tssrc/ink/hooks/use-tab-status.tssrc/utils/terminalPanel.tssrc/bridge/bridgeUI.tssrc/commands/status/status.tsxSemble 前 5 个候选结果:
src/components/StatusLine.tsxsrc/commands/statusline.tsxsrc/tools/AgentTool/built-in/statuslineSetup.tssrc/commands/terminalSetup/terminalSetup.tsxsrc/commands.ts检索目标:定位 plugin 市场浏览、安装、启用、禁用与管理逻辑。
提示词:
plugin marketplace browsing installing enabling disabling plugins
期望命中文件:
src/commands/plugin/plugin.tsxsrc/commands/plugin/BrowseMarketplace.tsxsrc/commands/plugin/ManagePlugins.tsxsrc/commands/plugin/PluginOptionsFlow.tsx结果摘要:
未命中,耗时 4.33 秒。4,耗时 11.56 秒。ACE 前 5 个候选结果:
src/services/plugins/pluginCliCommands.tssrc/plugins/builtinPlugins.tssrc/utils/plugins/pluginBlocklist.tssrc/commands/plugin/AddMarketplace.tsxsrc/utils/plugins/headlessPluginInstall.tsSemble 前 5 个候选结果:
src/services/plugins/pluginOperations.tssrc/utils/plugins/pluginInstallationHelpers.tssrc/commands/thinkback/thinkback.tsxsrc/commands/plugin/BrowseMarketplace.tsxsrc/commands/plugin/ManagePlugins.tsx检索目标:定位 LSP 客户端、诊断注册表与被动反馈逻辑。
提示词:
LSP client diagnostic registry and passive feedback
期望命中文件:
src/services/lsp/LSPClient.tssrc/services/lsp/LSPDiagnosticRegistry.tssrc/services/lsp/passiveFeedback.tssrc/tools/LSPTool/LSPTool.ts结果摘要:
1,耗时 4.78 秒。1,耗时 12.41 秒。ACE 前 5 个候选结果:
src/services/lsp/LSPDiagnosticRegistry.tssrc/services/lsp/passiveFeedback.tsSemble 前 5 个候选结果:
src/services/lsp/passiveFeedback.tssrc/services/lsp/LSPDiagnosticRegistry.tssrc/utils/attachments.ts检索目标:定位 remote bridge 的轮询配置、会话创建、受信设备、JWT 与 work secret 逻辑。
提示词:
remote bridge polling configuration create session trusted device JWT work secret
期望命中文件:
src/bridge/createSession.tssrc/bridge/pollConfig.tssrc/bridge/jwtUtils.tssrc/bridge/trustedDevice.tssrc/bridge/workSecret.ts结果摘要:
3,耗时 4.28 秒。1,耗时 10.91 秒。ACE 前 5 个候选结果:
src/bridge/pollConfigDefaults.tssrc/bridge/envLessBridgeConfig.tssrc/bridge/pollConfig.tssrc/bridge/codeSessionApi.tssrc/bridge/types.tsSemble 前 5 个候选结果:
src/bridge/trustedDevice.tssrc/bridge/remoteBridgeCore.tssrc/bridge/codeSessionApi.tssrc/bridge/bridgeMain.tssrc/bridge/bridgeApi.ts检索目标:定位 AgentTool 创建子任务、运行内置 agent 与恢复 agent 会话逻辑。
提示词:
agent tool forks subagents runs built-in agents and resumes agent sessions
期望命中文件:
src/tools/AgentTool/AgentTool.tsxsrc/tools/AgentTool/forkSubagent.tssrc/tools/AgentTool/runAgent.tssrc/tools/AgentTool/resumeAgent.tssrc/tools/AgentTool/builtInAgents.ts结果摘要:
1,耗时 4.15 秒。3,耗时 11.03 秒。ACE 前 5 个候选结果:
src/tools/AgentTool/forkSubagent.tssrc/tools/AgentTool/resumeAgent.tssrc/tools/AgentTool/loadAgentsDir.tssrc/tools/AgentTool/prompt.tssrc/tools/AgentTool/built-in/planAgent.tsSemble 前 5 个候选结果:
src/tools/AgentTool/loadAgentsDir.tssrc/utils/agentContext.tssrc/tools/AgentTool/runAgent.tssrc/tools/AgentTool/built-in/claudeCodeGuideAgent.tssrc/tools/AgentTool/AgentTool.tsx此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。