Skip to Content
ToolsQwen Code 工具

Qwen Code 工具

Qwen Code 内置了一系列工具,模型可以通过这些工具与你的本地环境进行交互、获取信息并执行操作。这些工具扩展了 CLI 的功能,使其不仅限于文本生成,还能协助处理各种任务。

Qwen Code 工具概述

在 Qwen Code 的上下文中,工具是模型可以请求执行的特定函数或模块。例如,如果你要求模型“总结 my_document.txt 的内容”,它很可能会识别出需要读取该文件,并请求执行 read_file 工具。

核心组件(packages/core)负责管理这些工具,向模型展示它们的定义(schemas),在被请求时执行它们,并将结果返回给模型,以便进一步处理成面向用户的响应。

这些工具提供了以下能力:

  • 访问本地信息: 工具允许模型访问你的本地文件系统,读取文件内容,列出目录等。
  • 执行命令: 通过 run_shell_command 等工具,模型可以运行 shell 命令(具备适当的安全措施和用户确认机制)。
  • 与网络交互: 工具可以从 URL 获取内容。
  • 执行操作: 工具可以修改文件,写入新文件,或在你的系统上执行其他操作(通常也包含安全保护机制)。
  • 增强响应的准确性: 通过使用工具获取实时或特定的本地数据,响应可以更加准确、相关,并基于你的实际上下文。

如何使用 Qwen Code 工具

要使用 Qwen Code 工具,只需在 CLI 中提供一个 prompt。整个流程如下:

  1. 你向 CLI 提供一个 prompt。
  2. CLI 将该 prompt 发送给 core。
  3. core 结合你的 prompt 和对话历史,将可用工具列表及其描述/结构发送给配置好的 model API。
  4. 模型分析你的请求。如果它判断需要使用某个工具,其响应中将包含调用特定工具并附带参数的请求。
  5. core 接收到这个工具调用请求后会进行验证,并(通常在用户确认敏感操作后)执行该工具。
  6. 工具的输出结果会被发送回模型。
  7. 模型利用工具的输出结果生成最终答案,并通过 core 返回给 CLI,最终展示给你。

在 CLI 中,你通常会看到提示信息,告知你某个工具正在被调用以及调用是否成功或失败。

安全性和确认机制

许多工具,特别是那些可以修改文件系统或执行命令的工具(如 write_fileeditrun_shell_command),在设计时就考虑了安全性。Qwen Code 通常会:

  • 要求确认: 在执行可能敏感的操作之前提示你,并显示即将执行的操作。
  • 使用沙箱: 所有工具都受到沙箱强制实施的限制(参见 Qwen Code 中的沙箱)。这意味着在沙箱中操作时,你希望使用的任何工具(包括 MCP 服务器)都必须在沙箱环境内部可用。例如,要通过 npx 运行 MCP 服务器,npx 可执行文件必须安装在沙箱的 Docker 镜像中,或者在 sandbox-exec 环境中可用。

在允许工具继续执行之前,仔细查看确认提示非常重要。

了解更多关于 Qwen Code 的工具

Qwen Code 的内置工具可以大致分为以下几类:

  • File System Tools 用于与文件和目录交互(读取、写入、列出、搜索等)。
  • Shell Tool (run_shell_command): 用于执行 shell 命令。
  • Web Fetch Tool (web_fetch): 用于从 URL 获取内容。
  • Web Search Tool (web_search): 用于搜索网络。
  • Multi-File Read Tool (read_many_files): 一个专门用于从多个文件或目录读取内容的工具,通常由 @ 命令使用。
  • Memory Tool (save_memory): 用于在会话之间保存和回忆信息。

此外,这些工具还包含:

  • MCP servers MCP 服务器作为模型与本地环境或其他服务(如 API)之间的桥梁。
  • Sandboxing 沙箱机制将模型及其更改与你的环境隔离,以降低潜在风险。
Last updated on