Skip to Content
开发者指南工具简介

Qwen Code 工具

Qwen Code 内置了多种工具,模型可利用这些工具与你的本地环境交互、访问信息并执行操作。这些工具增强了 CLI 的能力,使其不仅能生成文本,还能协助完成各种任务。

Qwen Code 工具概述

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

核心组件(packages/core)负责管理这些工具:向模型提供工具定义(即 schema)、在模型请求时执行相应工具,并将执行结果返回给模型,供其进一步处理并生成面向用户的响应。

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

  • 访问本地信息:工具允许模型访问你的本地文件系统,读取文件内容、列出目录等。
  • 执行命令:借助 run_shell_command 等工具,模型可在具备适当安全机制和用户确认的前提下运行 shell 命令。
  • 与网络交互:工具可从 URL 获取内容。
  • 执行操作:工具可修改文件、创建新文件,或在你的系统上执行其他操作(通常也配有相应的安全防护机制)。
  • 使响应有据可依:通过工具获取实时或特定的本地数据,可使模型响应更准确、更相关,并切实立足于你当前的实际环境。

如何使用 Qwen Code 工具

要使用 Qwen Code 工具,请向 CLI 提供一个提示(prompt)。整个流程如下:

  1. 您向 CLI 提供一个提示。
  2. CLI 将该提示发送至核心(core)。
  3. 核心结合您的提示和对话历史,将当前可用工具及其描述/模式(schema)列表发送给已配置的模型 API。
  4. 模型分析您的请求。若判断需调用工具,其响应中将包含一个执行特定工具并附带相应参数的请求。
  5. 核心接收到该工具调用请求后,先进行校验,并(通常在敏感操作前)征得用户确认,随后执行该工具。
  6. 工具的输出结果被传回模型。
  7. 模型利用该工具输出生成最终回答,并经由核心返回 CLI,最终显示给您。

您通常会在 CLI 中看到相关消息,提示当前正在调用哪个工具,以及该调用是成功还是失败。

安全性与确认

许多工具(尤其是能够修改文件系统或执行命令的工具,例如 write_fileeditrun_shell_command)在设计时就已将安全性纳入考量。Qwen Code 通常会:

  • 要求确认: 在执行潜在敏感操作前向你发出提示,并明确告知即将执行的操作内容。
  • 采用沙箱机制: 所有工具均受沙箱限制(参见 Qwen Code 中的沙箱机制)。这意味着,在沙箱环境中运行时,你希望使用的任何工具(包括 MCP 服务器)都必须存在于沙箱环境内部。例如,若需通过 npx 运行 MCP 服务器,则 npx 可执行文件必须已安装在沙箱的 Docker 镜像中,或已在 sandbox-exec 环境中可用。

务必在允许工具继续执行前,仔细审阅所有确认提示。

了解 Qwen Code 工具的更多信息

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

  • 文件系统工具:用于与文件和目录交互(读取、写入、列出、搜索等)。
  • Shell 工具run_shell_command:用于执行 Shell 命令。
  • 网页获取工具web_fetch:用于从 URL 获取内容。
  • 网页搜索工具web_search:用于在互联网上进行搜索。
  • 多文件读取工具read_many_files:一种专门用于从多个文件或目录中读取内容的工具,常被 @ 命令调用。
  • 记忆工具save_memory:用于跨会话保存与回忆信息。
  • 待办事项写入工具todo_write:用于在编码过程中创建和管理结构化任务列表。
  • 任务工具task:用于将复杂任务委派给专用子智能体。
  • 退出规划模式工具exit_plan_mode:用于退出规划模式并进入实现阶段。

此外,这些工具还集成了以下能力:

Last updated on