fix(docs): locale translations
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 遷移到 1.0
|
||||
description: opencode 1.0 中的新增内容。
|
||||
description: opencode 1.0 中的添加内容。
|
||||
---
|
||||
|
||||
opencode 1.0完全重写了TUI。
|
||||
@@ -13,10 +13,10 @@ opencode 1.0完全重写了TUI。
|
||||
|
||||
## 升級中
|
||||
|
||||
如果您當前正在使用以前的版本,則不應自動升級到 1.0
|
||||
如果您当前正在使用以前的版本,则不应自动升級到 1.0
|
||||
版本。然而,一些旧版本的 opencode 总是获取最新版本。
|
||||
|
||||
要手動升級,請運行
|
||||
要手动升級,请運行
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 1.0.0
|
||||
@@ -36,9 +36,9 @@ $ opencode upgrade 0.15.31
|
||||
|
||||
我们添加了一个命令栏,几乎所有内容都通过了它。按 ctrl+p 可以在任意上下文中调出它并查看您可以执行的所有操作。
|
||||
|
||||
添加了包含有用信息的會話側邊欄(可以切換)。
|
||||
添加了包含有用信息的会话側邊欄(可以切換)。
|
||||
|
||||
我們刪除了一些我們不確定是否有人實際使用的功能。如果缺少重要內容,請提出問題,我們會盡快將其添加回來。
|
||||
我们删除了一些我们不確定是否有人實際使用的功能。如果缺少重要內容,请提出問題,我们会盡快将其添加回來。
|
||||
|
||||
---
|
||||
|
||||
@@ -55,13 +55,13 @@ $ opencode upgrade 0.15.31
|
||||
### 按鍵綁定已移除
|
||||
|
||||
- 消息佈局切換
|
||||
- 下一條消息
|
||||
- 上一條消息
|
||||
- 下一条消息
|
||||
- 上一条消息
|
||||
- 文件差異切換
|
||||
- 文件搜索
|
||||
- 文件關閉
|
||||
- 文件关闭
|
||||
- 文件列表
|
||||
- 應用程序幫助
|
||||
- 应用程序幫助
|
||||
- 項目初始化
|
||||
- 工具詳細信息
|
||||
- 思維塊
|
||||
|
||||
@@ -148,9 +148,9 @@ opencode 通过 ACP 的工作方式与在终端中的工作方式相同。支持
|
||||
目前不支持某些内置斜杠命令,例如 `/undo` 和 `/redo`。
|
||||
:::
|
||||
|
||||
- 內置工具(文件操作、終端命令等)
|
||||
- 内置工具(文件操作、终端命令等)
|
||||
- 自定義工具和斜杠命令
|
||||
- 在 opencode 配置中配置的 MCP 服务器
|
||||
- `AGENTS.md` 的项目特定规则
|
||||
- 自定义程序和 linter
|
||||
- 代理和權限系統
|
||||
- 代理和权限系統
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: 代理商
|
||||
description: 配置和使用專門的代理。
|
||||
description: 配置和使用专門的代理。
|
||||
---
|
||||
|
||||
代理是專門的人工智能助手,可以針對特定任務和工作流程進行配置。它們允許您創建具有自定義提示、模型和工具訪問權限的專用工具。
|
||||
代理是专門的人工智能助手,可以針对特定任务和工作流程進行配置。它們允许您创建具有自定義提示、模型和工具访问权限的专用工具。
|
||||
|
||||
:::tip
|
||||
使用計劃代理來分析代碼並審查建議,而無需進行任何代碼更改。
|
||||
使用計劃代理來分析代碼并审查建議,而無需進行任何代碼更改。
|
||||
:::
|
||||
|
||||
您可以在會話期間在代理之間切換,或使用 `@` 提及來調用它們。
|
||||
您可以在会话期間在代理之間切換,或使用 `@` 提及來调用它們。
|
||||
|
||||
---
|
||||
|
||||
@@ -28,13 +28,13 @@ opencode有两种类型的代理;主代理和次代理。
|
||||
:::
|
||||
|
||||
opencode附带两个内置的主要代理:**Build** 和 **Plan**。地
|
||||
看看下面這些。
|
||||
看看下面这些。
|
||||
|
||||
---
|
||||
|
||||
### 子代理
|
||||
|
||||
子代理是主要代理可以調用來執行特定任務的專業助手。您還可以通過在消息中**@提及**它們來手動調用它們。
|
||||
子代理是主要代理可以调用來执行特定任务的专業助手。您还可以通过在消息中**@提及**它們來手动调用它們。
|
||||
|
||||
opencode附带两个内置子代理:**General** 和 **Explore**。我们将在下面看看这个。
|
||||
|
||||
@@ -50,7 +50,7 @@ opencode附带两个内置主代理和两个内置子代理。
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
構建是啟用所有工具的**默認**主要代理。這是用於需要完全訪問文件操作和系統命令的開發工作的標準代理。
|
||||
構建是启用所有工具的**默認**主要代理。这是用于需要完全访问文件操作和系統命令的開發工作的標準代理。
|
||||
|
||||
---
|
||||
|
||||
@@ -58,7 +58,7 @@ _模式_:`primary`
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
專為規劃和分析而設計的受限代理。我們使用權限系統為您提供更多控制並防止意外更改。
|
||||
专为規劃和分析而設計的受限代理。我们使用权限系統为您提供更多控制并防止意外更改。
|
||||
默认情况下,以下所有项均设置为`ask`:
|
||||
|
||||
- `file edits`:所有书写、修复和编辑
|
||||
@@ -72,7 +72,7 @@ _模式_:`primary`
|
||||
|
||||
_模式_:`subagent`
|
||||
|
||||
用於研究複雜問題和執行多步驟任務的通用代理。具有完整的工具訪問權限(待辦事項除外),因此可以在需要時更改文件。使用它可以並行運行多個工作單元。
|
||||
用于研究复杂问题和执行多步骤任务的通用代理。它具有完整的工具访问权限(待办事项除外),因此可在需要时修改文件,并并行运行多个工作单元。
|
||||
|
||||
---
|
||||
|
||||
@@ -80,7 +80,7 @@ _模式_:`subagent`
|
||||
|
||||
_模式_:`subagent`
|
||||
|
||||
用於探索代碼庫的快速只讀代理。無法修改文件。當您需要按模式快速查找文件、搜索代碼中的關鍵字或回答有關代碼庫的問題時,請使用此功能。
|
||||
用于探索代碼庫的快速只讀代理。无法修改文件。当您需要按模式快速查找文件、搜索代碼中的關鍵字或回答有關代碼庫的問題時,请使用此功能。
|
||||
|
||||
---
|
||||
|
||||
@@ -112,25 +112,25 @@ _模式_:`primary`
|
||||
|
||||
1. 对于主要代理,请在会话期间使用 **Tab** 键循环浏览它们。您还可以使用配置的 `switch_agent` 键绑定。
|
||||
|
||||
2. 可以調用子代理:
|
||||
- **自動**由主要代理根據其描述執行專門任務。
|
||||
- 通過在消息中**@提及**子代理手動進行。例如。
|
||||
2. 可以调用子代理:
|
||||
- **自动**由主要代理根據其描述执行专門任务。
|
||||
- 通过在消息中**@提及**子代理手动進行。例如。
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
```
|
||||
|
||||
3. **會話之間導航**:當子代理創建自己的子會話時,您可以使用以下命令在父會話和所有子會話之間導航:
|
||||
3. **会话之间导航**:当子代理创建自己的子会话時,您可以使用以下命令在父会话和所有子会话之间导航:
|
||||
- **\<Leader>+Right**(或您配置的 `session_child_cycle` 鍵綁定)向前循環父級 → 子級 1 → 子級 2 → ... → 父級
|
||||
- **\<Leader>+Left**(或您配置的 `session_child_cycle_reverse` 鍵綁定)向後循環父級 ← 子級 1 ← 子級 2 ← ... ← 父級
|
||||
|
||||
這使您可以在主要對話和專門的子代理工作之間無縫切換。
|
||||
这使您可以在主要对话和专門的子代理工作之間無縫切換。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
|
||||
您可以自定義內置代理或通過配置創建您自己的代理。可以通過兩種方式配置代理:
|
||||
您可以自定義内置代理或通过配置创建您自己的代理。可以通过两种方式配置代理:
|
||||
|
||||
---
|
||||
|
||||
@@ -177,7 +177,7 @@ _模式_:`primary`
|
||||
|
||||
---
|
||||
|
||||
### 降價
|
||||
### Markdown
|
||||
|
||||
您还可以使用 Markdown 文件定义代理。将它们放入:
|
||||
|
||||
@@ -212,7 +212,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
|
||||
## 選項
|
||||
|
||||
讓我們詳細看看這些配置選項。
|
||||
讓我们詳細看看这些配置選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -230,7 +230,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
這是一個**必需的**配置選項。
|
||||
这是一个**必需的**配置選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -238,7 +238,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
|
||||
使用 `temperature` 配置控制 LLM 响应的随机性和创意。
|
||||
|
||||
較低的值使響應更加集中和確定,而較高的值則增加創造力和可變性。
|
||||
較低的值使響应更加集中和確定,而較高的值则增加创建力和可變性。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -253,11 +253,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 +277,15 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
如果未指定温度,opencode 将使用特定于型号的默认值;大多数型号通常为 0,Qwen 型号为 0.55。
|
||||
如果未指定温度,opencode 将使用特定于模型的默认值;大多数模型通常为 0,Qwen 模型为 0.55。
|
||||
|
||||
---
|
||||
|
||||
### 最大步數
|
||||
|
||||
控制代理在被迫僅使用文本響應之前可以執行的最大代理迭代次數。這允許希望控製成本的用戶對代理操作設置限制。
|
||||
控制代理在被迫仅使用文本響应之前可以执行的最大代理迭代次數。这允许希望控制成本的用戶对代理操作设置限制。
|
||||
|
||||
如果未設置,代理將繼續迭代,直到模型選擇停止或用戶中斷會話。
|
||||
如果未设置,代理将繼續迭代,直到模型选择停止或用戶中斷会话。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -299,7 +299,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
當達到限制時,代理會收到特殊的系統提示,指示其響應其工作摘要和建議的剩餘任務。
|
||||
当達到限制時,代理会收到特殊的系統提示,指示其響应其工作摘要和建議的剩餘任务。
|
||||
|
||||
:::caution
|
||||
旧版 `maxSteps` 字段已废弃。请改用`steps`。
|
||||
@@ -343,7 +343,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
|
||||
### 模型
|
||||
|
||||
使用 `model` 配置此代理的模型。对于使用针对不同任务优化的不同模型很有用。例如,更快的规划模型、更强大的实施模型。
|
||||
使用 `model` 配置此代理的模型。对于使用针对不同任务优化的不同模型很有帮助。例如,更快的规划模型、更强大的实施模型。
|
||||
|
||||
:::tip
|
||||
如果您不指定模型,主代理将使用[全局配置的模型](/docs/config#models),而子代理将使用调用子代理的主代理的模型。
|
||||
@@ -386,7 +386,7 @@ opencode配置中的模型ID使用格式`provider/model-id`。例如,如果您
|
||||
```
|
||||
|
||||
:::note
|
||||
特定於代理的配置會覆蓋全局配置。
|
||||
特定于代理的配置会覆盖全局配置。
|
||||
:::
|
||||
|
||||
您还可以使用通配符同时控制多个工具。例如,要禁用 MCP 服务器中的所有工具:
|
||||
@@ -410,7 +410,7 @@ opencode配置中的模型ID使用格式`provider/model-id`。例如,如果您
|
||||
|
||||
---
|
||||
|
||||
### 權限
|
||||
### 权限
|
||||
|
||||
您可以配置权限来管理代理可以执行的操作。 目前,`edit`、`bash` 和 `webfetch` 工具的权限可以配置为:
|
||||
|
||||
@@ -427,7 +427,7 @@ opencode配置中的模型ID使用格式`provider/model-id`。例如,如果您
|
||||
}
|
||||
```
|
||||
|
||||
您可以覆蓋每個代理的這些權限。
|
||||
您可以覆盖每个代理的这些权限。
|
||||
|
||||
```json title="opencode.json" {3-5,8-10}
|
||||
{
|
||||
@@ -482,7 +482,7 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
這可以採用全局模式。
|
||||
这可以採用全局模式。
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
@@ -499,8 +499,8 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
您還可以使用`*`通配符來管理所有命令的權限。
|
||||
由於最後一個匹配規則優先,因此將 `*` 通配符放在前面,將特定規則放在後面。
|
||||
您还可以使用`*`通配符來管理所有命令的权限。
|
||||
由于最后一个匹配规则优先,因此将 `*` 通配符放在前面,将特定规则放在后面。
|
||||
|
||||
```json title="opencode.json" {8}
|
||||
{
|
||||
@@ -542,7 +542,7 @@ Only analyze code and suggest changes.
|
||||
|
||||
### 隱
|
||||
|
||||
使用`hidden: true`从`@`自动完成菜单隐藏子代理。对于只能由其他代理通过任务工具以编程方式调用的内部子代理很有用。
|
||||
使用`hidden: true`从`@`自动完成菜单隐藏子代理。对于只能由其他代理通过任务工具以编程方式调用的内部子代理很有帮助。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -555,7 +555,7 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
這僅影響自動完成菜單中的用戶可見性。如果權限允許,模型仍然可以通過任務工具調用隱藏代理。
|
||||
这仅影响自动完成菜单中的用户可见性。如果权限允许,模型仍然可以通过任务工具调用隐藏代理。
|
||||
|
||||
:::note
|
||||
仅适用于`mode: subagent`代理。
|
||||
@@ -563,7 +563,7 @@ Only analyze code and suggest changes.
|
||||
|
||||
---
|
||||
|
||||
### 任務權限
|
||||
### 任务权限
|
||||
|
||||
使用`permission.task`控制代理可以通过任务工具调用哪些子代理。使用glob模式进行灵活匹配。
|
||||
|
||||
@@ -591,7 +591,7 @@ Only analyze code and suggest changes.
|
||||
:::
|
||||
|
||||
:::tip
|
||||
用戶始終可以通過 `@` 自動完成菜單直接調用任何子代理,即使代理的任務權限會拒絕它。
|
||||
用戶始終可以通过 `@` 自动完成菜单直接调用任何子代理,即使代理的任务权限会拒絕它。
|
||||
:::
|
||||
|
||||
---
|
||||
@@ -631,13 +631,13 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
值範圍從 0.0 到 1.0。較低的值更加集中,較高的值更加多樣化。
|
||||
值范围從 0.0 到 1.0。較低的值更加集中,較高的值更加多樣化。
|
||||
|
||||
---
|
||||
|
||||
### 額外的
|
||||
|
||||
您在代理配置中指定的任何其他選項都將作為模型選項**直接**傳遞給提供程序。這允許您使用特定於提供商的功能和參數。
|
||||
您在代理配置中指定的任何其他選項都将作为模型選項**直接**傳遞給提供商。这允许您使用特定于提供商的功能和參數。
|
||||
|
||||
例如,使用 OpenAI 的推理模型,您可以控制推理工作:
|
||||
|
||||
@@ -654,7 +654,7 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
這些附加選項是特定於型號和提供商的。檢查提供商的文檔以獲取可用參數。
|
||||
这些附加選項是特定于模型和提供商的。检查提供商的文档以获取可用參數。
|
||||
|
||||
:::tip
|
||||
运行 `opencode models` 查看可用模型的列表。
|
||||
@@ -662,20 +662,20 @@ Only analyze code and suggest changes.
|
||||
|
||||
---
|
||||
|
||||
## 創建代理
|
||||
## 创建代理
|
||||
|
||||
您可以使用以下命令創建新代理:
|
||||
您可以使用以下命令创建新代理:
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
此交互式命令將:
|
||||
此交互式命令将:
|
||||
|
||||
1. 詢問代理保存在哪裡;全局或特定項目。
|
||||
2. 描述代理應該做什麼。
|
||||
3. 生成適當的系統提示和標識符。
|
||||
4. 讓您選擇代理可以訪問哪些工具。
|
||||
2. 描述代理应该做什麼。
|
||||
3. 生成適当的系統提示和標識符。
|
||||
4. 讓您选择代理可以访问哪些工具。
|
||||
5. 最后,使用代理配置创建一个markdown文件。
|
||||
|
||||
---
|
||||
@@ -684,17 +684,17 @@ opencode agent create
|
||||
|
||||
以下是不同代理的一些常見用例。
|
||||
|
||||
- **構建代理**:啟用所有工具的完整開發工作
|
||||
- **構建代理**:启用所有工具的完整開發工作
|
||||
- **規劃代理**:分析規劃,不做改動
|
||||
- **審查代理**:具有隻讀訪問權限和文檔工具的代碼審查
|
||||
- **审查代理**:具有隻讀访问权限和文档工具的代碼审查
|
||||
- **调试代理**:专注于启用bash和读取工具的调查
|
||||
- **文檔代理**:使用文件操作但不使用系統命令的文檔編寫
|
||||
- **文档代理**:使用文件操作但不使用系統命令的文档編寫
|
||||
|
||||
---
|
||||
|
||||
## 示例
|
||||
|
||||
以下是一些您可能會覺得有用的示例代理。
|
||||
以下是一些您可能会覺得有用的示例代理。
|
||||
|
||||
:::tip
|
||||
您有想要分享的经纪人吗? [提交 PR](https://github.com/anomalyco/opencode)。
|
||||
|
||||
@@ -35,7 +35,7 @@ opencode [project]
|
||||
| `--session` | `-s` | 会话 ID 继续 |
|
||||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||||
| `--prompt` | | 提示使用 |
|
||||
| `--model` | `-m` | 以提供者/模型形式使用的模型 |
|
||||
| `--model` | `-m` | 以提供商/模型形式使用的模型 |
|
||||
| `--agent` | | 代理使用 |
|
||||
| `--port` | | 监听端口 |
|
||||
| `--hostname` | | 监听的主机名 |
|
||||
@@ -85,15 +85,15 @@ opencode attach http://10.20.30.40:4096
|
||||
|
||||
---
|
||||
|
||||
#### 創造
|
||||
#### 创建
|
||||
|
||||
使用自定義配置創建新代理。
|
||||
使用自定義配置创建新代理。
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
此命令將指導您使用自定義系統提示和工具配置創建新代理。
|
||||
此命令将指導您使用自定義系統提示和工具配置创建新代理。
|
||||
|
||||
---
|
||||
|
||||
@@ -109,7 +109,7 @@ opencode agent list
|
||||
|
||||
### 授權
|
||||
|
||||
用於管理提供商的憑據和登錄的命令。
|
||||
用于管理提供商的憑據和登錄的命令。
|
||||
|
||||
```bash
|
||||
opencode auth [command]
|
||||
@@ -117,21 +117,21 @@ opencode auth [command]
|
||||
|
||||
---
|
||||
|
||||
#### 登入
|
||||
#### 登录
|
||||
|
||||
opencode 由 [模型.dev](https://models.dev) 上的型号列表提供支持,因此您可以使用 `opencode auth login` 来为您想要使用的任何型号配置 API 按键。它存储在 `~/.local/share/opencode/auth.json` 中。
|
||||
opencode 由 [Models.dev](https://models.dev) 上的模型列表提供支持,因此您可以使用 `opencode auth login` 来为您想要使用的任何模型配置 API 按键。它存储在 `~/.local/share/opencode/auth.json` 中。
|
||||
|
||||
```bash
|
||||
opencode auth login
|
||||
```
|
||||
|
||||
当opencode启动时,它会从会计文件加载提供程序。如果您的环境中定义了任何按键或项目中的`.env`文件。
|
||||
当opencode启动时,它会从auth 文件加载提供商。如果您的环境中定义了任何按键或项目中的`.env`文件。
|
||||
|
||||
---
|
||||
|
||||
#### 列表
|
||||
|
||||
列出憑證文件中存儲的所有經過身份驗證的提供程序。
|
||||
列出憑證文件中存儲的所有經过身份验证的提供商。
|
||||
|
||||
```bash
|
||||
opencode auth list
|
||||
@@ -147,7 +147,7 @@ opencode auth ls
|
||||
|
||||
#### 註銷
|
||||
|
||||
通過從憑據文件中清除提供程序,將您從提供程序中註銷。
|
||||
通过從憑據文件中清除提供商,将您從提供商中註銷。
|
||||
|
||||
```bash
|
||||
opencode auth logout
|
||||
@@ -165,7 +165,7 @@ opencode github [command]
|
||||
|
||||
---
|
||||
|
||||
#### 安裝
|
||||
#### 安装
|
||||
|
||||
在您的存储库中安装 GitHub 代理。
|
||||
|
||||
@@ -190,7 +190,7 @@ opencode github run
|
||||
| 旗幟 | 描述 |
|
||||
| --------- | ------------------------------ |
|
||||
| `--event` | 用于运行代理的 GitHub 模拟事件 |
|
||||
| `--token` | GitHub 个人访问令牌 |
|
||||
| `--token` | GitHub 个人访问Tokens |
|
||||
|
||||
---
|
||||
|
||||
@@ -276,7 +276,7 @@ opencode mcp debug <name>
|
||||
|
||||
---
|
||||
|
||||
### 型號
|
||||
### 模型
|
||||
|
||||
列出已配置提供商的所有可用模型。
|
||||
|
||||
@@ -284,9 +284,9 @@ opencode mcp debug <name>
|
||||
opencode models [provider]
|
||||
```
|
||||
|
||||
此命令以 `provider/model` 格式显示您配置的提供程序中可用的所有模型。
|
||||
此命令以 `provider/model` 格式显示您配置的提供商中可用的所有模型。
|
||||
|
||||
这对于确定[你的配置](/docs/config/)中使用的意图模型名称很有用。
|
||||
这对于确定[你的配置](/docs/config/)中使用的意图模型名称很有帮助。
|
||||
|
||||
您可以选择提供项目ID并按该提供项目筛选模型。
|
||||
|
||||
@@ -301,7 +301,7 @@ opencode models anthropic
|
||||
| `--refresh` | 从 models.dev 刷新模型缓存 |
|
||||
| `--verbose` | 使用更详细的模型输出(包括成本等元数据) |
|
||||
|
||||
使用`--refresh`标志来更新服务器的模型列表。当新模型已添加到提供程序并且您希望在opencode中查看它们时,这非常有用。
|
||||
使用`--refresh`标志来更新服务器的模型列表。当新模型已添加到提供商并且您希望在opencode中查看它们时,这非常有用。
|
||||
|
||||
```bash
|
||||
opencode models --refresh
|
||||
@@ -342,7 +342,7 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
| `--session` | `-s` | 会话 ID 继续 |
|
||||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||||
| `--share` | | 分享会议 |
|
||||
| `--model` | `-m` | 以提供者/模型形式使用的模型 |
|
||||
| `--model` | `-m` | 以提供商/模型形式使用的模型 |
|
||||
| `--agent` | | 代理使用 |
|
||||
| `--file` | `-f` | 要附加到消息的文件 |
|
||||
| `--format` | | 格式:默认(格式化)或json(原始JSON事件) |
|
||||
@@ -373,7 +373,7 @@ opencode serve
|
||||
|
||||
---
|
||||
|
||||
### 會議
|
||||
### 会话
|
||||
|
||||
管理 opencode 会话。
|
||||
|
||||
@@ -402,7 +402,7 @@ opencode session list
|
||||
|
||||
### 統計數據
|
||||
|
||||
显示opencode会话的令牌使用情况和成本统计信息。
|
||||
显示opencode会话的Tokens使用情况和成本统计信息。
|
||||
|
||||
```bash
|
||||
opencode stats
|
||||
@@ -489,7 +489,7 @@ opencode acp
|
||||
|
||||
---
|
||||
|
||||
### 解除安裝
|
||||
### 解除安装
|
||||
|
||||
卸载opencode并删除所有相关文件。
|
||||
|
||||
@@ -584,15 +584,15 @@ opencode CLI采用以下全局标志。
|
||||
|
||||
### 實驗性的
|
||||
|
||||
這些環境變量啟用可能會更改或刪除的實驗性功能。
|
||||
这些環境變量启用可能会更改或删除的實驗性功能。
|
||||
|
||||
| 變量 | 類型 | 描述 |
|
||||
| ----------------------------------------------- | ---- | ----------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | 布尔 | 实现所有实验性功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | 布尔 | 新增图标发现 |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | 布尔 | 添加图标发现 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | 布尔 | 在 TUI 中禁用选择时复制 |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 数量 | bash 命令的默认超时(以毫秒为单位) |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | 数量 | LLM 响应的最大输出令牌 |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | 数量 | LLM 响应的最大输出Tokens |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | 布尔 | 为整个目录启用文件观察器 |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | 布尔 | 启用 oxfmt 清理程序 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | 布尔 | 实现实验性 LSP 工具 |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 命令
|
||||
description: 為重複任務創建自定義命令。
|
||||
description: 为重复任务创建自定义命令。
|
||||
---
|
||||
|
||||
自定义命令允许您指定在 TUI 中执行该命令时要运行的提示。
|
||||
@@ -13,7 +13,7 @@ description: 為重複任務創建自定義命令。
|
||||
|
||||
---
|
||||
|
||||
## 創建命令文件
|
||||
## 创建命令文件
|
||||
|
||||
在`commands/`目录中创建markdown文件来定义自定义命令。
|
||||
|
||||
@@ -32,7 +32,7 @@ Focus on the failing tests and suggest fixes.
|
||||
|
||||
frontmatter 定义命令属性。内容成为模板。
|
||||
|
||||
通過鍵入 `/` 後跟命令名稱來使用該命令。
|
||||
通过鍵入 `/` 後跟命令名称來使用该命令。
|
||||
|
||||
```bash frame="none"
|
||||
"/test"
|
||||
@@ -75,7 +75,7 @@ frontmatter 定义命令属性。内容成为模板。
|
||||
|
||||
---
|
||||
|
||||
### 降價
|
||||
### Markdown
|
||||
|
||||
您还可以使用 Markdown 文件定义命令。将它们放入:
|
||||
|
||||
@@ -104,7 +104,7 @@ Markdown 文件名成为命令名。例如,`test.md` 让
|
||||
|
||||
## 提示配置
|
||||
|
||||
自定義命令的提示支持幾個特殊的佔位符和語法。
|
||||
自定義命令的提示支持幾个特殊的佔位符和語法。
|
||||
|
||||
---
|
||||
|
||||
@@ -129,11 +129,11 @@ Include proper typing and basic structure.
|
||||
|
||||
`$ARGUMENTS` 将替换为 `Button`。
|
||||
|
||||
您還可以使用位置參數訪問各個參數:
|
||||
您还可以使用位置參數访问各个參數:
|
||||
|
||||
- `$1` - 第一個參數
|
||||
- `$2` - 第二個參數
|
||||
- `$3` - 第三個參數
|
||||
- `$1` - 第一个參數
|
||||
- `$2` - 第二个參數
|
||||
- `$3` - 第三个參數
|
||||
- 等等...
|
||||
|
||||
例如:
|
||||
@@ -153,7 +153,7 @@ with the following content: $3
|
||||
/create-file config.json src "{ \"key\": \"value\" }"
|
||||
```
|
||||
|
||||
這取代了:
|
||||
这取代了:
|
||||
|
||||
- `$1` 与 `config.json`
|
||||
- `$2` 与 `src`
|
||||
@@ -165,7 +165,7 @@ with the following content: $3
|
||||
|
||||
使用 _!`command`_ 将 [bash命令](/docs/tui#bash-commands) 输出注入到提示符中。
|
||||
|
||||
例如,要創建分析測試覆蓋率的自定義命令:
|
||||
例如,要创建分析測試覆盖率的自定義命令:
|
||||
|
||||
```md title=".opencode/commands/analyze-coverage.md"
|
||||
---
|
||||
@@ -191,13 +191,13 @@ Recent git commits:
|
||||
Review these changes and suggest any improvements.
|
||||
```
|
||||
|
||||
命令在項目的根目錄中運行,其輸出成為提示的一部分。
|
||||
命令在項目的根目录中運行,其輸出成为提示的一部分。
|
||||
|
||||
---
|
||||
|
||||
### 文件參考
|
||||
|
||||
使用 `@` 後跟文件名將文件包含在命令中。
|
||||
使用 `@` 後跟文件名将文件包含在命令中。
|
||||
|
||||
```md title=".opencode/commands/review-component.md"
|
||||
---
|
||||
@@ -208,13 +208,13 @@ Review the component in @src/components/Button.tsx.
|
||||
Check for performance issues and suggest improvements.
|
||||
```
|
||||
|
||||
文件內容會自動包含在提示中。
|
||||
文件內容会自动包含在提示中。
|
||||
|
||||
---
|
||||
|
||||
## 選項
|
||||
|
||||
讓我們詳細看看配置選項。
|
||||
讓我们詳細看看配置選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -232,7 +232,7 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
這是一個**必需的**配置選項。
|
||||
这是一个**必需的**配置選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -270,14 +270,14 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
這是一個**可選**配置選項。如果未指定,則默認為您當前的代理。
|
||||
这是一个**可選**配置選項。如果未指定,则默認为您当前的代理。
|
||||
|
||||
---
|
||||
|
||||
### 子任務
|
||||
### 子任务
|
||||
|
||||
使用`subtask`布尔值强制命令触发[子代理](/docs/agents/#subagents)调用。
|
||||
如果您希望命令不污染您的主要上下文並且將**強制**代理充當子代理,那麼這非常有用,
|
||||
如果您希望命令不污染您的主要上下文并且将**強制**代理充当子代理,那麼这非常有用,
|
||||
即使`mode`在[代理人](/docs/agents)配置上设置为`primary`。
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -290,7 +290,7 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
這是一個**可選**配置選項。
|
||||
这是一个**可選**配置選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -308,7 +308,7 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
這是一個**可選**配置選項。
|
||||
这是一个**可選**配置選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -317,7 +317,7 @@ Check for performance issues and suggest improvements.
|
||||
opencode包含`/init`、`/undo`、`/redo`、`/share`、`/help`等内置命令;【了解更多](/docs/tui#commands)。
|
||||
|
||||
:::note
|
||||
自定義命令可以覆蓋內置命令。
|
||||
自定義命令可以覆盖内置命令。
|
||||
:::
|
||||
|
||||
如果您定義同名的自定義命令,它將覆蓋內置命令。
|
||||
如果您定義同名的自定義命令,它将覆盖内置命令。
|
||||
|
||||
@@ -25,22 +25,22 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
|
||||
## 地點
|
||||
|
||||
您可以將配置放置在幾個不同的位置,它們有一個
|
||||
不同的優先順序。
|
||||
您可以将配置放置在幾个不同的位置,它們有一个
|
||||
不同的优先顺序。
|
||||
|
||||
:::note
|
||||
配置文件**合併在一起**,而不是替換。
|
||||
配置文件**合并在一起**,而不是替換。
|
||||
:::
|
||||
|
||||
配置文件被合併在一起,而不是被替換。以下配置位置的設置被合併。僅當密鑰衝突時,後面的配置才會覆蓋前面的配置。保留所有配置中的非衝突設置。
|
||||
配置文件被合并在一起,而不是被替換。以下配置位置的设置被合并。仅当密钥衝突時,后面的配置才会覆盖前面的配置。保留所有配置中的非衝突设置。
|
||||
|
||||
例如,如果您的全局配置设置`theme: "opencode"`和`autoupdate: true`,并且您的项目配置设置`model: "anthropic/claude-sonnet-4-5"`,则最终配置将包括所有三个设置。
|
||||
|
||||
---
|
||||
|
||||
### 優先順序
|
||||
### 优先顺序
|
||||
|
||||
配置源按以下順序加載(後面的源覆蓋前面的源):
|
||||
配置源按以下顺序加載(后面的源覆盖前面的源):
|
||||
|
||||
1. **远程配置**(来自`.well-known/opencode`)-组织默认值
|
||||
2. **全局配置** (`~/.config/opencode/opencode.json`) - 用户首选项
|
||||
@@ -49,7 +49,7 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
5. **`.opencode` 目录** - 代理、命令、插件
|
||||
6. **内联配置** (`OPENCODE_CONFIG_CONTENT` env var) - 运行时覆盖
|
||||
|
||||
這意味著項目配置可以覆蓋全局默認值,全局配置可以覆蓋遠程組織默認值。
|
||||
这意味著項目配置可以覆盖全局默認值,全局配置可以覆盖遠程組織默認值。
|
||||
|
||||
:::note
|
||||
`.opencode` 和`~/.config/opencode` 目录对子目录使用**复数名称**:`agents/`、`commands/`、`modes/`、`plugins/`、`skills/`、`tools/` 和`themes/`。为了坚固兼容,还支持单数名称(例如`agent/`)。
|
||||
@@ -59,9 +59,9 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
|
||||
### 偏僻的
|
||||
|
||||
组织可以通过 `.well-known/opencode` 端点提供默认配置。当您向支持的成功进行身份验证时,会自动获取该信息。
|
||||
组织可以通过 `.well-known/opencode` 端点提供默认配置。当您向支持的提供商进行身份验证时,会自动获取该信息。
|
||||
|
||||
首先加載遠程配置,作為基礎層。所有其他配置源(全局、項目)都可以覆蓋這些默認值。
|
||||
首先加載遠程配置,作为基礎層。所有其他配置源(全局、項目)都可以覆盖这些默認值。
|
||||
|
||||
例如,如果您的组织提供默认取消的 MCP 服务器:
|
||||
|
||||
@@ -77,7 +77,7 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
}
|
||||
```
|
||||
|
||||
您可以在本地配置中啟用特定服務器:
|
||||
您可以在本地配置中启用特定服務器:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -95,18 +95,18 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
|
||||
### 全球的
|
||||
|
||||
将全局 opencode 配置放在 `~/.config/opencode/opencode.json` 中。使用全局配置来实现用户范围的首选项,例如主题、提供程序或按键绑定。
|
||||
将全局 opencode 配置放在 `~/.config/opencode/opencode.json` 中。使用全局配置来实现用户范围的首选项,例如主题、提供商或按键绑定。
|
||||
|
||||
全局配置覆蓋遠程組織默認值。
|
||||
全局配置覆盖遠程組織默認值。
|
||||
|
||||
---
|
||||
|
||||
### 每個項目
|
||||
### 每个項目
|
||||
|
||||
在项目根目录中添加`opencode.json`。项目配置在标准配置文件中具有最高优先级 - 它覆盖全局配置和远程配置。
|
||||
|
||||
:::tip
|
||||
將項目特定配置放在項目的根目錄中。
|
||||
将項目特定配置放在項目的根目录中。
|
||||
:::
|
||||
|
||||
当opencode启动时,它会在当前目录中查找配置文件或打开到最近的Git目录。
|
||||
@@ -124,14 +124,14 @@ export OPENCODE_CONFIG=/path/to/my/custom-config.json
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
自定義配置按優先順序在全局配置和項目配置之間加載。
|
||||
自定義配置按优先顺序在全局配置和項目配置之間加載。
|
||||
|
||||
---
|
||||
|
||||
### 自定義目錄
|
||||
### 自定義目录
|
||||
|
||||
使用`OPENCODE_CONFIG_DIR`指定自定义配置目录
|
||||
環境變量。將在該目錄中搜索代理、命令、
|
||||
環境變量。将在该目录中搜索代理、命令、
|
||||
模式和插件类似于标准`.opencode`目录一样,并且应该
|
||||
遵循相同的結構。
|
||||
|
||||
@@ -148,7 +148,7 @@ opencode run "Hello world"
|
||||
|
||||
配置文件具有在 [**`opencode.ai/config.json`**](https://opencode.ai/config.json) 中配置的架构。
|
||||
|
||||
您的編輯器應該能夠根據架構進行驗證和自動完成。
|
||||
您的编辑器应该能夠根據架構進行驗證和自动完成。
|
||||
|
||||
---
|
||||
|
||||
@@ -179,7 +179,7 @@ opencode run "Hello world"
|
||||
|
||||
---
|
||||
|
||||
### 伺服器
|
||||
### 服务器
|
||||
|
||||
您可以通过`server` 选项为`opencode serve` 和`opencode web` 命令配置服务器设置。
|
||||
|
||||
@@ -201,7 +201,7 @@ opencode run "Hello world"
|
||||
- Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
- Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
- `mdns` - 启用 mDNS 服务发现。这允许网络上的其他设备发现您的 opencode 服务器。
|
||||
- `mdnsDomain` - mDNS 服务的自定义域名。默认为 `opencode.local`。对于在同一个网络上运行多个实例很有用。
|
||||
- `mdnsDomain` - mDNS 服务的自定义域名。默认为 `opencode.local`。对于在同一个网络上运行多个实例很有帮助。
|
||||
- `cors` - 从基于浏览器的客户端使用 HTTP 服务器时允许 CORS 的其他来源。值必须是完整来源(方案+主机+任选端口),例如 `https://app.example.com`。
|
||||
|
||||
[在此处了解有关服务器的更多信息](/docs/server)。
|
||||
@@ -226,7 +226,7 @@ opencode run "Hello world"
|
||||
|
||||
---
|
||||
|
||||
### 型號
|
||||
### 模型
|
||||
|
||||
您可以通过 `provider`、`model` 和 `small_model` 选项来配置要在 opencode 配置中使用的提供的程序和模型。
|
||||
|
||||
@@ -239,7 +239,7 @@ opencode run "Hello world"
|
||||
}
|
||||
```
|
||||
|
||||
`small_model` 选项为标题生成等轻量级任务配置单独的模型。默认情况下,如果您的成功可以提供更便宜的模型,opencode 会尝试使用更便宜的模型,否则它会退回到您的主模型。
|
||||
`small_model` 选项为标题生成等轻量级任务配置单独的模型。默认情况下,如果您的提供商可以提供更便宜的模型,opencode 会尝试使用更便宜的模型,否则它会退回到您的主模型。
|
||||
|
||||
提供商选项可以包括`timeout`和`setCacheKey`:
|
||||
|
||||
@@ -258,15 +258,15 @@ opencode run "Hello world"
|
||||
```
|
||||
|
||||
- `timeout` - 请求超时以毫秒为单位(默认值:300000)。设置为 `false` 以禁用。
|
||||
- `setCacheKey` -确保始终为指定的提供者设置存储硬盘。
|
||||
- `setCacheKey` -确保始终为指定的提供商设置存储硬盘。
|
||||
|
||||
您还可以配置[本地模型](/docs/models#local)。[了解更多](/docs/models)。
|
||||
|
||||
---
|
||||
|
||||
#### 特定於提供商的選項
|
||||
#### 特定于提供商的選項
|
||||
|
||||
有些提供程序支持除通用 `timeout` 和 `apiKey` 之外的其他配置选项。
|
||||
有些提供商支持除通用 `timeout` 和 `apiKey` 之外的其他配置选项。
|
||||
|
||||
##### 亞馬遜基岩
|
||||
|
||||
@@ -292,14 +292,14 @@ Amazon Bedrock 支持 AWS 特定配置:
|
||||
- `endpoint` - VPC 终端节点的自定义节点 URL。这是使用 AWS 特定术语的通用 `baseURL` 选项的别名。如果两者都指定,`endpoint` 优先。
|
||||
|
||||
:::note
|
||||
承载令牌(`AWS_BEARER_TOKEN_BEDROCK` 或`/connect`)优先于基于配置文件的身份验证。详情请参见【认证优先级](/docs/providers#authentication-precedence)。
|
||||
承载Tokens(`AWS_BEARER_TOKEN_BEDROCK` 或`/connect`)优先于基于配置文件的身份验证。详情请参见【认证优先级](/docs/providers#authentication-precedence)。
|
||||
:::
|
||||
|
||||
[了解有关 Amazon Bedrock 配置的更多信息](/docs/providers#amazon-bedrock)。
|
||||
|
||||
---
|
||||
|
||||
### 主題
|
||||
### 主题
|
||||
|
||||
您可以通过 opencode 配置中配置中的 `theme` 选项要使用的主题。
|
||||
|
||||
@@ -368,7 +368,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
這需要:
|
||||
这需要:
|
||||
|
||||
- Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
- `"auto"` - 自动分享新对话
|
||||
@@ -419,7 +419,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 自動更新
|
||||
### 自动更新
|
||||
|
||||
opencode 将在启动时自动下载任何新的更新。您可以使用 `autoupdate` 选项取消此功能。
|
||||
|
||||
@@ -461,7 +461,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 權限
|
||||
### 权限
|
||||
|
||||
默认情况下,opencode **允许所有操作**,无需明确批准。您可以使用 `permission` 选项更改此设置。
|
||||
|
||||
@@ -496,7 +496,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
```
|
||||
|
||||
- Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
- `prune` - 删除旧工具以输出保存令牌(默认值:`true`)。
|
||||
- `prune` - 删除旧工具以输出保存Tokens(默认值:`true`)。
|
||||
|
||||
---
|
||||
|
||||
@@ -551,7 +551,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
### 指示
|
||||
|
||||
您可以通过 `instructions` 选项配置您正在使用的型号的说明。
|
||||
您可以通过 `instructions` 选项配置您正在使用的模型的说明。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -560,14 +560,14 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
這需要指令文件的路徑和全局模式數組。 [了解更多
|
||||
这需要指令文件的路徑和全局模式數組。 [了解更多
|
||||
关于规则在这里](/docs/rules)。
|
||||
|
||||
---
|
||||
|
||||
### 殘疾服務提供者
|
||||
### 殘疾服務提供商
|
||||
|
||||
您可以通过 `disabled_providers` 选项取消自动加载的提供程序。当您想要阻止加载某些提供程序(即使其可用)时,这非常有用。
|
||||
您可以通过 `disabled_providers` 选项取消自动加载的提供商。当您想要阻止加载某些提供商(即使其可用)时,这非常有用。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -580,15 +580,15 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
`disabled_providers` 优先于`enabled_providers`。
|
||||
:::
|
||||
|
||||
`disabled_providers` 选项接受提供者 ID 内存。当提供者被取消时:
|
||||
`disabled_providers` 选项接受提供商 ID 内存。当提供商被取消时:
|
||||
|
||||
- 即使設置了環境變量也不會加載。
|
||||
- 即使设置了環境變量也不会加載。
|
||||
- 即使通过`/connect`命令配置API钥匙,也不会加载它。
|
||||
- 提供商的型號不會出現在型號選擇列表中。
|
||||
- 提供商的模型不会出現在模型选择列表中。
|
||||
|
||||
---
|
||||
|
||||
### 啟用的提供商
|
||||
### 启用的提供商
|
||||
|
||||
Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
|
||||
@@ -599,13 +599,13 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
当您想要限制 opencode 仅使用特定的提供程序而不是一一禁止它们时,这非常有用。
|
||||
当您想要限制 opencode 仅使用特定的提供商而不是一一禁止它们时,这非常有用。
|
||||
|
||||
:::note
|
||||
`disabled_providers` 优先于`enabled_providers`。
|
||||
:::
|
||||
|
||||
如果有人提供程序同时出现在`enabled_providers`和`disabled_providers`中,则`disabled_providers`优先考虑一致性。
|
||||
如果有人提供商同时出现在`enabled_providers`和`disabled_providers`中,则`disabled_providers`优先考虑一致性。
|
||||
|
||||
---
|
||||
|
||||
@@ -621,7 +621,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
```
|
||||
|
||||
:::caution
|
||||
實驗選項不穩定。它們可能會更改或被刪除,恕不另行通知。
|
||||
實驗選項不穩定。它們可能会更改或被删除,恕不另行通知。
|
||||
:::
|
||||
|
||||
---
|
||||
@@ -651,7 +651,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
如果未設置環境變量,它將被替換為空字符串。
|
||||
如果未设置環境變量,它将被替換为空字符串。
|
||||
|
||||
---
|
||||
|
||||
@@ -675,11 +675,11 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
文件路徑可以是:
|
||||
|
||||
- 相對於配置文件目錄
|
||||
- 或者以 `/` 或 `~` 開頭的絕對路徑
|
||||
- 相对于配置文件目录
|
||||
- 或者以 `/` 或 `~` 開頭的絕对路徑
|
||||
|
||||
這些對於:
|
||||
这些对于:
|
||||
|
||||
- 将API等敏感数据保存在单独的文件中。
|
||||
- 包含大型指令文件,而不會弄亂您的配置。
|
||||
- 跨多個配置文件共享通用配置片段。
|
||||
- 包含大型指令文件,而不会弄亂您的配置。
|
||||
- 跨多个配置文件共享通用配置片段。
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: 定制工具
|
||||
description: 創建法學碩士可以在opencode中調用的工具。
|
||||
description: 创建法學碩士可以在opencode中调用的工具。
|
||||
---
|
||||
|
||||
自定义工具是您创建的函数,LLM 可以在对话期间调用。它们与 opencode 的[内置工具](/docs/tools) 一起工作,例如 `read`、`write` 和 `bash`。
|
||||
|
||||
---
|
||||
|
||||
## 創建工具
|
||||
## 创建工具
|
||||
|
||||
工具定义为 **TypeScript** 或 **JavaScript** 文件。但是,工具定义调用可以使用 **任何语言** 编写的脚本 - TypeScript 或 JavaScript 仅用于工具定义本身。
|
||||
|
||||
@@ -15,7 +15,7 @@ description: 創建法學碩士可以在opencode中調用的工具。
|
||||
|
||||
### 地點
|
||||
|
||||
它們可以定義為:
|
||||
它們可以定義为:
|
||||
|
||||
- 通过将它们放在项目的 `.opencode/tools/` 目录中来本地进行。
|
||||
- 或者在全局范围内,将它们放在 `~/.config/opencode/tools/` 中。
|
||||
@@ -45,9 +45,9 @@ export default tool({
|
||||
|
||||
---
|
||||
|
||||
#### 每個文件多個工具
|
||||
#### 每个文件多个工具
|
||||
|
||||
您還可以從單個文件導出多個工具。每個導出都會成為**一個單獨的工具**,名稱為**`<filename>_<exportname>`**:
|
||||
您还可以從單个文件導出多个工具。每个導出都会成为**一个單獨的工具**,名称为**`<filename>_<exportname>`**:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
@@ -110,7 +110,7 @@ export default {
|
||||
|
||||
### 情境
|
||||
|
||||
工具接收有關當前會話的上下文:
|
||||
工具接收有關当前会话的上下文:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
@@ -147,7 +147,7 @@ b = int(sys.argv[2])
|
||||
print(a + b)
|
||||
```
|
||||
|
||||
然後創建調用它的工具定義:
|
||||
然後创建调用它的工具定義:
|
||||
|
||||
```ts title=".opencode/tools/python-add.ts" {10}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -9,68 +9,68 @@ description: 使用 opencode 构建的项目和集成。
|
||||
想要将您的 opencode 相关项目添加到此列表中吗?提交 PR。
|
||||
:::
|
||||
|
||||
您还可以查看[很棒的opencode](https://github.com/awesome-opencode/awesome-opencode)和[opencode缓存](https://opencode.cafe),这是一个聚合生态系统和社区的社区。
|
||||
您还可以查看[awesome-opencode](https://github.com/awesome-opencode/awesome-opencode)和[opencode.cafe](https://opencode.cafe),这是一个聚合生态系统和社区的社区。
|
||||
|
||||
---
|
||||
|
||||
## 插件
|
||||
|
||||
| 名稱 | 描述 |
|
||||
| 名称 | 描述 |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
||||
| [Opencode-Daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | 在隔离的 Daytona 沙箱中自动运行 opencode 会话,并使用 git 同步和实时预览 |
|
||||
| [opencode-helicone-会话](https://github.com/H2Shami/opencode-helicone-session) | 自动注入 Helicone 会话标头以进行请求包 |
|
||||
| [打开代码类型注入](https://github.com/nick-vi/opencode-type-inject) | 使用查找工具将 TypeScript/Svelte 类型自动注入到文件读取中 |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | 在隔离的 Daytona 沙箱中自动运行 opencode 会话,并使用 git 同步和实时预览 |
|
||||
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | 自动注入 Helicone 会话标头以进行请求包 |
|
||||
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | 使用查找工具将 TypeScript/Svelte 类型自动注入到文件读取中 |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | 使用您的 ChatGPT Plus 或 Pro 订阅而不是 API 积分 |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | 使用您现有的 Gemini 计划而不是 API 设备 |
|
||||
| [opencode-反重力-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | 使用反重力的免费模型代替API |
|
||||
| [opencode-devcontainers opencode开发容器](https://github.com/athal7/opencode-devcontainers) | 具有浅克隆和自动分配端口的多分支开发容器隔离 |
|
||||
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | 使用反重力的免费模型代替API |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | 具有浅克隆和自动分配端口的多分支开发容器隔离 |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Google Antigravity OAuth 插件,支持 Google 搜索和更强大的 API 处理 |
|
||||
| [opencode-动态宽度修剪](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | 通过修剪过时的工具输出来优化代币使用 |
|
||||
| [opencode-websearch-引用](https://github.com/ghoulr/opencode-websearch-cited.git) | 为具有Google接地风格的受支持增加本机网络搜索支持 |
|
||||
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | 通过修剪过时的工具输出来优化代币使用 |
|
||||
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | 为具有Google接地风格的受支持增加本机网络搜索支持 |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | 使AI代理能够在PTY中运行后台进程,末端发送其交互输入。 |
|
||||
| [opencode-shell-策略](https://github.com/JRedeker/opencode-shell-strategy) | 非吸引力 shell 命令说明 - 阻止依赖 TTY 的操作挂起 |
|
||||
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | 非吸引力 shell 命令说明 - 阻止依赖 TTY 的操作挂起 |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | 使用 Wakatime 跟踪 opencode 使用情况 |
|
||||
| [opencode-md-表清理程序](https://github.com/franlol/opencode-md-table-formatter/tree/main) | 清理LLM生成的降价表 |
|
||||
| [opencode变形快速应用](https://github.com/JRedeker/opencode-morph-fast-apply) | 使用Morph Fast Apply API和取消编辑标记将代码编辑速度提高10倍 |
|
||||
| [哦我的opencode](https://github.com/code-yeongyu/oh-my-opencode) | 后台代理、预构建的LSP/AST/MCP工具、精选代理、兼容Claude代码 |
|
||||
| [opencode通知器](https://github.com/panta82/opencode-notificator) | opencode 会话的桌面通知和声音警报 |
|
||||
| [opencode通知程序](https://github.com/mohak34/opencode-notifier) | 针对权限、完成和错误事件的桌面通知和声音警报 |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | 清理LLM生成的降价表 |
|
||||
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | 使用Morph Fast Apply API和取消编辑标记将代码编辑速度提高10倍 |
|
||||
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | 后台代理、预构建的LSP/AST/MCP工具、精选代理、兼容Claude代码 |
|
||||
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | opencode 会话的桌面通知和声音警报 |
|
||||
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | 针对权限、完成和错误事件的桌面通知和声音警报 |
|
||||
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | 基于 opencode 上下文的 AI 支持的自动 Zellij 会话命名 |
|
||||
| [opencode技巧](https://github.com/zenobi-us/opencode-skillful) | 允许opencode代理通过技能发现和注入失败延迟加载提示 |
|
||||
| [opencode超级内存](https://github.com/supermemoryai/opencode-supermemory) | 使用超级内存跨会话持久内存 |
|
||||
| [@ZZPH0ZZ](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | 具有視覺註釋和私人/離線共享的交互式計劃審查 |
|
||||
| [@ZZPH0ZZ](https://github.com/spoons-and-mirrors/subtask2) | 將opencode/命令擴展為具有精細流程控制的強大編排系統 |
|
||||
| [opencode调度程序](https://github.com/different-ai/opencode-scheduler) | 使用带 cron 语法的 launchd (Mac) 或 systemd (Linux) 安排重复作业 |
|
||||
| [微码](https://github.com/vtemian/micode) | 塑造头脑风暴 → 计划 → 实施具有会议连续性的工作流程 |
|
||||
| [奥克托](https://github.com/vtemian/octto) | 用于通过多问题形式进行AI头痛风暴的交互式浏览器UI |
|
||||
| [opencode-后台代理](https://github.com/kdcokenny/opencode-background-agents) | 具有异步委托和上下文持久性的Claude Code风格后台代理 |
|
||||
| [打开代码通知](https://github.com/kdcokenny/opencode-notify) | opencode 的本机操作系统通知 – 了解任务何时完成 |
|
||||
| [opencode工作区](https://github.com/kdcokenny/opencode-workspace) | 一堆多代理编排工具 – 16个,组件一次安装 |
|
||||
| [opencode工作树](https://github.com/kdcokenny/opencode-worktree) | opencode 的零难度 git 工作树 |
|
||||
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | 允许opencode代理通过技能发现和注入失败延迟加载提示 |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | 使用超级内存跨会话持久内存 |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | 具有視覺註釋和私人/離線共享的交互式計劃审查 |
|
||||
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | 将opencode/命令扩展为具有精細流程控制的強大編排系統 |
|
||||
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | 使用带 cron 语法的 launchd (Mac) 或 systemd (Linux) 安排重复作业 |
|
||||
| [micode](https://github.com/vtemian/micode) | 塑造头脑风暴 → 计划 → 实施具有会议连续性的工作流程 |
|
||||
| [octto](https://github.com/vtemian/octto) | 用于通过多问题形式进行AI头痛风暴的交互式浏览器UI |
|
||||
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | 具有异步委托和上下文持久性的Claude Code风格后台代理 |
|
||||
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | opencode 的本机操作系统通知 – 了解任务何时完成 |
|
||||
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | 一堆多代理编排工具 – 16个,组件一次安装 |
|
||||
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | opencode 的零难度 git 工作树 |
|
||||
|
||||
---
|
||||
|
||||
## 專案
|
||||
## 专案
|
||||
|
||||
| 名稱 | 描述 |
|
||||
| 名称 | 描述 |
|
||||
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------- |
|
||||
| [木牧](https://github.com/remorses/kimaki) | 用于控制 opencode 会话的 Discord 机器人,基于 SDK 构建 |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | 用于控制 opencode 会话的 Discord 机器人,基于 SDK 构建 |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim 插件,用于编辑器采集提示,基于 API 构建 |
|
||||
| [门户网站](https://github.com/hosenur/portal) | 通过Tailscale/VPN实现opencode的移动优先Web UI |
|
||||
| [打开代码插件模板](https://github.com/zenobi-us/opencode-plugin-template/) | 用于构建 opencode 插件的模板 |
|
||||
| [portal](https://github.com/hosenur/portal) | 通过Tailscale/VPN实现opencode的移动优先Web UI |
|
||||
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | 用于构建 opencode 插件的模板 |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Neovim opencode 前端 - 基于终端的 AI 编码代理 |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Vercel AI SDK 提供程序,用于通过 @opencode-ai/sdk 使用 opencode |
|
||||
| [开放室](https://github.com/btriapitsyn/openchamber) | opencode 的 Web/桌面應用程序和 VS Code 扩展 |
|
||||
| [opencode-Obsidian](https://github.com/mtymek/opencode-obsidian) | 在 Obsidian 的 UI 中嵌入 opencode 的 Obsidian 插件 |
|
||||
| [开放式工作](https://github.com/different-ai/openwork) | Claude Cowork 的替代开源方案,由 opencode 提供支持 |
|
||||
| [奥克斯](https://github.com/kdcokenny/ocx) | opencode扩展管理器具有可移植、隔离的配置文件。 |
|
||||
| [代码游牧者](https://github.com/NeuralNomadsAI/CodeNomad) | opencode 的桌面、Web、移动和远程客户端应用程序 |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Vercel AI SDK 提供商,用于通过 @opencode-ai/sdk 使用 opencode |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | opencode 的 Web/桌面应用程序和 VS Code 扩展 |
|
||||
| [OpenCode-Obsidian](https://github.com/mtymek/opencode-obsidian) | 在 Obsidian 的 UI 中嵌入 opencode 的 Obsidian 插件 |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Claude Cowork 的替代开源方案,由 opencode 提供支持 |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | opencode扩展管理器具有可移植、隔离的配置文件。 |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | opencode 的桌面、Web、移动和远程客户端应用程序 |
|
||||
|
||||
---
|
||||
|
||||
## 代理商
|
||||
|
||||
| 名稱 | 描述 |
|
||||
| 名称 | 描述 |
|
||||
| -------------------------------------------------------------- | ---------------------------------------- |
|
||||
| [代理](https://github.com/Cluster444/agentic) | 用于格式化开发的定价人工智能代理和命令] |
|
||||
| [opencode代理](https://github.com/darrenhinde/opencode-agents) | 用于增强工作流程的配置、提示、代理和插件 |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | 用于格式化开发的定价人工智能代理和命令] |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | 用于增强工作流程的配置、提示、代理和插件 |
|
||||
|
||||
@@ -14,8 +14,8 @@ opencode 不存储您的任何代码或上下文数据。
|
||||
|
||||
要开始使用opencode Enterprise:
|
||||
|
||||
1. 與您的團隊進行內部試驗。
|
||||
2. **<a href={email}>聯繫我們</a>**討論定價和實施選項。
|
||||
1. 与您的團隊進行内部試驗。
|
||||
2. **<a href={email}>聯繫我们</a>**討論定價和實施選項。
|
||||
|
||||
---
|
||||
|
||||
@@ -27,22 +27,22 @@ opencode 是开源的,不存储您的任何代码或上下文数据,因此
|
||||
|
||||
### 數據處理
|
||||
|
||||
**opencode 不会存储您的代码或上下文数据。 **所有处理都在本地进行或通过直接 API 调用您的 AI 成功。
|
||||
**opencode 不会存储您的代码或上下文数据。 **所有处理都在本地进行或通过直接 API 调用您的 AI 提供商。
|
||||
|
||||
這意味著只要您使用您信任的提供商或內部提供商
|
||||
这意味著只要您使用您信任的提供商或内部提供商
|
||||
AI网关,您可以安全使用opencode。
|
||||
|
||||
这里唯一需要注意的是可选的 `/share` 功能。
|
||||
|
||||
---
|
||||
|
||||
#### 分享對話
|
||||
#### 分享对话
|
||||
|
||||
如果启用用户 `/share` 功能,对话和关联的数据将被发送到我们用于在 opencode.ai 上托管这些共享页面的服务。
|
||||
|
||||
数据当前通过我们的CDN边缘网络提供服务,并缓存在用户附近的边缘。
|
||||
|
||||
我們建議您在試用時禁用此功能。
|
||||
我们建議您在試用時禁用此功能。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -63,14 +63,14 @@ AI网关,您可以安全使用opencode。
|
||||
|
||||
## 定價
|
||||
|
||||
我們對 opencode Enterprise 使用單機模型。如果您有自己的 LLM 網關,我們不會對使用的令牌收取費用。有關定價和實施選項的更多詳細信息,請**<a href={email}>聯繫我們</a>**。
|
||||
我们对 opencode Enterprise 使用單機模型。如果您有自己的 LLM 網關,我们不会对使用的Tokens收取费用。有關定價和實施選項的更多詳細信息,请**<a href={email}>聯繫我们</a>**。
|
||||
|
||||
---
|
||||
|
||||
## 部署
|
||||
|
||||
完成试验并准备好使用 opencode 后,请访问:
|
||||
您的組織,您可以**<a href={email}>聯繫我們</a>**進行討論
|
||||
您的組織,您可以**<a href={email}>聯繫我们</a>**進行討論
|
||||
定價和實施選項。
|
||||
|
||||
---
|
||||
@@ -79,13 +79,13 @@ AI网关,您可以安全使用opencode。
|
||||
|
||||
我们可以将 opencode 设置为您的整个组织使用单一的中央配置。
|
||||
|
||||
这种集中式配置可以与您的 SSO 成功集成,并确保所有用户仅访问您的内部 AI 网关。
|
||||
这种集中式配置可以与您的 SSO 提供商集成,并确保所有用户仅访问您的内部 AI 网关。
|
||||
|
||||
---
|
||||
|
||||
### 單點登錄集成
|
||||
|
||||
通过中央配置,opencode 可以与您组织的 SSO 成功集成以进行身份验证。
|
||||
通过中央配置,opencode 可以与您组织的 SSO 提供商集成以进行身份验证。
|
||||
|
||||
这使得 opencode 能够通过现有的身份管理系统获取内部 AI 网关的凭据。
|
||||
|
||||
@@ -101,10 +101,10 @@ AI网关,您可以安全使用opencode。
|
||||
|
||||
### 自託管
|
||||
|
||||
雖然我們建議禁用共享頁面以確保您的數據永遠不會離開
|
||||
您的組織,我們還可以幫助您在您的基礎設施上自行託管它們。
|
||||
雖然我们建議禁用共享頁面以確保您的數據永遠不会離開
|
||||
您的組織,我们还可以幫助您在您的基礎設施上自行託管它們。
|
||||
|
||||
目前這已在我們的路線圖上。如果您有興趣,**<a href={email}>讓我們知道</a>**。
|
||||
目前这已在我们的路線圖上。如果您有興趣,**<a href={email}>讓我们知道</a>**。
|
||||
|
||||
---
|
||||
|
||||
@@ -122,14 +122,14 @@ opencode Enterprise 适用于希望确保其代码和数据永远不会离开其
|
||||
|
||||
与您的团队进行内部实验即可。opencode 默认情况下不存储您的代码或上下文数据,可以轻松上手。
|
||||
|
||||
然後**<a href={email}>聯繫我們</a>**討論定價和實施選項。
|
||||
然後**<a href={email}>聯繫我们</a>**討論定價和實施選項。
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>企業定價如何運作? </summary>
|
||||
|
||||
我們提供按席位企業定價。如果您有自己的 LLM 網關,我們不會對使用的令牌收取費用。如需了解更多詳情,請**<a href={email}>聯繫我們</a>**,獲取根據您組織的需求定制的報價。
|
||||
我们提供按席位企業定價。如果您有自己的 LLM 網關,我们不会对使用的Tokens收取费用。如需了解更多详情,请**<a href={email}>聯繫我们</a>**,获取根據您組織的需求定制的報價。
|
||||
|
||||
</details>
|
||||
|
||||
@@ -141,18 +141,18 @@ opencode 不存储您的代码或上下文数据。所有处理都在本地进
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>我們可以使用自己的私有 NPM 註冊表嗎? </summary>
|
||||
<summary>我们可以使用自己的私有 NPM 註冊表嗎? </summary>
|
||||
|
||||
opencode 通过 Bun 的本机 `.npmrc` 文件支持来支持香蕉 npm 肥料。如果您的组织使用了花生,例如 JFrog Artifactory、Nexus 或类似的肥料,请确保开发人员在运行 opencode 之前经过身份验证。
|
||||
|
||||
要使用您的私有註冊表設置身份驗證:
|
||||
要使用您的私有註冊表设置身份验证:
|
||||
|
||||
```bash
|
||||
npm login --registry=https://your-company.jfrog.io/api/npm/npm-virtual/
|
||||
```
|
||||
|
||||
这将创建带有身份验证详细信息的 `~/.npmrc`。 opencode 会自动
|
||||
拿起這個。
|
||||
拿起这个。
|
||||
|
||||
:::caution
|
||||
在运行 opencode 之前,您必须登录灌木丛。
|
||||
|
||||
@@ -11,7 +11,7 @@ description: opencode 使用特定于语言的清理程序。
|
||||
|
||||
opencode附带了多个适用于流行语言和框架的内置初始化程序。下面是格式化程序、支持的文件扩展名以及所需的命令或配置选项的列表。
|
||||
|
||||
| 格式化程序 | 擴展 | 要求 |
|
||||
| 格式化程序 | 扩展 | 要求 |
|
||||
| ------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| 政府 | .go | `gofmt` 命令可用 |
|
||||
| 混合 | .ex、.exs、.eex、.heex、.leex、.neex、.sface | `mix` 命令可用 |
|
||||
@@ -46,11 +46,11 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
|
||||
当opencode写入或编辑文件时,它:
|
||||
|
||||
1. 根據所有啟用的格式化程序檢查文件擴展名。
|
||||
2. 對文件運行適當的格式化程序命令。
|
||||
3. 自動應用格式更改。
|
||||
1. 根據所有启用的格式化程序检查文件扩展名。
|
||||
2. 对文件運行適当的格式化程序命令。
|
||||
3. 自动应用格式更改。
|
||||
|
||||
此過程在後台進行,確保無需任何手動步驟即可維護您的代碼樣式。
|
||||
此过程在後台進行,確保無需任何手动步驟即可維護您的代碼樣式。
|
||||
|
||||
---
|
||||
|
||||
@@ -65,7 +65,7 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
}
|
||||
```
|
||||
|
||||
每個格式化程序配置支持以下內容:
|
||||
每个格式化程序配置支持以下內容:
|
||||
|
||||
| 物業 | 類型 | 描述 |
|
||||
| ------------- | -------- | -------------------------------- |
|
||||
@@ -74,7 +74,7 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
| `environment` | 对象 | 运行格式化程序时要设置的环境变量 |
|
||||
| `extensions` | 字符串[] | 此整理程序应处理的文件扩展名 |
|
||||
|
||||
讓我們看一些例子。
|
||||
讓我们看一些例子。
|
||||
|
||||
---
|
||||
|
||||
@@ -106,7 +106,7 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
|
||||
### 自定義格式化程序
|
||||
|
||||
您可以覆蓋內置格式化程序或通過指定命令、環境變量和文件擴展名添加新格式化程序:
|
||||
您可以覆盖内置格式化程序或通过指定命令、環境變量和文件扩展名添加新格式化程序:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ opencode 与您的 GitHub 工作流程集成。在评论中提及 `/opencode`
|
||||
|
||||
---
|
||||
|
||||
## 安裝
|
||||
## 安装
|
||||
|
||||
在 GitHub 存储库中的项目中运行以下命令:
|
||||
|
||||
@@ -27,9 +27,9 @@ opencode github install
|
||||
|
||||
---
|
||||
|
||||
### 手動設置
|
||||
### 手动设置
|
||||
|
||||
或者您可以手動設置。
|
||||
或者您可以手动设置。
|
||||
|
||||
1. 错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
|
||||
@@ -85,7 +85,7 @@ opencode github install
|
||||
- `agent`:要使用的代理。必须是一级代理。如果未找到,则从配置回退到 `default_agent` 或 `"build"`。
|
||||
- `share`:是否共享opencode会话。对于公共存储库,默认为**true**。
|
||||
- `prompt`:可选的自定义提示以覆盖默认行为。使用它来自定义 opencode 处理请求的方式。
|
||||
- `token`:可选的 GitHub 访问令牌,用于执行创建评论、提交更改和打开拉取请求等操作。默认情况下,opencode 使用来自 opencode GitHub 应用程序的安装访问令牌,因此提交、评论和拉取请求显示为来自应用。
|
||||
- `token`:可选的 GitHub 访问Tokens,用于执行创建评论、提交更改和打开拉取请求等操作。默认情况下,opencode 使用来自 opencode GitHub 应用程序的安装访问Tokens,因此提交、评论和拉取请求显示为来自应用。
|
||||
|
||||
或者,您可以使用 GitHub Action 运行程序的[内置`GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token),而无需安装 opencode GitHub 应用程序。只需确保在您的工作流程中所需的权限:
|
||||
|
||||
@@ -101,16 +101,16 @@ opencode github install
|
||||
|
||||
---
|
||||
|
||||
## 支持的活動
|
||||
## 支持的活动
|
||||
|
||||
opencode 可以由以下 GitHub 事件触发:
|
||||
|
||||
| 事件類型 | 觸發者 | 詳情 |
|
||||
| 事件類型 | 觸發者 | 详情 |
|
||||
| ----------------------------- | ---------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | 对问题或 PR 发表评论 | 在评论中提及 `/opencode` 或 `/oc`。 opencode 读取上下文并可以创建分支、打开 PR 或回复。 |
|
||||
| `pull_request_review_comment` | 对 PR 中的特定代码行进行评论 | 在检查代码时提及`/opencode` 或`/oc`。 opencode 接收文件路径、行号和 diff 上下文。 |
|
||||
| `issues` | 问题已打开或已编辑 | 创建或修改问题时自动触发opencode。需要`prompt` 输入。 |
|
||||
| `pull_request` | PR 已开启或已更新 | 当 PR 打开、同步或重新打开时自动触发 opencode。对于自动评论很有用。 |
|
||||
| `pull_request` | PR 已开启或已更新 | 当 PR 打开、同步或重新打开时自动触发 opencode。对于自动评论很有帮助。 |
|
||||
| `schedule` | 基于 Cron 的计划 | 按计划运行 opencode。需要 `prompt` 输入。输出进入日志和 PR(没有可评论的问题)。 |
|
||||
| `workflow_dispatch` | 从 GitHub UI 手动触发 | 通过“操作”选项卡触发 opencode。需要 `prompt` 输入。输出进入日志和 PR。 |
|
||||
|
||||
@@ -154,7 +154,7 @@ jobs:
|
||||
|
||||
---
|
||||
|
||||
### 拉取請求示例
|
||||
### 拉取请求示例
|
||||
|
||||
或更新公关时间自动审核:
|
||||
|
||||
@@ -197,7 +197,7 @@ jobs:
|
||||
|
||||
### 問題分類示例
|
||||
|
||||
自動分類新問題。此示例過濾超過 30 天的帳戶以減少垃圾郵件:
|
||||
自动分類新問題。此示例过濾超过 30 天的账户以減少垃圾郵件:
|
||||
|
||||
```yaml title=".github/workflows/opencode-triage.yml"
|
||||
name: Issue Triage
|
||||
@@ -265,7 +265,7 @@ jobs:
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
這對於執行與您的項目相關的特定審查標準、編碼標准或重點領域非常有用。
|
||||
这对于执行与您的項目相关的特定审查標準、編碼標准或重點領域非常有用。
|
||||
|
||||
---
|
||||
|
||||
@@ -273,7 +273,7 @@ jobs:
|
||||
|
||||
以下是如何在 GitHub 中使用 opencode 的一些示例。
|
||||
|
||||
- **解釋一個問題**
|
||||
- **解釋一个問題**
|
||||
|
||||
在 GitHub 问题中添加此评论。
|
||||
|
||||
@@ -313,9 +313,9 @@ jobs:
|
||||
```
|
||||
|
||||
错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
- 正在審查的確切文件
|
||||
- 正在审查的確切文件
|
||||
- 具體代碼行
|
||||
- 周围的差异上下文
|
||||
- 行號信息
|
||||
|
||||
這允許更有針對性的請求,而無需手動指定文件路徑或行號。
|
||||
这允许更有針对性的请求,而無需手动指定文件路徑或行號。
|
||||
|
||||
@@ -25,7 +25,7 @@ opencode 在常规 GitLab 管道中工作。您可以将其构建为管道 [CI](
|
||||
|
||||
---
|
||||
|
||||
### 設定
|
||||
### 设置
|
||||
|
||||
1. 将 opencode 身份验证 JSON 作为文件类型 CI 环境变量存储在 **设置** > **CI/CD** > **变量** 下。确保将它们标记为“隐藏和隐藏”。
|
||||
2. 将以下内容添加到您的 `.gitlab-ci.yml` 文件中。
|
||||
@@ -55,12 +55,12 @@ opencode 与您的 GitLab 工作流程集成。
|
||||
|
||||
- **分类问题**:要求 opencode 调查问题并向您解释。
|
||||
- **修复和实施**:要求opencode修复问题或实施功能。
|
||||
它將創建一個新分支並提出包含更改的合併請求。
|
||||
它将创建一个新分支并提出包含更改的合并请求。
|
||||
- **安全**:opencode 在您的 GitLab 运行器上运行。
|
||||
|
||||
---
|
||||
|
||||
### 設定
|
||||
### 设置
|
||||
|
||||
opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
@@ -70,10 +70,10 @@ opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
1. 配置您的 GitLab 环境
|
||||
2. 安装CI/CD
|
||||
3. 获取AI模型成功 API键
|
||||
4. 創建服務帳戶
|
||||
3. 获取AI模型提供商 API键
|
||||
4. 创建服務账户
|
||||
5. 配置 CI/CD 变量
|
||||
6. 創建一個流配置文件,這是一個示例:
|
||||
6. 创建一个流配置文件,这是一个示例:
|
||||
|
||||
<details>
|
||||
|
||||
@@ -164,7 +164,7 @@ opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
您可以配置使用 `@opencode` 不同的触发主板。
|
||||
:::
|
||||
|
||||
- **解釋一個問題**
|
||||
- **解釋一个問題**
|
||||
|
||||
在 GitLab 问题中添加此评论。
|
||||
|
||||
@@ -184,7 +184,7 @@ opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
opencode 将创建一个新分支,实施更改,并打开包含更改的合并请求。
|
||||
|
||||
- **審查合併請求**
|
||||
- **审查合并请求**
|
||||
|
||||
对 GitLab 合并请求留下以下评论。
|
||||
|
||||
|
||||
@@ -16,19 +16,19 @@ opencode 与 VS Code、Cursor 或任何支持终端的 IDE 集成。只需在终
|
||||
|
||||
---
|
||||
|
||||
## 安裝
|
||||
## 安装
|
||||
|
||||
要在 VS Code 和 Cursor、Windsurf、VSCodium 等流行分支上安装 opencode:
|
||||
|
||||
1. 打开VS代码
|
||||
2. 打開集成終端
|
||||
2. 打開集成终端
|
||||
3. 运行 `opencode` - 扩展会自动安装
|
||||
|
||||
另一方面,如果您想在从 TUI 运行 `/editor` 或 `/export` 时使用自己的 IDE,则需要设置 `export EDITOR="code --wait"`。 [了解更多](/docs/tui/#editor-setup)。
|
||||
|
||||
---
|
||||
|
||||
### 手動安裝
|
||||
### 手动安装
|
||||
|
||||
在扩展市场中搜索**opencode**,然后单击**安装**。
|
||||
|
||||
@@ -36,7 +36,7 @@ opencode 与 VS Code、Cursor 或任何支持终端的 IDE 集成。只需在终
|
||||
|
||||
### 故障排除
|
||||
|
||||
如果擴展無法自動安裝:
|
||||
如果扩展无法自动安装:
|
||||
|
||||
- 确定您在集成终止中运行`opencode`。
|
||||
- 确认您的 IDE 和 CLI 已安装:
|
||||
|
||||
@@ -11,25 +11,25 @@ export const console = config.console
|
||||
|
||||

|
||||
|
||||
讓我們開始吧。
|
||||
讓我们開始吧。
|
||||
|
||||
---
|
||||
|
||||
#### 先決條件
|
||||
#### 先決条件
|
||||
|
||||
要在终端中使用opencode,您需要:
|
||||
|
||||
1. 現代終端模擬器,例如:
|
||||
- [韦兹术语](https://wezterm.org),跨平台
|
||||
- [阿拉克里蒂](https://alacritty.org),跨平台
|
||||
- [幽灵般的](https://ghostty.org),Linux 和 macOS
|
||||
- [ 猫咪](https://sw.kovidgoyal.net/kitty/),Linux 和 macOS
|
||||
1. 现代终端模拟器,例如:
|
||||
- [WezTerm](https://wezterm.org),跨平台
|
||||
- [Alacritty](https://alacritty.org),跨平台
|
||||
- [Ghostty](https://ghostty.org),Linux 和 macOS
|
||||
- [Kitty](https://sw.kovidgoyal.net/kitty/),Linux 和 macOS
|
||||
|
||||
2. 您想要使用的 LLM 强大的 API 钥匙。
|
||||
2. 你要使用的 LLM 提供商 API 密钥。
|
||||
|
||||
---
|
||||
|
||||
## 安裝
|
||||
## 安装
|
||||
|
||||
安装 opencode 最简单的方法是通过安装脚本。
|
||||
|
||||
@@ -37,7 +37,7 @@ export const console = config.console
|
||||
curl -fsSL https://opencode.ai/install | bash
|
||||
```
|
||||
|
||||
您還可以使用以下命令安裝它:
|
||||
您还可以使用以下命令安装它:
|
||||
|
||||
- **使用 Node.js**
|
||||
|
||||
@@ -131,9 +131,9 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
|
||||
## 配置
|
||||
|
||||
借助 opencode,您可以通过配置 API 来使用任何 LLM 成功。
|
||||
借助 opencode,你可以通过配置 API 使用任意 LLM 提供商。
|
||||
|
||||
如果您不熟悉使用 LLM 成功,我们建议使用[OpenCode Zen](/docs/zen)。
|
||||
如果你刚开始使用 LLM 提供商,我们建议使用 [OpenCode Zen](/docs/zen)。
|
||||
这是经过 opencode 测试和验证的精选模型列表
|
||||
團隊。
|
||||
|
||||
@@ -154,13 +154,13 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
└ enter
|
||||
```
|
||||
|
||||
或者,您可以选择其他巨头之一。 [了解更多](/docs/providers#directory)。
|
||||
或者,你也可以选择其他提供商之一。[了解更多](/docs/providers#directory)。
|
||||
|
||||
---
|
||||
|
||||
## 初始化
|
||||
|
||||
現在您已經配置了提供程序,您可以導航到一個項目
|
||||
現在您已經配置了提供商,您可以导航到一个項目
|
||||
你想繼續工作。
|
||||
|
||||
```bash
|
||||
@@ -187,7 +187,7 @@ opencode
|
||||
:::
|
||||
|
||||
这有助于 opencode 理解项目结构和编码模式
|
||||
用過的。
|
||||
用过的。
|
||||
|
||||
---
|
||||
|
||||
@@ -213,7 +213,7 @@ opencode
|
||||
How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
如果您沒有處理代碼庫的一部分,這會很有幫助。
|
||||
如果您沒有處理代碼庫的一部分,这会很有幫助。
|
||||
|
||||
---
|
||||
|
||||
@@ -224,7 +224,7 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
1. **制定計劃**
|
||||
|
||||
opencode 有一个*计划模式*,该模式禁止其进行更改和
|
||||
相反,建議*如何*實現該功能。
|
||||
相反,建議*如何*實現该功能。
|
||||
|
||||
使用 **Tab** 键切换到它。您会在右下角有一个指示符。
|
||||
|
||||
@@ -232,7 +232,7 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
<TAB>
|
||||
```
|
||||
|
||||
現在讓我們描述一下我們想要它做什麼。
|
||||
現在讓我们描述一下我们想要它做什麼。
|
||||
|
||||
```txt frame="none"
|
||||
When a user deletes a note, we'd like to flag it as deleted in the database.
|
||||
@@ -241,7 +241,7 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
您需要为 opencode 提供足够的详细信息才能了解您想要的内容。它有帮助
|
||||
就像與團隊中的初級開發人員交談一樣與它交談。
|
||||
就像与團隊中的初級開發人員交談一樣与它交談。
|
||||
|
||||
:::提示
|
||||
为 opencode 提供大量上下文和示例,以帮助其理解您的内容
|
||||
@@ -250,7 +250,7 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
|
||||
2. **迭代計劃**
|
||||
|
||||
一旦它為您提供了計劃,您就可以提供反饋或添加更多詳細信息。
|
||||
一旦它为您提供了計劃,您就可以提供反饋或添加更多詳細信息。
|
||||
|
||||
```txt frame="none"
|
||||
We'd like to design this new screen using a design I've used before.
|
||||
@@ -258,22 +258,22 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
:::提示
|
||||
將圖像拖放到終端中以將其添加到提示中。
|
||||
将圖像拖放到终端中以将其添加到提示中。
|
||||
:::
|
||||
|
||||
opencode 可以扫描您提供的任何图像并将其添加到提示中。您可以
|
||||
通過將圖像拖放到終端中來完成此操作。
|
||||
通过将圖像拖放到终端中來完成此操作。
|
||||
|
||||
3. **構建功能**
|
||||
|
||||
一旦您對計劃感到滿意,請切換回*構建模式*
|
||||
一旦您对計劃感到滿意,请切換回*構建模式*
|
||||
再次按 **Tab** 键。
|
||||
|
||||
```bash frame="none"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
並要求它做出改變。
|
||||
并要求它做出改變。
|
||||
|
||||
```bash frame="none"
|
||||
Sounds good! Go ahead and make the changes.
|
||||
@@ -284,7 +284,7 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
### 做出改變
|
||||
|
||||
对于更直接的更改,您可以要求 opencode 直接构建它
|
||||
無需先審查計劃。
|
||||
無需先审查計劃。
|
||||
|
||||
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
|
||||
We need to add authentication to the /settings route. Take a look at how this is
|
||||
@@ -305,7 +305,7 @@ the same logic in @packages/functions/src/settings.ts
|
||||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
```
|
||||
|
||||
但你意識到這不是你想要的。您**可以撤消**更改
|
||||
但你意識到这不是你想要的。您**可以撤消**更改
|
||||
使用 `/undo` 命令。
|
||||
|
||||
```bash frame="none"
|
||||
@@ -322,7 +322,7 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
您可以从这里调整提示并要求 opencode 重试。
|
||||
|
||||
:::tip
|
||||
您可以多次运行 `/undo` 以取消消减更改。
|
||||
您可以多次运行 `/undo` 以撤销多次更改。
|
||||
:::
|
||||
|
||||
或者您**可以使用 `/redo` 命令重做**更改。
|
||||
@@ -342,10 +342,10 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
/share
|
||||
```
|
||||
|
||||
這將創建當前對話的鏈接並將其複製到剪貼板。
|
||||
这会创建当前对话的链接并复制到剪贴板。
|
||||
|
||||
:::note
|
||||
默認情況下不共享對話。
|
||||
默認情况下不共享对话。
|
||||
:::
|
||||
|
||||
这是带有 opencode 的[示例对话](https://opencode.ai/s/4XP1fce5)。
|
||||
@@ -354,6 +354,6 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
|
||||
## 定制
|
||||
|
||||
就是这样!您现在已经是使用 opencode 的专家了。
|
||||
就是这样!你现在已经是 opencode 高手了。
|
||||
|
||||
要让您成为自己的,我们建议[选择一个主题](/docs/themes)、[自定义交互绑定](/docs/keybinds)、[配置代码整理程序](/docs/formatters)、[创建自定义命令](/docs/commands)或使用[opencode配置](/docs/config)。
|
||||
|
||||
@@ -105,13 +105,13 @@ opencode 有一个按键绑定列表,您可以通过 opencode 配置进行自
|
||||
|
||||
---
|
||||
|
||||
## 領袖鑰匙
|
||||
## Leader key
|
||||
|
||||
opencode 对大多数按键绑定使用 `leader` 键。这可以避免终端中的冲突。
|
||||
|
||||
默认情况下,`ctrl+x` 是主键,大多数操作要求您先按主键,再按键盘。例如,要开始新会话,请先按 `ctrl+x`,然后按 `n`。
|
||||
|
||||
您不需要為鍵綁定使用主鍵,但我們建議您這樣做。
|
||||
您不需要为鍵綁定使用主鍵,但我们建議您这樣做。
|
||||
|
||||
---
|
||||
|
||||
@@ -148,7 +148,7 @@ opencode 桌面应用程序提示输入支持常见的 Readline/Emacs 风格的
|
||||
| `ctrl+w` | 删除前一个单词 |
|
||||
| `alt+d` | 杀死下一个词 |
|
||||
| `ctrl+t` | 转置字符 |
|
||||
| `ctrl+g` | 取消彈出窗口/中止運行響應 |
|
||||
| `ctrl+g` | 取消彈出窗口/中止運行響应 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
| `env` | 对象 | 启动服务器时设置的环境变量 |
|
||||
| `initialization` | 对象 | 发送到LSP服务器的初始化选项 |
|
||||
|
||||
讓我們看一些例子。
|
||||
讓我们看一些例子。
|
||||
|
||||
---
|
||||
|
||||
@@ -185,4 +185,4 @@ PHP Intelephense 通过许可证密钥提供高级功能。您可以通过将(
|
||||
- 在 macOS/Linux 上:`$HOME/intelephense/licence.txt`
|
||||
- 在 Windows 上:`%USERPROFILE%/intelephense/licence.txt`
|
||||
|
||||
該文件應僅包含許可證密鑰,不包含其他內容。
|
||||
该文件应仅包含許可證密钥,不包含其他內容。
|
||||
|
||||
@@ -44,7 +44,7 @@ MCP服务器会添加到您的上下文中,因此您需要小心启用哪些
|
||||
|
||||
---
|
||||
|
||||
### 覆蓋遠程默認值
|
||||
### 覆盖遠程默認值
|
||||
|
||||
组织可以通过其 `.well-known/opencode` 端点提供默认的 MCP 服务器。这些服务器可能默认被禁用,允许用户选择他们需要的服务器。
|
||||
|
||||
@@ -67,7 +67,7 @@ MCP服务器会添加到您的上下文中,因此您需要小心启用哪些
|
||||
|
||||
---
|
||||
|
||||
## 當地的
|
||||
## 当地的
|
||||
|
||||
使用`type`将本地MCP服务器添加到MCP对像中的`"local"`。
|
||||
|
||||
@@ -169,11 +169,11 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
|
||||
|
||||
1. 检测 401 响应并启动 OAuth 流程
|
||||
2. 如果服务器支持,请使用**动态客户端注册 (RFC 7591)**
|
||||
3. 安全地存儲令牌以供將來的請求
|
||||
3. 安全地存儲Tokens以供将來的请求
|
||||
|
||||
---
|
||||
|
||||
### 自動的
|
||||
### 自动的
|
||||
|
||||
对于大多数支持 OAuth 的 MCP 配置服务器,不需要特殊配置。只需远程服务器:
|
||||
|
||||
@@ -189,7 +189,7 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
|
||||
}
|
||||
```
|
||||
|
||||
如果服務器需要身份驗證,opencode 將在您第一次嘗試使用它時提示您進行身份驗證。如果沒有,您可以使用 `opencode mcp auth <server-name>`[手動觸發流量](#authenticating)。
|
||||
如果服務器需要身份验证,opencode 将在您第一次嘗試使用它時提示您进行身份验证。如果沒有,您可以使用 `opencode mcp auth <server-name>`[手动觸發流量](#authenticating)。
|
||||
|
||||
---
|
||||
|
||||
@@ -218,7 +218,7 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
|
||||
|
||||
### 正在驗證
|
||||
|
||||
您可以手動觸發身份驗證或管理憑據。
|
||||
您可以手动觸發身份验证或管理憑據。
|
||||
|
||||
使用特定MCP服务器进行身份验证:
|
||||
|
||||
@@ -232,13 +232,13 @@ opencode mcp auth my-oauth-server
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
刪除存儲的憑據:
|
||||
删除存儲的憑據:
|
||||
|
||||
```bash
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
`mcp auth` 命令将打开您的浏览器进行授权。授权后,opencode 令牌安全地存储在 `~/.local/share/opencode/mcp-auth.json` 中。
|
||||
`mcp auth` 命令将打开您的浏览器进行授权。授权后,opencode Tokens安全地存储在 `~/.local/share/opencode/mcp-auth.json` 中。
|
||||
|
||||
---
|
||||
|
||||
@@ -297,7 +297,7 @@ opencode mcp debug my-oauth-server
|
||||
|
||||
### 全球的
|
||||
|
||||
這意味著您可以全局啟用或禁用它們。
|
||||
这意味著您可以全局启用或禁用它們。
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
@@ -343,11 +343,11 @@ opencode mcp debug my-oauth-server
|
||||
|
||||
---
|
||||
|
||||
### 每個代理人
|
||||
### 每个代理人
|
||||
|
||||
如果您有大量 MCP 服务器,您可以选择为每个代理启用它们并全局取消它们。因此:
|
||||
|
||||
1. 全局禁用它作為工具。
|
||||
1. 全局禁用它作为工具。
|
||||
2. 在您的[代理配置](/docs/agents#tools)中,启用MCP作为服务器工具。
|
||||
|
||||
```json title="opencode.json" {11, 14-18}
|
||||
@@ -380,7 +380,7 @@ opencode mcp debug my-oauth-server
|
||||
glob 模式使用简单的正则表达式 globbing 模式:
|
||||
|
||||
- `*` 匹配零个或多个任意字符(例如,`"my-mcp*"` 匹配 `my-mcp_search`、`my-mcp_list` 等)
|
||||
- `?` 恰好匹配一個字符
|
||||
- `?` 恰好匹配一个字符
|
||||
- 所有其他字符均按字面意思匹配
|
||||
|
||||
:::note
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
---
|
||||
title: 型號
|
||||
description: 配置LLM提供者和模型。
|
||||
title: 模型
|
||||
description: 配置 LLM 提供商和模型。
|
||||
---
|
||||
|
||||
opencode 使用[人工智能软件开发工具包](https://ai-sdk.dev/) 和[模型.dev](https://models.dev) 来支持**75+ LLM 成功**,并且支持运行本地模型。
|
||||
opencode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.dev) 支持 **75+ LLM 提供商**,并支持运行本地模型。
|
||||
|
||||
---
|
||||
|
||||
## 供應商
|
||||
## 提供商
|
||||
|
||||
默认情况下会预加载大多数流行的提供程序。如果您已通过 `/connect` 命令添加了提供程序的辅助程序,那么它们将在您启动 opencode 时可用。
|
||||
默认会预加载大多数流行的提供商。如果您已通过 `/connect` 命令添加了提供商的凭据,那么它们将在您启动 opencode 时可用。
|
||||
|
||||
了解有关[提供者](/docs/providers) 的更多信息。
|
||||
了解有关[提供商](/docs/providers) 的更多信息。
|
||||
|
||||
---
|
||||
|
||||
## 選擇型號
|
||||
## 选择模型
|
||||
|
||||
配置完提供商後,您可以通過輸入以下內容來選擇您想要的型號:
|
||||
配置完提供商後,您可以通过輸入以下內容來选择您想要的模型:
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
@@ -25,15 +25,15 @@ opencode 使用[人工智能软件开发工具包](https://ai-sdk.dev/) 和[模
|
||||
|
||||
---
|
||||
|
||||
## 推薦型號
|
||||
## 推薦模型
|
||||
|
||||
那裡有很多型號,每週都會有新型號問世。
|
||||
那裡有很多模型,每週都会有新模型問世。
|
||||
|
||||
:::tip
|
||||
考慮使用我們推薦的模型之一。
|
||||
考慮使用我们推薦的模型之一。
|
||||
:::
|
||||
|
||||
然而,既擅長生成代碼又擅長工具調用的只有少數。
|
||||
然而,既擅長生成代碼又擅長工具调用的只有少數。
|
||||
|
||||
以下是与 opencode 配合良好的几个模型,排名不分前面。(这不是好看的列表,也不一定是最新的):
|
||||
|
||||
@@ -42,13 +42,13 @@ opencode 使用[人工智能软件开发工具包](https://ai-sdk.dev/) 和[模
|
||||
- 近距離工作4.5
|
||||
- 克勞德十四行詩 4.5
|
||||
- 极小极M2.1
|
||||
- 雙子座 3 專業版
|
||||
- 雙子座 3 专業版
|
||||
|
||||
---
|
||||
|
||||
## 設置默認值
|
||||
## 设置默認值
|
||||
|
||||
要將其中之一設置為默認模型,您可以在您的
|
||||
要将其中之一设置为默認模型,您可以在您的
|
||||
打開代碼配置。
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
@@ -100,12 +100,12 @@ opencode 使用[人工智能软件开发工具包](https://ai-sdk.dev/) 和[模
|
||||
}
|
||||
```
|
||||
|
||||
在这里,我们为两个内置模型配置全局设置:`gpt-5`(通过 `openai` 提供程序访问时间)和 `claude-sonnet-4-20250514`(通过 `anthropic` 提供程序访问时间)。
|
||||
内置结构和型号名称可以在[模型.dev](https://models.dev) 上找到。
|
||||
在这里,我们为两个内置模型配置全局设置:`gpt-5`(通过 `openai` 提供商访问)和 `claude-sonnet-4-20250514`(通过 `anthropic` 提供商访问)。
|
||||
内置结构和模型名称可以在[Models.dev](https://models.dev) 上找到。
|
||||
|
||||
您还可以为您正在使用的任何代理配置这些选项。代理配置会覆盖此处的所有全局选项。 [了解更多](/docs/agents/#additional)。
|
||||
|
||||
您還可以定義擴展內置變體的自定義變體。變體允許您為同一模型配置不同的設置,而無需創建重複的條目:
|
||||
你还可以定义扩展内置 variants 的自定义 variants。variants 允许你为同一模型配置不同设置,而无需创建重复条目:
|
||||
|
||||
```jsonc title="opencode.jsonc" {6-21}
|
||||
{
|
||||
@@ -137,9 +137,9 @@ opencode 使用[人工智能软件开发工具包](https://ai-sdk.dev/) 和[模
|
||||
|
||||
## 變體
|
||||
|
||||
许多型号支持具有不同配置的多种变体。opencode附带了流行建设的内置默认变体。
|
||||
许多模型支持具有不同配置的多种变体。opencode附带了流行建设的内置默认变体。
|
||||
|
||||
### 內置變體
|
||||
### 内置變體
|
||||
|
||||
opencode 附带了许多重大的默认变体:
|
||||
|
||||
@@ -150,7 +150,7 @@ opencode 附带了许多重大的默认变体:
|
||||
|
||||
**OpenAI**:
|
||||
|
||||
因型號而異,但大致如下:
|
||||
因模型而異,但大致如下:
|
||||
|
||||
- `none` - 没有推理
|
||||
- `minimal` - 最少的推理工作
|
||||
@@ -161,16 +161,16 @@ opencode 附带了许多重大的默认变体:
|
||||
|
||||
**谷歌**:
|
||||
|
||||
- `low` - 降低工作量/代幣預算
|
||||
- `high` - 更高的努力/代幣預算
|
||||
- `low` - 降低工作量/Tokens預算
|
||||
- `high` - 更高的努力/Tokens預算
|
||||
|
||||
:::tip
|
||||
該列表並不全面。許多其他提供商也有內置的默認值。
|
||||
该列表并不全面。許多其他提供商也有内置的默認值。
|
||||
:::
|
||||
|
||||
### 定制變體
|
||||
|
||||
您可以覆蓋現有變體或添加您自己的變體:
|
||||
您可以覆盖現有變體或添加您自己的變體:
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-18}
|
||||
{
|
||||
@@ -218,6 +218,6 @@ opencode 附带了许多重大的默认变体:
|
||||
|
||||
这里的格式是`provider/model`。
|
||||
|
||||
3. 最後使用的型號。
|
||||
3. 最后使用的模型。
|
||||
|
||||
4. 第一個模型使用內部優先級。
|
||||
4. 第一个模型使用内部优先級。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 模式
|
||||
description: 不同的模式適用於不同的用例。
|
||||
description: 不同的模式適用于不同的用例。
|
||||
---
|
||||
|
||||
:::caution
|
||||
@@ -10,10 +10,10 @@ description: 不同的模式適用於不同的用例。
|
||||
|
||||
opencode 中的模式允许自定义不同的示例行为、工具和提示。
|
||||
|
||||
它具有兩種內置模式:**構建**和**計劃**。您可以定制
|
||||
它具有两种内置模式:**構建**和**計劃**。您可以定制
|
||||
这些或通过 opencode 配置配置您自己的。
|
||||
|
||||
您可以在會話期間在模式之間切換或在配置文件中配置它們。
|
||||
您可以在会话期間在模式之間切換或在配置文件中配置它們。
|
||||
|
||||
---
|
||||
|
||||
@@ -25,13 +25,13 @@ opencode 有两种内置模式。
|
||||
|
||||
### 建造
|
||||
|
||||
構建是啟用所有工具的**默認**模式。這是開發工作的標準模式,您需要完全訪問文件操作和系統命令。
|
||||
構建是启用所有工具的**默認**模式。这是開發工作的標準模式,您需要完全访问文件操作和系統命令。
|
||||
|
||||
---
|
||||
|
||||
### 計劃
|
||||
|
||||
專為規劃和分析而設計的受限模式。在計劃模式下,默認情況下禁用以下工具:
|
||||
专为規劃和分析而設計的受限模式。在計劃模式下,默認情况下禁用以下工具:
|
||||
|
||||
- `write` - 无法创建新文件
|
||||
- `edit` - 无法修改现有文件,位于 `.opencode/plans/*.md` 的用于详细说明计划本身的文件另外
|
||||
@@ -52,7 +52,7 @@ opencode 有两种内置模式。
|
||||
|
||||
## 配置
|
||||
|
||||
您可以自定義內置模式或通過配置創建自己的模式。可以通過兩種方式配置模式:
|
||||
您可以自定義内置模式或通过配置创建自己的模式。可以通过两种方式配置模式:
|
||||
|
||||
### JSON 配置
|
||||
|
||||
@@ -83,7 +83,7 @@ opencode 有两种内置模式。
|
||||
}
|
||||
```
|
||||
|
||||
### 降價配置
|
||||
### Markdown 配置
|
||||
|
||||
您还可以使用 Markdown 文件定义模式。将它们放入:
|
||||
|
||||
@@ -112,13 +112,13 @@ Provide constructive feedback without making direct changes.
|
||||
|
||||
Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模式)。
|
||||
|
||||
讓我們詳細看看這些配置選項。
|
||||
讓我们詳細看看这些配置選項。
|
||||
|
||||
---
|
||||
|
||||
### 模型
|
||||
|
||||
使用`model`配置覆盖此模式的默认模型。对于使用针对不同任务优化的不同模型很有用。例如,更快的规划模型、更强大的实施模型。
|
||||
使用`model`配置覆盖此模式的默认模型。对于使用针对不同任务优化的不同模型很有帮助。例如,更快的规划模型、更强大的实施模型。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -149,11 +149,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"
|
||||
{
|
||||
@@ -191,7 +191,7 @@ Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模
|
||||
}
|
||||
```
|
||||
|
||||
該路徑是相對於配置文件所在位置的。所以這適用於
|
||||
该路徑是相对于配置文件所在位置的。所以这適用于
|
||||
全局opencode配置和项目特定配置。
|
||||
|
||||
---
|
||||
@@ -217,13 +217,13 @@ Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模
|
||||
}
|
||||
```
|
||||
|
||||
如果未指定任何工具,則默認啟用所有工具。
|
||||
如果未指定任何工具,则默認启用所有工具。
|
||||
|
||||
---
|
||||
|
||||
#### 可用工具
|
||||
|
||||
這裡是所有可以通過模式配置控制的工具。
|
||||
这裡是所有可以通过模式配置控制的工具。
|
||||
|
||||
| 工具 | 描述 |
|
||||
| ----------- | ---------------- |
|
||||
@@ -243,7 +243,7 @@ Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模
|
||||
|
||||
## 自定義模式
|
||||
|
||||
您可以通過將自定義模式添加到配置來創建自己的自定義模式。以下是使用這兩種方法的示例:
|
||||
您可以通过将自定義模式添加到配置來创建自己的自定義模式。以下是使用这两种方法的示例:
|
||||
|
||||
### 使用 JSON 配置
|
||||
|
||||
@@ -322,10 +322,10 @@ Priorities:
|
||||
|
||||
以下是不同模式的一些常見用例。
|
||||
|
||||
- **構建模式**:啟用所有工具的完整開發工作
|
||||
- **構建模式**:启用所有工具的完整開發工作
|
||||
- **計劃模式**:分析和計劃,無需更改
|
||||
- **審閱模式**:使用只讀訪問權限和文檔工具進行代碼審閱
|
||||
- **审阅模式**:使用只讀访问权限和文档工具進行代碼审阅
|
||||
- **调试模式**:专注于启用bash和读取工具的调查
|
||||
- **文檔模式**:使用文件操作但不使用系統命令的文檔編寫
|
||||
- **文档模式**:使用文件操作但不使用系統命令的文档編寫
|
||||
|
||||
您可能還會發現不同的模型適用於不同的用例。
|
||||
您可能还会發現不同的模型適用于不同的用例。
|
||||
|
||||
@@ -39,7 +39,7 @@ export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
```
|
||||
|
||||
:::caution
|
||||
避免對密碼進行硬編碼。使用環境變量或安全憑證存儲。
|
||||
避免对密碼進行硬編碼。使用環境變量或安全憑證存儲。
|
||||
:::
|
||||
|
||||
对于需要高级身份验证(例如 NTLM 或 Kerberos)的代理,请考虑使用支持您的身份验证方法的 LLM 网关。
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 權限
|
||||
title: 权限
|
||||
description: 控制哪些操作需要批准才能運行。
|
||||
---
|
||||
|
||||
@@ -11,7 +11,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
|
||||
|
||||
## 行動
|
||||
|
||||
每個權限規則解析為以下之一:
|
||||
每个权限规则解析为以下之一:
|
||||
|
||||
- `"allow"` — 尚未批准运行
|
||||
- `"ask"` — 提示批准
|
||||
@@ -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) 规则特别有用。
|
||||
|
||||
@@ -86,7 +86,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
|
||||
- `$HOME/projects/*` -> `/Users/username/projects/*`
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### 外部目錄
|
||||
### 外部目录
|
||||
|
||||
使用 `external_directory` 允许工具调用启动 opencode 的工作目录之外的路径。这适用于任何采用路径作为输入的工具(例如 `read`、`edit`、`list`、`glob`、`grep` 和许多Z`bash` 命令)。
|
||||
|
||||
@@ -125,7 +125,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
|
||||
|
||||
---
|
||||
|
||||
## 可用權限
|
||||
## 可用权限
|
||||
|
||||
opencode权限由工具名称和一些安全防护措施决定:
|
||||
|
||||
@@ -146,7 +146,7 @@ opencode权限由工具名称和一些安全防护措施决定:
|
||||
|
||||
---
|
||||
|
||||
## 預設值
|
||||
## 默认值
|
||||
|
||||
如果您未指定任何内容,opencode分散许可的默认值开始:
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ description: 编写您自己的插件来扩展 opencode。
|
||||
|
||||
## 使用插件
|
||||
|
||||
有兩種加載插件的方法。
|
||||
有两种加載插件的方法。
|
||||
|
||||
---
|
||||
|
||||
@@ -22,7 +22,7 @@ description: 编写您自己的插件来扩展 opencode。
|
||||
- `.opencode/plugins/` - 项目级插件
|
||||
- `~/.config/opencode/plugins/` - 全局插件
|
||||
|
||||
這些目錄中的文件會在啟動時自動加載。
|
||||
这些目录中的文件会在启动時自动加載。
|
||||
|
||||
---
|
||||
|
||||
@@ -43,7 +43,7 @@ description: 编写您自己的插件来扩展 opencode。
|
||||
|
||||
---
|
||||
|
||||
### 插件是如何安裝的
|
||||
### 插件是如何安装的
|
||||
|
||||
**npm 插件** 在启动时使用 Bun 自动安装。包及其依赖项缓存在 `~/.cache/opencode/node_modules/` 中。
|
||||
|
||||
@@ -51,9 +51,9 @@ description: 编写您自己的插件来扩展 opencode。
|
||||
|
||||
---
|
||||
|
||||
### 加載順序
|
||||
### 加載顺序
|
||||
|
||||
插件從所有源加載,所有掛鉤按順序運行。加載順序為:
|
||||
插件從所有源加載,所有掛鉤按顺序運行。加載顺序为:
|
||||
|
||||
1. 全局配置 (`~/.config/opencode/opencode.json`)
|
||||
2. 项目配置(`opencode.json`)
|
||||
@@ -64,10 +64,10 @@ description: 编写您自己的插件来扩展 opencode。
|
||||
|
||||
---
|
||||
|
||||
## 創建一個插件
|
||||
## 创建一个插件
|
||||
|
||||
插件是一个 **JavaScript/TypeScript 模块多个**,它导出一个或插件
|
||||
功能。每個函數接收一個上下文對象並返回一個鉤子對象。
|
||||
功能。每个函數接收一个上下文对象并返回一个鉤子对象。
|
||||
|
||||
---
|
||||
|
||||
@@ -139,7 +139,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
|
||||
---
|
||||
|
||||
### 活動
|
||||
### 活动
|
||||
|
||||
插件可以訂閱事件,如下面的示例部分所示。以下是可用的不同事件的列表。
|
||||
|
||||
@@ -152,7 +152,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
- `file.edited`
|
||||
- `file.watcher.updated`
|
||||
|
||||
#### 安裝活動
|
||||
#### 安装活动
|
||||
|
||||
- `installation.updated`
|
||||
|
||||
@@ -168,7 +168,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
- `message.removed`
|
||||
- `message.updated`
|
||||
|
||||
#### 權限事件
|
||||
#### 权限事件
|
||||
|
||||
- `permission.asked`
|
||||
- `permission.replied`
|
||||
@@ -177,7 +177,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
|
||||
- `server.connected`
|
||||
|
||||
#### 會議活動
|
||||
#### 会话活动
|
||||
|
||||
- `session.created`
|
||||
- `session.compacted`
|
||||
@@ -188,11 +188,11 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
- `session.status`
|
||||
- `session.updated`
|
||||
|
||||
#### 都都活動
|
||||
#### 都都活动
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### 殼牌活動
|
||||
#### 殼牌活动
|
||||
|
||||
- `shell.env`
|
||||
|
||||
@@ -201,7 +201,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
- `tool.execute.after`
|
||||
- `tool.execute.before`
|
||||
|
||||
#### TUI 活動
|
||||
#### TUI 活动
|
||||
|
||||
- `tui.prompt.append`
|
||||
- `tui.command.execute`
|
||||
@@ -217,7 +217,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
|
||||
|
||||
### 發送通知
|
||||
|
||||
當某些事件發生時發送通知:
|
||||
当某些事件發生時發送通知:
|
||||
|
||||
```js title=".opencode/plugins/notification.js"
|
||||
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
@@ -306,7 +306,7 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
|
||||
- `args`:Zod 模式的工具参数
|
||||
- `execute`:调用工具时运行的函数
|
||||
|
||||
您的自定義工具將可與內置工具一起用於opencode。
|
||||
您的自定義工具将可与内置工具一起用于opencode。
|
||||
|
||||
---
|
||||
|
||||
@@ -333,7 +333,7 @@ export const MyPlugin = async ({ client }) => {
|
||||
|
||||
### 壓實鉤
|
||||
|
||||
自定義壓縮會話時包含的上下文:
|
||||
自定義壓縮会话時包含的上下文:
|
||||
|
||||
```ts title=".opencode/plugins/compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
@@ -1,37 +1,36 @@
|
||||
---
|
||||
title: 供應商
|
||||
description: 使用 opencode 中的任何 LLM 提供程式。
|
||||
title: 提供商
|
||||
description: 在 opencode 中使用任意 LLM 提供商。
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
|
||||
opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support **75+ LLM providers** and it supports running local models.
|
||||
opencode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.dev),支持 **75+ LLM 提供商**,也支持运行本地模型。
|
||||
|
||||
要新增提供商,您需要:
|
||||
要添加提供商,你需要:
|
||||
|
||||
1. 使用 `/connect` 命令新增提供 API 程序金钥匙。
|
||||
2. 在您的 opencode 配置中配置提供程式。
|
||||
1. 使用 `/connect` 命令添加提供商的 API 密钥。
|
||||
2. 在 opencode 配置中设置该提供商。
|
||||
|
||||
---
|
||||
|
||||
### 證書
|
||||
### 凭据
|
||||
|
||||
当您使用 `/connect` 命令再次成功的 API 时,它们会被存储
|
||||
in `~/.local/share/opencode/auth.json`.
|
||||
当你使用 `/connect` 命令添加提供商 API 后,凭据会存储在
|
||||
`~/.local/share/opencode/auth.json`。
|
||||
|
||||
---
|
||||
|
||||
### 配置
|
||||
|
||||
您可以利用 opencode 中的 `provider` 部分自定义提供程序
|
||||
配置。
|
||||
你可以使用 opencode 配置中的 `provider` 部分自定义提供商配置。
|
||||
|
||||
---
|
||||
|
||||
#### 基本網址
|
||||
|
||||
您可以通过设置 `baseURL` 选项来自定义任何提供程序的基本 URL。这在使用代理服务或自定义端点时非常有用。
|
||||
您可以通过设置 `baseURL` 选项来自定义任何提供商的基本 URL。这在使用代理服务或自定义端点时非常有用。
|
||||
|
||||
```json title="opencode.json" {6}
|
||||
{
|
||||
@@ -63,9 +62,9 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
/connect
|
||||
```
|
||||
|
||||
2. 登入,新增您的账单详细信息,然后复制您的 API 金钥匙。
|
||||
2. 登录,添加您的账单详细信息,然后复制您的 API 密钥。
|
||||
|
||||
3. 贴上您的 API 金钥匙。
|
||||
3. 贴上您的 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -74,7 +73,7 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 在 TUI 中执行 `/models` 以检视我们推荐的型号列表。
|
||||
4. 在 TUI 中执行 `/models` 以查看我们推荐的模型列表。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -84,13 +83,13 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
|
||||
---
|
||||
|
||||
## 目錄
|
||||
## 目录
|
||||
|
||||
讓我們詳細瞭解一些提供商。如果您想將提供商新增到
|
||||
讓我们詳細瞭解一些提供商。如果您想将提供商添加到
|
||||
列表,请随时开启PR。
|
||||
|
||||
:::note
|
||||
在这里没有看到成功?提交 PR。
|
||||
没看到你要的提供商?欢迎提交 PR。
|
||||
:::
|
||||
|
||||
---
|
||||
@@ -105,7 +104,7 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 302.AI API 金钥匙。
|
||||
3. 输入您的 302.AI API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -114,7 +113,7 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -127,15 +126,15 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
相当于 Amazon Bedrock 与 opencode 结合使用:
|
||||
|
||||
1. 前往 Amazon Bedrock 控制台中的 **模型目录** 并请求
|
||||
訪問您想要的模型。
|
||||
访问您想要的模型。
|
||||
|
||||
:::提示
|
||||
您需要能够在 Amazon Bedrock 中访问所需的模型。
|
||||
:::
|
||||
|
||||
2. **使用以下方法之一配置身份驗證**:
|
||||
2. **使用以下方法之一配置身份验证**:
|
||||
|
||||
#### 環境變數(快速啟動)
|
||||
#### 环境变量(快速启动)
|
||||
|
||||
执行 opencode 时设置以下环境变量之一:
|
||||
|
||||
@@ -157,7 +156,7 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
export AWS_REGION=us-east-1
|
||||
```
|
||||
|
||||
#### 配置檔案(推薦)
|
||||
#### 配置文件(推薦)
|
||||
|
||||
For project-specific or persistent configuration, use `opencode.json`:
|
||||
|
||||
@@ -181,7 +180,7 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
- `endpoint` - VPC 节点节点的自定义节点 URL(通用 `baseURL` 选项的别名)
|
||||
|
||||
:::提示
|
||||
配置檔案選項優先於環境變數。
|
||||
配置文件選項优先于环境变量。
|
||||
:::
|
||||
|
||||
#### 高阶:VPC 端点
|
||||
@@ -210,27 +209,27 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
#### 認證方式
|
||||
- **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**:创建IAM用户并在AWS控制台中生成访问金币。
|
||||
- **`AWS_PROFILE`**:使用 `~/.aws/credentials` 中的命名配置文件。首先配置 `aws configure --profile my-profile` 或 `aws sso login`
|
||||
- **`AWS_BEARER_TOKEN_BEDROCK`**:从 Amazon Bedrock 控制台生成长期 API 金钥匙
|
||||
- **`AWS_BEARER_TOKEN_BEDROCK`**:从 Amazon Bedrock 控制台生成长期 API 密钥
|
||||
- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**:适用于 EKS IRSA(服务账户的 IAM 角色)或具有 OIDC 联合的其他 Kubernetes 环境。使用服务账户注释时,这些环境变量由 Kubernetes 自动注入。
|
||||
|
||||
#### 認證優先順序
|
||||
#### 認證优先顺序
|
||||
|
||||
Amazon Bedrock 使用以下身份验证优先顺序:
|
||||
1. **不记名令牌** - `AWS_BEARER_TOKEN_BEDROCK`环境变化数据或来自`/connect`令牌的令牌
|
||||
2. **AWS 凭证链** - 配置档案、访问金钥、共享凭证、IAM 角色、Web 身份令牌 (EKS IRSA)、实例项后设置资料
|
||||
1. **不记名Tokens** - `AWS_BEARER_TOKEN_BEDROCK`环境变化数据或来自`/connect`Tokens的Tokens
|
||||
2. **AWS 凭证链** - 配置档案、访问密钥、共享凭证、IAM 角色、Web 身份Tokens (EKS IRSA)、实例项后设置资料
|
||||
|
||||
:::笔记
|
||||
设置不记名令牌(使用 `/connect` 或 `AWS_BEARER_TOKEN_BEDROCK`)时,其优先于所有 AWS 凭证方法(包括配置的配置文件)。
|
||||
设置不记名Tokens(使用 `/connect` 或 `AWS_BEARER_TOKEN_BEDROCK`)时,其优先于所有 AWS 凭证方法(包括配置的配置文件)。
|
||||
:::
|
||||
|
||||
3. 执行`/models`命令选择所需的型号。
|
||||
3. 执行`/models`命令选择所需的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
```
|
||||
|
||||
:::note
|
||||
对于自定义推理配置文件,请在按键中使用模型并提供程序名称,并将 `id` 属性设置为 arn。这确保了正确的快取:
|
||||
对于自定义推理配置文件,请在按键中使用模型并提供商名称,并将 `id` 属性设置为 arn。这确保了正确的缓存:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -261,7 +260,7 @@ OpenCode Zen 是opencode团队提供的模型列表,这些模型已被
|
||||
```
|
||||
|
||||
2. 您可以在此处选择 **Claude Pro/Max** 选项,就会打开您的浏览器
|
||||
並要求您進行身份驗證。
|
||||
并要求您进行身份验证。
|
||||
|
||||
```txt
|
||||
┌ Select auth method
|
||||
@@ -284,9 +283,9 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
|
||||
##### 使用 API 键
|
||||
|
||||
如果您没有 Pro/Max 订阅,您还可以选择 **建立 API 重要**。它还会开启您的浏览器并要求您登入 Anthropic 并为您提供一个可以粘贴到终端中的程序代码。
|
||||
如果您没有 Pro/Max 订阅,您还可以选择 **创建 API 密钥**。它还会开启您的浏览器并要求您登录 Anthropic 并为您提供一个可以粘贴到终端中的代码。
|
||||
|
||||
或者,如果您已安装 API 金钥匙,则可以选择 **手动输入 API 金钥匙** 将其贴到终端中。
|
||||
或者,如果您已安装 API 密钥,则可以选择 **手动输入 API 密钥** 将其贴到终端中。
|
||||
|
||||
---
|
||||
|
||||
@@ -298,12 +297,12 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
|
||||
1. Head over to the [Azure portal](https://portal.azure.com/) and create an **Azure OpenAI** resource. You'll need:
|
||||
- **资源名称**:这将成为您的 API 端点 (`https://RESOURCE_NAME.openai.azure.com/`) 的一部分
|
||||
- **API 金钥匙**:来自您资源的 `KEY 1` 或 `KEY 2`
|
||||
- **API 密钥**:来自您资源的 `KEY 1` 或 `KEY 2`
|
||||
|
||||
2. Go to [Azure AI Foundry](https://ai.azure.com/) and deploy a model.
|
||||
|
||||
:::笔记
|
||||
部署名称必须与型号名称匹配,opencode才能正常工作。
|
||||
部署名称必须与模型名称匹配,opencode才能正常工作。
|
||||
:::
|
||||
|
||||
3. 执行 `/connect` 命令并搜索 **Azure**。
|
||||
@@ -312,7 +311,7 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
/connect
|
||||
```
|
||||
|
||||
4. 输入您的 API 金钥匙。
|
||||
4. 输入您的 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -321,13 +320,13 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
└ enter
|
||||
```
|
||||
|
||||
5. 將您的資源名稱設定為環境變數:
|
||||
5. 将您的资源名称设置为环境变量:
|
||||
|
||||
```bash
|
||||
AZURE_RESOURCE_NAME=XXX opencode
|
||||
```
|
||||
|
||||
或者将其新增内容添加到您的 bash 配置文件中:
|
||||
或者将其添加内容添加到您的 bash 配置文件中:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AZURE_RESOURCE_NAME=XXX
|
||||
@@ -345,12 +344,12 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
|
||||
1. Head over to the [Azure portal](https://portal.azure.com/) and create an **Azure OpenAI** resource. You'll need:
|
||||
- **资源名称**:这将成为您的 API 端点 (`https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/`) 的一部分
|
||||
- **API 金钥匙**:来自您资源的 `KEY 1` 或 `KEY 2`
|
||||
- **API 密钥**:来自您资源的 `KEY 1` 或 `KEY 2`
|
||||
|
||||
2. Go to [Azure AI Foundry](https://ai.azure.com/) and deploy a model.
|
||||
|
||||
:::笔记
|
||||
部署名称必须与型号名称匹配,opencode才能正常工作。
|
||||
部署名称必须与模型名称匹配,opencode才能正常工作。
|
||||
:::
|
||||
|
||||
3. 执行 `/connect` 命令并搜索 **Azure 认知服务**。
|
||||
@@ -359,7 +358,7 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
/connect
|
||||
```
|
||||
|
||||
4. 输入您的 API 金钥匙。
|
||||
4. 输入您的 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -368,13 +367,13 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
└ enter
|
||||
```
|
||||
|
||||
5. 將您的資源名稱設定為環境變數:
|
||||
5. 将您的资源名称设置为环境变量:
|
||||
|
||||
```bash
|
||||
AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode
|
||||
```
|
||||
|
||||
或者将其新增内容添加到您的 bash 配置文件中:
|
||||
或者将其添加内容添加到您的 bash 配置文件中:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX
|
||||
@@ -398,7 +397,7 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Baseten API 金钥匙。
|
||||
3. 输入您的 Baseten API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -407,7 +406,7 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -425,7 +424,7 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Cerebras API 金钥匙。
|
||||
3. 输入您的 Cerebras API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -434,7 +433,7 @@ Using your Claude Pro/Max subscription in opencode is not officially supported b
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择*Qwen 3 Coder 480B*等型号。
|
||||
4. 执行`/models`命令选择*Qwen 3 Coder 480B*等模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -461,7 +460,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
/connect
|
||||
```
|
||||
|
||||
4. 输入您的 Cloudflare API 令牌。
|
||||
4. 输入您的 Cloudflare API Tokens。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -470,19 +469,19 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
└ enter
|
||||
```
|
||||
|
||||
或者將其設定為環境變數。
|
||||
或者将其设置为环境变量。
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export CLOUDFLARE_API_TOKEN=your-api-token
|
||||
```
|
||||
|
||||
5. 执行`/models`命令选择型号。
|
||||
5. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
```
|
||||
|
||||
您还可以使用opencode配置新增模型。
|
||||
您还可以使用opencode配置添加模型。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -510,7 +509,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Cortecs API 金钥匙。
|
||||
3. 输入您的 Cortecs API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -519,7 +518,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的型号。
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -527,7 +526,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
|
||||
---
|
||||
|
||||
### 深度搜尋
|
||||
### 深度搜索
|
||||
|
||||
1. Head over to the [DeepSeek console](https://platform.deepseek.com/), create an account, and click **Create new API key**.
|
||||
|
||||
@@ -537,7 +536,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 DeepSeek API 金钥。
|
||||
3. 输入您的 DeepSeek API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -564,7 +563,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的深层基础设施 API 金钥。
|
||||
3. 输入您的深层基础设施 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -573,7 +572,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -591,7 +590,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的韧体API金钥匙。
|
||||
3. 输入您的韧体API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -600,7 +599,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -618,7 +617,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Fireworks AI API 金钥匙。
|
||||
3. 输入您的 Fireworks AI API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -627,7 +626,7 @@ Cloudflare AI Gateway lets you access models from OpenAI, Anthropic, Workers AI,
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的型号。
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -645,7 +644,7 @@ GitLab Duo 通过 GitLab 的人工代理提供具有本机工具呼叫功能的
|
||||
/connect
|
||||
```
|
||||
|
||||
2. 選擇您的身份驗證方法:
|
||||
2. 选择您的身份验证方法:
|
||||
|
||||
```txt
|
||||
┌ Select auth method
|
||||
@@ -659,14 +658,14 @@ GitLab Duo 通过 GitLab 的人工代理提供具有本机工具呼叫功能的
|
||||
|
||||
选择**OAuth**,您的浏览器将开启并进行授权。
|
||||
|
||||
#### 使用個人訪問令牌
|
||||
#### 使用个人访问Tokens
|
||||
1. Go to [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens)
|
||||
2. 單擊**新增新令牌**
|
||||
2. 单击**添加新Tokens**
|
||||
3. Name: `opencode`, Scopes: `api`
|
||||
4. 复制令牌(以 `glpat-` 发起人)
|
||||
5. 在終端中輸入
|
||||
4. 复制Tokens(以 `glpat-` 发起人)
|
||||
5. 在终端中輸入
|
||||
|
||||
3. 执行 `/models` 命令检视可用模型。
|
||||
3. 执行 `/models` 命令查看可用模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -679,7 +678,7 @@ GitLab Duo 通过 GitLab 的人工代理提供具有本机工具呼叫功能的
|
||||
|
||||
:::note
|
||||
如果您不愿意,也可以指定“GITLAB_TOKEN”环境变量
|
||||
将令牌存储在opencode身份验证存储中。
|
||||
将Tokens存储在opencode身份验证存储中。
|
||||
:::
|
||||
|
||||
##### 自托管 GitLab
|
||||
@@ -725,7 +724,7 @@ export GITLAB_TOKEN=glpat-...
|
||||
您的 GitLab 管理员必须启用以下功能:
|
||||
|
||||
1. [Duo Agent Platform](https://docs.gitlab.com/user/gitlab_duo/turn_on_off/) for the user, group, or instance
|
||||
2. 功能标志(透过Rails控制台):
|
||||
2. 功能标志(通过Rails控制台):
|
||||
- `agent_platform_claude_code`
|
||||
- `third_party_agents_enabled`
|
||||
:::
|
||||
@@ -733,8 +732,8 @@ export GITLAB_TOKEN=glpat-...
|
||||
##### 用于自托管项目的 OAuth
|
||||
|
||||
为了使 Oauth 适用于您的自托管项目,您需要建立
|
||||
一個新的應用程式(設定→應用程式)
|
||||
回拨 URL `http://127.0.0.1:8080/callback` 和以下范围:
|
||||
一个新的应用程序(设置→应用程序)
|
||||
回调 URL `http://127.0.0.1:8080/callback` 和以下范围:
|
||||
|
||||
- api(您代表访问API)
|
||||
- read_user(读取您的个人信息)
|
||||
@@ -789,7 +788,7 @@ Customize through `opencode.json`:
|
||||
相当于您的 GitHub Copilot 订阅与 opencode 一起使用:
|
||||
|
||||
:::note
|
||||
某些型号可能需要 [Pro+
|
||||
某些模型可能需要 [Pro+
|
||||
订阅](https://github.com/features/copilot/plans)使用。
|
||||
|
||||
Some models need to be manually enabled in your [GitHub Copilot settings](https://docs.github.com/en/copilot/how-tos/use-ai-models/configure-access-to-ai-models#setup-for-individual-use).
|
||||
@@ -813,7 +812,7 @@ Some models need to be manually enabled in your [GitHub Copilot settings](https:
|
||||
└ Waiting for authorization...
|
||||
```
|
||||
|
||||
3. 现在执行 `/models` 命令来选择您想要的型号。
|
||||
3. 现在执行 `/models` 命令来选择您想要的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -826,16 +825,16 @@ Some models need to be manually enabled in your [GitHub Copilot settings](https:
|
||||
Google Vertex AI 与 opencode 结合使用:
|
||||
|
||||
1. 前往 Google Cloud Console 中的 **模型花园** 并检查
|
||||
您所在地區提供的型號。
|
||||
您所在地区提供的模型。
|
||||
|
||||
:::笔记
|
||||
您需要有一个启用了 Vertex AI API 的 Google Cloud 专案。
|
||||
:::
|
||||
|
||||
2. 設定所需的環境變數:
|
||||
2. 设置所需的环境变量:
|
||||
- `GOOGLE_CLOUD_PROJECT`:您的Google云专案ID
|
||||
- `VERTEX_LOCATION`(可选):Vertex AI的区域(默认为`global`)
|
||||
- 身份驗證(選擇一項):
|
||||
- 身份验证(选择一項):
|
||||
- `GOOGLE_APPLICATION_CREDENTIALS`:服务帐户 JSON 密钥文件的路径
|
||||
- 使用 gcloud CLI 进行身份验证:`gcloud auth application-default login`
|
||||
|
||||
@@ -857,7 +856,7 @@ Google Vertex AI 与 opencode 结合使用:
|
||||
The `global` region improves availability and reduces errors at no extra cost. Use regional endpoints (e.g., `us-central1`) for data residency requirements. [Learn more](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional_and_global_endpoints)
|
||||
:::
|
||||
|
||||
3. 执行`/models`命令选择所需的型号。
|
||||
3. 执行`/models`命令选择所需的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -875,7 +874,7 @@ The `global` region improves availability and reduces errors at no extra cost. U
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入结构的API金钥匙。
|
||||
3. 输入结构的API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -933,7 +932,7 @@ The `global` region improves availability and reduces errors at no extra cost. U
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Helicone API 金钥。
|
||||
3. 输入您的 Helicone API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -942,7 +941,7 @@ The `global` region improves availability and reduces errors at no extra cost. U
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -952,7 +951,7 @@ For more providers and advanced features like caching and rate limiting, check t
|
||||
|
||||
#### 可選配置
|
||||
|
||||
如果您发现Helicone的某些功能或型号未通过opencode自动配置,您始终可以自行配置。
|
||||
如果您发现Helicone的某些功能或模型未通过opencode自动配置,您始终可以自行配置。
|
||||
|
||||
Here's [Helicone's Model Directory](https://helicone.ai/models), you'll need this to grab the IDs of the models you want to add.
|
||||
|
||||
@@ -1003,7 +1002,7 @@ Helicone 支持快速获取、用户跟踪和会话管理等功能的自定义
|
||||
}
|
||||
```
|
||||
|
||||
##### 會話跟蹤
|
||||
##### 会话跟蹤
|
||||
|
||||
Helicone's [Sessions](https://docs.helicone.ai/features/sessions) feature lets you group related LLM requests together. Use the [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) plugin to automatically log each opencode conversation as a session in Helicone.
|
||||
|
||||
@@ -1011,7 +1010,7 @@ Helicone's [Sessions](https://docs.helicone.ai/features/sessions) feature lets y
|
||||
npm install -g opencode-helicone-session
|
||||
```
|
||||
|
||||
將其新增到您的配置中。
|
||||
将其添加到您的配置中。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -1027,7 +1026,7 @@ npm install -g opencode-helicone-session
|
||||
| -------------------------- | ----------------------------------------------------- |
|
||||
| `Helicone-Cache-Enabled` | Enable response caching (`true`/`false`) |
|
||||
| `Helicone-User-Id` | 点击用户跟踪指标 |
|
||||
| `Helicone-Property-[Name]` | 新增自定义属性(例如`Helicone-Property-Environment`) |
|
||||
| `Helicone-Property-[Name]` | 添加自定义属性(例如`Helicone-Property-Environment`) |
|
||||
| `Helicone-Prompt-Id` | 将请求与提示版本相关联 |
|
||||
|
||||
See the [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory) for all available headers.
|
||||
@@ -1062,13 +1061,13 @@ You can configure opencode to use local models through [llama.cpp's](https://git
|
||||
}
|
||||
```
|
||||
|
||||
在這個例子中:
|
||||
在这个例子中:
|
||||
|
||||
- `llama.cpp` 是自定义创建 ID。这可以是您想要的任何字串。
|
||||
- `llama.cpp` 是自定义创建 ID。这可以是您想要的任何字符串。
|
||||
- `npm` specifies the package to use for this provider. Here, `@ai-sdk/openai-compatible` is used for any OpenAI-compatible API.
|
||||
- `name` 是 UI 中提供程序的显示名称。
|
||||
- `name` 是 UI 中提供商的显示名称。
|
||||
- `options.baseURL` 是本地服务器器的端点。
|
||||
- `models` 是型号 ID 以及配置的对应映射。型号名称将显示在型号选择列表中。
|
||||
- `models` 是模型 ID 以及配置的对应映射。模型名称将显示在模型选择列表中。
|
||||
|
||||
---
|
||||
|
||||
@@ -1084,7 +1083,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 IO.NET API 金钥匙。
|
||||
3. 输入您的 IO.NET API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1093,7 +1092,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1125,13 +1124,13 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
}
|
||||
```
|
||||
|
||||
在這個例子中:
|
||||
在这个例子中:
|
||||
|
||||
- `lmstudio` 是自定义创建 ID。这可以是您想要的任何字串。
|
||||
- `lmstudio` 是自定义创建 ID。这可以是您想要的任何字符串。
|
||||
- `npm` specifies the package to use for this provider. Here, `@ai-sdk/openai-compatible` is used for any OpenAI-compatible API.
|
||||
- `name` 是 UI 中提供程序的显示名称。
|
||||
- `name` 是 UI 中提供商的显示名称。
|
||||
- `options.baseURL` 是本地服务器器的端点。
|
||||
- `models` 是型号 ID 以及配置的对应映射。型号名称将显示在型号选择列表中。
|
||||
- `models` 是模型 ID 以及配置的对应映射。模型名称将显示在模型选择列表中。
|
||||
|
||||
---
|
||||
|
||||
@@ -1147,7 +1146,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Moonshot API 金钥匙。
|
||||
3. 输入您的 Moonshot API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1174,7 +1173,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 MiniMax API 金钥匙。
|
||||
3. 输入您的 MiniMax API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1183,7 +1182,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择*M2.1*等型号。
|
||||
4. 执行`/models`命令选择*M2.1*等模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1195,13 +1194,13 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
|
||||
1. Head over to the [Nebius Token Factory console](https://tokenfactory.nebius.com/), create an account, and click **Add Key**.
|
||||
|
||||
2. 执行`/connect`命令并搜索**Nebius令牌工厂**。
|
||||
2. 执行`/connect`命令并搜索**NebiusTokens工厂**。
|
||||
|
||||
```txt
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Nebius 令牌工厂 API 金钥。
|
||||
3. 输入您的 Nebius Tokens工厂 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1210,7 +1209,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的型号。
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1218,7 +1217,7 @@ IO.NET提供了17种针对各种例子进行优化的模型:
|
||||
|
||||
---
|
||||
|
||||
### 成為
|
||||
### 成为
|
||||
|
||||
您可以使用 Ollama 配置 opencode 本地模型。
|
||||
|
||||
@@ -1246,13 +1245,13 @@ Ollama can automatically configure itself for opencode. See the [Ollama integrat
|
||||
}
|
||||
```
|
||||
|
||||
在這個例子中:
|
||||
在这个例子中:
|
||||
|
||||
- `ollama` 是自定义创建 ID。这可以是您想要的任何字串。
|
||||
- `ollama` 是自定义创建 ID。这可以是您想要的任何字符串。
|
||||
- `npm` specifies the package to use for this provider. Here, `@ai-sdk/openai-compatible` is used for any OpenAI-compatible API.
|
||||
- `name` 是 UI 中提供程序的显示名称。
|
||||
- `name` 是 UI 中提供商的显示名称。
|
||||
- `options.baseURL` 是本地服务器器的端点。
|
||||
- `models` 是型号 ID 以及配置的对应映射。型号名称将显示在型号选择列表中。
|
||||
- `models` 是模型 ID 以及配置的对应映射。模型名称将显示在模型选择列表中。
|
||||
|
||||
:::tip
|
||||
如果工具暂停,请尝试增加 Ollama 中的 `num_ctx`。从 16k - 32k 左右开始。
|
||||
@@ -1264,11 +1263,11 @@ Ollama can automatically configure itself for opencode. See the [Ollama integrat
|
||||
|
||||
相当于 Ollama Cloud 与 opencode 一起使用:
|
||||
|
||||
1. 前往 [https://ollama.com/](https://ollama.com/) 并登入或建立账户。
|
||||
1. 前往 [https://ollama.com/](https://ollama.com/) 并登录或建立账户。
|
||||
|
||||
2. 导航至**设置** > **金钥匙**,然后单击**添加API金钥匙**以生成新的API金钥匙。
|
||||
2. 导航至**设置** > **API 密钥**,然后单击**添加API 密钥**以生成新的API 密钥。
|
||||
|
||||
3. 复制 API 金钥以在 opencode 中使用。
|
||||
3. 复制 API 密钥以在 opencode 中使用。
|
||||
|
||||
4. 执行 `/connect` 命令并搜索 **Ollama Cloud**。
|
||||
|
||||
@@ -1276,7 +1275,7 @@ Ollama can automatically configure itself for opencode. See the [Ollama integrat
|
||||
/connect
|
||||
```
|
||||
|
||||
5. 输入您的 Ollama Cloud API 金钥匙。
|
||||
5. 输入您的 Ollama Cloud API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1310,7 +1309,7 @@ We recommend signing up for [ChatGPT Plus or Pro](https://chatgpt.com/pricing).
|
||||
```
|
||||
|
||||
2. 您可以选择 **ChatGPT Plus 或 Pro** 选项,就会在这里开启您的浏览器
|
||||
並要求您進行身份驗證。
|
||||
并要求您进行身份验证。
|
||||
|
||||
```txt
|
||||
┌ Select auth method
|
||||
@@ -1328,7 +1327,7 @@ We recommend signing up for [ChatGPT Plus or Pro](https://chatgpt.com/pricing).
|
||||
|
||||
##### 使用 API 键
|
||||
|
||||
如果您已安装 API 金钥匙,则可以选择 **手动输入 API 金钥匙** 将其贴到终端中。
|
||||
如果您已安装 API 密钥,则可以选择 **手动输入 API 密钥** 将其贴到终端中。
|
||||
|
||||
---
|
||||
|
||||
@@ -1336,7 +1335,7 @@ We recommend signing up for [ChatGPT Plus or Pro](https://chatgpt.com/pricing).
|
||||
|
||||
OpenCode Zen 是 opencode 团队提供的经过测试和验证的模型列表。 [了解更多](/docs/zen)。
|
||||
|
||||
1. 登入 **<a href={console}>OpenCode Zen</a>** 並單擊 **建立 API 金鑰**。
|
||||
1. 登录 **<a href={console}>OpenCode Zen</a>** 并单击 **创建 API 密钥**。
|
||||
|
||||
2. 执行 `/connect` 命令并搜索 **OpenCode Zen**。
|
||||
|
||||
@@ -1344,7 +1343,7 @@ OpenCode Zen 是 opencode 团队提供的经过测试和验证的模型列表。
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 opencode API 金钥匙。
|
||||
3. 输入您的 opencode API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1353,7 +1352,7 @@ OpenCode Zen 是 opencode 团队提供的经过测试和验证的模型列表。
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择*Qwen 3 Coder 480B*等型号。
|
||||
4. 执行`/models`命令选择*Qwen 3 Coder 480B*等模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1371,7 +1370,7 @@ OpenCode Zen 是 opencode 团队提供的经过测试和验证的模型列表。
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入结构的API金钥匙。
|
||||
3. 输入结构的API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1456,7 +1455,7 @@ SAP AI Core跨统一平台提供对OpenAI、Anthropic、Google、Amazon、Meta
|
||||
AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
|
||||
```
|
||||
|
||||
或者将其新增内容添加到您的 bash 配置文件中:
|
||||
或者将其添加内容添加到您的 bash 配置文件中:
|
||||
|
||||
```bash title="~/.bash_profile"
|
||||
export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
|
||||
@@ -1472,7 +1471,7 @@ SAP AI Core跨统一平台提供对OpenAI、Anthropic、Google、Amazon、Meta
|
||||
这些设置是可选的,应根据 SAP AI Core 设置进行配置。
|
||||
:::
|
||||
|
||||
5. 执行 `/models` 命令从 40 个多个可用型号中进行选择。
|
||||
5. 执行 `/models` 命令从 40 个多个可用模型中进行选择。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1490,7 +1489,7 @@ SAP AI Core跨统一平台提供对OpenAI、Anthropic、Google、Amazon、Meta
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 OVHcloud AI 端点 API 金钥匙。
|
||||
3. 输入您的 OVHcloud AI 端点 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1499,7 +1498,7 @@ SAP AI Core跨统一平台提供对OpenAI、Anthropic、Google、Amazon、Meta
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择*gpt-oss-120b*等型号。
|
||||
4. 执行`/models`命令选择*gpt-oss-120b*等模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1519,7 +1518,7 @@ To use [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-ap
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的Scaleway API 金钥匙。
|
||||
3. 输入您的Scaleway API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1546,7 +1545,7 @@ To use [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-ap
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的Together AI API金钥匙。
|
||||
3. 输入您的Together AI API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1555,7 +1554,7 @@ To use [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-ap
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的型号。
|
||||
4. 执行 `/models` 命令以选择类似 _Kimi K2 Instruct_ 的模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1573,7 +1572,7 @@ To use [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-ap
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的威尼斯 AI API 金钥匙。
|
||||
3. 输入您的威尼斯 AI API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1582,7 +1581,7 @@ To use [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-ap
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择*Llama 3.3 70B*等型号。
|
||||
4. 执行`/models`命令选择*Llama 3.3 70B*等模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
@@ -1592,7 +1591,7 @@ To use [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-ap
|
||||
|
||||
### Vercel人工智慧闸道器
|
||||
|
||||
Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、Google、xAI 等的模型。型号按标价提供,不加价。
|
||||
Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、Google、xAI 等的模型。模型按标价提供,不加价。
|
||||
|
||||
1. Head over to the [Vercel dashboard](https://vercel.com/), navigate to the **AI Gateway** tab, and click **API keys** to create a new API key.
|
||||
|
||||
@@ -1602,7 +1601,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 Vercel AI 网关 API 金钥匙。
|
||||
3. 输入您的 Vercel AI 网关 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1611,13 +1610,13 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
└ enter
|
||||
```
|
||||
|
||||
4. 执行`/models`命令选择型号。
|
||||
4. 执行`/models`命令选择模型。
|
||||
|
||||
```txt
|
||||
/models
|
||||
```
|
||||
|
||||
您还可以穿透 opencode 配置自定义模型。以下是指定提供者路由顺序的示例。
|
||||
您还可以穿透 opencode 配置自定义模型。以下是指定提供商路由顺序的示例。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -1640,7 +1639,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
|
||||
| 選項 | 描述 |
|
||||
| ------------------- | ---------------------- |
|
||||
| `order` | 提供者尝试顺序 |
|
||||
| `order` | 提供商尝试顺序 |
|
||||
| `only` | 限制特定提供商 |
|
||||
| `zeroDataRetention` | 仅使用零资料保留的政策 |
|
||||
|
||||
@@ -1656,7 +1655,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入您的 xAI API 金钥匙。
|
||||
3. 输入您的 xAI API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1685,7 +1684,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
|
||||
如果您订阅了**GLM编码计划**,请选择**Z.AI编码计划**。
|
||||
|
||||
3. 输入您的 Z.AI API 金钥。
|
||||
3. 输入您的 Z.AI API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1712,7 +1711,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
/connect
|
||||
```
|
||||
|
||||
3. 输入结构的API金钥匙。
|
||||
3. 输入结构的API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -1746,10 +1745,10 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
|
||||
## 定製提供商
|
||||
|
||||
要新增 `/connect` 命令中未列出的任何 **OpenAI 相容**提供程式:
|
||||
要添加 `/connect` 命令中未列出的任何 **OpenAI 兼容**提供商:
|
||||
|
||||
:::tip
|
||||
您可以将任何 OpenAI 相容的提供方案与 opencode 一起使用。大多数人工现代智慧工厂都提供 OpenAI 相容 API。
|
||||
您可以将任何 OpenAI 兼容的提供商与 opencode 一起使用。大多数 AI 提供商都提供 OpenAI 兼容 API。
|
||||
:::
|
||||
|
||||
1. 执行`/connect`命令并逐步升级到**其他**。
|
||||
@@ -1781,7 +1780,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
选择一个容易记住的 ID,您将在配置文件中使用它。
|
||||
:::
|
||||
|
||||
3. 输入您的事业的 API 金钥。
|
||||
3. 输入您的事业的 API 密钥。
|
||||
|
||||
```bash
|
||||
$ /connect
|
||||
@@ -1818,14 +1817,14 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
```
|
||||
|
||||
以下是配置選項:
|
||||
- **npm**:要使用AI的SDK包,`@ai-sdk/openai-compatible`用于OpenAI相容的事业
|
||||
- **npm**:要使用AI的SDK包,`@ai-sdk/openai-compatible`用于OpenAI兼容的事业
|
||||
- **名称**:UI中的显示名称。
|
||||
- **型號**:可用型號。
|
||||
- **模型**:可用模型。
|
||||
- **options.baseURL**:API 端点 URL。
|
||||
- **options.apiKey**:如果不使用身份验证,可以选择设置API金钥匙。
|
||||
- **options.apiKey**:如果不使用身份验证,可以选择设置API 密钥。
|
||||
- **options.headers**:可选择设置自定义标头。
|
||||
|
||||
有關高階選項的更多資訊,請參見下面的示例。
|
||||
有關高階選項的更多資訊,请參見下面的示例。
|
||||
|
||||
5. 执行 `/models` 命令,您提供的自定义程序和模型将出现在选择列表中。
|
||||
|
||||
@@ -1863,27 +1862,27 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
|
||||
}
|
||||
```
|
||||
|
||||
配置詳情:
|
||||
配置详情:
|
||||
|
||||
- **apiKey**:使用`env`变数语法[了解更多](/docs/config#env-vars)设置。
|
||||
- ** headers **:随每个请求传送的自定义标头。
|
||||
- **limit.context**:模型接受的最大输入标记。
|
||||
- **limit.output**:模型可以生成的最大令牌。
|
||||
- **limit.output**:模型可以生成的最大Tokens。
|
||||
|
||||
`limit` 栏位允许 opencode 了解您还剩下多少上下文。标准成功会自动从 models.dev 中提取这些内容。
|
||||
`limit` 栏位允许 opencode 了解您还剩下多少上下文。标准提供商会自动从 models.dev 中提取这些内容。
|
||||
|
||||
---
|
||||
|
||||
## 故障排除
|
||||
|
||||
如果您在配置提供商時遇到問題,請檢查以下內容:
|
||||
如果您在配置提供商時遇到問題,请检查以下內容:
|
||||
|
||||
1. **Check the auth setup**: Run `opencode auth list` to see if the credentials
|
||||
提供商的配置已新增到您的配置中。
|
||||
提供商的配置已添加到您的配置中。
|
||||
|
||||
这并不利于 Amazon Bedrock 等依赖环境变数进行身份验证的工作。
|
||||
|
||||
2. 对于自定义提供的程序,请检查 opencode 配置并:
|
||||
- 确保 `/connect` 命令中使用的提供方案 ID 与 opencode 配置中的 ID 匹配。
|
||||
- 正确的 npm 包用于提供程序。例如,对 Cerebras 使用 `@ai-sdk/cerebras`。对于所有其他 OpenAI 相内容的提供程序,请使用 `@ai-sdk/openai-compatible`。
|
||||
- 确保 `/connect` 命令中使用的提供商 ID 与 opencode 配置中的 ID 匹配。
|
||||
- 正确的 npm 包用于提供商。例如,对 Cerebras 使用 `@ai-sdk/cerebras`。对于所有其他 OpenAI 相内容的提供商,请使用 `@ai-sdk/openai-compatible`。
|
||||
- 检查 `options.baseURL` 栏位中使用的 API 端点是否正确。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 規則
|
||||
description: 設置opencode的自定義指令。
|
||||
title: 规则
|
||||
description: 设置opencode的自定義指令。
|
||||
---
|
||||
|
||||
您可以通过 `AGENTS.md` 文件创建 opencode 的自定义指令。这和 Cursor 的规则类似。它包含将包含在 LLM 上下文中的说明,方便您的特定项目自定义其行为。
|
||||
@@ -48,7 +48,7 @@ This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for
|
||||
- Import shared modules using workspace names: `@my-app/core/example`
|
||||
```
|
||||
|
||||
我們在此處添加特定於項目的說明,這將在您的團隊中共享。
|
||||
我们在此處添加特定于項目的說明,这将在您的團隊中共享。
|
||||
|
||||
---
|
||||
|
||||
@@ -56,7 +56,7 @@ This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for
|
||||
|
||||
opencode 还支持从多个位置读取 `AGENTS.md` 文件。这有不同的目的。
|
||||
|
||||
### 專案
|
||||
### 专案
|
||||
|
||||
将 `AGENTS.md` 放置在项目根目录中以获取特定于项目的规则。这些仅适用于您在此目录或子目录中工作时。
|
||||
|
||||
@@ -84,7 +84,7 @@ export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
|
||||
|
||||
---
|
||||
|
||||
## 優先級
|
||||
## 优先級
|
||||
|
||||
当opencode启动时,它会按以下顺序查找规则文件:
|
||||
|
||||
@@ -118,7 +118,7 @@ export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
|
||||
}
|
||||
```
|
||||
|
||||
遠程指令的獲取有 5 秒的超時時間。
|
||||
遠程指令的获取有 5 秒的超時時間。
|
||||
|
||||
所有说明文件均与您的`AGENTS.md`文件合并。
|
||||
|
||||
@@ -168,9 +168,9 @@ For testing strategies and coverage requirements: @test/testing-guidelines.md
|
||||
Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.
|
||||
```
|
||||
|
||||
這種方法允許您:
|
||||
这種方法允许您:
|
||||
|
||||
- 創建模塊化、可重用的規則文件
|
||||
- 创建模塊化、可重用的规则文件
|
||||
- 通过符号链接或git子模块在项目之间共享规则
|
||||
- 保持 AGENTS.md 简洁,同时参考详细指南
|
||||
- 确保opencode仅在特定任务需要时加载文件
|
||||
|
||||
@@ -9,11 +9,11 @@ export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types
|
||||
opencode JS/TS SDK 提供类型其他安全的客户端用于与服务器交互。
|
||||
使用它以程序设计方式构建集成和控制opencode。
|
||||
|
||||
[了解更多关于服务器如何工作的](/docs/server)。例如,检视社区构建的[projects](/docs/ecosystem#projects)。
|
||||
[了解更多关于服务器如何工作的](/docs/server)。例如,查看社区构建的[projects](/docs/ecosystem#projects)。
|
||||
|
||||
---
|
||||
|
||||
## 安裝
|
||||
## 安装
|
||||
|
||||
从npm安装SDK:
|
||||
|
||||
@@ -33,14 +33,14 @@ import { createOpencode } from "@opencode-ai/sdk"
|
||||
const { client } = await createOpencode()
|
||||
```
|
||||
|
||||
這會同時啟動伺服器和客戶端
|
||||
这会同時启动服务器和客戶端
|
||||
|
||||
#### 選項
|
||||
|
||||
| 選項 | 型別 | 描述 | 預設 |
|
||||
| 選項 | 型別 | 描述 | 默认 |
|
||||
| ---------- | ------------- | ------------------------------ | ----------- |
|
||||
| `hostname` | `string` | 服务器主机名 | `127.0.0.1` |
|
||||
| `port` | `number` | 伺服器埠 | `4096` |
|
||||
| `port` | `number` | 服务器埠 | `4096` |
|
||||
| `signal` | `AbortSignal` | 取消的中止讯号 | `undefined` |
|
||||
| `timeout` | `number` | 服务器启动超时(以毫秒为单位) | `5000` |
|
||||
| `config` | `Config` | 放置的财产 | `{}` |
|
||||
@@ -67,7 +67,7 @@ console.log(`Server running at ${opencode.server.url}`)
|
||||
opencode.server.close()
|
||||
```
|
||||
|
||||
## 僅限客戶
|
||||
## 仅限客戶
|
||||
|
||||
如果您已经有 opencode 的正在执行示例项,则可以创建一个客户端示例项来连线到它:
|
||||
|
||||
@@ -81,9 +81,9 @@ const client = createOpencodeClient({
|
||||
|
||||
#### 選項
|
||||
|
||||
| 選項 | 型別 | 描述 | 預設 |
|
||||
| 選項 | 型別 | 描述 | 默认 |
|
||||
| --------------- | ---------- | ---------------------------- | ----------------------- |
|
||||
| `baseUrl` | `string` | 伺服器的 URL | `http://localhost:4096` |
|
||||
| `baseUrl` | `string` | 服务器的 URL | `http://localhost:4096` |
|
||||
| `fetch` | `function` | 习俗获取实现 | `globalThis.fetch` |
|
||||
| `parseAs` | `string` | 响应解析方法 | `auto` |
|
||||
| `responseStyle` | `string` | 返回样式:`data` 或 `fields` | `fields` |
|
||||
@@ -99,11 +99,11 @@ SDK 包括所有 API 型以外的 TypeScript 定义。直接汇入其中:
|
||||
import type { Session, Message, Part } from "@opencode-ai/sdk"
|
||||
```
|
||||
|
||||
所有型別均根據伺服器的 OpenAPI 規範生成,並可在 <a href={typesUrl}> 型別檔案 </a> 中找到。
|
||||
所有型別均根據服务器的 OpenAPI 規範生成,并可在 <a href={typesUrl}> 型別文件 </a> 中找到。
|
||||
|
||||
---
|
||||
|
||||
## 錯誤
|
||||
## 错误
|
||||
|
||||
SDK 可能会丢掷错误,您可以捕获并处理这些错误:
|
||||
|
||||
@@ -125,7 +125,7 @@ SDK跨越型别安全客户端公开所有服务器API。
|
||||
|
||||
### 全球的
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ----------------- | ------------------------ | ------------------------------------ |
|
||||
| `global.health()` | 检查服务器健康状况和版本 | `{ healthy: true, version: string }` |
|
||||
|
||||
@@ -140,9 +140,9 @@ console.log(health.data.version)
|
||||
|
||||
---
|
||||
|
||||
### 應用程式
|
||||
### 应用程序
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| -------------- | ------------------ | ------------------------------------------ |
|
||||
| `app.log()` | 登录日志 | `boolean` |
|
||||
| `app.agents()` | 列出所有可用的代理 | <a href={typesUrl}><code>代理[]</code></a> |
|
||||
@@ -167,12 +167,12 @@ const agents = await client.app.agents()
|
||||
|
||||
---
|
||||
|
||||
### 專案
|
||||
### 专案
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ------------------- | ------------ | ------------------------------------------ |
|
||||
| `project.list()` | 列出所有專案 | <a href={typesUrl}><code>專案[]</code></a> |
|
||||
| `project.current()` | 獲取當前專案 | <a href={typesUrl}><code>專案</code></a> |
|
||||
| `project.list()` | 列出所有专案 | <a href={typesUrl}><code>专案[]</code></a> |
|
||||
| `project.current()` | 获取当前专案 | <a href={typesUrl}><code>专案</code></a> |
|
||||
|
||||
---
|
||||
|
||||
@@ -190,9 +190,9 @@ const currentProject = await client.project.current()
|
||||
|
||||
### 小路
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ------------ | ------------ | ---------------------------------------- |
|
||||
| `path.get()` | 獲取當前路徑 | <a href={typesUrl}><code>路徑</code></a> |
|
||||
| `path.get()` | 获取当前路徑 | <a href={typesUrl}><code>路徑</code></a> |
|
||||
|
||||
---
|
||||
|
||||
@@ -207,10 +207,10 @@ const pathInfo = await client.path.get()
|
||||
|
||||
### 配置
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| -------------------- | -------------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `config.get()` | 獲取配置資訊 | <a href={typesUrl}><code>配置</code></a> |
|
||||
| `config.providers()` | 列出提供商和預設模型 | `{ providers: `<a href={typesUrl}><code>提供商[]</code></a>`, default: { [key: string]: string } }` |
|
||||
| `config.get()` | 获取配置資訊 | <a href={typesUrl}><code>配置</code></a> |
|
||||
| `config.providers()` | 列出提供商和默认模型 | `{ providers: `<a href={typesUrl}><code>提供商[]</code></a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
@@ -224,28 +224,28 @@ const { providers, default: defaults } = await client.config.providers()
|
||||
|
||||
---
|
||||
|
||||
### 會議
|
||||
### 会话
|
||||
|
||||
| 方法 | 描述 | 筆記 |
|
||||
| ---------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `session.list()` | 列出會話 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `session.get({ path })` | 獲取會話 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.children({ path })` | 列出子會話 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `session.create({ body })` | 建立會話 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.list()` | 列出会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `session.get({ path })` | 获取会话 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `session.children({ path })` | 列出子会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `session.create({ body })` | 建立会话 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `session.delete({ path })` | 离开会话 | 返回`boolean` |
|
||||
| `session.update({ path, body })` | 更新會話屬性 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.update({ path, body })` | 更新会话屬性 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `session.init({ path, body })` | Analyze app and create `AGENTS.md` | Returns `boolean` |
|
||||
| `session.abort({ path })` | 中止正在执行的会话 | 返回`boolean` |
|
||||
| `session.share({ path })` | 分享會 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.unshare({ path })` | 取消共享會話 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.share({ path })` | 分享会 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `session.unshare({ path })` | 取消共享会话 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `session.summarize({ path, body })` | 会议总结 | 返回`boolean` |
|
||||
| `session.messages({ path })` | 列出會話中的訊息 | 返回 `{ info: `<a href={typesUrl}><code>訊息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}[]` |
|
||||
| `session.message({ path })` | 獲取訊息詳情 | 返回 `{ info: `<a href={typesUrl}><code>訊息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` | 傳送提示資訊 | `body.noReply: true` 返回 UserMessage(僅限上下文)。預設返回 <a href={typesUrl}><code>AssistantMessage</code></a> 以及 AI 響應 |
|
||||
| `session.command({ path, body })` | 向會話傳送命令 | 返回 `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` | 執行 shell 命令 | 返回 <a href={typesUrl}><code>AssistantMessage</code></a> |
|
||||
| `session.revert({ path, body })` | 回覆訊息 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.unrevert({ path })` | 恢復已恢復的訊息 | 返回 <a href={typesUrl}><code>會話</code></a> |
|
||||
| `session.messages({ path })` | 列出会话中的消息 | 返回 `{ info: `<a href={typesUrl}><code>消息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}[]` |
|
||||
| `session.message({ path })` | 获取消息详情 | 返回 `{ info: `<a href={typesUrl}><code>消息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` | 发送提示資訊 | `body.noReply: true` 返回 UserMessage(仅限上下文)。默认返回 <a href={typesUrl}><code>AssistantMessage</code></a> 以及 AI 響应 |
|
||||
| `session.command({ path, body })` | 向会话发送命令 | 返回 `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` | 执行 shell 命令 | 返回 <a href={typesUrl}><code>AssistantMessage</code></a> |
|
||||
| `session.revert({ path, body })` | 回复消息 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `session.unrevert({ path })` | 恢复已恢复的消息 | 返回 <a href={typesUrl}><code>会话</code></a> |
|
||||
| `postSessionByIdPermissionsByPermissionId({ path, body })` | 回复许可权限请求 | 返回`boolean` |
|
||||
|
||||
---
|
||||
@@ -281,15 +281,15 @@ await client.session.prompt({
|
||||
|
||||
---
|
||||
|
||||
### 檔案
|
||||
### 文件
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ------------------------- | -------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `find.text({ query })` | 搜索档案中文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配对象数组 |
|
||||
| `find.files({ query })` | 按名称查询档案和目录 | `string[]`(路径) |
|
||||
| `find.symbols({ query })` | 查詢工作區符號 | <a href={typesUrl}><code>符號[]</code></a> |
|
||||
| `find.symbols({ query })` | 查询工作区符號 | <a href={typesUrl}><code>符號[]</code></a> |
|
||||
| `file.read({ query })` | 读取档案 | `{ type: "raw" \| "patch", content: string }` |
|
||||
| `file.status({ query? })` | 獲取跟蹤檔案的狀態 | <a href={typesUrl}><code>檔案[]</code></a> |
|
||||
| `file.status({ query? })` | 获取跟蹤文件的狀態 | <a href={typesUrl}><code>文件[]</code></a> |
|
||||
|
||||
`find.files` 支持一些可选的查询栏位:
|
||||
|
||||
@@ -324,7 +324,7 @@ const content = await client.file.read({
|
||||
|
||||
### TUI
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ------------------------------ | ---------------- | --------- |
|
||||
| `tui.appendPrompt({ body })` | 将文字附加到提示 | `boolean` |
|
||||
| `tui.openHelp()` | 开启帮助对话方块 | `boolean` |
|
||||
@@ -355,7 +355,7 @@ await client.tui.showToast({
|
||||
|
||||
### 授權
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ------------------- | ---------------- | --------- |
|
||||
| `auth.set({ ... })` | 设定身份验证凭据 | `boolean` |
|
||||
|
||||
@@ -372,9 +372,9 @@ await client.auth.set({
|
||||
|
||||
---
|
||||
|
||||
### 活動
|
||||
### 活动
|
||||
|
||||
| 方法 | 描述 | 回應 |
|
||||
| 方法 | 描述 | 回应 |
|
||||
| ------------------- | ------------------ | ------------------ |
|
||||
| `event.subscribe()` | 服务器传送的事件流 | 服务器传送的事件流 |
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 伺服器
|
||||
title: 服务器
|
||||
description: 通过 HTTP 与 opencode 服务器交互。
|
||||
---
|
||||
|
||||
@@ -18,7 +18,7 @@ opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
|
||||
|
||||
#### 選項
|
||||
|
||||
| 旗幟 | 描述 | 預設 |
|
||||
| 旗幟 | 描述 | 默认 |
|
||||
| --------------- | ----------------------------------- | ---------------- |
|
||||
| `--port` | 监听音频 | `4096` |
|
||||
| `--hostname` | 监听的主机名 | `127.0.0.1` |
|
||||
@@ -61,7 +61,7 @@ opencode TUI running, `opencode serve` will start a new server.
|
||||
|
||||
---
|
||||
|
||||
#### 連線到現有伺服器
|
||||
#### 连接到現有服务器
|
||||
|
||||
当您启动 TUI 时,它会随机分配端口和主机名。您可以重新设置 `--hostname` 和 `--port` [flags](/docs/cli)。使用它连线到其服务器然后器。
|
||||
|
||||
@@ -71,7 +71,7 @@ opencode TUI running, `opencode serve` will start a new server.
|
||||
|
||||
## 規格
|
||||
|
||||
服务器发布了OpenAPI 3.1规范,可以在以下位置检视:
|
||||
服务器发布了OpenAPI 3.1规范,可以在以下位置查看:
|
||||
|
||||
```
|
||||
http://<hostname>:<port>/doc
|
||||
@@ -89,34 +89,34 @@ opencode服务器公开以下API。
|
||||
|
||||
### 全球的
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ---------------- | ------------------------ | ------------------------------------ |
|
||||
| `GET` | `/global/health` | 获取服务器运行状况和版本 | `{ healthy: true, version: string }` |
|
||||
| `GET` | `/global/event` | 获取全域性事件(SSE 流) | 事件流 |
|
||||
|
||||
---
|
||||
|
||||
### 專案
|
||||
### 专案
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ------------------ | ------------ | ------------------------------------------ |
|
||||
| `GET` | `/project` | 列出所有專案 | <a href={typesUrl}><code>專案[]</code></a> |
|
||||
| `GET` | `/project/current` | 獲取當前專案 | <a href={typesUrl}><code>專案</code></a> |
|
||||
| `GET` | `/project` | 列出所有专案 | <a href={typesUrl}><code>专案[]</code></a> |
|
||||
| `GET` | `/project/current` | 获取当前专案 | <a href={typesUrl}><code>专案</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### 路径和VCS
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ------- | ----------------------- | ------------------------------------------- |
|
||||
| `GET` | `/path` | 獲取當前路徑 | <a href={typesUrl}><code>路徑</code></a> |
|
||||
| `GET` | `/vcs` | 獲取當前專案的 VCS 資訊 | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
| `GET` | `/path` | 获取当前路徑 | <a href={typesUrl}><code>路徑</code></a> |
|
||||
| `GET` | `/vcs` | 获取当前专案的 VCS 資訊 | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### 例項
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ------ | ------------------- | -------------- | --------- |
|
||||
| `POST` | `/instance/dispose` | 执行当前实例项 | `boolean` |
|
||||
|
||||
@@ -124,45 +124,45 @@ opencode服务器公开以下API。
|
||||
|
||||
### 配置
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ------- | ------------------- | -------------------- | -------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/config` | 獲取配置資訊 | <a href={typesUrl}><code>配置</code></a> |
|
||||
| `GET` | `/config` | 获取配置資訊 | <a href={typesUrl}><code>配置</code></a> |
|
||||
| `PATCH` | `/config` | 更新配置 | <a href={typesUrl}><code>配置</code></a> |
|
||||
| `GET` | `/config/providers` | 列出提供商和預設模型 | `{ providers: `<a href={typesUrl}>提供商[]</a>`, default: { [key: string]: string } }` |
|
||||
| `GET` | `/config/providers` | 列出提供商和默认模型 | `{ providers: `<a href={typesUrl}>提供商[]</a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
### 提供者
|
||||
### 提供商
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ------ | -------------------------------- | ---------------------- | --------------------------------------------------------------------------------- |
|
||||
| `GET` | `/provider` | 列出所有提供商 | `{ all: `<a href={typesUrl}>提供商[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` | 獲取提供商身份驗證方法 | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `GET` | `/provider/auth` | 获取提供商身份验证方法 | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | 使用 OAuth 授權提供商 | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | 处理成功的 OAuth 回拨 | `boolean` |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | 处理提供商的 OAuth 回调 | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### 會議
|
||||
### 会话
|
||||
|
||||
| 方法 | 路徑 | 描述 | 筆記 |
|
||||
| -------- | ---------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session` | 列出所有會話 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `POST` | `/session` | 建立新會話 | 正文: `{ parentID?, title? }`,返回 <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/status` | 獲取所有會話的會話狀態 | 返回 `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
|
||||
| `GET` | `/session/:id` | 獲取會話詳細資訊 | 返回<a href={typesUrl}><code>會話</code></a> |
|
||||
| `GET` | `/session` | 列出所有会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `POST` | `/session` | 建立新会话 | 正文: `{ parentID?, title? }`,返回 <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/status` | 获取所有会话的会话狀態 | 返回 `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
|
||||
| `GET` | `/session/:id` | 获取会话详细信息 | 返回<a href={typesUrl}><code>会话</code></a> |
|
||||
| `DELETE` | `/session/:id` | 删除会话及所有资料 | 返回`boolean` |
|
||||
| `PATCH` | `/session/:id` | 更新會話屬性 | 正文: `{ title? }`,返回 <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/:id/children` | 獲取會話的子會話 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | 獲取會話的待辦事項列表 | 返回 <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `PATCH` | `/session/:id` | 更新会话屬性 | 正文: `{ title? }`,返回 <a href={typesUrl}><code>Session</code></a> |
|
||||
| `GET` | `/session/:id/children` | 获取会话的子会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | 获取会话的待辦事項列表 | 返回 <a href={typesUrl}><code>Todo[]</code></a> |
|
||||
| `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` |
|
||||
| `POST` | `/session/:id/fork` | 在訊息中分叉現有會話 | 正文: `{ messageID? }`,返回 <a href={typesUrl}><code>Session</code></a> |
|
||||
| `POST` | `/session/:id/fork` | 在消息中分叉現有会话 | 正文: `{ messageID? }`,返回 <a href={typesUrl}><code>Session</code></a> |
|
||||
| `POST` | `/session/:id/abort` | 中止正在执行的会话 | 返回`boolean` |
|
||||
| `POST` | `/session/:id/share` | 分享會議 | 返回<a href={typesUrl}><code>會話</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | 取消共享會話 | 返回<a href={typesUrl}><code>會話</code></a> |
|
||||
| `GET` | `/session/:id/diff` | 獲取本次會話的差異 | 查詢:`messageID?`,返回 <a href={typesUrl}><code>FileDiff[]</code></a> |
|
||||
| `POST` | `/session/:id/share` | 分享会话 | 返回<a href={typesUrl}><code>会话</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | 取消共享会话 | 返回<a href={typesUrl}><code>会话</code></a> |
|
||||
| `GET` | `/session/:id/diff` | 获取本次会话的差異 | 查询:`messageID?`,返回 <a href={typesUrl}><code>FileDiff[]</code></a> |
|
||||
| `POST` | `/session/:id/summarize` | 会议总结 | 正文:`{ providerID, modelID }`,返回 `boolean` |
|
||||
| `POST` | `/session/:id/revert` | 回覆讯息 | 正文:`{ messageID, partID? }`,返回 `boolean` |
|
||||
| `POST` | `/session/:id/revert` | 回复讯息 | 正文:`{ messageID, partID? }`,返回 `boolean` |
|
||||
| `POST` | `/session/:id/unrevert` | 恢复所有已恢复的消息 | 返回`boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` | 回复许可权限请求 | 正文:`{ response, remember? }`,返回 `boolean` |
|
||||
|
||||
@@ -172,37 +172,37 @@ opencode服务器公开以下API。
|
||||
|
||||
| 方法 | 路徑 | 描述 | 筆記 |
|
||||
| ------ | --------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session/:id/message` | 列出會話中的訊息 | 查詢: `limit?`,返回 `{ info: `<a href={typesUrl}>訊息</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | 傳送訊息並等待回覆 | 正文: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`,返回 `{ info: `<a href={typesUrl}>訊息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | 獲取訊息詳情 | 返回 `{ info: `<a href={typesUrl}>訊息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `GET` | `/session/:id/message` | 列出会话中的消息 | 查询: `limit?`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | 发送消息并等待回复 | 正文: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | 获取消息详情 | 返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | 非同步传送消息(休眠等待) | 主体:与 `/session/:id/message` 相同,返回 `204 No Content` |
|
||||
| `POST` | `/session/:id/command` | 執行斜槓命令 | 正文: `{ messageID?, agent?, model?, command, arguments }`,返回 `{ info: `<a href={typesUrl}>訊息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | 執行 shell 命令 | 正文: `{ agent, model?, command }`,返回 `{ info: `<a href={typesUrl}>訊息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `POST` | `/session/:id/command` | 执行斜槓命令 | 正文: `{ messageID?, agent?, model?, command, arguments }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | 执行 shell 命令 | 正文: `{ agent, model?, command }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
|
||||
|
||||
---
|
||||
|
||||
### 命令
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ---------- | ------------ | ------------------------------------------ |
|
||||
| `GET` | `/command` | 列出所有命令 | <a href={typesUrl}><code>命令[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### 檔案
|
||||
### 文件
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ------------------------ | -------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` | 搜尋檔案中的文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配對像陣列 |
|
||||
| `GET` | `/find/file?query=<q>` | 按名稱查詢檔案和目錄 | `string[]`(路徑) |
|
||||
| `GET` | `/find/symbol?query=<q>` | 查詢工作區符號 | <a href={typesUrl}><code>符號[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | 列出檔案和目錄 | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | 讀取檔案 | <a href={typesUrl}><code>檔案內容</code></a> |
|
||||
| `GET` | `/file/status` | 獲取跟蹤檔案的狀態 | <a href={typesUrl}><code>檔案[]</code></a> |
|
||||
| `GET` | `/find?pattern=<pat>` | 搜索文件中的文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配对像数组 |
|
||||
| `GET` | `/find/file?query=<q>` | 按名称查询文件和目录 | `string[]`(路徑) |
|
||||
| `GET` | `/find/symbol?query=<q>` | 查询工作区符號 | <a href={typesUrl}><code>符號[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | 列出文件和目录 | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | 讀取文件 | <a href={typesUrl}><code>文件內容</code></a> |
|
||||
| `GET` | `/file/status` | 获取跟蹤文件的狀態 | <a href={typesUrl}><code>文件[]</code></a> |
|
||||
|
||||
#### `/find/file` 查询引数
|
||||
#### `/find/file` 查询参数
|
||||
|
||||
- `query`(必需)—搜寻字串(模糊匹配)
|
||||
- `query`(必需)—搜寻字符串(模糊匹配)
|
||||
- `type`(可选)— 将结果限制为 `"file"` 或 `"directory"`
|
||||
- `directory` (任选) — 覆盖搜索的专案根目录
|
||||
- `limit`(任选)— 最大结果 (1–200)
|
||||
@@ -212,7 +212,7 @@ opencode服务器公开以下API。
|
||||
|
||||
### 工具(實驗)
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ------------------------------------------- | ---------------------------- | -------------------------------------------- |
|
||||
| `GET` | `/experimental/tool/ids` | 列出所有工具 ID | <a href={typesUrl}><code>工具ID</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | 列出具有模型 JSON 模式的工具 | <a href={typesUrl}><code>工具列表</code></a> |
|
||||
@@ -221,18 +221,18 @@ opencode服务器公开以下API。
|
||||
|
||||
### LSP、格式化程式和 MCP
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ------ | ------------ | ------------------- | ------------------------------------------------------ |
|
||||
| `GET` | `/lsp` | 獲取 LSP 伺服器狀態 | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | 獲取格式化程式狀態 | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | 獲取 MCP 伺服器狀態 | `{ [name: string]: `<a href={typesUrl}>MCP狀態</a>` }` |
|
||||
| `GET` | `/lsp` | 获取 LSP 服务器狀態 | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | 获取格式化程式狀態 | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | 获取 MCP 服务器狀態 | `{ [name: string]: `<a href={typesUrl}>MCP狀態</a>` }` |
|
||||
| `POST` | `/mcp` | 动态添加 MCP 服务器 | 主体:`{ name, config }`,返回 MCP 状态对象 |
|
||||
|
||||
---
|
||||
|
||||
### 代理商
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | -------- | ------------------ | ------------------------------------------ |
|
||||
| `GET` | `/agent` | 列出所有可用的代理 | <a href={typesUrl}><code>代理[]</code></a> |
|
||||
|
||||
@@ -240,7 +240,7 @@ opencode服务器公开以下API。
|
||||
|
||||
### 記錄
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ------ | ------------------------------------------- | ------ | -------------------- |
|
||||
| `POST` | 身体:`{ service, level, message, extra? }` | `/log` | 写入日志。 `boolean` |
|
||||
|
||||
@@ -248,7 +248,7 @@ opencode服务器公开以下API。
|
||||
|
||||
### TUI
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ------ | ----------------------- | ----------------------------------------- | ------------ |
|
||||
| `POST` | `/tui/append-prompt` | 将文字附加到提示 | `boolean` |
|
||||
| `POST` | `/tui/open-help` | 开启帮助对话方块 | `boolean` |
|
||||
@@ -266,22 +266,22 @@ opencode服务器公开以下API。
|
||||
|
||||
### 授權
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ----------- | ------------------------------------------ | --------- |
|
||||
| `PUT` | `/auth/:id` | 设置身份验证凭据。正文必须与提供者架构匹配 | `boolean` |
|
||||
| `PUT` | `/auth/:id` | 设置身份验证凭据。正文必须与提供商架构匹配 | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### 活動
|
||||
### 活动
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | -------- | ------------------------------------------------------------------- | ------------------ |
|
||||
| `GET` | `/event` | 服务器发送事件流。第一个事件是 `server.connected`,之后是总线事件。 | 服务器发送事件流。 |
|
||||
|
||||
---
|
||||
|
||||
### 檔案
|
||||
### 文件
|
||||
|
||||
| 方法 | 路徑 | 描述 | 回應 |
|
||||
| 方法 | 路徑 | 描述 | 回应 |
|
||||
| ----- | ------ | --------------- | ------------------------- |
|
||||
| `GET` | `/doc` | 开启API 3.1规范 | 具有OpenAPI规范的HTML页面 |
|
||||
|
||||
@@ -6,7 +6,7 @@ description: 分享您的 opencode 对话。
|
||||
opencode 的共享功能允许您建立指向 opencode 对话的公共链接,以便您可以与蓝牙进行战斗或从其他人那里获得帮助。
|
||||
|
||||
:::note
|
||||
任何知道連結的人都可以公開訪問共享對話。
|
||||
任何知道链接的人都可以公開访问共享对话。
|
||||
:::
|
||||
|
||||
---
|
||||
@@ -16,8 +16,8 @@ opencode 的共享功能允许您建立指向 opencode 对话的公共链接,
|
||||
当您分享对话时,opencode:
|
||||
|
||||
1. 为您的会话建立唯一的公共 URL
|
||||
2. 將您的對話歷史記錄同步到我們的伺服器
|
||||
3. 透過可共享連結訪問對話 — `opncd.ai/s/<share-id>`
|
||||
2. 将您的对话歷史記錄同步到我们的服务器
|
||||
3. 通过可共享链接访问对话 — `opncd.ai/s/<share-id>`
|
||||
|
||||
---
|
||||
|
||||
@@ -27,7 +27,7 @@ opencode 支持清晰控制对话共享方式的共享模式:
|
||||
|
||||
---
|
||||
|
||||
### 手動(預設)
|
||||
### 手动(默认)
|
||||
|
||||
在默认情况下,opencode 使用手动共享模式。会话不会自动共享,但您可以使用 `/share` 命令手动共享它们:
|
||||
|
||||
@@ -48,7 +48,7 @@ opencode 支持清晰控制对话共享方式的共享模式:
|
||||
|
||||
---
|
||||
|
||||
### 自動分享
|
||||
### 自动分享
|
||||
|
||||
您可以通过将 [config file](/docs/config) 中的 `share` 选项设置为 `"auto"` 来为所有新对话启用自动共享:
|
||||
|
||||
@@ -59,7 +59,7 @@ opencode 支持清晰控制对话共享方式的共享模式:
|
||||
}
|
||||
```
|
||||
|
||||
啟用自動共享後,每個新對話都會自動共享並生成連結。
|
||||
启用自动共享後,每个新对话都会自动共享并生成链接。
|
||||
|
||||
---
|
||||
|
||||
@@ -80,49 +80,49 @@ To enforce this across your team for a given project, add it to the `opencode.js
|
||||
|
||||
## 取消共享
|
||||
|
||||
要停止共享對話並將其從公共訪問中刪除:
|
||||
要停止共享对话并将其從公共访问中删除:
|
||||
|
||||
```
|
||||
/unshare
|
||||
```
|
||||
|
||||
這將刪除共享連結並刪除與對話相關的資料。
|
||||
这将删除共享链接并删除与对话相关的数据。
|
||||
|
||||
---
|
||||
|
||||
## 隱私
|
||||
|
||||
分享對話時需要記住一些事項。
|
||||
分享对话時需要記住一些事項。
|
||||
|
||||
---
|
||||
|
||||
### 資料保留
|
||||
### 数据保留
|
||||
|
||||
共享對話仍然可以訪問,直到您明確取消共享。這
|
||||
共享对话仍然可以访问,直到您明確取消共享。这
|
||||
包括:
|
||||
|
||||
- 完整的對話歷史記錄
|
||||
- 所有訊息和回覆
|
||||
- 會話後設資料
|
||||
- 完整的对话歷史記錄
|
||||
- 所有消息和回复
|
||||
- 会话元数据
|
||||
|
||||
---
|
||||
|
||||
### 建議
|
||||
|
||||
- 僅共享不包含敏感資訊的對話。
|
||||
- 分享之前檢視對話內容。
|
||||
- 協作完成後取消共享對話。
|
||||
- 避免與專有程式碼或機密資料共享對話。
|
||||
- 對於敏感專案,完全禁用共享。
|
||||
- 仅共享不包含敏感資訊的对话。
|
||||
- 分享之前查看对话內容。
|
||||
- 協作完成後取消共享对话。
|
||||
- 避免与专有程式碼或機密数据共享对话。
|
||||
- 对于敏感专案,完全禁用共享。
|
||||
|
||||
---
|
||||
|
||||
## 對於企業
|
||||
## 对于企業
|
||||
|
||||
對於企業部署,共享功能可以是:
|
||||
对于企業部署,共享功能可以是:
|
||||
|
||||
- **出於安全合規性完全禁用**
|
||||
- **仅限** 仅透过 SSO 进行身份验证的用户
|
||||
- **出于安全合規性完全禁用**
|
||||
- **仅限** 仅通过 SSO 进行身份验证的用户
|
||||
- **在您自己的基礎設施上自行託管**
|
||||
|
||||
[了解更多关于在您的组织中使用opencode的](/docs/enterprise)。
|
||||
|
||||
@@ -4,21 +4,21 @@ description: “贯穿 SKILL.md 定义可重用行为”
|
||||
---
|
||||
|
||||
代理让 opencode 技能从您的存储库或主目录中找到可重用的指令。
|
||||
技能贯穿本机 `skill` 工具输入导入 - 代理可以检视可用技能并可以在需要时加载完整内容。
|
||||
技能贯穿本机 `skill` 工具输入导入 - 代理可以查看可用技能并可以在需要时加载完整内容。
|
||||
|
||||
---
|
||||
|
||||
## 放置檔案
|
||||
## 放置文件
|
||||
|
||||
为每个技能名称建立一个资料夹,并在其中放入`SKILL.md`。
|
||||
opencode 搜索这些位置:
|
||||
|
||||
- Project config: `.opencode/skills/<name>/SKILL.md`
|
||||
- Global config: `~/.config/opencode/skills/<name>/SKILL.md`
|
||||
- 專案Claude相容:`.claude/skills/<name>/SKILL.md`
|
||||
- 全域性 Claude 相容: `~/.claude/skills/<name>/SKILL.md`
|
||||
- 專案代理相容:`.agents/skills/<name>/SKILL.md`
|
||||
- 全球代理相容:`~/.agents/skills/<name>/SKILL.md`
|
||||
- 专案Claude兼容:`.claude/skills/<name>/SKILL.md`
|
||||
- 全域性 Claude 兼容: `~/.claude/skills/<name>/SKILL.md`
|
||||
- 专案代理兼容:`.agents/skills/<name>/SKILL.md`
|
||||
- 全球代理兼容:`~/.agents/skills/<name>/SKILL.md`
|
||||
|
||||
---
|
||||
|
||||
@@ -34,13 +34,13 @@ Global definitions are also loaded from `~/.config/opencode/skills/*/SKILL.md`,
|
||||
## 寫前言
|
||||
|
||||
每个 `SKILL.md` 必须以 YAML frontmatter 。
|
||||
僅識別這些欄位:
|
||||
仅識別这些欄位:
|
||||
|
||||
- `name`(必填)
|
||||
- `description`(必填)
|
||||
- `license`(任选)
|
||||
- `compatibility`(任选)
|
||||
- `metadata`(任选,字串到字串对映)
|
||||
- `metadata`(任选,字符串到字符串对映)
|
||||
|
||||
未知的 frontmatter 栏位将被忽略。
|
||||
|
||||
@@ -50,8 +50,8 @@ Global definitions are also loaded from `~/.config/opencode/skills/*/SKILL.md`,
|
||||
|
||||
`name` 必须:
|
||||
|
||||
- 長度為 1–64 個字元
|
||||
- 為小寫字母數字並帶有單個連字元分隔符
|
||||
- 長度为 1–64 个字元
|
||||
- 为小寫字母數字并带有單个連字元分隔符
|
||||
- 不以 `-` 開始或結束
|
||||
- 不包含連續的 `--`
|
||||
- 匹配包含 `SKILL.md` 的目录名
|
||||
@@ -64,14 +64,14 @@ Global definitions are also loaded from `~/.config/opencode/skills/*/SKILL.md`,
|
||||
|
||||
---
|
||||
|
||||
## 遵循長度規則
|
||||
## 遵循長度规则
|
||||
|
||||
`description` 必须是 1-1024 个字元。
|
||||
保持足夠具體,以便代理能夠正確選擇。
|
||||
保持足夠具體,以便代理能夠正确选择。
|
||||
|
||||
---
|
||||
|
||||
## 使用一個例子
|
||||
## 使用一个例子
|
||||
|
||||
Create `.opencode/skills/git-release/SKILL.md` like this:
|
||||
|
||||
@@ -103,7 +103,7 @@ Ask clarifying questions if the target versioning scheme is unclear.
|
||||
## 識別工具說明
|
||||
|
||||
opencode 列出了 `skill` 工具描述中的可用技能。
|
||||
每個條目都包含技能名稱和描述:
|
||||
每个条目都包含技能名称和描述:
|
||||
|
||||
```xml
|
||||
<available_skills>
|
||||
@@ -114,7 +114,7 @@ opencode 列出了 `skill` 工具描述中的可用技能。
|
||||
</available_skills>
|
||||
```
|
||||
|
||||
代理透過呼叫工具來載入技能:
|
||||
代理通过呼叫工具來載入技能:
|
||||
|
||||
```
|
||||
skill({ name: "git-release" })
|
||||
@@ -122,7 +122,7 @@ skill({ name: "git-release" })
|
||||
|
||||
---
|
||||
|
||||
## 配置許可權
|
||||
## 配置权限
|
||||
|
||||
Control which skills agents can access using pattern-based permissions in `opencode.json`:
|
||||
|
||||
@@ -139,7 +139,7 @@ Control which skills agents can access using pattern-based permissions in `openc
|
||||
}
|
||||
```
|
||||
|
||||
| 許可 | 行為 |
|
||||
| 許可 | 行为 |
|
||||
| ------- | -------------------------- |
|
||||
| `allow` | 技能立即加载 |
|
||||
| `deny` | 对特工隐藏技能,访问被拒绝 |
|
||||
@@ -149,11 +149,11 @@ Control which skills agents can access using pattern-based permissions in `openc
|
||||
|
||||
---
|
||||
|
||||
## 覆蓋每個代理
|
||||
## 覆盖每个代理
|
||||
|
||||
為特定代理授予與全域性預設許可權不同的許可權。
|
||||
为特定代理授予与全域性默认权限不同的权限。
|
||||
|
||||
**對於自定義代理**(在代理前言中):
|
||||
**对于自定義代理**(在代理前言中):
|
||||
|
||||
```yaml
|
||||
---
|
||||
@@ -183,9 +183,9 @@ permission:
|
||||
|
||||
## 禁用技能工具
|
||||
|
||||
完全禁用不應該使用技能的特工:
|
||||
完全禁用不应该使用技能的特工:
|
||||
|
||||
**對於定製代理**:
|
||||
**对于定製代理**:
|
||||
|
||||
```yaml
|
||||
---
|
||||
@@ -194,7 +194,7 @@ tools:
|
||||
---
|
||||
```
|
||||
|
||||
**對於內建代理**:
|
||||
**对于內建代理**:
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -208,15 +208,15 @@ tools:
|
||||
}
|
||||
```
|
||||
|
||||
禁用後,`<available_skills>` 部分將被完全省略。
|
||||
禁用後,`<available_skills>` 部分将被完全省略。
|
||||
|
||||
---
|
||||
|
||||
## 解決載入問題
|
||||
|
||||
如果某項技能沒有顯示:
|
||||
如果某項技能沒有显示:
|
||||
|
||||
1. 验证 `SKILL.md` 拼写为全部大写
|
||||
2. 检查 frontmatter 是否包括 `name` 和 `description`
|
||||
3. 確保技能名稱在所有位置都是唯一的
|
||||
3. 確保技能名称在所有位置都是唯一的
|
||||
4. 查询权限——具有`deny`的代理隐藏技能
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 主題
|
||||
description: 選擇內建主題或定義您自己的主題。
|
||||
title: 主题
|
||||
description: 选择內建主题或定義您自己的主题。
|
||||
---
|
||||
|
||||
使用 opencode,您可以从多个内建主题中进行选择,使用适合您的终端主题的主题,或定义您自己的自定义主题。
|
||||
@@ -9,23 +9,23 @@ By default, opencode uses our own `opencode` theme.
|
||||
|
||||
---
|
||||
|
||||
## 終端要求
|
||||
## 终端要求
|
||||
|
||||
為了使主題能夠正確顯示完整的調色盤,您的終端必須支援**真彩色**(24 位顏色)。大多數現代終端預設支援此功能,但您可能需要啟用它:
|
||||
为了使主题能夠正确显示完整的调色板,您的终端必須支持**真彩色**(24 位顏色)。大多數现代终端默认支持此功能,但您可能需要启用它:
|
||||
|
||||
- **检查支持**:执行 `echo $COLORTERM` - 它应该输出 `truecolor` 或 `24bit`
|
||||
- **启用真彩色**:在shell配置文件中设置环境变量`COLORTERM=truecolor`
|
||||
- **您的终端相容性**:确保终端模拟器支持24位颜色(大多数现代终端,如iTerm2、Alacritty、Kitty、Windows终端和最新版本的GNOME终端都支持)
|
||||
- **您的终端兼容性**:确保终端模拟器支持24位颜色(大多数现代终端,如iTerm2、Alacritty、Kitty、Windows终端和最新版本的GNOME终端都支持)
|
||||
|
||||
如果沒有真彩色支援,主題的顏色精度可能會降低或回落到最接近的 256 色近似值。
|
||||
如果沒有真彩色支持,主题的顏色精度可能会降低或回落到最接近的 256 色近似值。
|
||||
|
||||
---
|
||||
|
||||
## 內建主題
|
||||
## 內建主题
|
||||
|
||||
opencode 带有几个内建主题。
|
||||
|
||||
| 名稱 | 描述 |
|
||||
| 名称 | 描述 |
|
||||
| ---------------------- | ---------------------------------------------------------------------------- |
|
||||
| `system` | 适应您所处的背景颜色 |
|
||||
| `tokyonight` | Based on the [Tokyonight](https://github.com/folke/tokyonight.nvim) theme |
|
||||
@@ -39,27 +39,27 @@ opencode 带有几个内建主题。
|
||||
| `matrix` | 骇客风格黑底绿主题 |
|
||||
| `one-dark` | Based on the [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark theme |
|
||||
|
||||
此外,我們還在不斷新增新主題。
|
||||
此外,我们还在不斷添加新主题。
|
||||
|
||||
---
|
||||
|
||||
## 系統主題
|
||||
## 系統主题
|
||||
|
||||
`system` 主题旨在自动适应您的最终方案。与使用固定颜色的传统主题不同,_system_ 主题:
|
||||
|
||||
- **生成灰度**:根據終端的背景顏色建立自定義灰度,確保最佳對比度。
|
||||
- **生成灰度**:根據终端的背景顏色建立自定義灰度,確保最佳对比度。
|
||||
- **使用 ANSI 颜色**:使用标准 ANSI 颜色 (0-15) 进行语法突出显示和 UI 元素,尊重 Windows 的调色盘。
|
||||
- **保留默认设置**:使用 `none` 作为文字和背景颜色以保持本机的外观。
|
||||
|
||||
系統主題適合以下使用者:
|
||||
系統主题適合以下用户:
|
||||
|
||||
- 希望 opencode 与终端的外观相匹配
|
||||
- 使用自定義終端配色方案
|
||||
- 希望所有終端應用程式具有一致的外觀
|
||||
- 使用自定義终端配色方案
|
||||
- 希望所有终端应用程序具有一致的外觀
|
||||
|
||||
---
|
||||
|
||||
## 使用主題
|
||||
## 使用主题
|
||||
|
||||
您可以通过使用 `/theme` 命令调出主题选择来选择主题。或者您可以在 [config](/docs/config) 中指定它。
|
||||
|
||||
@@ -72,7 +72,7 @@ opencode 带有几个内建主题。
|
||||
|
||||
---
|
||||
|
||||
## 自定義主題
|
||||
## 自定義主题
|
||||
|
||||
opencode 支持灵活的基于 JSON 的主题系统,允许用户轻松创建和自定义主题。
|
||||
|
||||
@@ -80,29 +80,29 @@ opencode 支持灵活的基于 JSON 的主题系统,允许用户轻松创建
|
||||
|
||||
### 等級制度
|
||||
|
||||
主題按以下順序從多個目錄載入,其中後面的目錄覆蓋前面的目錄:
|
||||
主题按以下顺序從多个目录載入,其中后面的目录覆盖前面的目录:
|
||||
|
||||
1. **內建主題** - 這些主題嵌入在二進製檔案中
|
||||
1. **內建主题** - 这些主题嵌入在二進製文件中
|
||||
2. **User config directory** - Defined in `~/.config/opencode/themes/*.json` or `$XDG_CONFIG_HOME/opencode/themes/*.json`
|
||||
3. **Project root directory** - Defined in the `<project-root>/.opencode/themes/*.json`
|
||||
4. **Current working directory** - Defined in `./.opencode/themes/*.json`
|
||||
|
||||
如果多個目錄包含同名主題,則將使用優先順序較高的目錄中的主題。
|
||||
如果多个目录包含同名主题,则将使用优先顺序較高的目录中的主题。
|
||||
|
||||
---
|
||||
|
||||
### 建立主題
|
||||
### 建立主题
|
||||
|
||||
要创建自定义主题,请在主题目录中创建 JSON 档案。
|
||||
|
||||
對於使用者範圍的主題:
|
||||
对于用户范围的主题:
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p ~/.config/opencode/themes
|
||||
vim ~/.config/opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
以及針對特定專案的主題。
|
||||
以及針对特定专案的主题。
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p .opencode/themes
|
||||
@@ -129,7 +129,7 @@ vim .opencode/themes/my-theme.json
|
||||
|
||||
---
|
||||
|
||||
### 終端預設值
|
||||
### 终端默认值
|
||||
|
||||
特殊值 `"none"` 可用于任何颜色以继承默认的默认颜色。这对于建立与终端方案无缝的融合主题特别有用:
|
||||
|
||||
@@ -140,7 +140,7 @@ vim .opencode/themes/my-theme.json
|
||||
|
||||
### 例子
|
||||
|
||||
以下是自定義主題的示例:
|
||||
以下是自定義主题的示例:
|
||||
|
||||
```json title="my-theme.json"
|
||||
{
|
||||
|
||||
@@ -64,7 +64,7 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
|
||||
### 編輯
|
||||
|
||||
使用精確的字串替換修改現有檔案。
|
||||
使用精確的字符串替換修改現有文件。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -75,13 +75,13 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
}
|
||||
```
|
||||
|
||||
该工具取消替换精确的文字来匹配对文件执行精确编辑。这是 LLM 修改程序代码的主要方式。
|
||||
该工具取消替换精确的文字来匹配对文件执行精确编辑。这是 LLM 修改代码的主要方式。
|
||||
|
||||
---
|
||||
|
||||
### 寫
|
||||
|
||||
建立新檔案或覆蓋現有檔案。
|
||||
建立新文件或覆盖現有文件。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -102,7 +102,7 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
|
||||
### 讀
|
||||
|
||||
從程式碼庫中讀取檔案內容。
|
||||
從程式碼庫中讀取文件內容。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -113,13 +113,13 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
}
|
||||
```
|
||||
|
||||
該工具讀取檔案並返回其內容。它支援讀取大檔案的特定行範圍。
|
||||
该工具讀取文件并返回其內容。它支持讀取大文件的特定行范围。
|
||||
|
||||
---
|
||||
|
||||
### grep
|
||||
|
||||
使用正規表示式搜尋檔案內容。
|
||||
使用正規表示式搜索文件內容。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -130,13 +130,13 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
}
|
||||
```
|
||||
|
||||
在您的程式碼庫中快速進行內容搜尋。支援完整的正規表示式語法和檔案模式過濾。
|
||||
在您的程式碼庫中快速進行內容搜索。支持完整的正規表示式語法和文件模式过濾。
|
||||
|
||||
---
|
||||
|
||||
### 全域性
|
||||
|
||||
透過模式匹配查詢檔案。
|
||||
通过模式匹配查询文件。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -153,7 +153,7 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
|
||||
### 列表
|
||||
|
||||
列出給定路徑中的檔案和目錄。
|
||||
列出給定路徑中的文件和目录。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -164,7 +164,7 @@ This tool allows the LLM to run terminal commands like `npm install`, `git statu
|
||||
}
|
||||
```
|
||||
|
||||
該工具列出目錄內容。它接受全域性模式來過濾結果。
|
||||
该工具列出目录內容。它接受全域性模式來过濾結果。
|
||||
|
||||
---
|
||||
|
||||
@@ -185,7 +185,7 @@ This tool is only available when `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (or `OPEN
|
||||
}
|
||||
```
|
||||
|
||||
支援的操作包括 `goToDefinition`、`findReferences`、`hover`、`documentSymbol`、`workspaceSymbol`、`goToImplementation`、`prepareCallHierarchy`、`incomingCalls` 和 `outgoingCalls`。
|
||||
支持的操作包括 `goToDefinition`、`findReferences`、`hover`、`documentSymbol`、`workspaceSymbol`、`goToImplementation`、`prepareCallHierarchy`、`incomingCalls` 和 `outgoingCalls`。
|
||||
|
||||
To configure which LSP servers are available for your project, see [LSP Servers](/docs/lsp).
|
||||
|
||||
@@ -193,7 +193,7 @@ To configure which LSP servers are available for your project, see [LSP Servers]
|
||||
|
||||
### 修補
|
||||
|
||||
對檔案應用補丁。
|
||||
对文件应用補丁。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -204,7 +204,7 @@ To configure which LSP servers are available for your project, see [LSP Servers]
|
||||
}
|
||||
```
|
||||
|
||||
該工具將補丁檔案應用到您的程式碼庫。對於應用來自各種來源的差異和補丁很有用。
|
||||
该工具将補丁文件应用到您的程式碼庫。对于应用來自各種來源的差異和補丁很有帮助。
|
||||
|
||||
:::note
|
||||
`patch`工具由`edit`许可权控制,该许可权主题所有文件修改(`edit`、`write`、`patch`、`multiedit`)。
|
||||
@@ -229,7 +229,7 @@ To configure which LSP servers are available for your project, see [LSP Servers]
|
||||
|
||||
### 待辦寫入
|
||||
|
||||
在編碼會話期間管理待辦事項列表。
|
||||
在編碼会话期間管理待辦事項列表。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -271,7 +271,7 @@ To configure which LSP servers are available for your project, see [LSP Servers]
|
||||
|
||||
### 網頁抓取
|
||||
|
||||
獲取網頁內容。
|
||||
获取網頁內容。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -282,13 +282,13 @@ To configure which LSP servers are available for your project, see [LSP Servers]
|
||||
}
|
||||
```
|
||||
|
||||
允许 LLM 获取和读取网页。对于查询文件或研究线上资源很有用。
|
||||
允许 LLM 获取和读取网页。对于查询文件或研究线上资源很有帮助。
|
||||
|
||||
---
|
||||
|
||||
### 網路搜尋
|
||||
### 網路搜索
|
||||
|
||||
在網路上搜尋資訊。
|
||||
在網路上搜索資訊。
|
||||
|
||||
:::note
|
||||
仅当使用 opencode 提供或 `OPENCODE_ENABLE_EXA` 程序环境变量设置为任何真值(例如 `true` 或 `1`)时,此工具才可用。
|
||||
@@ -310,9 +310,9 @@ OPENCODE_ENABLE_EXA=1 opencode
|
||||
}
|
||||
```
|
||||
|
||||
使用 Exa AI 执行网路搜索以线上查询相关资讯。对于研究主题、查询时事或收集训练超出数据范围的资讯很有用。
|
||||
使用 Exa AI 执行网路搜索以线上查询相关资讯。对于研究主题、查询时事或收集训练超出数据范围的资讯很有帮助。
|
||||
|
||||
不需要 API 金钥匙 — 该工具消耗身份验证即可直接连线到 Exa AI 的托管 MCP 服务。
|
||||
不需要 API 密钥 — 该工具消耗身份验证即可直接连线到 Exa AI 的托管 MCP 服务。
|
||||
|
||||
:::tip
|
||||
当您需要查询资讯(发现)时,请使用 `websearch`;当您需要从特定 URL 检索内容(搜索)时,请使用 `webfetch`。
|
||||
@@ -322,7 +322,7 @@ OPENCODE_ENABLE_EXA=1 opencode
|
||||
|
||||
### 問題
|
||||
|
||||
在執行過程中詢問使用者問題。
|
||||
在执行过程中詢問用户問題。
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
@@ -335,24 +335,24 @@ OPENCODE_ENABLE_EXA=1 opencode
|
||||
|
||||
该工具允许 LLM 在任务期间询问用户问题。它适用于:
|
||||
|
||||
- 收集使用者偏好或要求
|
||||
- 收集用户偏好或要求
|
||||
- 澄清不明確的指令
|
||||
- 就實施選擇做出決策
|
||||
- 提供選擇方向
|
||||
- 就實施选择做出決策
|
||||
- 提供选择方向
|
||||
|
||||
每個問題都包含標題、問題文字和選項列表。使用者可以從提供的選項中進行選擇或輸入自定義答案。當存在多個問題時,使用者可以在提交所有答案之前在這些問題之間導航。
|
||||
每个問題都包含標題、問題文字和選項列表。用户可以從提供的選項中進行选择或輸入自定義答案。当存在多个問題時,用户可以在提交所有答案之前在这些問題之间导航。
|
||||
|
||||
---
|
||||
|
||||
## 定製工具
|
||||
|
||||
自定义工具可以让您定义LLM可以调用自己的函式。这些是在您的配置文件中定义的并且可以执行任何程序代码。
|
||||
自定义工具可以让您定义LLM可以调用自己的函式。这些是在您的配置文件中定义的并且可以执行任何代码。
|
||||
|
||||
[了解更多](/docs/custom-tools)关于创建自定义工具。
|
||||
|
||||
---
|
||||
|
||||
## MCP 伺服器
|
||||
## MCP 服务器
|
||||
|
||||
MCP(模型上下文协议)服务器允许您集成外部工具和服务。这包括数据库访问、API 集成和第三方服务。
|
||||
|
||||
@@ -360,7 +360,7 @@ MCP(模型上下文协议)服务器允许您集成外部工具和服务。
|
||||
|
||||
---
|
||||
|
||||
## 內部結構
|
||||
## 内部結構
|
||||
|
||||
Internally, tools like `grep`, `glob`, and `list` use [ripgrep](https://github.com/BurntSushi/ripgrep) under the hood. By default, ripgrep respects `.gitignore` patterns, which means files and directories listed in your `.gitignore` will be excluded from searches and listings.
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ description: 常見問題以及如何解決它們。
|
||||
|
||||
## 紀錄
|
||||
|
||||
日誌檔案寫入:
|
||||
日誌文件寫入:
|
||||
|
||||
- **macOS/Linux**: `~/.local/share/opencode/log/`
|
||||
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.local\share\opencode\log`
|
||||
@@ -27,33 +27,33 @@ opencode程序将会话数据和其他应用程序数据存储在磁碟上:
|
||||
- **macOS/Linux**: `~/.local/share/opencode/`
|
||||
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.local\share\opencode`
|
||||
|
||||
該目錄包含:
|
||||
该目录包含:
|
||||
|
||||
- `auth.json` - 身份验证资料,例如API金密钥、OAuth令牌
|
||||
- `auth.json` - 身份验证凭据,例如 API 密钥、OAuth Tokens
|
||||
- `log/` - 应用日志
|
||||
- `project/` - 专案特定数据,例如会话和消息数据
|
||||
- 如果專案位於 Git 儲存庫中,則它儲存在 `./<project-slug>/storage/` 中
|
||||
- `project/` - 项目特定数据,例如会话和消息数据
|
||||
- 如果项目位于 Git 仓库中,则存储在 `./<project-slug>/storage/` 中
|
||||
- 如果不是 Git 存储库,则存储在 `./global/storage/` 中
|
||||
|
||||
---
|
||||
|
||||
## 桌面應用程式
|
||||
## 桌面应用程序
|
||||
|
||||
opencode Desktop runs a local opencode server (the `opencode-cli` sidecar) in the background. Most issues are caused by a misbehaving plugin, a corrupted cache, or a bad server setting.
|
||||
|
||||
### 快速檢查
|
||||
### 快速检查
|
||||
|
||||
- 完全退出並重新啟動應用程式。
|
||||
- 如果應用程式顯示錯誤螢幕,請單擊“**重新啟動**”並複制錯誤詳細資訊。
|
||||
- 完全退出并重新启动应用程序。
|
||||
- 如果应用程序显示错误界面,请单击“**重新启动**”并复制错误详细信息。
|
||||
- macOS only: `opencode` menu -> **Reload Webview** (helps if the UI is blank/frozen).
|
||||
|
||||
---
|
||||
|
||||
### 禁用外掛
|
||||
### 禁用插件
|
||||
|
||||
如果桌面應用程式在啟動時崩潰、掛起或行為異常,請首先禁用外掛。
|
||||
如果桌面应用程序在启动時崩潰、掛起或行为異常,请首先禁用插件。
|
||||
|
||||
#### 檢查全域性配置
|
||||
#### 检查全域性配置
|
||||
|
||||
开启全域性文件并查询`plugin`键。
|
||||
|
||||
@@ -61,7 +61,7 @@ opencode Desktop runs a local opencode server (the `opencode-cli` sidecar) in th
|
||||
- **macOS/Linux** (older installs): `~/.local/share/opencode/opencode.jsonc`
|
||||
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\opencode\opencode.jsonc`
|
||||
|
||||
如果您配置了外掛,請透過刪除金鑰或將其設定為空陣列來暫時禁用它們:
|
||||
如果您配置了插件,请通过删除密钥或将其设置为空数组來暂时禁用它們:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
@@ -70,26 +70,26 @@ opencode Desktop runs a local opencode server (the `opencode-cli` sidecar) in th
|
||||
}
|
||||
```
|
||||
|
||||
#### 檢查外掛目錄
|
||||
#### 检查插件目录
|
||||
|
||||
opencode 还可以从磁碟加载本地外挂。暂时将它们移开(或重新命名资料夹)并重新启动桌面应用程序:
|
||||
|
||||
- **全域性外掛**
|
||||
- **全域性插件**
|
||||
- **macOS/Linux**: `~/.config/opencode/plugins/`
|
||||
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\opencode\plugins`
|
||||
- **專案外掛**(僅當您使用每個專案配置時)
|
||||
- **专案插件**(仅当您使用每个专案配置時)
|
||||
- `<your-project>/.opencode/plugins/`
|
||||
|
||||
如果應用程式再次開始工作,請一次重新啟用一個外掛,以找出導致問題的外掛。
|
||||
如果应用程序再次開始工作,请一次重新启用一个插件,以找出導致問題的插件。
|
||||
|
||||
---
|
||||
|
||||
### 清除快取
|
||||
### 清除缓存
|
||||
|
||||
如果取消外挂没有帮助(或者外挂安装被卡住),请清除快取,方便opencode可以重建它。
|
||||
如果取消外挂没有帮助(或者外挂安装被卡住),请清除缓存,方便opencode可以重建它。
|
||||
|
||||
1. 完全退出 opencode 桌面。
|
||||
2. 刪除快取目錄:
|
||||
2. 删除缓存目录:
|
||||
|
||||
- **macOS**: Finder -> `Cmd+Shift+G` -> paste `~/.cache/opencode`
|
||||
- **Linux**: delete `~/.cache/opencode` (or run `rm -rf ~/.cache/opencode`)
|
||||
@@ -99,7 +99,7 @@ opencode 还可以从磁碟加载本地外挂。暂时将它们移开(或重
|
||||
|
||||
---
|
||||
|
||||
### 修復伺服器連線問題
|
||||
### 修復服务器连接問題
|
||||
|
||||
opencode Desktop 可以启动自己的本地服务器(默认配置)或连线到您的服务器 URL。
|
||||
|
||||
@@ -107,13 +107,13 @@ opencode Desktop 可以启动自己的本地服务器(默认配置)或连线
|
||||
|
||||
#### 清除桌面桌面服务器 URL
|
||||
|
||||
在主螢幕中,單擊伺服器名稱(帶有狀態點)以開啟伺服器選擇器。在“**預設伺服器**”部分中,單擊“**清除**”。
|
||||
在主屏幕中,单击服务器名称(带有状态点)以打开服务器选择器。在“**默认服务器**”部分中,单击“**清除**”。
|
||||
|
||||
#### 从配置中删除 `server.port` / `server.hostname`
|
||||
|
||||
If your `opencode.json(c)` contains a `server` section, temporarily remove it and restart the desktop app.
|
||||
|
||||
#### 檢查環境變數
|
||||
#### 检查环境变量
|
||||
|
||||
如果您在环境中设置了 `OPENCODE_PORT`,桌面应用程序将尝试将交换机用于本地服务器。
|
||||
|
||||
@@ -142,16 +142,16 @@ If you're experiencing slow performance, file access issues, or terminal problem
|
||||
|
||||
---
|
||||
|
||||
### 通知不顯示
|
||||
### 通知不显示
|
||||
|
||||
opencode 桌面仅在以下情况下显示系统通知:
|
||||
|
||||
- 在您的作业系统中设置为 opencode 启用了通知,并且
|
||||
- 應用程式視窗未聚焦。
|
||||
- 应用程序視窗未聚焦。
|
||||
|
||||
---
|
||||
|
||||
### 重置桌面應用程式儲存(最後的手段)
|
||||
### 重置桌面应用程序儲存(最后的手段)
|
||||
|
||||
如果应用程序无法并且启动您无法从 UI 内部清除设置,请重置桌面应用程序的存储状态。
|
||||
|
||||
@@ -161,7 +161,7 @@ opencode 桌面仅在以下情况下显示系统通知:
|
||||
- `opencode.settings.dat` (desktop default server URL)
|
||||
- `opencode.global.dat` and `opencode.workspace.*.dat` (UI state like recent servers/projects)
|
||||
|
||||
快速找到目錄:
|
||||
快速找到目录:
|
||||
|
||||
- **macOS**:Finder -> `Cmd+Shift+G` -> `~/Library/Application Support`(然后搜索上面的档名)
|
||||
- **Linux**:在`~/.local/share`下搜索上述档名
|
||||
@@ -179,9 +179,9 @@ opencode 桌面仅在以下情况下显示系统通知:
|
||||
|
||||
[**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues)
|
||||
|
||||
在建立新問題之前,請搜尋現有問題以檢視您的問題是否已被報告。
|
||||
在建立新問題之前,请搜索現有問題以查看您的問題是否已被報告。
|
||||
|
||||
2. **加入我們的不和諧**
|
||||
2. **加入我们的不和諧**
|
||||
|
||||
获得实时帮助和社群讨论,请加入我们的Discord服务器:
|
||||
|
||||
@@ -197,29 +197,29 @@ opencode 桌面仅在以下情况下显示系统通知:
|
||||
|
||||
### opencode 无法启动
|
||||
|
||||
1. 檢查日誌中是否有錯誤訊息
|
||||
2. 尝试使用 `--print-logs` 执行以检视终端中的输出
|
||||
1. 检查日誌中是否有错误消息
|
||||
2. 尝试使用 `--print-logs` 执行以查看终端中的输出
|
||||
3. Ensure you have the latest version with `opencode upgrade`
|
||||
|
||||
---
|
||||
|
||||
### 身份驗證問題
|
||||
### 身份验证問題
|
||||
|
||||
1. 尝试使用 TUI 中的 `/connect` 命令重新进行身份验证
|
||||
2. 检查您的API金钥匙是否有效
|
||||
2. 检查您的API 密钥是否有效
|
||||
3. 保证您的网路允许连线到达辉煌的API
|
||||
|
||||
---
|
||||
|
||||
### 型號不可用
|
||||
### 模型不可用
|
||||
|
||||
1. 檢查您是否已透過提供商的身份驗證
|
||||
2. 驗證配置中的型號名稱是否正確
|
||||
3. 某些型號可能需要特定的訪問許可權或訂閱
|
||||
1. 检查您是否已通过提供商的身份验证
|
||||
2. 驗證配置中的模型名称是否正确
|
||||
3. 某些模型可能需要特定的访问权限或訂閱
|
||||
|
||||
如果您遇到 `ProviderModelNotFoundError` 您很可能是错误的
|
||||
在某處引用模型。
|
||||
模型應該像這樣引用:`<providerId>/<modelId>`
|
||||
模型应该像这樣引用:`<providerId>/<modelId>`
|
||||
|
||||
示例:
|
||||
|
||||
@@ -231,14 +231,14 @@ To figure out what models you have access to, run `opencode models`
|
||||
|
||||
---
|
||||
|
||||
### 提供者初始化錯誤
|
||||
### 提供商初始化错误
|
||||
|
||||
如果遇到 ProviderInitError,您的配置可能无效或损坏。
|
||||
|
||||
要解決這個問題:
|
||||
要解決这个問題:
|
||||
|
||||
1. 首先,按照[提供商指南](/docs/providers) 验证您的事业是否已正确设置
|
||||
2. 如果問題仍然存在,請嘗試清除儲存的配置:
|
||||
2. 如果問題仍然存在,请嘗試清除儲存的配置:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.local/share/opencode
|
||||
@@ -250,13 +250,13 @@ To figure out what models you have access to, run `opencode models`
|
||||
|
||||
---
|
||||
|
||||
### AI_API_CallError 和提供程序包问题
|
||||
### AI_API_CallError 和提供包问题
|
||||
|
||||
如果您遇到 API 呼叫错误,这可能是由于过去提供程序包造成的。 opencode 根据需要动态安装提供程序包(OpenAI、Anthropic、Google 等)将其快取放在本地。
|
||||
如果您遇到 API 呼叫错误,这可能是由于过去提供包造成的。 opencode 根据需要动态安装提供包(OpenAI、Anthropic、Google 等)将其缓存放在本地。
|
||||
|
||||
要解決提供程式包問題:
|
||||
要解決provider 包問題:
|
||||
|
||||
1. 清除提供程式包快取:
|
||||
1. 清除provider 包缓存:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.cache/opencode
|
||||
@@ -264,13 +264,13 @@ To figure out what models you have access to, run `opencode models`
|
||||
|
||||
On Windows, press `WIN+R` and delete: `%USERPROFILE%\.cache\opencode`
|
||||
|
||||
2. 重新启动 opencode 以重新安装最新的提供程序包
|
||||
2. 重新启动 opencode 以重新安装最新的提供包
|
||||
|
||||
这将需要 opencode 下载最新版本的提供程序包,这通常可以解决模型引数和 API 更改的相容性问题。
|
||||
这将需要 opencode 下载最新版本的提供包,这通常可以解决模型参数和 API 更改的兼容性问题。
|
||||
|
||||
---
|
||||
|
||||
### 複製/paste 不适用 Linux
|
||||
### 复制/粘贴在 Linux 上不可用
|
||||
|
||||
Linux 用户需要安装以下剪贴簿实用程序之一才能使 copy/paste 功能正常工作:
|
||||
|
||||
@@ -288,7 +288,7 @@ apt install -y xsel
|
||||
apt install -y wl-clipboard
|
||||
```
|
||||
|
||||
**對於無頭環境:**
|
||||
**对于無頭環境:**
|
||||
|
||||
```bash
|
||||
apt install -y xvfb
|
||||
|
||||
@@ -13,7 +13,7 @@ opencode 提供交互式终端介面或 TUI,以便使用 LLM 处理您的专
|
||||
opencode
|
||||
```
|
||||
|
||||
或者您可以為特定的工作目錄啟動它。
|
||||
或者您可以为特定的工作目录启动它。
|
||||
|
||||
```bash
|
||||
opencode /path/to/project
|
||||
@@ -27,19 +27,19 @@ Give me a quick summary of the codebase.
|
||||
|
||||
---
|
||||
|
||||
## 檔案參考
|
||||
## 文件參考
|
||||
|
||||
您可以使用 `@` 在訊息中引用檔案。這會在當前工作目錄中進行模糊檔案搜尋。
|
||||
您可以使用 `@` 在消息中引用文件。这会在当前工作目录中進行模糊文件搜索。
|
||||
|
||||
:::tip
|
||||
您還可以使用 `@` 來引用訊息中的檔案。
|
||||
您还可以使用 `@` 來引用消息中的文件。
|
||||
:::
|
||||
|
||||
```text "@packages/functions/src/api/index.ts"
|
||||
How is auth handled in @packages/functions/src/api/index.ts?
|
||||
```
|
||||
|
||||
檔案的內容會自動新增到對話中。
|
||||
文件的內容会自动添加到对话中。
|
||||
|
||||
---
|
||||
|
||||
@@ -51,7 +51,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
!ls -la
|
||||
```
|
||||
|
||||
命令的輸出將作為工具結果新增到對話中。
|
||||
命令的輸出将作为工具結果添加到对话中。
|
||||
|
||||
---
|
||||
|
||||
@@ -69,9 +69,9 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
|
||||
---
|
||||
|
||||
### 連線
|
||||
### 连接
|
||||
|
||||
将新增到 opencode。允许您从可用的成功中进行选择并新增他们的 API 重要。
|
||||
将提供商添加到 opencode。你可以从可用提供商中选择,并添加它们的 API 密钥。
|
||||
|
||||
```bash frame="none"
|
||||
/connect
|
||||
@@ -79,7 +79,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
|
||||
---
|
||||
|
||||
### 袖珍的
|
||||
### 紧凑
|
||||
|
||||
压缩当前会话。_别名_: `/summarize`
|
||||
|
||||
@@ -87,19 +87,19 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
/compact
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x c`
|
||||
** 快捷键:** `ctrl+x c`
|
||||
|
||||
---
|
||||
|
||||
### 細節
|
||||
|
||||
切換工具執行詳細資訊。
|
||||
切換工具执行详细信息。
|
||||
|
||||
```bash frame="none"
|
||||
/details
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x d`
|
||||
** 快捷键:** `ctrl+x d`
|
||||
|
||||
---
|
||||
|
||||
@@ -111,7 +111,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
/editor
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x e`
|
||||
** 快捷键:** `ctrl+x e`
|
||||
|
||||
---
|
||||
|
||||
@@ -123,7 +123,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
/exit
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x q`
|
||||
** 快捷键:** `ctrl+x q`
|
||||
|
||||
---
|
||||
|
||||
@@ -135,19 +135,19 @@ How is auth handled in @packages/functions/src/api/index.ts?
|
||||
/export
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x x`
|
||||
** 快捷键:** `ctrl+x x`
|
||||
|
||||
---
|
||||
|
||||
### 幫助
|
||||
|
||||
顯示幫助對話方塊。
|
||||
显示幫助对话方塊。
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x h`
|
||||
** 快捷键:** `ctrl+x h`
|
||||
|
||||
---
|
||||
|
||||
@@ -159,19 +159,19 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
/init
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x i`
|
||||
** 快捷键:** `ctrl+x i`
|
||||
|
||||
---
|
||||
|
||||
### 型號
|
||||
### 模型
|
||||
|
||||
列出可用型號。
|
||||
列出可用模型。
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x m`
|
||||
** 快捷键:** `ctrl+x m`
|
||||
|
||||
---
|
||||
|
||||
@@ -183,7 +183,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
/new
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x n`
|
||||
** 快捷键:** `ctrl+x n`
|
||||
|
||||
---
|
||||
|
||||
@@ -192,7 +192,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
删除之前重做消除的讯息。仅在使用`/undo`后可用。
|
||||
|
||||
:::tip
|
||||
任何檔案更改也將被恢復。
|
||||
任何文件更改也将被恢复。
|
||||
:::
|
||||
|
||||
在内部,这使用 Git 来管理文件更改。所以你的专案**需要
|
||||
@@ -202,11 +202,11 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
/redo
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x r`
|
||||
** 快捷键:** `ctrl+x r`
|
||||
|
||||
---
|
||||
|
||||
### 會議
|
||||
### 会话
|
||||
|
||||
上市会话并在会话之间切换。 _别名_:`/resume`、`/continue`
|
||||
|
||||
@@ -214,7 +214,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
/sessions
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x l`
|
||||
** 快捷键:** `ctrl+x l`
|
||||
|
||||
---
|
||||
|
||||
@@ -226,19 +226,19 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
/share
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x s`
|
||||
** 快捷键:** `ctrl+x s`
|
||||
|
||||
---
|
||||
|
||||
### 主題
|
||||
### 主题
|
||||
|
||||
列出可用的主題。
|
||||
列出可用的主题。
|
||||
|
||||
```bash frame="none"
|
||||
/theme
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x t`
|
||||
** 快捷键:** `ctrl+x t`
|
||||
|
||||
---
|
||||
|
||||
@@ -258,10 +258,10 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
|
||||
### 撤消
|
||||
|
||||
撤消對話中的最後一條訊息。刪除最近的使用者訊息、所有後續響應以及任何檔案更改。
|
||||
撤消对话中的最后一条消息。删除最近的用户消息、所有后续響应以及任何文件更改。
|
||||
|
||||
:::tip
|
||||
所做的任何檔案更改也將被恢復。
|
||||
所做的任何文件更改也将被恢复。
|
||||
:::
|
||||
|
||||
在内部,这使用 Git 来管理文件更改。所以你的专案**需要
|
||||
@@ -271,7 +271,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
/undo
|
||||
```
|
||||
|
||||
** 按键系结:** `ctrl+x u`
|
||||
** 快捷键:** `ctrl+x u`
|
||||
|
||||
---
|
||||
|
||||
@@ -285,7 +285,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
|
||||
---
|
||||
|
||||
## 編輯器設定
|
||||
## 编辑器设置
|
||||
|
||||
`/editor` 和 `/export` 命令都使用 `EDITOR` 环境变量中指定的编辑器。
|
||||
|
||||
@@ -334,9 +334,9 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
流行的編輯器選項包括:
|
||||
流行的编辑器選項包括:
|
||||
|
||||
- `code` - Visual Studio 程序代码
|
||||
- `code` - Visual Studio Code
|
||||
- `cursor` - 游标
|
||||
- `windsurf` - 风帆冲浪
|
||||
- `nvim` - Neovim 编辑器
|
||||
@@ -349,7 +349,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
一些编辑器如 VS Code 需要以 `--wait` 标志启动。
|
||||
:::
|
||||
|
||||
某些编辑器需要命令列引数才能在阻止模式下执行。 `--wait` 标志使编辑器程序阻塞直至关闭。
|
||||
某些编辑器需要命令列参数才能在阻止模式下执行。 `--wait` 标志使编辑器程序阻塞直至关闭。
|
||||
|
||||
---
|
||||
|
||||
@@ -378,13 +378,13 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
|
||||
|
||||
## 定製化
|
||||
|
||||
您可以使用命令选项板(`ctrl+x h` 或 `/help`)自定义 TUI 检视的各个方面。这些设置在重新启动后仍然存在。
|
||||
您可以使用命令选项板(`ctrl+x h` 或 `/help`)自定义 TUI 查看的各个方面。这些设置在重新启动后仍然存在。
|
||||
|
||||
---
|
||||
|
||||
#### 使用者名稱顯示
|
||||
#### 用户名称显示
|
||||
|
||||
切換您的使用者名稱是否出現在聊天訊息中。透過以下方式訪問:
|
||||
切換您的用户名称是否出現在聊天消息中。通过以下方式访问:
|
||||
|
||||
- 命令面板:搜尋“使用者名稱”或“隱藏使用者名稱”
|
||||
- 命令面板:搜索“用户名称”或“隐藏用户名称”
|
||||
- 该设置会自动保留,放在 TUI 会话中被记住
|
||||
|
||||
@@ -21,7 +21,7 @@ opencode web
|
||||
如果未设置`OPENCODE_SERVER_PASSWORD`,服务器将不安全。这对于本地使用来说很好,但应该针对网路访问进行设置。
|
||||
:::
|
||||
|
||||
:::tip[Windows 使用者]
|
||||
:::tip[Windows 用户]
|
||||
For the best experience, run `opencode web` from [WSL](/docs/windows-wsl) rather than PowerShell. This ensures proper file system access and terminal integration.
|
||||
:::
|
||||
|
||||
@@ -94,21 +94,21 @@ The username defaults to `opencode` but can be changed with `OPENCODE_SERVER_USE
|
||||
|
||||
启动后,网路界面将提供对您的 opencode 会话的访问。
|
||||
|
||||
### 會議
|
||||
### 会话
|
||||
|
||||
從主頁檢視和管理您的會話。您可以檢視活動會話並開始新會話。
|
||||
從主頁查看和管理您的会话。您可以查看活动会话并開始新会话。
|
||||
|
||||

|
||||
|
||||
### 伺服器狀態
|
||||
### 服务器狀態
|
||||
|
||||
單擊“檢視伺服器”可檢視連線的伺服器及其狀態。
|
||||
单击“查看服务器”可查看连接的服务器及其狀態。
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 連線終端
|
||||
## 连接终端
|
||||
|
||||
您可以将终端 TUI 连线到正在执行的 Web 服务器:
|
||||
|
||||
@@ -124,7 +124,7 @@ opencode attach http://localhost:4096
|
||||
|
||||
---
|
||||
|
||||
## 配置檔案
|
||||
## 配置文件
|
||||
|
||||
You can also configure server settings in your `opencode.json` config file:
|
||||
|
||||
@@ -139,4 +139,4 @@ You can also configure server settings in your `opencode.json` config file:
|
||||
}
|
||||
```
|
||||
|
||||
命令列標誌優先於配置檔案設定。
|
||||
命令行标志优先于配置文件设置。
|
||||
|
||||
@@ -13,7 +13,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
OpenCode Zen 目前处于一个测试阶段。
|
||||
:::
|
||||
|
||||
Zen 的工作方式与 opencode 中的任何其他提供程序相同。您登入 OpenCode Zen 并获得
|
||||
Zen 的工作方式与 opencode 中的任何其他提供商相同。您登录 OpenCode Zen 并获得
|
||||
你的API钥匙。它是**完全可选的**,你不需要使用它即可使用
|
||||
opencode。
|
||||
|
||||
@@ -21,25 +21,25 @@ opencode。
|
||||
|
||||
## 背景
|
||||
|
||||
市面上有很多型號,但其中只有少數幾個
|
||||
這些模型可以很好地用作編碼代理。此外,大多數提供商都
|
||||
配置非常不同;所以你會得到截然不同的效能和質量。
|
||||
市面上有很多模型,但其中只有少數幾个
|
||||
这些模型可以很好地用作編碼代理。此外,大多數提供商都
|
||||
配置非常不同;所以你会得到截然不同的效能和質量。
|
||||
|
||||
:::tip
|
||||
我们测试了一组与 opencode 配合良好的模型并提供方案。
|
||||
我们测试了一组与 opencode 配合良好的模型并提供商。
|
||||
:::
|
||||
|
||||
因此,如果您使用 OpenRouter 之类的东西使用模型,您永远无法
|
||||
確定您是否獲得了您想要的模型的最佳版本。
|
||||
|
||||
為瞭解決這個問題,我們做了幾件事:
|
||||
为瞭解決这个問題,我们做了幾件事:
|
||||
|
||||
1. 我們測試了一組選定的模型,並與他們的團隊討論瞭如何
|
||||
最好執行它們。
|
||||
2. 然後我們與一些提供商合作以確保這些服務得到服務
|
||||
正確。
|
||||
1. 我们測試了一組選定的模型,并与他們的團隊討論瞭如何
|
||||
最好执行它們。
|
||||
2. 然後我们与一些提供商合作以確保这些服務得到服務
|
||||
正确。
|
||||
3. 最后,我们对 model/provider 的组合进行了基准测试,总结了
|
||||
並附上一份我們覺得不錯的推薦清單。
|
||||
并附上一份我们覺得不錯的推薦清單。
|
||||
|
||||
OpenCode Zen 是一个AI闸道器,可以让您访问这些模型。
|
||||
|
||||
@@ -49,12 +49,12 @@ OpenCode Zen 是一个AI闸道器,可以让您访问这些模型。
|
||||
|
||||
OpenCode Zen 的工作方式与 opencode 中的任何其他功能相同。
|
||||
|
||||
1. 您登入 **<a href={console}>OpenCode Zen</a>**,新增您的帳單
|
||||
详细资讯,然后复制您的 API 金钥匙。
|
||||
2. 您在 TUI 中执行 `/connect` 命令,选择 OpenCode Zen,然后贴上 API 金钥匙。
|
||||
3. 在 TUI 中执行 `/models` 以检视我们推荐的型号列表。
|
||||
1. 您登录 **<a href={console}>OpenCode Zen</a>**,添加您的账单
|
||||
详细信息,然后复制您的 API 密钥。
|
||||
2. 您在 TUI 中执行 `/connect` 命令,选择 OpenCode Zen,然后贴上 API 密钥。
|
||||
3. 在 TUI 中执行 `/models` 以查看我们推荐的模型列表。
|
||||
|
||||
您需要按請求付費,並且您可以將積分新增到您的帳戶中。
|
||||
您需要按请求付費,并且您可以将積分添加到您的账户中。
|
||||
|
||||
---
|
||||
|
||||
@@ -62,7 +62,7 @@ OpenCode Zen 的工作方式与 opencode 中的任何其他功能相同。
|
||||
|
||||
您还可以通过以下 API 端点访问我们的模型。
|
||||
|
||||
| 型号 | 型号ID | 端点 | 人工智慧SDK包 |
|
||||
| 模型 | 模型ID | 端点 | 人工智慧SDK包 |
|
||||
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
|
||||
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
@@ -100,9 +100,9 @@ use `opencode/gpt-5.2-codex` in your config.
|
||||
|
||||
---
|
||||
|
||||
### 型號
|
||||
### 模型
|
||||
|
||||
您可以從以下位置獲取可用模型及其後設資料的完整列表:
|
||||
您可以從以下位置获取可用模型及其元数据的完整列表:
|
||||
|
||||
```
|
||||
https://opencode.ai/zen/v1/models
|
||||
@@ -112,48 +112,48 @@ https://opencode.ai/zen/v1/models
|
||||
|
||||
## 定價
|
||||
|
||||
我們支援即用即付模式。以下是**每 100 萬代幣的價格**。
|
||||
我们支持即用即付模式。以下是**每 100 万Tokens的价格**。
|
||||
|
||||
| 型號 | 輸入 | 輸出 | 快取讀取 | 快取寫入 |
|
||||
| --------------------------------- | ---------- | ---------- | ---------- | ---------- |
|
||||
| 大泡菜 | 免費 | 免費 | 免費 | - |
|
||||
| MiniMax M2.1 免费 | 免费 | 免费 | 免费 | - |
|
||||
| 迷你最大M2.1 | 0.30 美元 | 1.20 美元 | 0.10 美元 | - |
|
||||
| GLM 4.7 免费 | 免费 | 免费 | 免费 | - |
|
||||
| GLM 4.7 | 0.60 美元 | 2.20 美元 | 0.10 美元 | - |
|
||||
| GLM 4.6 | 0.60 美元 | 2.20 美元 | 0.10 美元 | - |
|
||||
| Kimi K2.5 免费 | 免费 | 免费 | 免费 | - |
|
||||
| 作为K2.5 | 0.60 美元 | $3.00 | 0.08 美元 | - |
|
||||
| Kimi K2 思考 | 0.40 美元 | 2.50 美元 | - | - |
|
||||
| 作为K2 | 0.40 美元 | 2.50 美元 | - | - |
|
||||
| Qwen3 编码器 480B | 0.45 美元 | 1.50 美元 | - | - |
|
||||
| Claude Sonnet 4.5(≤ 200K 令牌) | $3.00 | 15.00 美元 | 0.30 美元 | 3.75 美元 |
|
||||
| 克劳德十四行诗 4.5(> 200K 代币) | 6.00 美元 | 22.50 美元 | 0.60 美元 | 7.50 美元 |
|
||||
| Claude Sonnet 4(≤ 200K 令牌) | $3.00 | 15.00 美元 | 0.30 美元 | 3.75 美元 |
|
||||
| Claude Sonnet 4(> 200K 令牌) | 6.00 美元 | 22.50 美元 | 0.60 美元 | 7.50 美元 |
|
||||
| Claude 俳句 4.5 | 1.00 美元 | 5.00 美元 | 0.10 美元 | 1.25 美元 |
|
||||
| Claude 俳句 3.5 | 0.80 美元 | 4.00 美元 | 0.08 美元 | 1.00 美元 |
|
||||
| 克劳德作品4.6(≤ 200K 代币) | 5.00 美元 | 25.00 美元 | 0.50 美元 | 6.25 美元 |
|
||||
| Claude Opus 4.6(> 200K 代幣) | 10.00 美元 | 37.50 美元 | 1.00 美元 | 12.50 美元 |
|
||||
| Claude 工作 4.5 | 5.00 美元 | 25.00 美元 | 0.50 美元 | 6.25 美元 |
|
||||
| Claude 工作 4.1 | 15.00 美元 | 75.00 美元 | 1.50 美元 | 18.75 美元 |
|
||||
| Gemini 3 Pro(≤20万代币) | 2.00 美元 | 12.00 美元 | 0.20 美元 | - |
|
||||
| Gemini 3 Pro(>20万代币) | 4.00 美元 | 18.00 美元 | 0.40 美元 | - |
|
||||
| 双子座 3 闪光 | 0.50 美元 | $3.00 | 0.05 美元 | - |
|
||||
| GPT 5.2 | 1.75 美元 | 14.00 美元 | 0.175 美元 | - |
|
||||
| GPT 5.2 法典 | 1.75 美元 | 14.00 美元 | 0.175 美元 | - |
|
||||
| GPT 5.1 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5.1 法典 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5.1 法典最大 | 1.25 美元 | 10.00 美元 | 0.125 美元 | - |
|
||||
| GPT 5.1 迷你版 | 0.25 美元 | 2.00 美元 | 0.025 美元 | - |
|
||||
| GPT 5 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5 法典 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5 奈米 | 免费 | 免费 | 免费 | - |
|
||||
| 模型 | 輸入 | 輸出 | 缓存讀取 | 缓存寫入 |
|
||||
| ---------------------------------- | ---------- | ---------- | ---------- | ---------- |
|
||||
| 大泡菜 | 免費 | 免費 | 免費 | - |
|
||||
| MiniMax M2.1 免费 | 免费 | 免费 | 免费 | - |
|
||||
| 迷你最大M2.1 | 0.30 美元 | 1.20 美元 | 0.10 美元 | - |
|
||||
| GLM 4.7 免费 | 免费 | 免费 | 免费 | - |
|
||||
| GLM 4.7 | 0.60 美元 | 2.20 美元 | 0.10 美元 | - |
|
||||
| GLM 4.6 | 0.60 美元 | 2.20 美元 | 0.10 美元 | - |
|
||||
| Kimi K2.5 免费 | 免费 | 免费 | 免费 | - |
|
||||
| 作为K2.5 | 0.60 美元 | $3.00 | 0.08 美元 | - |
|
||||
| Kimi K2 思考 | 0.40 美元 | 2.50 美元 | - | - |
|
||||
| 作为K2 | 0.40 美元 | 2.50 美元 | - | - |
|
||||
| Qwen3 编码器 480B | 0.45 美元 | 1.50 美元 | - | - |
|
||||
| Claude Sonnet 4.5(≤ 200K Tokens) | $3.00 | 15.00 美元 | 0.30 美元 | 3.75 美元 |
|
||||
| 克劳德十四行诗 4.5(> 200K 代币) | 6.00 美元 | 22.50 美元 | 0.60 美元 | 7.50 美元 |
|
||||
| Claude Sonnet 4(≤ 200K Tokens) | $3.00 | 15.00 美元 | 0.30 美元 | 3.75 美元 |
|
||||
| Claude Sonnet 4(> 200K Tokens) | 6.00 美元 | 22.50 美元 | 0.60 美元 | 7.50 美元 |
|
||||
| Claude 俳句 4.5 | 1.00 美元 | 5.00 美元 | 0.10 美元 | 1.25 美元 |
|
||||
| Claude 俳句 3.5 | 0.80 美元 | 4.00 美元 | 0.08 美元 | 1.00 美元 |
|
||||
| 克劳德作品4.6(≤ 200K 代币) | 5.00 美元 | 25.00 美元 | 0.50 美元 | 6.25 美元 |
|
||||
| Claude Opus 4.6(> 200K Tokens) | 10.00 美元 | 37.50 美元 | 1.00 美元 | 12.50 美元 |
|
||||
| Claude 工作 4.5 | 5.00 美元 | 25.00 美元 | 0.50 美元 | 6.25 美元 |
|
||||
| Claude 工作 4.1 | 15.00 美元 | 75.00 美元 | 1.50 美元 | 18.75 美元 |
|
||||
| Gemini 3 Pro(≤20万代币) | 2.00 美元 | 12.00 美元 | 0.20 美元 | - |
|
||||
| Gemini 3 Pro(>20万代币) | 4.00 美元 | 18.00 美元 | 0.40 美元 | - |
|
||||
| 双子座 3 闪光 | 0.50 美元 | $3.00 | 0.05 美元 | - |
|
||||
| GPT 5.2 | 1.75 美元 | 14.00 美元 | 0.175 美元 | - |
|
||||
| GPT 5.2 法典 | 1.75 美元 | 14.00 美元 | 0.175 美元 | - |
|
||||
| GPT 5.1 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5.1 法典 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5.1 法典最大 | 1.25 美元 | 10.00 美元 | 0.125 美元 | - |
|
||||
| GPT 5.1 迷你版 | 0.25 美元 | 2.00 美元 | 0.025 美元 | - |
|
||||
| GPT 5 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5 法典 | 1.07 美元 | 8.50 美元 | 0.107 美元 | - |
|
||||
| GPT 5 奈米 | 免费 | 免费 | 免费 | - |
|
||||
|
||||
您可能会在您的使用历史记录中注意到*Claude Haiku 3.5*。这是一个[低成本模型](/docs/config/#models),用于生成会话标题。
|
||||
|
||||
:::note
|
||||
信用卡費用按成本轉嫁(4.4% + 每筆交易 0.30 美元);除此之外我們不收取任何費用。
|
||||
信用卡费用按成本轉嫁(4.4% + 每筆交易 0.30 美元);除此之外我们不收取任何费用。
|
||||
:::
|
||||
|
||||
免費模型:
|
||||
@@ -163,32 +163,32 @@ https://opencode.ai/zen/v1/models
|
||||
- MiniMax M2.1 在 opencode 限时免费供应。团队正在利用这段时间收集反馈并改进模型。
|
||||
- Big Pickle 是一个隐形模型,在 opencode 上限时免费。团队正在利用这个临时收集反馈并改进模型。
|
||||
|
||||
<a href={email}>如果您有任何疑問,請聯絡我們</a>。
|
||||
<a href={email}>如果您有任何疑問,请聯絡我们</a>。
|
||||
|
||||
---
|
||||
|
||||
### 自動重新載入
|
||||
### 自动重新載入
|
||||
|
||||
如果您的余额低于 5 美元,Zen 将自动充值 20 美元。
|
||||
|
||||
您可以更改自動充值金額。您還可以完全禁用自動重新載入。
|
||||
您可以更改自动充值金額。您还可以完全禁用自动重新載入。
|
||||
|
||||
---
|
||||
|
||||
### 每月限額
|
||||
### 每月限额
|
||||
|
||||
您還可以為整個工作區和每個工作區設定每月使用限制
|
||||
你的團隊成員。
|
||||
您还可以为整个工作区和每个工作区设置每月使用限制
|
||||
你的團隊成员。
|
||||
|
||||
例如,假设您将每月使用中断设置为 20 美元,Zen 将不会使用
|
||||
一个月超过 20 美元。但如果你启用了自动重新加载,Zen 可能会结束
|
||||
如果您的餘額低於 5 美元,則向您收取超過 20 美元的費用。
|
||||
如果您的余额低于 5 美元,则向您收取超过 20 美元的费用。
|
||||
|
||||
---
|
||||
|
||||
## 隱私
|
||||
|
||||
我們所有的模型都在美國託管。我們的提供商遵循零保留政策,不會將您的資料用於模型訓練,但以下情況除外:
|
||||
我们所有的模型都在美国託管。我们的提供商遵循零保留政策,不会将您的数据用于模型训练,但以下情况除外:
|
||||
|
||||
- Big Pickle:在免费期间,收集可用于改进模型的数据。
|
||||
- GLM 4.7 免费:在免费期间,收集可用于改进模型的数据。
|
||||
@@ -199,56 +199,56 @@ https://opencode.ai/zen/v1/models
|
||||
|
||||
---
|
||||
|
||||
## 對於團隊
|
||||
## 对于團隊
|
||||
|
||||
Zen 对团队也很有效。您可以参与第三方、角色、策划
|
||||
您的團隊使用的模型等等。
|
||||
|
||||
:::note
|
||||
作為測試版的一部分,工作空間目前對團隊免費。
|
||||
作为測試版的一部分,工作空間目前对團隊免費。
|
||||
:::
|
||||
|
||||
作為測試版的一部分,管理工作空間目前對團隊免費。我們將會
|
||||
很快就會分享更多有關定價的細節。
|
||||
作为測試版的一部分,管理工作空間目前对團隊免費。我们将会
|
||||
很快就会分享更多有關定價的細節。
|
||||
|
||||
---
|
||||
|
||||
### 角色
|
||||
|
||||
您可以邀請團隊成員到您的工作區並分配角色:
|
||||
您可以邀请團隊成员到您的工作区并分配角色:
|
||||
|
||||
- **管理员**:管理模型、成员、API 金钥匙和设备
|
||||
- **管理员**:管理模型、成员、API 密钥和设备
|
||||
- **成员**:仅管理自己的API 金?
|
||||
|
||||
管理員還可以為每個成員設定每月支出限額,以控製成本。
|
||||
管理员还可以为每个成员设置每月支出限额,以控制成本。
|
||||
|
||||
---
|
||||
|
||||
### 模型訪問
|
||||
### 模型访问
|
||||
|
||||
管理員可以啟用或禁用工作區的特定模型。對禁用模型發出的請求將返回錯誤。
|
||||
管理员可以启用或禁用工作区的特定模型。对禁用模型发出的请求会返回错误。
|
||||
|
||||
這對於您想要禁用以下模型的情況很有用:
|
||||
收集資料。
|
||||
这对于您想要禁用以下模型的情况很有帮助:
|
||||
收集数据。
|
||||
|
||||
---
|
||||
|
||||
### 帶上你自己的鑰匙
|
||||
### 使用你自己的密钥
|
||||
|
||||
您可以使用自己的 OpenAI 或 Anthropic API 键,同时仍然访问 Zen 中的其他模型。
|
||||
你可以使用自己的 OpenAI 或 Anthropic API 密钥,同时继续使用 Zen 的其他模型。
|
||||
|
||||
当您使用自己的金密钥时,令牌将由强大的直接设备组成,而不是由 Zen。
|
||||
使用你自己的 API 密钥时,Tokens 会直接由对应提供商计费,而不是由 Zen 计费。
|
||||
|
||||
例如,您的组织可能已经拥有 OpenAI 或 Anthropic 的金?
|
||||
你想使用它而不是 Zen 提供的。
|
||||
例如,你的组织可能已经有 OpenAI 或 Anthropic 的 API 密钥,
|
||||
你希望优先使用它们,而不是 Zen 提供的密钥。
|
||||
|
||||
---
|
||||
|
||||
## 去寻找
|
||||
## 为什么使用 Zen
|
||||
|
||||
我们建立OpenCode Zen是为了:
|
||||
我们构建 OpenCode Zen 是为了:
|
||||
|
||||
1. **基准**编码代理的最佳models/providers。
|
||||
2. 可以使用**最高質量**選項,而不是降低效能或轉向更便宜的提供商。
|
||||
3. 透過按成本價銷售來傳遞任何**價格下跌**;所以唯一的加價就是支付我們的加工費。
|
||||
4. 通过允许您将其与任何其他编码代理一起使用,**无锁定**。并且始终允许您将任何其他成功与 opencode 一起使用。
|
||||
1. **基准测试**最适合编码代理的 models/providers。
|
||||
2. 可以优先使用 **高质量** 选项,而不是被迫降级性能或改用更便宜的提供商。
|
||||
3. 通过按成本价计费传递任何**降价收益**,额外费用仅为处理费。
|
||||
4. 通过可与其他编码代理一起使用实现 **无锁定**,你也始终可以把其他提供商与 opencode 组合使用。
|
||||
|
||||
Reference in New Issue
Block a user