Qwen Code 工具
Qwen Code 包含内置工具,模型通过这些工具与本地环境进行交互、访问信息并执行操作。这些工具增强了 CLI 的功能,使其能够超越文本生成,协助完成各种任务。
Qwen Code 工具概述
在 Qwen Code 的上下文中,工具是模型可以请求执行的特定函数或模块。例如,如果你要求模型“总结 my_document.txt 的内容”,它很可能会识别出需要读取该文件,并请求执行 read_file 工具。
核心组件(packages/core)负责管理这些工具,向模型展示它们的定义(模式),在被请求时执行它们,并将结果返回给模型,以便进一步处理成面向用户的响应。
这些工具提供了以下能力:
- 访问本地信息: 工具允许模型访问你的本地文件系统、读取文件内容、列出目录等。
- 执行命令: 通过
run_shell_command等工具,模型可以运行 shell 命令(具备适当的安全措施和用户确认)。 - 与网络交互: 工具可以从 URL 获取内容。
- 执行操作: 工具可以修改文件、写入新文件或在你的系统上执行其他操作(同样,通常会有安全保护措施)。
- 基于实际数据生成响应: 通过使用工具获取实时或特定的本地数据,响应可以更加准确、相关,并基于你的实际上下文。
如何使用 Qwen Code 工具
要使用 Qwen Code 工具,需向 CLI 提供一个提示。其工作流程如下:
- 你向 CLI 提供一个提示。
- CLI 将该提示发送给核心模块。
- 核心模块连同你的提示和对话历史一起,将可用工具列表及其描述/结构发送到配置的模型 API。
- 模型分析你的请求。如果它判断需要某个工具,则其响应中会包含调用特定工具并附带某些参数的请求。
- 核心模块接收到此工具请求后,对其进行验证,并(通常在用户确认敏感操作后)执行该工具。
- 工具的输出结果会被发送回模型。
- 模型利用工具的输出结果生成最终答案,然后通过核心模块返回给 CLI 并显示给你。
你通常会在 CLI 中看到消息,指示正在调用哪个工具以及该工具是否成功或失败。
安全与确认
许多工具,特别是那些可以修改文件系统或执行命令的工具(如 write_file、edit、run_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): 用于退出计划模式并继续进行实现。
此外,这些工具还包含:
- MCP 服务器:MCP 服务器充当模型与本地环境或其他服务(如 API)之间的桥梁。
- MCP 快速入门指南:通过实际示例在 5 分钟内开始使用 MCP
- MCP 示例配置:适用于常见场景的即用型配置
- MCP 测试与验证:测试和验证您的 MCP 服务器设置
- 沙箱:沙箱将模型及其更改与您的环境隔离,以降低潜在风险。
Last updated on