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

This commit is contained in:
chenmi
2026-02-17 20:06:39 +08:00
committed by GitHub
parent 8d0a303af4
commit 4fd3141ab5
68 changed files with 4624 additions and 4518 deletions

View File

@@ -1,27 +1,27 @@
---
title: 权限
description: 控制哪些操作需要批才能运行。
description: 控制哪些操作需要批才能运行。
---
opencode 使用`permission` 配置来决定给定的操作是否应自动运行、提示您或被阻止。
OpenCode 使用 `permission` 配置来决定某个操作是否应自动运行、提示你审批,还是被阻止。
从 `v1.1.1` 开始,旧版配置 `tools` 布尔已被废弃,并已合并到 `permission` 中。仍支持旧版 `tools` 配置以实现平滑兼容。
从 `v1.1.1` 开始,旧版 `tools` 布尔配置已被弃用,并已合并到 `permission` 中。旧版 `tools` 配置仍然支持,以保持向后兼容。
---
##
##
权限规则解析为以下之一:
权限规则解析为以下之一:
- `"allow"` — 尚未批准运行
- `"ask"` — 提示批
- `"allow"` — 无需审批直接运行
- `"ask"` — 提示
- `"deny"` — 阻止该操作
---
## 配置
可以全局设置权限(使用`*`),并覆盖特定工具。
可以全局设置权限(使用 `*`),并覆盖特定工具的权限
```json title="opencode.json"
{
@@ -34,7 +34,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
}
```
还可以一次设置所有权限:
还可以一次设置所有权限:
```json title="opencode.json"
{
@@ -45,9 +45,9 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
---
## 粒度规则(对象语法)
## 粒度规则(对象语法)
对于大多数权限,可以使用对象根据工具输入应用不同的操作。
对于大多数权限,可以使用对象根据工具输入应用不同的操作。
```json title="opencode.json"
{
@@ -68,19 +68,19 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
}
```
规则通过模式匹配进行评估,**最后匹配的规则获胜**。常见的模式是将包罗万象的 `"*"` 规则放在前面,然后再放置更具体的规则。
规则通过模式匹配进行评估,**最后匹配的规则优先**。常见做法是将通配的 `"*"` 规则放在前面,更具体的规则放在后面
### 通配符
权限模式使用简单的通配符匹配:
- `*` 匹配零个或多个任意字符
- `?` 恰好匹配一个字符
- 所有其他字符按字面意思匹配
- `?` 精确匹配一个字符
- 所有其他字符按字面匹配
### 主目录
### 主目录展
可以在模式目录中使用 `~` 或 `$HOME` 来引用的主目录。这对于 [`外部目录`](#external_directory) 规则特别有用。
可以在模式开头使用 `~` 或 `$HOME` 来引用的主目录。这对于 [`external_directory`](#外部目录) 规则特别有用。
- `~/projects/*` -> `/Users/username/projects/*`
- `$HOME/projects/*` -> `/Users/username/projects/*`
@@ -88,11 +88,11 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
### 外部目录
使用 `external_directory` 允许工具调用启动 opencode 工作目录之外的路径。这适用于任何采用路径作为输入的工具(例如 `read`、`edit`、`list`、`glob`、`grep` 许多Z`bash` 命令)。
使用 `external_directory` 允许工具调用访问 OpenCode 启动时工作目录之外的路径。这适用于任何接受路径作为输入的工具(例如 `read`、`edit`、`list`、`glob`、`grep` 以及许多 `bash` 命令)。
扩展(如`~/...`)仅影响模式的写方式。它不会使外部路径成为当前工作空间的一部分,因此仍然必须通过 `external_directory` 允许工作目录之外的路径
目录展开(如 `~/...`)仅影响模式的写方式。它不会外部路径纳入当前工作空间,因此工作目录之外的路径仍然必须通过 `external_directory` 允许。
例如,允许访问`~/projects/personal/`下的所有内容:
例如,以下配置允许访问 `~/projects/personal/` 下的所有内容:
```json title="opencode.json"
{
@@ -105,7 +105,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
}
```
这里允许的任何目录都会继承与当前工作空间默认相同的值。自[`read`默认为`allow`](#defaults)起,也允许读取`external_directory`下面的边界,除非覆盖。当工具应在这些路径中添加显式规则,例如在保留读取的同时阻止编辑:
此处允许的任何目录都会继承与当前工作空间相同的默认值。由于 [`read` 默认为 `allow`](#默认值)`external_directory` 下的条目也允许读取,除非另行覆盖。当需要在这些路径中限制某个工具时,请添加显式规则,例如在保留读取的同时阻止编辑:
```json title="opencode.json"
{
@@ -121,38 +121,38 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
}
```
将列表重点放在受信任的路径上,并根据其他工具的需要分层额外的允许或拒绝规则(例如`bash`
将列表限定在受信任的路径上,并根据需要为其他工具(例如 `bash`)叠加额外的允许或拒绝规则
---
## 可用权限
opencode权限工具名称和一些安全防护措施决定
OpenCode权限工具名称为键,外加几个安全防护项
- `read` — 读取文件(文件路径匹配
- `edit` — 所有文件修改(头部`edit`、`write`、`patch`、`multiedit`
- `glob` — 文件通配(匹配通配模式)
- `read` — 读取文件(匹配文件路径)
- `edit` — 所有文件修改(涵盖 `edit`、`write`、`patch`、`multiedit`
- `glob` — 文件通配(匹配通配模式)
- `grep` — 内容搜索(匹配正则表达式模式)
- `list` — 列出目录中的文件(目录路径匹配
- `bash` — 运行 shell 命令(匹配 `git status --porcelain` 等解析命令
- `task` — 启动子代理(子代理类型匹配
- `skill` — 加载技能(技能名称匹配
- `lsp` — 运行 LSP 查询(当前非粒度
- `list` — 列出目录中的文件(匹配目录路径)
- `bash` — 运行 shell 命令(匹配解析后的命令,如 `git status --porcelain`
- `task` — 启动子代理(匹配子代理类型)
- `skill` — 加载技能(匹配技能名称)
- `lsp` — 运行 LSP 查询(当前不支持细粒度配置
- `todoread`、`todowrite` — 读取/更新待办事项列表
- `webfetch` — 获取 URL URL 匹配
- `websearch`、`codesearch` — 网页/代码搜索(与查询匹配)
- `external_directory` — 当工具访问项目工作目录外的路径时触发
- `doom_loop` — 当相同的工具调用相同输入重复 3 次时触发
- `webfetch` — 获取 URL匹配 URL
- `websearch`、`codesearch` — 网页/代码搜索(匹配查询内容
- `external_directory` — 当工具访问项目工作目录外的路径时触发
- `doom_loop` — 当同一工具调用相同输入重复 3 次时触发
---
## 默认值
如果未指定任何内容opencode将从宽松的默认值开始
如果未指定任何配置OpenCode 将使用宽松的默认值:
- 大部分权限默认为`"allow"`。
- `doom_loop``external_directory`默认为`"ask"`。
- `read` `"allow"`,但 `.env` 文件默认被拒绝:
- 大多数权限默认为 `"allow"`。
- `doom_loop``external_directory` 默认为 `"ask"`。
- `read` `"allow"`,但 `.env` 文件默认被拒绝:
```json title="opencode.json"
{
@@ -169,24 +169,24 @@ opencode权限由工具名称和一些安全防护措施决定
---
## “询问”的作用是什么
## "Ask"的作用
opencode 提示批准时UI 会提供三种结果
OpenCode 提示审批时,界面提供三种选择
- `once` — 仅批准请求
- `always` — 批准与建议模式匹配的未来请求(对于当前 opencode 会话的其余部分
- `once` — 仅批准本次请求
- `always` — 批准与建议模式匹配的后续请求(当前 OpenCode 会话的剩余时间内有效
- `reject` — 拒绝请求
`always` 批准的模式集由工具提供例如bash 批通常将安全端口(如 `git status*`)列入白名单)。
`always` 批准的模式集由工具提供例如bash 批通常将安全的命令前缀如 `git status*`入白名单)。
---
## 代理
可以覆盖每个代理权限。代理权限与全局配置合并,代理规则优先。 [了解更多](/docs/agents#permissions)关于代理权限。
可以每个代理单独覆盖权限。代理权限与全局配置合并,代理规则优先。[了解更多](/docs/agents#permissions)关于代理权限的内容
:::note
有关更详细的模式匹配示例,请参见上面的 [粒度规则(对象语法)](#granular-rules-object-syntax) 部分。
有关更详细的模式匹配示例,请参阅上方的[细粒度规则(对象语法)](#细粒度规则对象语法)部分。
:::
```json title="opencode.json"
@@ -217,7 +217,7 @@ opencode权限由工具名称和一些安全防护措施决定
}
```
还可以在 Markdown 中配置代理权限:
还可以在 Markdown 中配置代理权限:
```markdown title="~/.config/opencode/agents/review.md"
---
@@ -233,5 +233,5 @@ Only analyze code and suggest changes.
```
:::tip
对参数的命令使用模式匹配。 `"grep *"` 允许 `grep pattern file.txt`,而 `"grep"` 单独会阻止它。像 `git status` 这样的命令适用于默认行为,但在传递参数时需要显式许可(如 `"git status *"`)。
参数的命令使用模式匹配。`"grep *"` 允许执行 `grep pattern file.txt`,而单独的 `"grep"` 会阻止它。像 `git status` 这样的命令适用于默认行为,但在传递参数时需要显式权限(如 `"git status *"`)。
:::