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

Qwen Code 工具

Qwen Code 内置了一系列工具,供模型用于与本地环境交互、获取信息及执行操作。这些工具增强了 CLI 的能力,使其不仅能生成文本,还能协助完成多种任务。

Qwen Code 工具概览

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

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

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

  • 访问本地信息: 工具让模型能够访问你的本地文件系统,读取文件内容、列出目录等。
  • 执行命令: 借助 run_shell_command 等工具,模型可以运行 shell 命令(配合适当的安全措施和用户确认)。
  • 与 Web 交互: 工具可以从 URL 获取内容。
  • 执行操作: 工具可以修改文件、写入新文件,或在你的系统上执行其他操作(同样通常带有保护措施)。
  • 增强回答的可靠性: 通过使用工具获取实时或特定的本地数据,模型的回答可以更准确、更相关,并且更贴合你的实际上下文。

如何使用 Qwen Code 工具

要使用 Qwen Code 工具,只需向 CLI 提供提示词即可。具体流程如下:

  1. 你向 CLI 提供提示词。
  2. CLI 将提示词发送给核心组件。
  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 命令。
  • 监控工具 (monitor): 用于运行长时间执行的 shell 命令,并以后台任务通知的形式流式输出结果。
  • Web 获取工具 (web_fetch): 用于从 URL 获取内容。
  • 任务清单写入工具 (todo_write): 用于在编码会话期间创建和管理结构化任务列表。
  • 代理工具 (agent): 用于将复杂任务委托给专门的子代理。
  • 退出计划模式工具 (exit_plan_mode): 用于退出计划模式并继续实施。

此外,这些工具还整合了:

  • MCP 服务器:MCP 服务器充当模型与本地环境或其他服务(如 API)之间的桥梁。
  • 沙箱:沙箱将模型及其变更与你的环境隔离开来,以降低潜在风险。
Last updated on