Skip to content

为什么打开CCB第一次会话模型不知道自己有哪些工具,第二次才知道 #294

@sabkfd

Description

@sabkfd

有没有大佬帮我分析一下
Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

PS C:\Users\ZHer> cd E:\claude-code
PS E:\claude-code> $env:ENABLE_TOOL_SEARCH="false"
PS E:\claude-code> bun run dev -- --debug 2> debug.log
▐▛███▜▌ Claude Code v2.1.888
▝▜█████▛▘ qwen3:14b · API Usage Billing
▘▘ ▝▝ E:\claude-code

Debug mode enabled
Logging to: C:\Users\ZHer.claude\debug\a3c2bdfb-8f0a-4e19-bf7d-bf6a4643e35a.txt

❯ 你有哪些工具

● Claude 项目中包含多种工具和功能模块,主要用于开发、测试、配置管理、用户交互及系统扩展。以下是主要工具的分类及说明:


  1. 用户交互与命令行工具
  • CLI 命令:
    • claude remote-control / rc / bridge:启动远程控制服务器(RCS),支持 Web UI 和自托管部署。
    • claude daemon:管理后台驻留进程(长任务监控)。
    • claude login:配置第三方 API(如 OpenAI、Gemini、Grok)的兼容层。
    • bun run dev:开发模式启动(默认启用所有功能标志)。
    • bun run typecheck:运行 TypeScript 类型检查。
    • bun run test:执行单元测试和集成测试。

  1. 系统工具与组件
  • 远程控制服务器(RCS):
    • packages/remote-control-server/:支持 Docker 部署,提供 Web UI 界面,实现自托管的远程控制功能。
  • 语音输入(Voice Mode):
    • Push-to-Talk 语音输入(需 Anthropic OAuth 认证)。
  • 多 API 兼容层:
    • OpenAI、Gemini、Grok 的流适配器模式,兼容 Anthropic 内部 API 格式。
  • 上下文构建工具:
    • src/context.ts:动态生成系统提示(包含 Git 状态、日期、项目 CLAUDE.md 内容等)。
  • 特征标志管理:
    • 通过 import { feature } from 'bun:bundle' 和环境变量(如 FEATURE_X=1)控制功能开关。

  1. 开发与测试工具
  • 类型检查:
    • TypeScript 严格模式 + tsc 确保零类型错误。
    • bun run typecheck 验证类型安全。
  • 测试框架:
    • 单元测试:src/**/tests/.test.ts,使用 bun:test 和 mock 数据。
    • 集成测试:tests/integration/ 包含 4 个测试文件(CLI 参数、上下文构建、消息流水线、工具链)。
    • Mock/Fixture 管理:tests/mocks/ 提供 API 响应、文件系统模拟等。
  • 构建工具:
    • Bun:用于构建、运行脚本(如 bun run dev)。
    • 构建配置:build.ts 定义默认启用的功能标志(如 AGENT_TRIGGERS、DAEMON 等)。

  1. 服务与后台工具
  • Daemon 模式:
    • src/daemon/ 提供长驻进程管理,支持 worker 注册与监控。
  • 日志与调试工具:
    • log.ts / debug.ts:记录运行时日志及调试信息(需通过 mock 实现测试)。
  • 权限管理:
    • src/types/permissions.ts 定义权限模式(如用户交互、系统操作等)。

  1. 其他工具与模块
  • Ink UI 框架:
    • 自定义组件、hooks、keybindings 存放于 packages/@ant/ink/,用于构建用户界面。
  • NAPI 模块:
    • audio-capture-napi、image-processor-napi:已恢复的原生模块(支持 macOS/Windows/Linux)。
    • color-diff-napi:完整实现颜色差异计算。
    • modifiers-napi / url-handler-napi:stub(待完善)。
  • 配置管理:
    • settings/settings.js、config.ts:处理用户配置及环境变量。
  • 分析工具:
    • SHOT_STATS:统计用户操作数据。
    • TRANSCRIPT_CLASSIFIER:分类对话内容。
    • PROMPT_CACHE_BREAK_DETECTION:缓存管理与提示优化。
    • TOKEN_BUDGET:令牌使用预算控制。

  1. 已移除或简化模块
  • Magic Docs / LSP Server:移除。
  • Plugins / Marketplace:移除。
  • Analytics / GrowthBook / Sentry:空实现。
  • MCP OAuth:简化版本。

总结

Claude 项目的核心工具包括:CLI 命令、远程控制、语音输入、多 API 兼容、上下文构建、特征标志管理、构建/测试框架、Daemon
模式、日志调试及 UI 组件。这些工具共同支持系统的开发、测试、部署与用户交互。

✻ Brewed for 1m 6s

❯ 你有哪些工具

● 我可用的工具分为以下几类,每类工具都有具体的用途和参数要求:


一、文件与数据操作工具

Write
- 用途:创建或覆盖文件。
- 参数:file_path(绝对路径),content(文件内容)。
- 使用场景:生成新文件或完全替换现有文件内容。

Edit
- 用途:修改现有文件(仅发送差异内容)。
- 参数:file_path(绝对路径),diff(差异内容)。
- 使用场景:编辑已有文件时避免覆盖原始内容。

Read
- 用途:读取文件内容。
- 参数:file_path(绝对路径)。
- 使用场景:在修改文件前必须先读取原始内容。

Workflow
- 用途:执行用户定义的工作流脚本(.yaml 或 .md 文件)。
- 参数:workflow(工作流文件名),args(传递给脚本的参数)。
- 使用场景:自动化复杂任务(如构建流程、数据处理链)。


二、网络与信息检索工具

WebFetch
- 用途:从 URL 获取内容并用 AI 模型分析。
- 参数:url(完整 URL),prompt(分析指令)。
- 使用场景:获取网页内容并提取关键信息(如价格、联系方式)。

WebSearch
- 用途:搜索网络信息并返回结果。
- 参数:query(搜索关键词),可选 allowed_domains/blocked_domains。
- 使用场景:获取最新事件、行业数据或技术文档。
- 结果格式:返回搜索结果块,包含标题和链接(Markdown 格式)。


三、地图分析工具(MapGIS 相关)

mcp__mapgis__mapgis_get_layers
- 用途:获取地图文档中的所有图层列表。
- 参数:无。
- 使用场景:查看地图中包含哪些图层及类型(如矢量图层、栅格图层)。

mcp__mapgis__mapgis_buffer
- 用途:对指定图层的要素执行缓冲区分析。
- 参数:layer_name(图层名称),distance(缓冲距离,单位:米)。
- 使用场景:生成缓冲区多边形(如河流周边 500 米范围)。

mcp__mapgis__mapgis_select
- 用途:根据 SQL 条件查询图层中的要素。
- 参数:layer(图层名称),where_clause(SQL 条件,如 人口 > 1000)。
- 使用场景:按属性(如人口、面积)或空间条件筛选要素。


四、其他工具

Sleep
- 用途:暂停执行指定时间(单位:秒)。
- 参数:seconds(睡眠时长)。
- 使用场景:控制任务执行节奏(如等待 API 响应)。

WebSearch
- 用途:搜索网络信息并返回结果。
- 参数:query(搜索关键词),可选 allowed_domains/blocked_domains。
- 使用场景:获取最新事件、行业数据或技术文档。


使用建议

  • 文件操作:优先使用 Read 和 Edit 避免数据丢失。
  • 网络请求:WebFetch 适用于静态内容分析,WebSearch 适用于动态信息检索。
  • 地图分析:通过 mapgis_get_layers 了解数据结构,再使用 mapgis_buffer/mapgis_select 进行深度分析。

如需具体工具的使用示例,请进一步说明需求! 🛠️
✻ Baked for 33s

已经经过很多次验证了,第二条消息模型才看到内置的工具和MCP,,上面是一次的对话记录

问了claude,他说日志里
10:49:44.166Z [OpenAI] Tool search disabled, total tools=0
10:49:44.168Z [OpenAI] Calling model=qwen3:14b, messages=2, tools=0

10:49:44.171Z [OpenAI] Tool search disabled, total tools=36
10:49:44.171Z [OpenAI] Calling model=qwen3:14b, messages=2, tools=36

首条消息会同时出发两次API调用,第一次回复会用total tools=0的,所以看不到,求大佬解答

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions