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。整个流程如下:
- 你向 CLI 提供一个 prompt。
- CLI 将该 prompt 发送给 core。
- core 结合你的 prompt 和对话历史,将可用工具列表及其描述/结构发送给已配置的 model API。
- 模型分析你的请求。如果它判断需要调用某个工具,则其响应中会包含对特定工具及参数的执行请求。
- core 接收到这个工具请求后进行验证,并(通常在用户确认敏感操作后)执行该工具。
- 工具的输出结果会被发回给模型。
- 模型利用工具的输出结果生成最终回答,并通过 core 返回到 CLI 显示给你。
在 CLI 中,你通常会看到提示信息,表明正在调用哪个工具以及该工具是否执行成功或失败。
安全性和确认机制
许多工具,特别是那些可以修改文件系统或执行命令的工具(如 write_file、edit、run_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): 用于在不同会话之间保存和回忆信息。 - Todo Write Tool (
todo_write): 用于在编码会话期间创建和管理结构化任务列表。
此外,这些工具还集成了:
- MCP servers:MCP 服务器充当模型与本地环境或其他服务(如 API)之间的桥梁。
Last updated on