docs: improve zh-cn and zh-tw documentation translations (#13942)

This commit is contained in:
chenmi
2026-02-17 06:06:39 -06:00
committed by GitHub
parent 8d0a303af4
commit 4fd3141ab5
68 changed files with 4624 additions and 4518 deletions
+94 -95
View File
@@ -3,46 +3,45 @@ title: 代理
description: 配置和使用专门的代理。
---
代理是专门的人工智能助手,可以针对特定任务和工作流程进行配置。它们允许您创建具有自定义提示、模型和工具访问权限的专用工具。
代理是专门的 AI 助手,可以针对特定任务和工作流程进行配置。它们允许您创建具有自定义提示词、模型和工具访问权限的专用工具。
:::tip
使用 Plan 代理来分析代码并审查建议,而无需进行任何代码更改。
使用 Plan 代理来分析代码和审查建议,而不会进行任何代码更改。
:::
您可以在会话期间在代理之间切换,或使用 `@` 提及来调用它们。
您可以在会话期间切换代理,或使用 `@` 提及来调用它们。
---
## 类型
OpenCode 有两种类型的代理;主代理和子代理。
OpenCode 中有两种类型的代理:主代理和子代理。
---
### 主代理
主代理 (Primary) 是与您直接交互的主要助手。您可以使用 **Tab** 键或您配置的 `switch_agent` 键绑定循环浏览它们。这些代理处理您的主要对话。工具访问是通过权限配置的 - 例如,“Build”启用了所有工具,而“Plan”则受到限制。
主代理是您直接交互的主要助手。您可以使用 **Tab** 键或配置的 `switch_agent` 快捷键来循环切换它们。这些代理处理您的主要对话。工具访问通过权限进行配置——例如,Build 启用了所有工具,而 Plan 则受到限制。
:::tip
您可以在会话期间使用 **Tab** 键在主代理之间进行切换。
您可以在会话期间使用 **Tab** 键在主代理之间切换。
:::
OpenCode 附带两个内置的主代理:**Build** 和 **Plan**。
看看下面这些。
OpenCode 内置了两个主代理:**Build** 和 **Plan**。我们将在下面介绍它们。
---
### 子代理
子代理 (Subagents) 是主代理可以调用​​来执行特定任务的专业助手。您还可以通过在消息中 **@提及** 它们来手动调用它们。
子代理是主代理可以调用来执行特定任务的专业助手。您也可以通过在消息中 **@ 提及**它们来手动调用。
OpenCode 附带两个内置子代理:**General** 和 **Explore**。我们将在下面看看这个。
OpenCode 内置了两个子代理:**General** 和 **Explore**。我们将在下面介绍它们。
---
## 内置
## 内置代理
OpenCode 附带两个内置主代理和两个内置子代理。
OpenCode 内置了两个主代理和两个子代理。
---
@@ -50,7 +49,7 @@ OpenCode 附带两个内置主代理和两个内置子代理。
_模式_:`primary`
Build 是启用所有工具的 **默认** Primary 代理。这是用于需要完全访问文件操作和系统命令的开发工作的标准代理。
Build 是启用了所有工具的**默认**主代理。这是用于需要完全访问文件操作和系统命令的开发工作的标准代理。
---
@@ -58,13 +57,13 @@ Build 是启用所有工具的 **默认** Primary 代理。这是用于需要完
_模式_:`primary`
专为规划和分析而设计的受限代理。我们使用权限系统为您提供更多控制并防止意外更改。
一个专为规划和分析设计的受限代理。我们使用权限系统来为您提供更多控制权,并防止意外更改。
默认情况下,以下所有项均设置为 `ask`:
- `file edits`:所有书写、修复和编辑
- `file edits`:所有写入、补丁和编辑
- `bash`:所有 bash 命令
当您希望 LLM 分析代码、建议更改或创建计划而不是对代码库进行任何实际修改时,此代理非常有用。
当您希望 LLM 分析代码、建议更改或创建计划,而不对代码库进行任何实际修改时,此代理非常有用。
---
@@ -72,7 +71,7 @@ _模式_:`primary`
_模式_:`subagent`
用于研究复杂问题和执行多步骤任务的通用代理。它具有完整的工具访问权限(待办事项除外),因此可在需要时修改文件,并并行运行多个工作单元。
一个用于研究复杂问题和执行多步骤任务的通用代理。拥有完整的工具访问权限(todo 除外),因此可以在需要时修改文件。可用于并行运行多个工作单元。
---
@@ -80,15 +79,15 @@ _模式_:`subagent`
_模式_:`subagent`
用于探索代码库的快速只读代理。无法修改文件。当您需要按模式快速查找文件、搜索代码中的关键字或回答有关代码库的问题时,请使用此功能。
一个用于探索代码库的快速只读代理。无法修改文件。当您需要按模式快速查找文件、搜索代码中的关键字或回答有关代码库的问题时,请使用此代理。
---
### 使用 Compact
### 使用 Compaction
_模式_:`primary`
隐藏的系统代理,将长上下文压缩为更小的抽象。它会在需要时自动运行,并且无法在 UI 中选择。
隐藏的系统代理,将长上下文压缩为较小的摘要。它会在需要时自动运行,且无法在 UI 中选择。
---
@@ -96,7 +95,7 @@ _模式_:`primary`
_模式_:`primary`
生成短会话标题的隐藏系统代理。它会自动运行,并且无法在 UI 中选择。
隐藏的系统代理,用于生成简短的会话标题。它会自动运行,且无法在 UI 中选择。
---
@@ -104,33 +103,33 @@ _模式_:`primary`
_模式_:`primary`
创建会话摘要的系统代理。它会自动运行,并且无法在 UI 中选择。
隐藏的系统代理,用于创建会话摘要。它会自动运行,且无法在 UI 中选择。
---
## 用法
1. 对于主代理,请在会话期间使用 **Tab** 键循环浏览它们。您还可以使用配置的 `switch_agent` 键绑定。
1. 对于主代理,在会话期间使用 **Tab** 键循环切换。您也可以使用配置的 `switch_agent` 快捷键。
2. 可以调用子代理:
- **自动**由主代理根据其描述执行专门任务。
- 通过在消息中 **@提及** 子代理手动进行。例如。
2. 子代理可以通过以下方式调用:
- 由主代理根据其描述**自动**调用以执行专门任务。
- 通过在消息中 **@ 提及**子代理来手动调用。例如:
```txt frame="none"
@general help me search for this function
```
3. **会话之间导航**:当子代理创建自己的子会话时,您可以使用以下命令在父会话和所有子会话之间导航:
- **\<Leader>+Right**(或您配置的 `session_child_cycle` 键绑定)向前循环父级 → 子级 1 → 子级 2 → ... → 父级
- **\<Leader>+Left**(或您配置的 `session_child_cycle_reverse` 键绑定)向后循环父级 ← 子级 1 ← 子级 2 ← ... ← 父级
3. **会话间导航**:当子代理创建自己的子会话时,您可以使用以下方式在父会话和所有子会话之间导航:
- **\<Leader>+Right**(或配置的 `session_child_cycle` 快捷键)向前循环:父会话 → 子会话1 → 子会话2 → ... → 父会话
- **\<Leader>+Left**(或配置的 `session_child_cycle_reverse` 快捷键)向后循环:父会话 ← 子会话1 ← 子会话2 ← ... ← 父会话
这使您可以在主要对话和专门的子代理工作之间无缝切换。
这使您可以在主对话和专门的子代理工作之间无缝切换。
---
## 配置
您也可以自定义内置代理或通过配置创建您自己的代理。可以通过两种方式配置代理:
您可以自定义内置代理或通过配置创建自己的代理。代理可以通过两种方式进行配置:
---
@@ -179,10 +178,10 @@ _模式_:`primary`
### Markdown
您还可以使用 Markdown 文件定义代理。将它们放入:
您还可以使用 Markdown 文件定义代理。将它们放在:
- 全局:`~/.config/opencode/agents/`
- 每个项目:`.opencode/agents/`
- 项目级:`.opencode/agents/`
```markdown title="~/.config/opencode/agents/review.md"
---
@@ -206,19 +205,19 @@ You are in code review mode. Focus on:
Provide constructive feedback without making direct changes.
```
Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代理。
Markdown 文件名即为代理名称。例如,`review.md` 会创建一个名为 `review` 的代理。
---
## 选项
让我们详细看看这些配置选项。
让我们详细了解这些配置选项。
---
### 描述
使用 `description` 选项提供代理的作用以及使用时的简要描述。
使用 `description` 选项提供代理的功能及使用场景的简要描述。
```json title="opencode.json"
{
@@ -230,15 +229,15 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
}
```
这是一个 **必需的** 配置选项。
这是一个**必需的**配置选项。
---
### 温度
使用 `temperature` 配置控制 LLM 响应的随机性和创意。
使用 `temperature` 配置控制 LLM 响应的随机性和创造力。
较低的值使响应更加集中和确定,而较高的值则增加创造力和可变性。
较低的值使响应更加集中和确定,而较高的值则增加创造力和多样性。
```json title="opencode.json"
{
@@ -253,11 +252,11 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
}
```
温度值范围通常为 0.0 到 1.0:
温度值通常范围为 0.0 到 1.0:
- **0.0-0.2**:响应更集中、确定性更高,适合代码分析和规划
- **0.3-0.5**:平衡型响应,兼顾稳定性与创造力
- **0.6-1.0**:响应更有创意和多样性,适合头脑风暴和探索
- **0.0-0.2**:非常集中和确定性的响应,适合代码分析和规划
- **0.3-0.5**:平衡的响应,兼顾一定创造力,适合一般开发任务
- **0.6-1.0**:更有创造力和多样性的响应,适合头脑风暴和探索
```json title="opencode.json"
{
@@ -277,15 +276,15 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
}
```
如果未指定温度,OpenCode 将使用特定于模型的默认值;大多数模型通常为 0,Qwen 模型为 0.55。
如果未指定温度,OpenCode 将使用模型特定的默认值;大多数模型通常为 0,Qwen 模型为 0.55。
---
### 最大步数
控制代理在被迫仅使用文本响应之前可以执行的最大代理迭代次数。这允许希望控制成本的用户对代理操作设置限制。
控制代理在被强制以纯文本响应之前可以执行的最大代理迭代次数。这允许希望控制成本的用户对代理操作设置限制。
如果未设置,代理将继续迭代,直到模型选择停止或用户中断会话。
如果未设置此选项,代理将持续迭代,直到模型选择停止或用户中断会话。
```json title="opencode.json"
{
@@ -299,17 +298,17 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
}
```
当达到限制时,代理会收到特殊的系统提示,指示其响应其工作摘要和建议的剩余任务。
当达到限制时,代理会收到一个特殊的系统提示词,指示其回复工作摘要和建议的剩余任务。
:::caution
旧版 `maxSteps` 字段已废弃。请改用 `steps`。
旧版 `maxSteps` 字段已弃用。请改用 `steps`。
:::
---
### 禁用
设置为 `true` 以取消代理。
设置为 `true` 以禁用代理。
```json title="opencode.json"
{
@@ -323,9 +322,9 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
---
### 提示
### 提示词
使用 `prompt` 配置为代理指定自定义系统提示文件。提示文件应包含特定于代理目的的说明。
使用 `prompt` 配置为代理指定自定义系统提示词文件。提示词文件应包含针对代理用途的具体指令。
```json title="opencode.json"
{
@@ -337,16 +336,16 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
}
```
该路径相对于文件所在位置的配置。因此,这适用于全局 OpenCode 配置和项目特定配置。
此路径相对于配置文件所在位置。因此它同时适用于全局 OpenCode 配置和项目级配置。
---
### 模型
使用 `model` 配置此代理的模型。对于使用针对不同任务优化的不同模型很有帮助。例如,更快的规划模型、更强大的实施模型。
使用 `model` 配置为代理覆盖模型。适用于针对不同任务使用不同的优化模型。例如,用更快的模型进行规划,用更强大的模型进行实现。
:::tip
如果您不指定模型,主代理将使用 [全局配置的模型](/docs/config#models),而子代理将使用调用子代理的主代理的模型。
如果您不指定模型,主代理将使用[全局配置的模型](/docs/config#models),而子代理将使用调用它的主代理所使用的模型。
:::
```json title="opencode.json"
@@ -359,13 +358,13 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代
}
```
OpenCode 配置中的模型 ID 使用格式 `provider/model-id`。例如,如果您使用 [OpenCode Zen](/docs/zen),则您将使用 `opencode/gpt-5.1-codex` 来表示 GPT 5.1 Codex。
OpenCode 配置中的模型 ID 使用 `provider/model-id` 格式。例如,如果您使用 [OpenCode Zen](/docs/zen),则可以使用 `opencode/gpt-5.1-codex` 来表示 GPT 5.1 Codex。
---
### 工具
使用 `tools` 配置控制此代理中可用的工具。您可以通过将特定工具设置为 `true` 或 `false` 来启用或禁用特定工具。
使用 `tools` 配置控制代理中可用的工具。您可以通过将特定工具设置为 `true` 或 `false` 来启用或禁用它们。
```json title="opencode.json" {3-6,9-12}
{
@@ -386,7 +385,7 @@ OpenCode 配置中的模型 ID 使用格式 `provider/model-id`。例如,如
```
:::note
特定于代理的配置会覆盖全局配置。
代理级配置会覆盖全局配置。
:::
您还可以使用通配符同时控制多个工具。例如,要禁用 MCP 服务器中的所有工具:
@@ -406,17 +405,17 @@ OpenCode 配置中的模型 ID 使用格式 `provider/model-id`。例如,如
}
```
[了解有关工具的更多信息](/docs/tools)。
[了解更多关于工具的信息](/docs/tools)。
---
### 权限
您可以配置权限来管理代理可以执行的操作。 目前,`edit`、`bash` 和 `webfetch` 工具的权限可以配置为:
您可以配置权限来管理代理可以执行的操作。目前,`edit`、`bash` 和 `webfetch` 工具的权限可以配置为:
- `"ask"` — 运行工具提示批准之前
- `"allow"` — 尚未批准所有操作
- `"deny"` — 取消该工具
- `"ask"` — 运行工具前提示审批
- `"allow"` — 允许所有操作,无需审批
- `"deny"` — 禁用该工具
```json title="opencode.json"
{
@@ -427,7 +426,7 @@ OpenCode 配置中的模型 ID 使用格式 `provider/model-id`。例如,如
}
```
您可以覆盖每个代理的这些权限。
您可以按代理覆盖这些权限。
```json title="opencode.json" {3-5,8-10}
{
@@ -464,7 +463,7 @@ permission:
Only analyze code and suggest changes.
```
您可以设置特定的 bash 命令的权限。
您可以为特定的 bash 命令设置权限。
```json title="opencode.json" {7}
{
@@ -482,7 +481,7 @@ Only analyze code and suggest changes.
}
```
这可以采用全局模式。
这可以使用 glob 模式。
```json title="opencode.json" {7}
{
@@ -500,7 +499,7 @@ Only analyze code and suggest changes.
```
您还可以使用 `*` 通配符来管理所有命令的权限。
由于最后一个匹配规则优先,因此将 `*` 通配符放在前面,将特定规则放在后面。
由于最后匹配的规则优先,请将 `*` 通配符放在前面,将具体规则放在后面。
```json title="opencode.json" {8}
{
@@ -518,13 +517,13 @@ Only analyze code and suggest changes.
}
```
[了解有关权限的更多信息](/docs/permissions)。
[了解更多关于权限的信息](/docs/permissions)。
---
### 模式
使用 `mode` 配置控制代理的模式。 `mode` 选项用于确定如何使用代理。
使用 `mode` 配置控制代理的模式。`mode` 选项用于确定代理的使用方式。
```json title="opencode.json"
{
@@ -536,13 +535,13 @@ Only analyze code and suggest changes.
}
```
`mode` 选项可设置为 `primary`、`subagent` 或 `all`。如果未指定 `mode`,则默认为 `all`。
`mode` 选项可以设置为 `primary`、`subagent` 或 `all`。如果未指定 `mode`,则默认为 `all`。
---
### 隐藏
使用 `hidden: true` 从 `@` 自动完成菜单隐藏子代理。对于只能由其他代理通过任务工具以编程方式调用的内部子代理很有帮助。
使用 `hidden: true` 将子代理从 `@` 自动补全菜单中隐藏。适用于只应由其他代理通过 Task 工具以编程方式调用的内部子代理。
```json title="opencode.json"
{
@@ -555,17 +554,17 @@ Only analyze code and suggest changes.
}
```
这仅影响自动完成菜单中的用户可见性。如果权限允许,模型仍然可以通过任务工具调用隐藏代理。
这仅影响自动补全菜单中的用户可见性。如果权限允许,模型仍然可以通过 Task 工具调用隐藏的代理。
:::note
仅适用于 `mode: subagent` 代理。
仅适用于 `mode: subagent` 的代理。
:::
---
### 任务权限
使用 `permission.task` 控制代理可以通过任务工具调用哪些子代理。使用 glob 模式进行灵活匹配。
使用 `permission.task` 控制代理可以通过 Task 工具调用哪些子代理。使用 glob 模式进行灵活匹配。
```json title="opencode.json"
{
@@ -584,21 +583,21 @@ Only analyze code and suggest changes.
}
```
当设置为 `deny` 时,子代理社区任务工具描述中因此完全删除,模型不会尝试调用它。
当设置为 `deny` 时,子代理将从 Task 工具描述中完全移除,因此模型不会尝试调用它。
:::tip
规则按顺序评估,**最后匹配的规则触发**。在上面的示例中,`orchestrator-planner` 匹配 `*`(拒绝)和 `orchestrator-*`(允许),但由于 `orchestrator-*` 位于 `*` 之后,因此结果为 `allow`。
规则按顺序评估,**最后匹配的规则优先**。在上面的示例中,`orchestrator-planner` 同时匹配 `*`(deny)和 `orchestrator-*`(allow),但由于 `orchestrator-*` 在 `*` 之后,所以结果为 `allow`。
:::
:::tip
用户始终可以通过 `@` 自动完成菜单直接调用任何子代理,即使代理的任务权限会拒绝它。
用户始终可以通过 `@` 自动补全菜单直接调用任何子代理,即使代理的任务权限会拒绝它。
:::
---
### 颜色
在 UI 中的界面外观中使用 `color` 选项自定义代理。这会影响代理在界面中的显示方式。
使用 `color` 选项自定义代理在 UI 中的视觉外观。这会影响代理在界面中的显示方式。
使用有效的十六进制颜色(例如 `#FF5733`)或主题颜色:`primary`、`secondary`、`accent`、`success`、`warning`、`error`、`info`。
@@ -619,7 +618,7 @@ Only analyze code and suggest changes.
### Top P
使用 `top_p` 选项控制响应多样性。控制随机性的温度替代方案。
使用 `top_p` 选项控制响应多样性。这是控制随机性的温度替代方案。
```json title="opencode.json"
{
@@ -635,11 +634,11 @@ Only analyze code and suggest changes.
---
### 其他
### 其他选项
您在代理配置中指定的任何其他选项都将作为模型选项 **直接** 传递给提供商。这允许您使用特定于提供商的功能和参数。
您在代理配置中指定的任何其他选项都将作为模型选项**直接传递**给提供商。这允许您使用提供商特定的功能和参数。
例如,使用 OpenAI 的推理模型,您可以控制推理工作:
例如,使用 OpenAI 的推理模型时,您可以控制推理力度:
```json title="opencode.json" {6,7}
{
@@ -654,10 +653,10 @@ Only analyze code and suggest changes.
}
```
这些附加选项是特定于模型和提供商的。检查提供商的文档以获取可用参数。
这些附加选项是模型和提供商特定的。请查阅您的提供商文档以获取可用参数。
:::tip
运行 `opencode models` 查看可用模型的列表。
运行 `opencode models` 查看可用模型列表。
:::
---
@@ -672,23 +671,23 @@ opencode agent create
此交互式命令将:
1. 询问代理保存在哪里;全局或特定项目。
1. 询问代理的保存位置——全局或项目级。
2. 描述代理应该做什么。
3. 生成适当的系统提示和标识符。
3. 生成合适的系统提示词和标识符。
4. 让您选择代理可以访问哪些工具。
5. 最后,使用代理配置创建一个 markdown 文件。
5. 最后,创建一个包含代理配置的 Markdown 文件。
---
## 使用案例
## 使用场景
以下是不同代理的一些常见用例。
以下是不同代理的一些常见使用场景。
- **Build Agent**:启用所有工具的完整开发工作
- **Plan Agent**:分析规划,不做改动
- **Review Agent**:具有只读访问权限和文档工具的代码审查
- **Debug Agent**:专注于启用 bash 和读取工具的调查
- **Docs Agent**:使用文件操作但不使用系统命令的文档编写
- **Build 代理**:启用所有工具的完整开发工作
- **Plan 代理**:分析和规划,不进行任何更改
- **Review 代理**:具有只读访问权限和文档工具的代码审查
- **Debug 代理**:专注于问题排查,启用 bash 和读取工具
- **Docs 代理**:文档编写,具有文件操作但不使用系统命令
---
@@ -697,7 +696,7 @@ opencode agent create
以下是一些您可能会觉得有用的示例代理。
:::tip
您有想要分享的代理吗? [提交 PR](https://github.com/anomalyco/opencode)。
您有想要分享的代理吗?[提交 PR](https://github.com/anomalyco/opencode)。
:::
---
@@ -724,7 +723,7 @@ Focus on:
---
### 安全审计员
### 安全审计代理
```markdown title="~/.config/opencode/agents/security-auditor.md"
---