> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 工具

Qoder 提供了丰富的工具，覆盖文件搜索、文件读取、目录浏览、语义符号检索、文件编辑、错误检查和命令执行等编程场景。它还可与模型上下文协议（MCP）服务集成，使开发者能够配置更多扩展，进一步优化编码体验。

<div id="search">
  ## **搜索**
</div>

在智能体模式中，Qoder 使用搜索工具从以下范围检索信息：

| **范围** | **说明**                  |
| :----- | :---------------------- |
| 代码库    | 用于探索代码库的代码搜索工具          |
| 文件     | 在项目内搜索文件。               |
| 代码     | 在项目内搜索特定代码片段。           |
| 目录     | 查看项目目录结构。               |
| Web    | 在无需 API 密钥的情况下进行自由网页搜索。 |
| 网页内容   | 获取网页内容。                 |

<div id="edit">
  ## **编辑**
</div>

在智能体模式下，Qoder 使用以下工具来修改代码文件：

| **功能** | **说明**    |
| :----- | :-------- |
| 修改文件   | 修改特定代码文件。 |
| 查看文件   | 显示代码文件内容。 |

<div id="execute-commands">
  ## **执行命令**
</div>

在智能体模式下，Qoder 会根据先前的条件使用以下工具来编写并运行命令。

| **功能** | **说明**        |
| :----- | :------------ |
| 运行命令   | 在终端中执行命令。     |
| 获取终端输出 | 获取先前已运行命令的输出。 |

<div id="find-problems">
  ## **查找问题**
</div>

在智能体模式下，Qoder 使用以下工具来定位代码问题。

| **功能** | **说明**                      |
| :----- | :-------------------------- |
| 获取代码问题 | 查找项目中的代码问题（在 **问题** 窗口中显示）。 |

<div id="update-memories">
  ## **更新记忆**
</div>

在智能体模式下，Qoder 会使用以下工具根据你的需求更新记忆：

| **功能** | **描述**         |
| :----- | :------------- |
| 更新记忆   | 基于用户输入更新持久化记忆。 |

<div id="diff-view">
  ## **Diff 视图**
</div>

每当 AI 提出代码修改建议——无论是通过智能会话还是行间会话，代码变更都会以清晰的 diff 视图呈现，便于你在应用前审查。这确保你对每次修改都拥有完整的可见性与控制权。

<div id="diff-preview-format">
  ### **Diff 预览格式**
</div>

预览使用标准 diff 标记展示变更：

* 新增行以绿色显示
* 删除行以红色显示
* 未更改的周边代码以中性色显示，保留上下文，帮助你理解变更范围

这种行内 diff 格式使可能精确查看将会发生的变更、理解变更产生的原因，并评估其如何融入现有代码库，从而更有信心地编辑或拒绝每个变更。

示例：

```diff theme={null}
function validate(user) {

- return user.id !== undefined;

+ return user.id && user.status === 'active'; }
```

<div id="review-mode">
  ## **审查模式**
</div>

Agent 完成单轮对话或任务后，系统会展示所有改动，提供整个代码库范围内修改的全面概览。由于代码变更会直接应用，若对某处修改不满意，可直接点击 **Reject**（拒绝）撤销该修改。

<div id="per-change-controls">
  ### **变更级管理**
</div>

在每个变更的右上角：点击 **Reject** —— 丢弃该更改。

<div id="file-level-controls">
  ### **文件级管理**
</div>

在文件底部：

* **Reject** —— 丢弃当前文件中的所有建议修改
* 在文件之间**导航**——在包含待处理更改的文件间切换

  <img src="https://mintcdn.com/qoder/8lxtPR0Q6BlOVoJ_/images/zh-01.png?fit=max&auto=format&n=8lxtPR0Q6BlOVoJ_&q=85&s=30847d0567913013fe91c8b6452b0558" alt="Zh 01 Pn" width="1516" height="1484" data-path="images/zh-01.png" />

<div id="handle-multiple-file-changes">
  ### **处理多文件更改**
</div>

当更改涉及多个文件时，受影响的文件名会显示在 Chat 面板上方。可点击 **Reject All** 在所有列出的文件中统一丢弃变更（系统会弹出二次确认以防误触）；点击某个文件名可跳转到该文件并显示 diff；将鼠标悬停在某个文件名上，可仅对该文件执行 **Reject**。

<img src="https://mintcdn.com/qoder/8lxtPR0Q6BlOVoJ_/images/zh-02.png?fit=max&auto=format&n=8lxtPR0Q6BlOVoJ_&q=85&s=b3de5ec4b0c7b5dde58e9ace35e8b7c6" alt="Zh 02 Pn" width="2880" height="1800" data-path="images/zh-02.png" />

<img src="https://mintcdn.com/qoder/8lxtPR0Q6BlOVoJ_/images/zh-03.png?fit=max&auto=format&n=8lxtPR0Q6BlOVoJ_&q=85&s=d26fe653aa91cf1d347745863cc5c946" alt="Zh 03 Pn" title="Zh 03 Pn" style={{ width:"64%" }} width="750" height="192" data-path="images/zh-03.png" />

## 文生图

在对话中输入 `/gen-image` 命令即可触发文生图能力：由自然语言描述你需要的画面，Agent 会生成图片并直接返回预览。

生成的图片支持以下操作：

* **添加到对话**：将图片作为上下文加入对话，让 Agent 基于图片进行后续问答或产出。
* **下载**：把图片保存到本地，无缝融入设计与创作流程。
* **复制图片**：将图片复制到剪贴板，便于粘贴到其他地方使用。

<Note>该能力在 Quest 中同样可用。</Note>

## 消息队列

消息队列让你在 Agent 执行任务期间继续输入下一步要做的事，新消息进入待发列表按顺序排队，等当前任务完成后接着执行；你也可以随时对队列中的某条消息触发引导（Steer），在任务执行过程中补充方向或修正要求。

<Note>消息队列在 Quest 中同样可用。</Note>

### 入队与执行

在 Agent 任务运行期间，于输入框输入内容并回车，消息会作为新条目出现在待发列表顶部。当前任务完成后，Agent 会自动按顺序处理队列中的消息，列表清空后队列区域自动收起。

不同模式下队列的执行方式不同：

* **Ask、Agent 模式**：消息进入队列后默认等待当前轮次结束，再依次自动执行。你可以随时对队列中的某条消息点击「引导」按钮，让 Agent 立即介入。
* **Experts 模式**：Agent 会主动判断时机批量获取队列中的消息并接管处理，无需手动引导。

### 引导（Steer）

点击队列中某条消息上的「引导」按钮，即可把该条内容立即交给 Agent，让它在执行过程中接收新的方向或修正要求，减少打断与重复开始的成本。

引导触发后，模型会结合当前任务进度自主判断如何衔接。

### 队列内其他操作

悬停待发列表中的消息条目即可看到对应操作入口：

* **拖拽排序**：通过左侧手柄调整消息顺序，新顺序即时生效。
* **编辑**：消息内容回填至输入框，修改后回车更新对应条目，位置保持不变。
* **删除**：将消息从队列中移除，剩余消息顺序不变。
