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`](#external-directories) 規則特別有用。
您可以在模式開頭使用 `~` 或 `$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` 許多 `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` — 讀取檔案(檔案路徑匹配
- `read` — 讀取檔案(比對檔案路徑)
- `edit` — 所有檔案修改(涵蓋 `edit`、`write`、`patch`、`multiedit`
- `glob` — 檔案通配符(匹配通配符模式)
- `grep` — 內容搜尋(匹配正規表示式模式)
- `list` — 列出目錄中的檔案(目錄路徑匹配
- `bash` — 執行 shell 指令(匹配 `git status --porcelain` 等解析指令
- `task` — 啟動子代理(子代理類型匹配
- `skill` — 載入技能(技能名稱匹配
- `lsp` — 執行 LSP 查詢(當前非精細
- `glob` — 檔案萬用字元比對(比對萬用字元模式)
- `grep` — 內容搜尋(比對正規表示式模式)
- `list` — 列出目錄中的檔案(比對目錄路徑)
- `bash` — 執行 shell 指令(比對解析後的指令,如 `git status --porcelain`
- `task` — 啟動子代理(比對子代理類型)
- `skill` — 載入技能(比對技能名稱)
- `lsp` — 執行 LSP 查詢(目前不支援細粒度設定
- `todoread`、`todowrite` — 讀取/更新待辦事項清單
- `webfetch` — 取 URL URL 匹配
- `websearch`、`codesearch` — 網頁/程式碼搜尋(與查詢匹配
- `webfetch` — 取 URL比對 URL
- `websearch`、`codesearch` — 網頁/程式碼搜尋(比對查詢內容
- `external_directory` — 當工具存取專案工作目錄之外的路徑時觸發
- `doom_loop` — 當相同的工具呼叫使用相同輸入重複 3 次時觸發
- `doom_loop` — 當同一工具呼叫相同輸入重複 3 次時觸發
---
## 預設值
如果您指定任何內容opencode 將從許可的預設值開始
如果您指定任何設定OpenCode 將使用寬鬆的預設值:
- 大多數權限預設為 `"allow"`。
- `doom_loop` 和 `external_directory` 預設為 `"ask"`。
- `read` `"allow"`,但 `.env` 檔案預設被拒絕:
- `read` `"allow"`,但 `.env` 檔案預設被拒絕:
```json title="opencode.json"
{
@@ -169,24 +169,24 @@ opencode 權限由工具名稱和一些安全防護措施決定:
---
## 「問」(Ask) 的作用是什麼
## "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 *"`)。
:::