mirror of
https://github.com/anomalyco/opencode.git
synced 2026-04-30 17:56:44 +00:00
fix(docs): locale translations for nav elements and headings
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
---
|
||||
title: 權限
|
||||
description: 控制哪些操作需要批准才能運行。
|
||||
description: 控制哪些操作需要批准才能執行。
|
||||
---
|
||||
|
||||
opencode 使用`permission` 配置來決定給定的操作是否應自動運行、提示您或被阻止。
|
||||
opencode 使用 `permission` 配置來決定給定的操作是否應自動執行、提示您或被阻止。
|
||||
|
||||
從 `v1.1.1` 開始,舊版 `tools` 布爾配置已被棄用,並已合併到 `permission` 中。仍支持舊的 `tools` 配置以實現向後兼容性。
|
||||
從 `v1.1.1` 開始,舊版 `tools` 布林配置已被棄用,並已合併到 `permission` 中。仍支援舊的 `tools` 配置以實現向後相容性。
|
||||
|
||||
---
|
||||
|
||||
## 行動
|
||||
## 操作
|
||||
|
||||
每個權限規則解析為以下之一:
|
||||
|
||||
- `"allow"` — 未經批准運行
|
||||
- `"allow"` — 未經批准執行
|
||||
- `"ask"` — 提示批准
|
||||
- `"deny"` — 阻止該操作
|
||||
|
||||
@@ -21,7 +21,7 @@ opencode 使用`permission` 配置來決定給定的操作是否應自動運行
|
||||
|
||||
## 配置
|
||||
|
||||
您可以全局設置權限(使用`*`),並覆蓋特定工具。
|
||||
您可以全局設定權限(使用 `*`),並覆寫特定工具。
|
||||
|
||||
```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,17 +68,17 @@ opencode 使用`permission` 配置來決定給定的操作是否應自動運行
|
||||
}
|
||||
```
|
||||
|
||||
規則通過模式匹配進行評估,**最後匹配的規則獲勝**。常見的模式是將包羅萬象的 `"*"` 規則放在前面,然後再放置更具體的規則。
|
||||
規則透過模式匹配進行評估,**最後匹配的規則獲勝**。常見的模式是將通用的 `"*"` 規則放在前面,然後再放置更具體的規則。
|
||||
|
||||
### 通配符
|
||||
|
||||
權限模式使用簡單的通配符匹配:
|
||||
|
||||
- `*` 匹配零個或多個任意字符
|
||||
- `?` 恰好匹配一個字符
|
||||
- 所有其他字符均按字面意思匹配
|
||||
- `*` 匹配零個或多個任意字元
|
||||
- `?` 恰好匹配一個字元
|
||||
- 所有其他字元均按字面意思匹配
|
||||
|
||||
### 主目錄擴展
|
||||
### 主目錄展開
|
||||
|
||||
您可以在模式開頭使用 `~` 或 `$HOME` 來引用您的主目錄。這對於 [`external_directory`](#external-directories) 規則特別有用。
|
||||
|
||||
@@ -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`](#defaults) 起,也允許讀取 `external_directory` 下的項目,除非被覆寫。當工具應限制在這些路徑中時添加顯式規則,例如在保留讀取的同時阻止編輯:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -121,7 +121,7 @@ opencode 使用`permission` 配置來決定給定的操作是否應自動運行
|
||||
}
|
||||
```
|
||||
|
||||
將列表重點放在受信任的路徑上,並根據其他工具的需要分層額外的允許或拒絕規則(例如 `bash`)。
|
||||
將列表重點放在受信任的路徑上,並根據其他工具的需要疊加額外的允許或拒絕規則(例如 `bash`)。
|
||||
|
||||
---
|
||||
|
||||
@@ -129,30 +129,30 @@ opencode 使用`permission` 配置來決定給定的操作是否應自動運行
|
||||
|
||||
opencode 權限由工具名稱和一些安全防護措施決定:
|
||||
|
||||
- `read` — 讀取文件(與文件路徑匹配)
|
||||
- `edit` — 所有文件修改(涵蓋`edit`、`write`、`patch`、`multiedit`)
|
||||
- `glob` — 文件通配符(匹配通配符模式)
|
||||
- `grep` — 內容搜索(匹配正則表達式模式)
|
||||
- `list` — 列出目錄中的文件(與目錄路徑匹配)
|
||||
- `bash` — 運行 shell 命令(匹配 `git status --porcelain` 等解析命令)
|
||||
- `read` — 讀取檔案(與檔案路徑匹配)
|
||||
- `edit` — 所有檔案修改(涵蓋 `edit`、`write`、`patch`、`multiedit`)
|
||||
- `glob` — 檔案通配符(匹配通配符模式)
|
||||
- `grep` — 內容搜尋(匹配正規表示式模式)
|
||||
- `list` — 列出目錄中的檔案(與目錄路徑匹配)
|
||||
- `bash` — 執行 shell 指令(匹配 `git status --porcelain` 等解析指令)
|
||||
- `task` — 啟動子代理(與子代理類型匹配)
|
||||
- `skill` — 加載技能(與技能名稱匹配)
|
||||
- `lsp` — 運行 LSP 查詢(當前非粒度)
|
||||
- `todoread`、`todowrite` — 讀取/更新待辦事項列表
|
||||
- `skill` — 載入技能(與技能名稱匹配)
|
||||
- `lsp` — 執行 LSP 查詢(當前非精細)
|
||||
- `todoread`、`todowrite` — 讀取/更新待辦事項清單
|
||||
- `webfetch` — 獲取 URL(與 URL 匹配)
|
||||
- `websearch`、`codesearch` — 網頁/程式碼搜索(與查詢匹配)
|
||||
- `external_directory` — 當工具觸及項目工作目錄之外的路徑時觸發
|
||||
- `doom_loop` — 當相同的工具調用使用相同的輸入重複 3 次時觸發
|
||||
- `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 會提供三種結果:
|
||||
|
||||
- `once` — 僅批准此請求
|
||||
- `always` — 批准與建議模式匹配的未來請求(對於當前 opencode 會話的其餘部分)
|
||||
- `always` — 批准與建議模式匹配的未來請求(對於當前 opencode 工作階段的其餘部分)
|
||||
- `reject` — 拒絕請求
|
||||
|
||||
`always` 將批准的模式集由該工具提供(例如,bash 批准通常將安全命令前綴(如 `git status*`)列入白名單)。
|
||||
`always` 將批准的模式集由該工具提供(例如,bash 批准通常將安全指令前綴(如 `git status*`)列入白名單)。
|
||||
|
||||
---
|
||||
|
||||
## Agents
|
||||
## 代理
|
||||
|
||||
您可以覆蓋每個代理的權限。代理權限與全局配置合併,代理規則優先。 [了解更多](/docs/agents#permissions) 關於代理權限。
|
||||
您可以覆寫每個代理的權限。代理權限與全局配置合併,代理規則優先。 [了解更多](/docs/agents#permissions) 關於代理權限。
|
||||
|
||||
:::note
|
||||
有關更詳細的模式匹配示例,請參閱上面的 [粒度規則(對象語法)](#granular-rules-object-syntax) 部分。
|
||||
有關更詳細的模式匹配範例,請參閱上面的 [精細規則(物件語法)](#granular-rules-object-syntax) 部分。
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -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 *"`)。
|
||||
:::
|
||||
|
||||
Reference in New Issue
Block a user