fix(docs): locale translations
This commit is contained in:
@@ -1,28 +1,28 @@
|
||||
---
|
||||
title: 遷移到 1.0
|
||||
description: opencode 1.0 中的添加内容。
|
||||
title: 迁移到 1.0
|
||||
description: opencode 1.0 中的新增内容。
|
||||
---
|
||||
|
||||
opencode 1.0完全重写了TUI。
|
||||
opencode 1.0 完全重写了 TUI。
|
||||
|
||||
我们从存在的性能和功能问题的基于 go+bubbletea 的 TUI 迁移到使用 zig+solidjs 编写的内部框架 (OpenTUI)。
|
||||
我们从存在性能和功能问题的基于 go+bubbletea 的 TUI 迁移到使用 zig+solidjs 编写的内部框架 (OpenTUI)。
|
||||
|
||||
新的 TUI 的工作方式与旧的 TUI 类似,因为它连接到相同的opencode服务器。
|
||||
新的 TUI 的工作方式与旧的 TUI 类似,因为它连接到相同的 opencode 服务器。
|
||||
|
||||
---
|
||||
|
||||
## 升級中
|
||||
## 升级中
|
||||
|
||||
如果您当前正在使用以前的版本,则不应自动升級到 1.0
|
||||
如果您当前正在使用以前的版本,则不应自动升级到 1.0
|
||||
版本。然而,一些旧版本的 opencode 总是获取最新版本。
|
||||
|
||||
要手动升級,请運行
|
||||
要手动升级,请运行
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 1.0.0
|
||||
```
|
||||
|
||||
要降级回0.x,请运行
|
||||
要降级回 0.x,请运行
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 0.15.31
|
||||
@@ -30,21 +30,21 @@ $ opencode upgrade 0.15.31
|
||||
|
||||
---
|
||||
|
||||
## 用戶體驗變化
|
||||
## 用户体验变化
|
||||
|
||||
会话历史记录更加压缩,仅显示编辑和 bash 工具的完整详细信息。
|
||||
|
||||
我们添加了一个命令栏,几乎所有内容都通过了它。按 ctrl+p 可以在任意上下文中调出它并查看您可以执行的所有操作。
|
||||
我们添加了一个命令栏,几乎所有内容都通过它。按 ctrl+p 可以在任意上下文中调出它并查看您可以执行的所有操作。
|
||||
|
||||
添加了包含有用信息的会话側邊欄(可以切換)。
|
||||
添加了包含有用信息的会话侧边栏(可以切换)。
|
||||
|
||||
我们删除了一些我们不確定是否有人實際使用的功能。如果缺少重要內容,请提出問題,我们会盡快将其添加回來。
|
||||
我们删除了一些我们不确定是否有人实际使用的功能。如果缺少重要内容,请提出 issue,我们会尽快将其添加回来。
|
||||
|
||||
---
|
||||
|
||||
## 重大變化
|
||||
## 重大变化
|
||||
|
||||
### 按鍵綁定已重命名
|
||||
### 按键绑定已重命名
|
||||
|
||||
- messages_revert -> messages_undo
|
||||
- switch_agent -> agent_cycle
|
||||
@@ -52,16 +52,16 @@ $ opencode upgrade 0.15.31
|
||||
- switch_mode -> agent_cycle
|
||||
- switch_mode_reverse -> agent_cycle_reverse
|
||||
|
||||
### 按鍵綁定已移除
|
||||
### 按键绑定已移除
|
||||
|
||||
- 消息佈局切換
|
||||
- 消息布局切换
|
||||
- 下一条消息
|
||||
- 上一条消息
|
||||
- 文件差異切換
|
||||
- 文件差异切换
|
||||
- 文件搜索
|
||||
- 文件关闭
|
||||
- 文件列表
|
||||
- 应用程序幫助
|
||||
- 項目初始化
|
||||
- 工具詳細信息
|
||||
- 思維塊
|
||||
- 应用程序帮助
|
||||
- 项目初始化
|
||||
- 工具详细信息
|
||||
- 思维块
|
||||
|
||||
@@ -3,10 +3,10 @@ title: ACP 支持
|
||||
description: 在任何 ACP 兼容编辑器中使用 opencode。
|
||||
---
|
||||
|
||||
opencode 支持[代理客户端协议](https://agentclientprotocol.com) 或 (ACP),允许您直接在兼容的编辑器和 IDE 中使用它。
|
||||
opencode 支持 [Agent Client Protocol](https://agentclientprotocol.com) (ACP),允许您直接在兼容的编辑器和 IDE 中使用它。
|
||||
|
||||
:::tip
|
||||
有关支持 ACP 的编辑器和工具的列表,请查看[非加太进度进度报告](https://zed.dev/blog/acp-progress-report#available-now)。
|
||||
有关支持 ACP 的编辑器和工具的列表,请查看 [Zed ACP progress report](https://zed.dev/blog/acp-progress-report#available-now)。
|
||||
:::
|
||||
|
||||
ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之间的通信。
|
||||
@@ -23,9 +23,9 @@ ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之
|
||||
|
||||
---
|
||||
|
||||
### 澤德
|
||||
### Zed
|
||||
|
||||
添加到您的[泽德](https://zed.dev)配置(`~/.config/zed/settings.json`):
|
||||
添加到您的 [Zed](https://zed.dev) 配置 (`~/.config/zed/settings.json`):
|
||||
|
||||
```json title="~/.config/zed/settings.json"
|
||||
{
|
||||
@@ -40,7 +40,7 @@ ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之
|
||||
|
||||
要打开它,请使用 **命令面板** 中的 `agent: new thread` 操作。
|
||||
|
||||
您还可以通过编辑`keymap.json`来绑定键盘快捷键:
|
||||
您还可以通过编辑 `keymap.json` 来绑定键盘快捷键:
|
||||
|
||||
```json title="keymap.json"
|
||||
[
|
||||
@@ -69,7 +69,7 @@ ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之
|
||||
|
||||
### JetBrains IDE
|
||||
|
||||
根据[文件](https://www.jetbrains.com/help/ai-assistant/acp.html)添加到你的[JetBrains IDE](https://www.jetbrains.com/) acp.json]:
|
||||
根据 [docs](https://www.jetbrains.com/help/ai-assistant/acp.html) 添加到你的 [JetBrains IDE](https://www.jetbrains.com/) `acp.json`:
|
||||
|
||||
```json title="acp.json"
|
||||
{
|
||||
@@ -82,13 +82,13 @@ ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之
|
||||
}
|
||||
```
|
||||
|
||||
要打开它,请在 AI Chat 代理选择器中使用新的“opencode”代理。
|
||||
要打开它,请在 AI Chat 代理选择器中使用新的 "opencode" 代理。
|
||||
|
||||
---
|
||||
|
||||
### 前衛
|
||||
### Avante.nvim
|
||||
|
||||
添加到您的[前卫](https://github.com/yetone/avante.nvim)配置:
|
||||
添加到您的 [Avante.nvim](https://github.com/yetone/avante.nvim) 配置:
|
||||
|
||||
```lua
|
||||
{
|
||||
@@ -101,7 +101,7 @@ ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之
|
||||
}
|
||||
```
|
||||
|
||||
如果需要傳遞環境變量:
|
||||
如果需要传递环境变量:
|
||||
|
||||
```lua {6-8}
|
||||
{
|
||||
@@ -119,7 +119,7 @@ ACP 是一种开放协议,用于标准化代码编辑器和 AI 编码代理之
|
||||
|
||||
---
|
||||
|
||||
### 代码合作者.nvim
|
||||
### CodeCompanion.nvim
|
||||
|
||||
相当于 opencode 网关 [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim) 中的 ACP 代理,接下来将以下内容添加到 Neovim 配置中:
|
||||
|
||||
@@ -136,9 +136,9 @@ require("codecompanion").setup({
|
||||
})
|
||||
```
|
||||
|
||||
此配置将 CodeCompanion 设置为使用 opencode 作为聊天的 ACP 代理。
|
||||
此配置将 CodeCompanion.nvim 设置为使用 opencode 作为聊天的 ACP 代理。
|
||||
|
||||
如果您需要交付环境变量(如 `OPENCODE_API_KEY`),请参阅 CodeCompanion.nvim 文档中的 [配置充电器:环境变量Z](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) 了解完整信息。
|
||||
如果您需要传递环境变量(如 `OPENCODE_API_KEY`),请参阅 CodeCompanion.nvim 文档中的 [Configuration: Adapters](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) 了解完整信息。
|
||||
|
||||
## 支持
|
||||
|
||||
@@ -149,8 +149,8 @@ opencode 通过 ACP 的工作方式与在终端中的工作方式相同。支持
|
||||
:::
|
||||
|
||||
- 内置工具(文件操作、终端命令等)
|
||||
- 自定義工具和斜杠命令
|
||||
- 自定义工具和斜杠命令
|
||||
- 在 opencode 配置中配置的 MCP 服务器
|
||||
- `AGENTS.md` 的项目特定规则
|
||||
- 自定义程序和 linter
|
||||
- 代理和权限系統
|
||||
- 代理和权限系统
|
||||
|
||||
@@ -1,65 +1,65 @@
|
||||
---
|
||||
title: 代理商
|
||||
description: 配置和使用专門的代理。
|
||||
title: Agents
|
||||
description: 配置和使用专门的代理。
|
||||
---
|
||||
|
||||
代理是专門的人工智能助手,可以針对特定任务和工作流程進行配置。它們允许您创建具有自定義提示、模型和工具访问权限的专用工具。
|
||||
代理是专门的人工智能助手,可以针对特定任务和工作流程进行配置。它们允许您创建具有自定义提示、模型和工具访问权限的专用工具。
|
||||
|
||||
:::tip
|
||||
使用計劃代理來分析代碼并审查建議,而無需進行任何代碼更改。
|
||||
使用 Plan 代理来分析代码并审查建议,而无需进行任何代码更改。
|
||||
:::
|
||||
|
||||
您可以在会话期間在代理之間切換,或使用 `@` 提及來调用它們。
|
||||
您可以在会话期间在代理之间切换,或使用 `@` 提及来调用它们。
|
||||
|
||||
---
|
||||
|
||||
## 類型
|
||||
## 类型
|
||||
|
||||
opencode有两种类型的代理;主代理和次代理。
|
||||
OpenCode 有两种类型的代理;主代理和子代理。
|
||||
|
||||
---
|
||||
|
||||
### 主要代理
|
||||
### Primary 代理
|
||||
|
||||
主要代理是与您直接交互的主要助手。您可以使用 **Tab** 键或您配置的 `switch_agent` 键绑定循环浏览它们。这些代理处理您的主要对话。工具访问是通过权限配置的 - 例如,“构建”启用了所有工具,而“计划”则受到限制。
|
||||
Primary 代理是与您直接交互的主要助手。您可以使用 **Tab** 键或您配置的 `switch_agent` 键绑定循环浏览它们。这些代理处理您的主要对话。工具访问是通过权限配置的 - 例如,“Build”启用了所有工具,而“Plan”则受到限制。
|
||||
|
||||
:::tip
|
||||
您可以在会话期间使用 **Tab** 键在主要代理之间进行切换。
|
||||
您可以在会话期间使用 **Tab** 键在 Primary 代理之间进行切换。
|
||||
:::
|
||||
|
||||
opencode附带两个内置的主要代理:**Build** 和 **Plan**。地
|
||||
OpenCode 附带两个内置的 Primary 代理:**Build** 和 **Plan**。
|
||||
看看下面这些。
|
||||
|
||||
---
|
||||
|
||||
### 子代理
|
||||
### Subagents (子代理)
|
||||
|
||||
子代理是主要代理可以调用來执行特定任务的专業助手。您还可以通过在消息中**@提及**它們來手动调用它們。
|
||||
Subagents (子代理) 是 Primary 代理可以调用来执行特定任务的专业助手。您还可以通过在消息中 **@提及** 它们来手动调用它们。
|
||||
|
||||
opencode附带两个内置子代理:**General** 和 **Explore**。我们将在下面看看这个。
|
||||
OpenCode 附带两个内置子代理:**General** 和 **Explore**。我们将在下面看看这个。
|
||||
|
||||
---
|
||||
|
||||
## 內建
|
||||
## 内置
|
||||
|
||||
opencode附带两个内置主代理和两个内置子代理。
|
||||
OpenCode 附带两个内置主代理和两个内置子代理。
|
||||
|
||||
---
|
||||
|
||||
### 使用構建
|
||||
### 使用 Build
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
構建是启用所有工具的**默認**主要代理。这是用于需要完全访问文件操作和系統命令的開發工作的標準代理。
|
||||
Build 是启用所有工具的 **默认** Primary 代理。这是用于需要完全访问文件操作和系统命令的开发工作的标准代理。
|
||||
|
||||
---
|
||||
|
||||
### 使用計劃
|
||||
### 使用 Plan
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
专为規劃和分析而設計的受限代理。我们使用权限系統为您提供更多控制并防止意外更改。
|
||||
默认情况下,以下所有项均设置为`ask`:
|
||||
专为规划和分析而设计的受限代理。我们使用权限系统为您提供更多控制并防止意外更改。
|
||||
默认情况下,以下所有项均设置为 `ask`:
|
||||
|
||||
- `file edits`:所有书写、修复和编辑
|
||||
- `bash`:所有 bash 命令
|
||||
@@ -68,7 +68,7 @@ _模式_:`primary`
|
||||
|
||||
---
|
||||
|
||||
### 使用一般
|
||||
### 使用 General
|
||||
|
||||
_模式_:`subagent`
|
||||
|
||||
@@ -76,15 +76,15 @@ _模式_:`subagent`
|
||||
|
||||
---
|
||||
|
||||
### 使用探索
|
||||
### 使用 Explore
|
||||
|
||||
_模式_:`subagent`
|
||||
|
||||
用于探索代碼庫的快速只讀代理。无法修改文件。当您需要按模式快速查找文件、搜索代碼中的關鍵字或回答有關代碼庫的問題時,请使用此功能。
|
||||
用于探索代码库的快速只读代理。无法修改文件。当您需要按模式快速查找文件、搜索代码中的关键字或回答有关代码库的问题时,请使用此功能。
|
||||
|
||||
---
|
||||
|
||||
### 使用壓實
|
||||
### 使用 Compact
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
@@ -92,7 +92,7 @@ _模式_:`primary`
|
||||
|
||||
---
|
||||
|
||||
### 使用標題
|
||||
### 使用 Title
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
@@ -100,7 +100,7 @@ _模式_:`primary`
|
||||
|
||||
---
|
||||
|
||||
### 使用總結
|
||||
### 使用 Summary
|
||||
|
||||
_模式_:`primary`
|
||||
|
||||
@@ -110,27 +110,27 @@ _模式_:`primary`
|
||||
|
||||
## 用法
|
||||
|
||||
1. 对于主要代理,请在会话期间使用 **Tab** 键循环浏览它们。您还可以使用配置的 `switch_agent` 键绑定。
|
||||
1. 对于 Primary 代理,请在会话期间使用 **Tab** 键循环浏览它们。您还可以使用配置的 `switch_agent` 键绑定。
|
||||
|
||||
2. 可以调用子代理:
|
||||
- **自动**由主要代理根據其描述执行专門任务。
|
||||
- 通过在消息中**@提及**子代理手动進行。例如。
|
||||
- **自动**由 Primary 代理根据其描述执行专门任务。
|
||||
- 通过在消息中 **@提及** 子代理手动进行。例如。
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
```
|
||||
|
||||
3. **会话之间导航**:当子代理创建自己的子会话時,您可以使用以下命令在父会话和所有子会话之间导航:
|
||||
- **\<Leader>+Right**(或您配置的 `session_child_cycle` 鍵綁定)向前循環父級 → 子級 1 → 子級 2 → ... → 父級
|
||||
- **\<Leader>+Left**(或您配置的 `session_child_cycle_reverse` 鍵綁定)向後循環父級 ← 子級 1 ← 子級 2 ← ... ← 父級
|
||||
3. **会话之间导航**:当子代理创建自己的子会话时,您可以使用以下命令在父会话和所有子会话之间导航:
|
||||
- **\<Leader>+Right**(或您配置的 `session_child_cycle` 键绑定)向前循环父级 → 子级 1 → 子级 2 → ... → 父级
|
||||
- **\<Leader>+Left**(或您配置的 `session_child_cycle_reverse` 键绑定)向后循环父级 ← 子级 1 ← 子级 2 ← ... ← 父级
|
||||
|
||||
这使您可以在主要对话和专門的子代理工作之間無縫切換。
|
||||
这使您可以在主要对话和专门的子代理工作之间无缝切换。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
|
||||
您可以自定義内置代理或通过配置创建您自己的代理。可以通过两种方式配置代理:
|
||||
您也可以自定义内置代理或通过配置创建您自己的代理。可以通过两种方式配置代理:
|
||||
|
||||
---
|
||||
|
||||
@@ -181,7 +181,7 @@ _模式_:`primary`
|
||||
|
||||
您还可以使用 Markdown 文件定义代理。将它们放入:
|
||||
|
||||
- 全球:`~/.config/opencode/agents/`
|
||||
- 全局:`~/.config/opencode/agents/`
|
||||
- 每个项目:`.opencode/agents/`
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
@@ -206,13 +206,13 @@ You are in code review mode. Focus on:
|
||||
Provide constructive feedback without making direct changes.
|
||||
```
|
||||
|
||||
Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代理。
|
||||
Markdown 文件名成为代理名称。例如,`review.md` 创建 `review` 代理。
|
||||
|
||||
---
|
||||
|
||||
## 選項
|
||||
## 选项
|
||||
|
||||
讓我们詳細看看这些配置選項。
|
||||
让我们详细看看这些配置选项。
|
||||
|
||||
---
|
||||
|
||||
@@ -230,15 +230,15 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
这是一个**必需的**配置選項。
|
||||
这是一个 **必需的** 配置选项。
|
||||
|
||||
---
|
||||
|
||||
### 溫度
|
||||
### 温度
|
||||
|
||||
使用 `temperature` 配置控制 LLM 响应的随机性和创意。
|
||||
|
||||
較低的值使響应更加集中和確定,而較高的值则增加创建力和可變性。
|
||||
较低的值使响应更加集中和确定,而较高的值则增加创造力和可变性。
|
||||
|
||||
```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,17 +299,17 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
当達到限制時,代理会收到特殊的系統提示,指示其響应其工作摘要和建議的剩餘任务。
|
||||
当达到限制时,代理会收到特殊的系统提示,指示其响应其工作摘要和建议的剩余任务。
|
||||
|
||||
:::caution
|
||||
旧版 `maxSteps` 字段已废弃。请改用`steps`。
|
||||
旧版 `maxSteps` 字段已废弃。请改用 `steps`。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### 禁用
|
||||
|
||||
设置为`true`以取消代理。
|
||||
设置为 `true` 以取消代理。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -323,7 +323,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
|
||||
---
|
||||
|
||||
### 迅速的
|
||||
### 提示
|
||||
|
||||
使用 `prompt` 配置为代理指定自定义系统提示文件。提示文件应包含特定于代理目的的说明。
|
||||
|
||||
@@ -337,7 +337,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
该路径相对于文件所在位置的配置。因此,这适用于全局 opencode 配置和项目特定配置。
|
||||
该路径相对于文件所在位置的配置。因此,这适用于全局 OpenCode 配置和项目特定配置。
|
||||
|
||||
---
|
||||
|
||||
@@ -346,7 +346,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
使用 `model` 配置此代理的模型。对于使用针对不同任务优化的不同模型很有帮助。例如,更快的规划模型、更强大的实施模型。
|
||||
|
||||
:::tip
|
||||
如果您不指定模型,主代理将使用[全局配置的模型](/docs/config#models),而子代理将使用调用子代理的主代理的模型。
|
||||
如果您不指定模型,Primary 代理将使用 [全局配置的模型](/docs/config#models),而子代理将使用调用子代理的 Primary 代理的模型。
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
@@ -359,7 +359,7 @@ Markdown 文件名成为代理名称。例如,`review.md` 创建`review` 代
|
||||
}
|
||||
```
|
||||
|
||||
opencode配置中的模型ID使用格式`provider/model-id`。例如,如果您使用[OpenCode Zen](/docs/zen),则您将使用`opencode/gpt-5.1-codex`来表示GPT 5.1 Codex。
|
||||
OpenCode 配置中的模型 ID 使用格式 `provider/model-id`。例如,如果您使用 [OpenCode Zen](/docs/zen),则您将使用 `opencode/gpt-5.1-codex` 来表示 GPT 5.1 Codex。
|
||||
|
||||
---
|
||||
|
||||
@@ -482,7 +482,7 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
这可以採用全局模式。
|
||||
这可以采用全局模式。
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
@@ -499,7 +499,7 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
您还可以使用`*`通配符來管理所有命令的权限。
|
||||
您还可以使用 `*` 通配符来管理所有命令的权限。
|
||||
由于最后一个匹配规则优先,因此将 `*` 通配符放在前面,将特定规则放在后面。
|
||||
|
||||
```json title="opencode.json" {8}
|
||||
@@ -524,7 +524,7 @@ Only analyze code and suggest changes.
|
||||
|
||||
### 模式
|
||||
|
||||
使用`mode` 配置控制代理的模式。 `mode` 选项用于确定如何使用代理。
|
||||
使用 `mode` 配置控制代理的模式。 `mode` 选项用于确定如何使用代理。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -536,13 +536,13 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
`mode` 选项可设置为`primary`、`subagent` 或`all`。如果未指定`mode`,则默认为`all`。
|
||||
`mode` 选项可设置为 `primary`、`subagent` 或 `all`。如果未指定 `mode`,则默认为 `all`。
|
||||
|
||||
---
|
||||
|
||||
### 隱
|
||||
### 隐藏
|
||||
|
||||
使用`hidden: true`从`@`自动完成菜单隐藏子代理。对于只能由其他代理通过任务工具以编程方式调用的内部子代理很有帮助。
|
||||
使用 `hidden: true` 从 `@` 自动完成菜单隐藏子代理。对于只能由其他代理通过任务工具以编程方式调用的内部子代理很有帮助。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -558,14 +558,14 @@ Only analyze code and suggest changes.
|
||||
这仅影响自动完成菜单中的用户可见性。如果权限允许,模型仍然可以通过任务工具调用隐藏代理。
|
||||
|
||||
:::note
|
||||
仅适用于`mode: subagent`代理。
|
||||
仅适用于 `mode: subagent` 代理。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### 任务权限
|
||||
|
||||
使用`permission.task`控制代理可以通过任务工具调用哪些子代理。使用glob模式进行灵活匹配。
|
||||
使用 `permission.task` 控制代理可以通过任务工具调用哪些子代理。使用 glob 模式进行灵活匹配。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -584,23 +584,23 @@ Only analyze code and suggest changes.
|
||||
}
|
||||
```
|
||||
|
||||
当设置为`deny`时,子代理社区任务工具描述中因此完全删除,模型不会尝试调用它。
|
||||
当设置为 `deny` 时,子代理社区任务工具描述中因此完全删除,模型不会尝试调用它。
|
||||
|
||||
:::tip
|
||||
规则按顺序评估,**最后匹配的规则触发**。在上面的示例中,`orchestrator-planner` 匹配`*`(拒绝)和`orchestrator-*`(允许),但由于`orchestrator-*` 位于`*` 之后,因此结果为`allow`。
|
||||
规则按顺序评估,**最后匹配的规则触发**。在上面的示例中,`orchestrator-planner` 匹配 `*`(拒绝)和 `orchestrator-*`(允许),但由于 `orchestrator-*` 位于 `*` 之后,因此结果为 `allow`。
|
||||
:::
|
||||
|
||||
:::tip
|
||||
用戶始終可以通过 `@` 自动完成菜单直接调用任何子代理,即使代理的任务权限会拒絕它。
|
||||
用户始终可以通过 `@` 自动完成菜单直接调用任何子代理,即使代理的任务权限会拒绝它。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### 顏色
|
||||
### 颜色
|
||||
|
||||
在UI中的界面外观中使用`color`选项自定义代理。这会影响代理在界面中的显示方式。
|
||||
在 UI 中的界面外观中使用 `color` 选项自定义代理。这会影响代理在界面中的显示方式。
|
||||
|
||||
使用有效的十六进制颜色(例如`#FF5733`)或主题颜色:`primary`、`secondary`、`accent`、`success`、`warning`、`error`、`info`。
|
||||
使用有效的十六进制颜色(例如 `#FF5733`)或主题颜色:`primary`、`secondary`、`accent`、`success`、`warning`、`error`、`info`。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -617,7 +617,7 @@ Only analyze code and suggest changes.
|
||||
|
||||
---
|
||||
|
||||
### 顶P
|
||||
### Top P
|
||||
|
||||
使用 `top_p` 选项控制响应多样性。控制随机性的温度替代方案。
|
||||
|
||||
@@ -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` 查看可用模型的列表。
|
||||
@@ -672,37 +672,37 @@ opencode agent create
|
||||
|
||||
此交互式命令将:
|
||||
|
||||
1. 詢問代理保存在哪裡;全局或特定項目。
|
||||
2. 描述代理应该做什麼。
|
||||
3. 生成適当的系統提示和標識符。
|
||||
4. 讓您选择代理可以访问哪些工具。
|
||||
5. 最后,使用代理配置创建一个markdown文件。
|
||||
1. 询问代理保存在哪里;全局或特定项目。
|
||||
2. 描述代理应该做什么。
|
||||
3. 生成适当的系统提示和标识符。
|
||||
4. 让您选择代理可以访问哪些工具。
|
||||
5. 最后,使用代理配置创建一个 markdown 文件。
|
||||
|
||||
---
|
||||
|
||||
## 使用案例
|
||||
|
||||
以下是不同代理的一些常見用例。
|
||||
以下是不同代理的一些常见用例。
|
||||
|
||||
- **構建代理**:启用所有工具的完整開發工作
|
||||
- **規劃代理**:分析規劃,不做改動
|
||||
- **审查代理**:具有隻讀访问权限和文档工具的代碼审查
|
||||
- **调试代理**:专注于启用bash和读取工具的调查
|
||||
- **文档代理**:使用文件操作但不使用系統命令的文档編寫
|
||||
- **Build Agent**:启用所有工具的完整开发工作
|
||||
- **Plan Agent**:分析规划,不做改动
|
||||
- **Review Agent**:具有只读访问权限和文档工具的代码审查
|
||||
- **Debug Agent**:专注于启用 bash 和读取工具的调查
|
||||
- **Docs Agent**:使用文件操作但不使用系统命令的文档编写
|
||||
|
||||
---
|
||||
|
||||
## 示例
|
||||
|
||||
以下是一些您可能会覺得有用的示例代理。
|
||||
以下是一些您可能会觉得有用的示例代理。
|
||||
|
||||
:::tip
|
||||
您有想要分享的经纪人吗? [提交 PR](https://github.com/anomalyco/opencode)。
|
||||
您有想要分享的代理吗? [提交 PR](https://github.com/anomalyco/opencode)。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### 文件代理
|
||||
### 文档代理
|
||||
|
||||
```markdown title="~/.config/opencode/agents/docs-writer.md"
|
||||
---
|
||||
@@ -724,7 +724,7 @@ Focus on:
|
||||
|
||||
---
|
||||
|
||||
### 安全審核員
|
||||
### 安全审计员
|
||||
|
||||
```markdown title="~/.config/opencode/agents/security-auditor.md"
|
||||
---
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
title: 命令行界面
|
||||
title: CLI
|
||||
description: opencode CLI 选项和命令。
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
默认情况下,opencode CLI 在不带任何参数运行时启动[途径易](/docs/tui)。
|
||||
默认情况下,opencode CLI 在不带任何参数运行时启动 [TUI](/docs/tui)。
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
但它也接受允许本页记录的命令。这您以Smashing方式与opencode交互。
|
||||
但它也接受本页记录的命令。这允许您以编程方式与 opencode 交互。
|
||||
|
||||
```bash
|
||||
opencode run "Explain how closures work in JavaScript"
|
||||
@@ -19,36 +19,36 @@ opencode run "Explain how closures work in JavaScript"
|
||||
|
||||
---
|
||||
|
||||
### 推
|
||||
### tui
|
||||
|
||||
启动opencode用户终端界面。
|
||||
启动 opencode 终端用户界面。
|
||||
|
||||
```bash
|
||||
opencode [project]
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| ------------ | ---- | --------------------------------------------------------- |
|
||||
| `--continue` | `-c` | 继续上期 |
|
||||
| `--session` | `-s` | 会话 ID 继续 |
|
||||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||||
| `--prompt` | | 提示使用 |
|
||||
| `--model` | `-m` | 以提供商/模型形式使用的模型 |
|
||||
| `--agent` | | 代理使用 |
|
||||
| `--port` | | 监听端口 |
|
||||
| `--hostname` | | 监听的主机名 |
|
||||
| Flag | Short | Description |
|
||||
| ------------ | ----- | --------------------------------------------------------- |
|
||||
| `--continue` | `-c` | 继续上一个会话 |
|
||||
| `--session` | `-s` | 继续的会话 ID |
|
||||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||||
| `--prompt` | | 使用的提示 |
|
||||
| `--model` | `-m` | 使用的模型 (provider/model) |
|
||||
| `--agent` | | 使用的代理 |
|
||||
| `--port` | | 监听端口 |
|
||||
| `--hostname` | | 监听的主机名 |
|
||||
|
||||
---
|
||||
|
||||
## 命令
|
||||
## Commands
|
||||
|
||||
opencode CLI 还具有以下命令。
|
||||
|
||||
---
|
||||
|
||||
### 代理人
|
||||
### agent
|
||||
|
||||
管理 opencode 代理。
|
||||
|
||||
@@ -58,15 +58,15 @@ opencode agent [command]
|
||||
|
||||
---
|
||||
|
||||
### 附
|
||||
### attach
|
||||
|
||||
将终端通过 `serve` 或 `web` 命令启动已运行的 opencode 耳机服务器。
|
||||
将终端附加到通过 `serve` 或 `web` 命令启动的已运行 opencode 后端服务器。
|
||||
|
||||
```bash
|
||||
opencode attach [url]
|
||||
```
|
||||
|
||||
这允许将 TUI 与远程 opencode 钱包一起使用。例如:
|
||||
这允许将 TUI 与远程 opencode 后端一起使用。例如:
|
||||
|
||||
```bash
|
||||
# Start the backend server for web/mobile access
|
||||
@@ -76,28 +76,28 @@ opencode web --port 4096 --hostname 0.0.0.0
|
||||
opencode attach http://10.20.30.40:4096
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| ----------- | ---- | ------------------- |
|
||||
| `--dir` | | 启动 TUI 的工作目录 |
|
||||
| `--session` | `-s` | 会话 ID 继续 |
|
||||
| Flag | Short | Description |
|
||||
| ----------- | ----- | ------------------- |
|
||||
| `--dir` | | 启动 TUI 的工作目录 |
|
||||
| `--session` | `-s` | 继续的会话 ID |
|
||||
|
||||
---
|
||||
|
||||
#### 创建
|
||||
#### create
|
||||
|
||||
使用自定義配置创建新代理。
|
||||
使用自定义配置创建新代理。
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
此命令将指導您使用自定義系統提示和工具配置创建新代理。
|
||||
此命令将指导您使用自定义系统提示和工具配置创建新代理。
|
||||
|
||||
---
|
||||
|
||||
#### 列表
|
||||
#### list
|
||||
|
||||
列出所有可用的代理。
|
||||
|
||||
@@ -107,9 +107,9 @@ opencode agent list
|
||||
|
||||
---
|
||||
|
||||
### 授權
|
||||
### auth
|
||||
|
||||
用于管理提供商的憑據和登錄的命令。
|
||||
用于管理提供商的凭据和登录的命令。
|
||||
|
||||
```bash
|
||||
opencode auth [command]
|
||||
@@ -117,27 +117,27 @@ opencode auth [command]
|
||||
|
||||
---
|
||||
|
||||
#### 登录
|
||||
#### login
|
||||
|
||||
opencode 由 [Models.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启动时,它会从auth 文件加载提供商。如果您的环境中定义了任何按键或项目中的`.env`文件。
|
||||
当 opencode 启动时,它会从凭据文件加载提供商。以及如果在您的环境或项目中的 `.env` 文件中定义了任何密钥。
|
||||
|
||||
---
|
||||
|
||||
#### 列表
|
||||
#### list
|
||||
|
||||
列出憑證文件中存儲的所有經过身份验证的提供商。
|
||||
列出凭据文件中存储的所有经过身份验证的提供商。
|
||||
|
||||
```bash
|
||||
opencode auth list
|
||||
```
|
||||
|
||||
或者簡短的版本。
|
||||
或者简短的版本。
|
||||
|
||||
```bash
|
||||
opencode auth ls
|
||||
@@ -145,9 +145,9 @@ opencode auth ls
|
||||
|
||||
---
|
||||
|
||||
#### 註銷
|
||||
#### logout
|
||||
|
||||
通过從憑據文件中清除提供商,将您從提供商中註銷。
|
||||
通过从凭据文件中清除提供商,将您从提供商中注销。
|
||||
|
||||
```bash
|
||||
opencode auth logout
|
||||
@@ -165,7 +165,7 @@ opencode github [command]
|
||||
|
||||
---
|
||||
|
||||
#### 安装
|
||||
#### install
|
||||
|
||||
在您的存储库中安装 GitHub 代理。
|
||||
|
||||
@@ -177,7 +177,7 @@ opencode github install
|
||||
|
||||
---
|
||||
|
||||
#### 跑步
|
||||
#### run
|
||||
|
||||
运行 GitHub 代理。这通常用在 GitHub Actions 中。
|
||||
|
||||
@@ -185,18 +185,18 @@ opencode github install
|
||||
opencode github run
|
||||
```
|
||||
|
||||
##### 旗幟
|
||||
##### Flags
|
||||
|
||||
| 旗幟 | 描述 |
|
||||
| Flag | Description |
|
||||
| --------- | ------------------------------ |
|
||||
| `--event` | 用于运行代理的 GitHub 模拟事件 |
|
||||
| `--token` | GitHub 个人访问Tokens |
|
||||
| `--token` | GitHub 个人访问 Token |
|
||||
|
||||
---
|
||||
|
||||
### MCP
|
||||
### mcp
|
||||
|
||||
管理模型上下文協議服務器。
|
||||
管理模型上下文协议 (MCP) 服务器。
|
||||
|
||||
```bash
|
||||
opencode mcp [command]
|
||||
@@ -204,7 +204,7 @@ opencode mcp [command]
|
||||
|
||||
---
|
||||
|
||||
#### 添加
|
||||
#### add
|
||||
|
||||
将 MCP 服务器添加到您的配置中。
|
||||
|
||||
@@ -216,7 +216,7 @@ opencode mcp add
|
||||
|
||||
---
|
||||
|
||||
#### 列表
|
||||
#### list
|
||||
|
||||
列出所有已配置的 MCP 服务器及其连接状态。
|
||||
|
||||
@@ -224,7 +224,7 @@ opencode mcp add
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
或者使用簡短版本。
|
||||
或者使用简短版本。
|
||||
|
||||
```bash
|
||||
opencode mcp ls
|
||||
@@ -232,7 +232,7 @@ opencode mcp ls
|
||||
|
||||
---
|
||||
|
||||
#### 授權
|
||||
#### auth
|
||||
|
||||
使用启用 OAuth 的 MCP 服务器进行身份验证。
|
||||
|
||||
@@ -242,13 +242,13 @@ opencode mcp auth [name]
|
||||
|
||||
如果您不提供服务器名称,系统将提示您从可用的支持 OAuth 的服务器中进行选择。
|
||||
|
||||
您还可以开始支持 OAuth 的及其服务器身份验证状态。
|
||||
您还可以列出支持 OAuth 的服务器及其身份验证状态。
|
||||
|
||||
```bash
|
||||
opencode mcp auth list
|
||||
```
|
||||
|
||||
或者使用簡短版本。
|
||||
或者使用简短版本。
|
||||
|
||||
```bash
|
||||
opencode mcp auth ls
|
||||
@@ -256,9 +256,9 @@ opencode mcp auth ls
|
||||
|
||||
---
|
||||
|
||||
#### 註銷
|
||||
#### logout
|
||||
|
||||
删除 MCP 服务器的 OAuth 工具。
|
||||
删除 MCP 服务器的 OAuth 凭据。
|
||||
|
||||
```bash
|
||||
opencode mcp logout [name]
|
||||
@@ -266,9 +266,9 @@ opencode mcp logout [name]
|
||||
|
||||
---
|
||||
|
||||
#### 偵錯
|
||||
#### debug
|
||||
|
||||
调试MCP服务器的OAuth连接问题。
|
||||
调试 MCP 服务器的 OAuth 连接问题。
|
||||
|
||||
```bash
|
||||
opencode mcp debug <name>
|
||||
@@ -276,7 +276,7 @@ opencode mcp debug <name>
|
||||
|
||||
---
|
||||
|
||||
### 模型
|
||||
### models
|
||||
|
||||
列出已配置提供商的所有可用模型。
|
||||
|
||||
@@ -286,22 +286,22 @@ opencode models [provider]
|
||||
|
||||
此命令以 `provider/model` 格式显示您配置的提供商中可用的所有模型。
|
||||
|
||||
这对于确定[你的配置](/docs/config/)中使用的意图模型名称很有帮助。
|
||||
这对于确定 [你的配置](/docs/config/) 中使用的确切模型名称很有帮助。
|
||||
|
||||
您可以选择提供项目ID并按该提供项目筛选模型。
|
||||
您可以选择提供提供商 ID 并按该提供商筛选模型。
|
||||
|
||||
```bash
|
||||
opencode models anthropic
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 描述 |
|
||||
| Flag | Description |
|
||||
| ----------- | ---------------------------------------- |
|
||||
| `--refresh` | 从 models.dev 刷新模型缓存 |
|
||||
| `--verbose` | 使用更详细的模型输出(包括成本等元数据) |
|
||||
|
||||
使用`--refresh`标志来更新服务器的模型列表。当新模型已添加到提供商并且您希望在opencode中查看它们时,这非常有用。
|
||||
使用 `--refresh` 标志来更新服务器的模型列表。当新模型已添加到提供商并且您希望在 opencode 中查看它们时,这非常有用。
|
||||
|
||||
```bash
|
||||
opencode models --refresh
|
||||
@@ -309,7 +309,7 @@ opencode models --refresh
|
||||
|
||||
---
|
||||
|
||||
### 跑步
|
||||
### run
|
||||
|
||||
通过直接传递提示以非交互模式运行 opencode。
|
||||
|
||||
@@ -323,7 +323,7 @@ opencode run [message..]
|
||||
opencode run Explain the use of context in Go
|
||||
```
|
||||
|
||||
您还可以添加到正在运行的`opencode serve`实例,会员每次运行时MCP服务器冷启动时间:
|
||||
您还可以附加到正在运行的 `opencode serve` 实例,以避免每次运行时 MCP 服务器冷启动时间:
|
||||
|
||||
```bash
|
||||
# Start a headless server in one terminal
|
||||
@@ -333,38 +333,38 @@ opencode serve
|
||||
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| ------------ | ---- | --------------------------------------------------------------- |
|
||||
| `--command` | | 要运行的命令,使用消息作为参数 |
|
||||
| `--continue` | `-c` | 继续上期 |
|
||||
| `--session` | `-s` | 会话 ID 继续 |
|
||||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||||
| `--share` | | 分享会议 |
|
||||
| `--model` | `-m` | 以提供商/模型形式使用的模型 |
|
||||
| `--agent` | | 代理使用 |
|
||||
| `--file` | `-f` | 要附加到消息的文件 |
|
||||
| `--format` | | 格式:默认(格式化)或json(原始JSON事件) |
|
||||
| `--title` | | 会话标题(如果未提供值,则使用断断的提示) |
|
||||
| `--attach` | | 连接到正在运行的 opencode 服务器(例如,http://localhost:4096) |
|
||||
| `--port` | | 本地服务器的端口(默认为随机端口) |
|
||||
| Flag | Short | Description |
|
||||
| ------------ | ----- | --------------------------------------------------------------- |
|
||||
| `--command` | | 要运行的命令,使用消息作为参数 |
|
||||
| `--continue` | `-c` | 继续上一个会话 |
|
||||
| `--session` | `-s` | 继续的会话 ID |
|
||||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||||
| `--share` | | 分享会话 |
|
||||
| `--model` | `-m` | 使用的模型 (provider/model) |
|
||||
| `--agent` | | 使用的代理 |
|
||||
| `--file` | `-f` | 要附加到消息的文件 |
|
||||
| `--format` | | 格式:default(格式化)或 json(原始 JSON 事件) |
|
||||
| `--title` | | 会话标题(如果未提供值,则使用截断的提示) |
|
||||
| `--attach` | | 连接到正在运行的 opencode 服务器(例如,http://localhost:4096) |
|
||||
| `--port` | | 本地服务器的端口(默认为随机端口) |
|
||||
|
||||
---
|
||||
|
||||
### 服務
|
||||
### serve
|
||||
|
||||
启动无头opencode服务器以进行API访问。查看[服务器文档](/docs/server)以获取完整的HTTP 接口。
|
||||
启动无头 opencode 服务器以进行 API 访问。查看 [服务器文档](/docs/server) 以获取完整的 HTTP 接口。
|
||||
|
||||
```bash
|
||||
opencode serve
|
||||
```
|
||||
|
||||
这将启动一个 HTTP 服务器,该服务器提供对 opencode 功能的 API 访问,并占用 TUI 接口。设置 `OPENCODE_SERVER_PASSWORD` 以启用 HTTP 基本身份验证(用户名默认为 `opencode`)。
|
||||
这将启动一个 HTTP 服务器,该服务器提供对 opencode 功能的 API 访问,无需 TUI 界面。设置 `OPENCODE_SERVER_PASSWORD` 以启用 HTTP 基本身份验证(用户名默认为 `opencode`)。
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 描述 |
|
||||
| Flag | Description |
|
||||
| ------------ | ------------------------ |
|
||||
| `--port` | 监听端口 |
|
||||
| `--hostname` | 监听的主机名 |
|
||||
@@ -373,7 +373,7 @@ opencode serve
|
||||
|
||||
---
|
||||
|
||||
### 会话
|
||||
### session
|
||||
|
||||
管理 opencode 会话。
|
||||
|
||||
@@ -383,7 +383,7 @@ opencode session [command]
|
||||
|
||||
---
|
||||
|
||||
#### 列表
|
||||
#### list
|
||||
|
||||
列出所有 opencode 会话。
|
||||
|
||||
@@ -391,37 +391,37 @@ opencode session [command]
|
||||
opencode session list
|
||||
```
|
||||
|
||||
##### 旗幟
|
||||
##### Flags
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| ------------- | ---- | ------------------------------ |
|
||||
| `--max-count` | `-n` | 限制为最近的 N 个会话 |
|
||||
| `--format` | | 输出格式:table 或 json(table) |
|
||||
| Flag | Short | Description |
|
||||
| ------------- | ----- | ------------------------------ |
|
||||
| `--max-count` | `-n` | 限制为最近的 N 个会话 |
|
||||
| `--format` | | 输出格式:table 或 json(table) |
|
||||
|
||||
---
|
||||
|
||||
### 統計數據
|
||||
### stats
|
||||
|
||||
显示opencode会话的Tokens使用情况和成本统计信息。
|
||||
显示 opencode 会话的 Token 使用情况和成本统计信息。
|
||||
|
||||
```bash
|
||||
opencode stats
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 描述 |
|
||||
| Flag | Description |
|
||||
| ----------- | -------------------------------------------------------- |
|
||||
| `--days` | 显示过去N天(所有时间)的统计数据 |
|
||||
| `--days` | 显示过去 N 天(所有时间)的统计数据 |
|
||||
| `--tools` | 显示工具数量(全部) |
|
||||
| `--models` | 隐藏显示模型使用情况解读(默认)。输入一个数字来显示前 N |
|
||||
| `--models` | 显示模型使用情况细分(默认隐藏)。输入一个数字来显示前 N |
|
||||
| `--project` | 按项目过滤(所有项目,空字符串:当前项目) |
|
||||
|
||||
---
|
||||
|
||||
### 出口
|
||||
### export
|
||||
|
||||
将会话数据导出为JSON。
|
||||
将会话数据导出为 JSON。
|
||||
|
||||
```bash
|
||||
opencode export [sessionID]
|
||||
@@ -431,7 +431,7 @@ opencode export [sessionID]
|
||||
|
||||
---
|
||||
|
||||
### 進口
|
||||
### import
|
||||
|
||||
从 JSON 文件或 opencode 共享 URL 导入会话数据。
|
||||
|
||||
@@ -448,19 +448,19 @@ opencode import https://opncd.ai/s/abc123
|
||||
|
||||
---
|
||||
|
||||
### 網絡
|
||||
### web
|
||||
|
||||
使用Web界面启动无头opencode服务器。
|
||||
使用 Web 界面启动无头 opencode 服务器。
|
||||
|
||||
```bash
|
||||
opencode web
|
||||
```
|
||||
|
||||
这将启动HTTP服务器并打开Web浏览器以通过Web界面访问opencode。设置`OPENCODE_SERVER_PASSWORD`以启用HTTP基本身份验证(用户名默认为`opencode`)。
|
||||
这将启动 HTTP 服务器并打开 Web 浏览器以通过 Web 界面访问 opencode。设置 `OPENCODE_SERVER_PASSWORD` 以启用 HTTP 基本身份验证(用户名默认为 `opencode`)。
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 描述 |
|
||||
| Flag | Description |
|
||||
| ------------ | ------------------------ |
|
||||
| `--port` | 监听端口 |
|
||||
| `--hostname` | 监听的主机名 |
|
||||
@@ -469,19 +469,19 @@ opencode web
|
||||
|
||||
---
|
||||
|
||||
### 丙烯酰胺
|
||||
### acp
|
||||
|
||||
启动ACP(代理客户端协议)服务器。
|
||||
启动 ACP (Agent Client Protocol) 服务器。
|
||||
|
||||
```bash
|
||||
opencode acp
|
||||
```
|
||||
|
||||
此启动一个ACP服务器,该服务器使用nd-JSON通过stdin/stdout进行通信命令。
|
||||
此命令启动一个 ACP 服务器,该服务器使用 nd-JSON 通过 stdin/stdout 进行通信。
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 描述 |
|
||||
| Flag | Description |
|
||||
| ------------ | ------------ |
|
||||
| `--cwd` | 工作目录 |
|
||||
| `--port` | 监听端口 |
|
||||
@@ -489,26 +489,26 @@ opencode acp
|
||||
|
||||
---
|
||||
|
||||
### 解除安装
|
||||
### uninstall
|
||||
|
||||
卸载opencode并删除所有相关文件。
|
||||
卸载 opencode 并删除所有相关文件。
|
||||
|
||||
```bash
|
||||
opencode uninstall
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| --------------- | ---- | -------------------------------- |
|
||||
| `--keep-config` | `-c` | 保留配置文件 |
|
||||
| `--keep-data` | `-d` | 保留会话数据和快照 |
|
||||
| `--dry-run` | | 在显示不删除的情况下将删除的内容 |
|
||||
| `--force` | `-f` | 跳过确认提示 |
|
||||
| Flag | Short | Description |
|
||||
| --------------- | ----- | ---------------------------- |
|
||||
| `--keep-config` | `-c` | 保留配置文件 |
|
||||
| `--keep-data` | `-d` | 保留会话数据和快照 |
|
||||
| `--dry-run` | | 显示将删除的内容但不实际删除 |
|
||||
| `--force` | `-f` | 跳过确认提示 |
|
||||
|
||||
---
|
||||
|
||||
### 升級
|
||||
### upgrade
|
||||
|
||||
将 opencode 更新到最新版本或特定版本。
|
||||
|
||||
@@ -516,88 +516,88 @@ opencode uninstall
|
||||
opencode upgrade [target]
|
||||
```
|
||||
|
||||
升級到最新版本。
|
||||
升级到最新版本。
|
||||
|
||||
```bash
|
||||
opencode upgrade
|
||||
```
|
||||
|
||||
升級到特定版本。
|
||||
升级到特定版本。
|
||||
|
||||
```bash
|
||||
opencode upgrade v0.1.48
|
||||
```
|
||||
|
||||
#### 旗幟
|
||||
#### Flags
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| ---------- | ---- | ------------------------------------------ |
|
||||
| `--method` | `-m` | 使用的安装方法;卷曲、npm、pnpm、bun、brew |
|
||||
| Flag | Short | Description |
|
||||
| ---------- | ----- | ------------------------------------------ |
|
||||
| `--method` | `-m` | 使用的安装方法;curl, npm, pnpm, bun, brew |
|
||||
|
||||
---
|
||||
|
||||
## 全球旗幟
|
||||
## Global Flags
|
||||
|
||||
opencode CLI采用以下全局标志。
|
||||
opencode CLI 接受以下全局标志。
|
||||
|
||||
| 旗幟 | 短 | 描述 |
|
||||
| -------------- | ---- | ---------------------------------- |
|
||||
| `--help` | `-h` | 显示帮助 |
|
||||
| `--version` | `-v` | 打印版本号 |
|
||||
| `--print-logs` | | 将日志打印到stderr |
|
||||
| `--log-level` | | 日志级别(调试、信息、警告、错误) |
|
||||
| Flag | Short | Description |
|
||||
| -------------- | ----- | ----------------------------------- |
|
||||
| `--help` | `-h` | 显示帮助 |
|
||||
| `--version` | `-v` | 打印版本号 |
|
||||
| `--print-logs` | | 将日志打印到 stderr |
|
||||
| `--log-level` | | 日志级别 (DEBUG, INFO, WARN, ERROR) |
|
||||
|
||||
---
|
||||
|
||||
## 環境變量
|
||||
## Environment variables
|
||||
|
||||
可以使用环境变量配置opencode。
|
||||
可以使用环境变量配置 opencode。
|
||||
|
||||
| 變量 | 類型 | 描述 |
|
||||
| ------------------------------------- | ------ | ---------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | 布尔 | 自动共享会话 |
|
||||
| `OPENCODE_GIT_BASH_PATH` | 字符串 | Windows 上 Git Bash 可执行文件的路径 |
|
||||
| `OPENCODE_CONFIG` | 字符串 | 配置文件路径 |
|
||||
| `OPENCODE_CONFIG_DIR` | 字符串 | 配置目录的路径 |
|
||||
| `OPENCODE_CONFIG_CONTENT` | 字符串 | 内联 json 配置内容 |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | 布尔 | 取消自动更新检查 |
|
||||
| `OPENCODE_DISABLE_PRUNE` | 布尔 | 取消数据的裁剪 |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | 布尔 | 取消自动终端标题更新 |
|
||||
| `OPENCODE_PERMISSION` | 字符串 | 内联 json 权限配置 |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | 布尔 | 取消默认插件 |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | 布尔 | 禁用自动 LSP 服务器下载 |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | 布尔 | 制作实验模型 |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | 布尔 | 取消自动上下文压缩 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | 布尔 | 禁止从 `.claude` 读取(提示+技巧) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | 布尔 | 禁用读取`~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | 布尔 | 禁用加载`.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | 布尔 | 禁止从远程源获取模型 |
|
||||
| `OPENCODE_FAKE_VCS` | 字符串 | 用于测试目的的假 VCS 成立 |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | 布尔 | 取消文件时间检查以进行优化 |
|
||||
| `OPENCODE_CLIENT` | 字符串 | 客户端标识符(默认为`cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | 布尔 | 启用 Exa 网络搜索工具 |
|
||||
| `OPENCODE_SERVER_PASSWORD` | 字符串 | 为 `serve`/`web` 赠送基本身份验证 |
|
||||
| `OPENCODE_SERVER_USERNAME` | 字符串 | 覆盖基本身份验证用户名(默认`opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | 字符串 | 用于获取模型配置的自定义 URL |
|
||||
| Variable | Type | Description |
|
||||
| ------------------------------------- | ------- | ----------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | boolean | 自动共享会话 |
|
||||
| `OPENCODE_GIT_BASH_PATH` | string | Windows 上 Git Bash 可执行文件的路径 |
|
||||
| `OPENCODE_CONFIG` | string | 配置文件路径 |
|
||||
| `OPENCODE_CONFIG_DIR` | string | 配置目录的路径 |
|
||||
| `OPENCODE_CONFIG_CONTENT` | string | 内联 json 配置内容 |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | 禁用自动更新检查 |
|
||||
| `OPENCODE_DISABLE_PRUNE` | boolean | 禁用数据的修剪 |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | 禁用自动终端标题更新 |
|
||||
| `OPENCODE_PERMISSION` | string | 内联 json 权限配置 |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | 禁用默认插件 |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | 禁用自动 LSP 服务器下载 |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | 启用实验模型 |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | 禁用自动上下文压缩 |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | 禁用从 `.claude` 读取(提示+技能) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | 禁用读取 `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | 禁用加载 `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | boolean | 禁用从远程源获取模型 |
|
||||
| `OPENCODE_FAKE_VCS` | string | 用于测试目的的伪造 VCS |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | boolean | 禁用文件时间检查以进行优化 |
|
||||
| `OPENCODE_CLIENT` | string | 客户端标识符(默认为 `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | boolean | 启用 Exa 网络搜索工具 |
|
||||
| `OPENCODE_SERVER_PASSWORD` | string | 为 `serve`/`web` 启用基本身份验证 |
|
||||
| `OPENCODE_SERVER_USERNAME` | string | 覆盖基本身份验证用户名(默认 `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | string | 用于获取模型配置的自定义 URL |
|
||||
|
||||
---
|
||||
|
||||
### 實驗性的
|
||||
### Experimental
|
||||
|
||||
这些環境變量启用可能会更改或删除的實驗性功能。
|
||||
这些环境变量启用可能会更改或删除的实验性功能。
|
||||
|
||||
| 變量 | 類型 | 描述 |
|
||||
| ----------------------------------------------- | ---- | ----------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | 布尔 | 实现所有实验性功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | 布尔 | 添加图标发现 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | 布尔 | 在 TUI 中禁用选择时复制 |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | 数量 | bash 命令的默认超时(以毫秒为单位) |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | 数量 | LLM 响应的最大输出Tokens |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | 布尔 | 为整个目录启用文件观察器 |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | 布尔 | 启用 oxfmt 清理程序 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | 布尔 | 实现实验性 LSP 工具 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | 布尔 | 禁用文件观察器 |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | 布尔 | 实现实验性Exa功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | 布尔 | 实现实验性 LSP 类型检查 |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | 布尔 | 实现实验性 Markdown 功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | 布尔 | 启用计划模式 |
|
||||
| Variable | Type | Description |
|
||||
| ----------------------------------------------- | ------- | ----------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | boolean | 启用所有实验性功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | 启用图标发现 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | 在 TUI 中禁用选择时复制 |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | bash 命令的默认超时(以毫秒为单位) |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | LLM 响应的最大输出 Token |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | 为整个目录启用文件观察器 |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | 启用 oxfmt 格式化程序 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | 启用实验性 LSP 工具 |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | 禁用文件观察器 |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | boolean | 启用实验性 Exa 功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | 启用实验性 LSP 类型检查 |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | 启用实验性 Markdown 功能 |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | 启用计划模式 |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 命令
|
||||
title: Commands
|
||||
description: 为重复任务创建自定义命令。
|
||||
---
|
||||
|
||||
@@ -9,15 +9,15 @@ description: 为重复任务创建自定义命令。
|
||||
/my-command
|
||||
```
|
||||
|
||||
除了`/init`、`/undo`、`/redo`、`/share`、`/help`等内置命令之外,还有自定义命令。 [了解更多](/docs/tui#commands)。
|
||||
除了 `/init`、`/undo`、`/redo`、`/share`、`/help` 等内置命令之外,还有自定义命令。 [了解更多](/docs/tui#commands)。
|
||||
|
||||
---
|
||||
|
||||
## 创建命令文件
|
||||
|
||||
在`commands/`目录中创建markdown文件来定义自定义命令。
|
||||
在 `commands/` 目录中创建 markdown 文件来定义自定义命令。
|
||||
|
||||
创建`.opencode/commands/test.md`:
|
||||
创建 `.opencode/commands/test.md`:
|
||||
|
||||
```md title=".opencode/commands/test.md"
|
||||
---
|
||||
@@ -32,7 +32,7 @@ Focus on the failing tests and suggest fixes.
|
||||
|
||||
frontmatter 定义命令属性。内容成为模板。
|
||||
|
||||
通过鍵入 `/` 後跟命令名称來使用该命令。
|
||||
通过键入 `/` 后跟命令名称来使用该命令。
|
||||
|
||||
```bash frame="none"
|
||||
"/test"
|
||||
@@ -79,7 +79,7 @@ frontmatter 定义命令属性。内容成为模板。
|
||||
|
||||
您还可以使用 Markdown 文件定义命令。将它们放入:
|
||||
|
||||
- 全球:`~/.config/opencode/commands/`
|
||||
- 全局:`~/.config/opencode/commands/`
|
||||
- 每个项目:`.opencode/commands/`
|
||||
|
||||
```markdown title="~/.config/opencode/commands/test.md"
|
||||
@@ -94,7 +94,7 @@ Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
Markdown 文件名成为命令名。例如,`test.md` 让
|
||||
你運行:
|
||||
你运行:
|
||||
|
||||
```bash frame="none"
|
||||
/test
|
||||
@@ -104,13 +104,13 @@ Markdown 文件名成为命令名。例如,`test.md` 让
|
||||
|
||||
## 提示配置
|
||||
|
||||
自定義命令的提示支持幾个特殊的佔位符和語法。
|
||||
自定义命令的提示支持几个特殊的占位符和语法。
|
||||
|
||||
---
|
||||
|
||||
### 論據
|
||||
### Arguments
|
||||
|
||||
使用`$ARGUMENTS`占位符将参数提交给命令。
|
||||
使用 `$ARGUMENTS` 占位符将参数提交给命令。
|
||||
|
||||
```md title=".opencode/commands/component.md"
|
||||
---
|
||||
@@ -121,7 +121,7 @@ Create a new React component named $ARGUMENTS with TypeScript support.
|
||||
Include proper typing and basic structure.
|
||||
```
|
||||
|
||||
使用參數運行命令:
|
||||
使用参数运行命令:
|
||||
|
||||
```bash frame="none"
|
||||
/component Button
|
||||
@@ -129,11 +129,11 @@ Include proper typing and basic structure.
|
||||
|
||||
`$ARGUMENTS` 将替换为 `Button`。
|
||||
|
||||
您还可以使用位置參數访问各个參數:
|
||||
您还可以使用位置参数访问各个参数:
|
||||
|
||||
- `$1` - 第一个參數
|
||||
- `$2` - 第二个參數
|
||||
- `$3` - 第三个參數
|
||||
- `$1` - 第一个参数
|
||||
- `$2` - 第二个参数
|
||||
- `$3` - 第三个参数
|
||||
- 等等...
|
||||
|
||||
例如:
|
||||
@@ -147,7 +147,7 @@ Create a file named $1 in the directory $2
|
||||
with the following content: $3
|
||||
```
|
||||
|
||||
運行命令:
|
||||
运行命令:
|
||||
|
||||
```bash frame="none"
|
||||
/create-file config.json src "{ \"key\": \"value\" }"
|
||||
@@ -161,11 +161,11 @@ with the following content: $3
|
||||
|
||||
---
|
||||
|
||||
### 外殼輸出
|
||||
### Shell Output
|
||||
|
||||
使用 _!`command`_ 将 [bash命令](/docs/tui#bash-commands) 输出注入到提示符中。
|
||||
使用 _!`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.
|
||||
```
|
||||
|
||||
命令在項目的根目录中運行,其輸出成为提示的一部分。
|
||||
命令在项目的根目录中运行,其输出成为提示的一部分。
|
||||
|
||||
---
|
||||
|
||||
### 文件參考
|
||||
### File Reference
|
||||
|
||||
使用 `@` 後跟文件名将文件包含在命令中。
|
||||
使用 `@` 后跟文件名将文件包含在命令中。
|
||||
|
||||
```md title=".opencode/commands/review-component.md"
|
||||
---
|
||||
@@ -208,17 +208,17 @@ Review the component in @src/components/Button.tsx.
|
||||
Check for performance issues and suggest improvements.
|
||||
```
|
||||
|
||||
文件內容会自动包含在提示中。
|
||||
文件内容会自动包含在提示中。
|
||||
|
||||
---
|
||||
|
||||
## 選項
|
||||
## 选项
|
||||
|
||||
讓我们詳細看看配置選項。
|
||||
让我们详细看看配置选项。
|
||||
|
||||
---
|
||||
|
||||
### 模板
|
||||
### template
|
||||
|
||||
`template` 选项定义执行命令时将发送到 LLM 的提示。
|
||||
|
||||
@@ -232,11 +232,11 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
这是一个**必需的**配置選項。
|
||||
这是一个 **必需的** 配置选项。
|
||||
|
||||
---
|
||||
|
||||
### 描述
|
||||
### description
|
||||
|
||||
使用 `description` 选项提供命令功能的简要描述。
|
||||
|
||||
@@ -254,11 +254,11 @@ Check for performance issues and suggest improvements.
|
||||
|
||||
---
|
||||
|
||||
### 代理人
|
||||
### agent
|
||||
|
||||
使用`agent`配置选择指定哪个[代理人](/docs/agents)应执行此命令。
|
||||
如果是 [子代理](/docs/agents/#subagents) 该命令将默认触发子代理调用。
|
||||
要取消此行为,则将`subtask`设置为`false`。
|
||||
使用 `agent` 配置选择指定哪个 [Agent](/docs/agents) 应执行此命令。
|
||||
如果是 [Subagents](/docs/agents/#subagents) 该命令将默认触发子代理调用。
|
||||
要取消此行为,则将 `subtask` 设置为 `false`。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -270,15 +270,15 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
这是一个**可選**配置選項。如果未指定,则默認为您当前的代理。
|
||||
这是一个 **可选** 配置选项。如果未指定,则默认为您当前的代理。
|
||||
|
||||
---
|
||||
|
||||
### 子任务
|
||||
### subtask
|
||||
|
||||
使用`subtask`布尔值强制命令触发[子代理](/docs/agents/#subagents)调用。
|
||||
如果您希望命令不污染您的主要上下文并且将**強制**代理充当子代理,那麼这非常有用,
|
||||
即使`mode`在[代理人](/docs/agents)配置上设置为`primary`。
|
||||
使用 `subtask` 布尔值强制命令触发 [Subagents](/docs/agents/#subagents) 调用。
|
||||
如果您希望命令不污染您的主要上下文并且将 **强制** 代理充当子代理,那么这非常有用,
|
||||
即使 `mode` 在 [Agent](/docs/agents) 配置上设置为 `primary`。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -290,11 +290,11 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
这是一个**可選**配置選項。
|
||||
这是一个 **可选** 配置选项。
|
||||
|
||||
---
|
||||
|
||||
### 模型
|
||||
### model
|
||||
|
||||
使用 `model` 配置覆盖此命令的默认模型。
|
||||
|
||||
@@ -308,16 +308,16 @@ Check for performance issues and suggest improvements.
|
||||
}
|
||||
```
|
||||
|
||||
这是一个**可選**配置選項。
|
||||
这是一个 **可选** 配置选项。
|
||||
|
||||
---
|
||||
|
||||
## 內建
|
||||
## 内置
|
||||
|
||||
opencode包含`/init`、`/undo`、`/redo`、`/share`、`/help`等内置命令;【了解更多](/docs/tui#commands)。
|
||||
opencode 包含 `/init`、`/undo`、`/redo`、`/share`、`/help` 等内置命令;[了解更多](/docs/tui#commands)。
|
||||
|
||||
:::note
|
||||
自定義命令可以覆盖内置命令。
|
||||
自定义命令可以覆盖内置命令。
|
||||
:::
|
||||
|
||||
如果您定義同名的自定義命令,它将覆盖内置命令。
|
||||
如果您定义同名的自定义命令,它将覆盖内置命令。
|
||||
|
||||
@@ -23,47 +23,46 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
|
||||
---
|
||||
|
||||
## 地點
|
||||
## 位置
|
||||
|
||||
您可以将配置放置在幾个不同的位置,它們有一个
|
||||
不同的优先顺序。
|
||||
您可以将配置放置在几个不同的位置,它们有一个不同的优先顺序。
|
||||
|
||||
:::note
|
||||
配置文件**合并在一起**,而不是替換。
|
||||
配置文件**合并在一起**,而不是替换。
|
||||
:::
|
||||
|
||||
配置文件被合并在一起,而不是被替換。以下配置位置的设置被合并。仅当密钥衝突時,后面的配置才会覆盖前面的配置。保留所有配置中的非衝突设置。
|
||||
配置文件被合并在一起,而不是被替换。以下配置位置的设置被合并。仅当密钥冲突时,后面的配置才会覆盖前面的配置。保留所有配置中的非冲突设置。
|
||||
|
||||
例如,如果您的全局配置设置`theme: "opencode"`和`autoupdate: true`,并且您的项目配置设置`model: "anthropic/claude-sonnet-4-5"`,则最终配置将包括所有三个设置。
|
||||
例如,如果您的全局配置设置 `theme: "opencode"` 和 `autoupdate: true`,并且您的项目配置设置 `model: "anthropic/claude-sonnet-4-5"`,则最终配置将包括所有三个设置。
|
||||
|
||||
---
|
||||
|
||||
### 优先顺序
|
||||
### 优先级
|
||||
|
||||
配置源按以下顺序加載(后面的源覆盖前面的源):
|
||||
配置源按以下顺序加载(后面的源覆盖前面的源):
|
||||
|
||||
1. **远程配置**(来自`.well-known/opencode`)-组织默认值
|
||||
2. **全局配置** (`~/.config/opencode/opencode.json`) - 用户首选项
|
||||
3. **自定义配置** (`OPENCODE_CONFIG` env var) - 自定义覆盖
|
||||
4. **项目配置**(项目中的`opencode.json`)- 项目特定的设置
|
||||
1. **Remote config** (来自 `.well-known/opencode`) - 组织默认值
|
||||
2. **Global config** (`~/.config/opencode/opencode.json`) - 用户首选项
|
||||
3. **Custom config** (`OPENCODE_CONFIG` env var) - 自定义覆盖
|
||||
4. **Project config** (项目中的 `opencode.json`) - 项目特定的设置
|
||||
5. **`.opencode` 目录** - 代理、命令、插件
|
||||
6. **内联配置** (`OPENCODE_CONFIG_CONTENT` env var) - 运行时覆盖
|
||||
6. **Inline config** (`OPENCODE_CONFIG_CONTENT` env var) - 运行时覆盖
|
||||
|
||||
这意味著項目配置可以覆盖全局默認值,全局配置可以覆盖遠程組織默認值。
|
||||
这意味着项目配置可以覆盖全局默认值,全局配置可以覆盖远程组织默认值。
|
||||
|
||||
:::note
|
||||
`.opencode` 和`~/.config/opencode` 目录对子目录使用**复数名称**:`agents/`、`commands/`、`modes/`、`plugins/`、`skills/`、`tools/` 和`themes/`。为了坚固兼容,还支持单数名称(例如`agent/`)。
|
||||
`.opencode` 和 `~/.config/opencode` 目录对子目录使用 **复数名称**:`agents/`、`commands/`、`modes/`、`plugins/`、`skills/`、`tools/` 和 `themes/`。为了向后兼容,还支持单数名称(例如 `agent/`)。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### 偏僻的
|
||||
### Remote
|
||||
|
||||
组织可以通过 `.well-known/opencode` 端点提供默认配置。当您向支持的提供商进行身份验证时,会自动获取该信息。
|
||||
|
||||
首先加載遠程配置,作为基礎層。所有其他配置源(全局、項目)都可以覆盖这些默認值。
|
||||
首先加载远程配置,作为基础层。所有其他配置源(全局、项目)都可以覆盖这些默认值。
|
||||
|
||||
例如,如果您的组织提供默认取消的 MCP 服务器:
|
||||
例如,如果您的组织提供默认禁用的 MCP 服务器:
|
||||
|
||||
```json title="Remote config from .well-known/opencode"
|
||||
{
|
||||
@@ -77,7 +76,7 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
}
|
||||
```
|
||||
|
||||
您可以在本地配置中启用特定服務器:
|
||||
您可以在本地配置中启用特定服务器:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -93,29 +92,29 @@ opencode 支持 **JSON** 和 **JSONC**(带注释的 JSON)格式。
|
||||
|
||||
---
|
||||
|
||||
### 全球的
|
||||
### Global
|
||||
|
||||
将全局 opencode 配置放在 `~/.config/opencode/opencode.json` 中。使用全局配置来实现用户范围的首选项,例如主题、提供商或按键绑定。
|
||||
|
||||
全局配置覆盖遠程組織默認值。
|
||||
全局配置覆盖远程组织默认值。
|
||||
|
||||
---
|
||||
|
||||
### 每个項目
|
||||
### Per Project
|
||||
|
||||
在项目根目录中添加`opencode.json`。项目配置在标准配置文件中具有最高优先级 - 它覆盖全局配置和远程配置。
|
||||
在项目根目录中添加 `opencode.json`。项目配置在标准配置文件中具有最高优先级 - 它覆盖全局配置和远程配置。
|
||||
|
||||
:::tip
|
||||
将項目特定配置放在項目的根目录中。
|
||||
将项目特定配置放在项目的根目录中。
|
||||
:::
|
||||
|
||||
当opencode启动时,它会在当前目录中查找配置文件或打开到最近的Git目录。
|
||||
当 opencode 启动时,它会在当前目录中查找配置文件或向上遍历到最近的 Git 目录。
|
||||
|
||||
这也可以安全地签入 Git 并使用与全局模式相同的模式。
|
||||
这也可以安全地签入 Git 并使用与全局模式相同的架构。
|
||||
|
||||
---
|
||||
|
||||
### 自定義路徑
|
||||
### Custom Path
|
||||
|
||||
使用 `OPENCODE_CONFIG` 环境变量指定自定义配置文件路径。
|
||||
|
||||
@@ -124,35 +123,32 @@ export OPENCODE_CONFIG=/path/to/my/custom-config.json
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
自定義配置按优先顺序在全局配置和項目配置之間加載。
|
||||
自定义配置按优先顺序在全局配置和项目配置之间加载。
|
||||
|
||||
---
|
||||
|
||||
### 自定義目录
|
||||
### Custom Directory
|
||||
|
||||
使用`OPENCODE_CONFIG_DIR`指定自定义配置目录
|
||||
環境變量。将在该目录中搜索代理、命令、
|
||||
模式和插件类似于标准`.opencode`目录一样,并且应该
|
||||
遵循相同的結構。
|
||||
使用 `OPENCODE_CONFIG_DIR` 环境变量指定自定义配置目录。将在该目录中搜索代理、命令、模式和插件,就像标准 `.opencode` 目录一样,并且应该遵循相同的结构。
|
||||
|
||||
```bash
|
||||
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
自定义目录在全局配置和`.opencode`目录加载后,因此**可以覆盖**它们的设置。
|
||||
自定义目录在全局配置和 `.opencode` 目录加载后,因此 **可以覆盖** 它们的设置。
|
||||
|
||||
---
|
||||
|
||||
## 模式
|
||||
|
||||
配置文件具有在 [**`opencode.ai/config.json`**](https://opencode.ai/config.json) 中配置的架构。
|
||||
配置文件具有在 [**`opencode.ai/config.json`**](https://opencode.ai/config.json) 中定义的架构。
|
||||
|
||||
您的编辑器应该能夠根據架構進行驗證和自动完成。
|
||||
您的编辑器应该能够根据架构进行验证和自动完成。
|
||||
|
||||
---
|
||||
|
||||
### 途易
|
||||
### TUI
|
||||
|
||||
您可以通过 `tui` 选项配置特定于 TUI 的设置。
|
||||
|
||||
@@ -169,19 +165,19 @@ opencode run "Hello world"
|
||||
}
|
||||
```
|
||||
|
||||
可用選項:
|
||||
可用选项:
|
||||
|
||||
- `scroll_acceleration.enabled` - 启用 macOS 风格的滚动加速。 **优先于`scroll_speed`。 **
|
||||
- `scroll_speed` - 自定义滚动速度倍增(默认值:`3`,简单:`1`)。如果`scroll_acceleration.enabled`是`true`,则忽略。
|
||||
- `diff_style` - 控制差异渲染。 `"auto"` 适应宽度,`"stacked"` 始终显示单列。
|
||||
- `scroll_acceleration.enabled` - 启用 macOS 风格的滚动加速。 **优先于 `scroll_speed`。**
|
||||
- `scroll_speed` - 自定义滚动速度倍增(默认值:`3`,最小值:`1`)。如果 `scroll_acceleration.enabled` 是 `true`,则忽略。
|
||||
- `diff_style` - 控制差异渲染。 `"auto"` 适应终端宽度,`"stacked"` 始终显示单列。
|
||||
|
||||
[在此处了解有关使用 TUI 的更多信息](/docs/tui)。
|
||||
|
||||
---
|
||||
|
||||
### 服务器
|
||||
### Server
|
||||
|
||||
您可以通过`server` 选项为`opencode serve` 和`opencode web` 命令配置服务器设置。
|
||||
您可以通过 `opencode serve` 选项为 `opencode web` 和 `server` 命令配置服务器设置。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -196,21 +192,21 @@ 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.
|
||||
- `port` - 监听端口。
|
||||
- `hostname` - 监听的主机名。当 `mdns` 启用且未设置主机名时,默认为 `0.0.0.0`。
|
||||
- `mdns` - 启用 mDNS 服务发现。这允许网络上的其他设备发现您的 opencode 服务器。
|
||||
- `mdnsDomain` - mDNS 服务的自定义域名。默认为 `opencode.local`。对于在同一个网络上运行多个实例很有帮助。
|
||||
- `cors` - 从基于浏览器的客户端使用 HTTP 服务器时允许 CORS 的其他来源。值必须是完整来源(方案+主机+任选端口),例如 `https://app.example.com`。
|
||||
- `cors` - 从基于浏览器的客户端使用 HTTP 服务器时允许 CORS 的其他来源。值必须是完整来源(协议+主机+可选端口),例如 `https://app.example.com`。
|
||||
|
||||
[在此处了解有关服务器的更多信息](/docs/server)。
|
||||
|
||||
---
|
||||
|
||||
### 工具
|
||||
### Tools
|
||||
|
||||
您可以通过 `tools` 选项管理LLM可以使用的工具。
|
||||
您可以通过 `tools` 选项管理 LLM 可以使用的工具。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -226,9 +222,9 @@ opencode run "Hello world"
|
||||
|
||||
---
|
||||
|
||||
### 模型
|
||||
### Models
|
||||
|
||||
您可以通过 `provider`、`model` 和 `small_model` 选项来配置要在 opencode 配置中使用的提供的程序和模型。
|
||||
您可以通过 `provider`、`model` 和 `small_model` 选项来配置要在 opencode 配置中使用的提供商和模型。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -241,7 +237,7 @@ opencode run "Hello world"
|
||||
|
||||
`small_model` 选项为标题生成等轻量级任务配置单独的模型。默认情况下,如果您的提供商可以提供更便宜的模型,opencode 会尝试使用更便宜的模型,否则它会退回到您的主模型。
|
||||
|
||||
提供商选项可以包括`timeout`和`setCacheKey`:
|
||||
提供商选项可以包括 `timeout` 和 `setCacheKey`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -258,17 +254,17 @@ opencode run "Hello world"
|
||||
```
|
||||
|
||||
- `timeout` - 请求超时以毫秒为单位(默认值:300000)。设置为 `false` 以禁用。
|
||||
- `setCacheKey` -确保始终为指定的提供商设置存储硬盘。
|
||||
- `setCacheKey` - 确保始终为指定的提供商设置缓存键。
|
||||
|
||||
您还可以配置[本地模型](/docs/models#local)。[了解更多](/docs/models)。
|
||||
您还可以配置 [本地模型](/docs/models#local)。[了解更多](/docs/models)。
|
||||
|
||||
---
|
||||
|
||||
#### 特定于提供商的選項
|
||||
#### 特定于提供商的选项
|
||||
|
||||
有些提供商支持除通用 `timeout` 和 `apiKey` 之外的其他配置选项。
|
||||
|
||||
##### 亞馬遜基岩
|
||||
##### Amazon Bedrock
|
||||
|
||||
Amazon Bedrock 支持 AWS 特定配置:
|
||||
|
||||
@@ -292,16 +288,16 @@ Amazon Bedrock 支持 AWS 特定配置:
|
||||
- `endpoint` - VPC 终端节点的自定义节点 URL。这是使用 AWS 特定术语的通用 `baseURL` 选项的别名。如果两者都指定,`endpoint` 优先。
|
||||
|
||||
:::note
|
||||
承载Tokens(`AWS_BEARER_TOKEN_BEDROCK` 或`/connect`)优先于基于配置文件的身份验证。详情请参见【认证优先级](/docs/providers#authentication-precedence)。
|
||||
Bearer Tokens (`AWS_BEARER_TOKEN_BEDROCK` 或 `/connect`) 优先于基于配置文件的身份验证。详情请参见 [身份验证优先级](/docs/providers#authentication-precedence)。
|
||||
:::
|
||||
|
||||
[了解有关 Amazon Bedrock 配置的更多信息](/docs/providers#amazon-bedrock)。
|
||||
|
||||
---
|
||||
|
||||
### 主题
|
||||
### Theme
|
||||
|
||||
您可以通过 opencode 配置中配置中的 `theme` 选项要使用的主题。
|
||||
您可以通过 opencode 配置中的 `theme` 选项配置要使用的主题。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -314,7 +310,7 @@ Amazon Bedrock 支持 AWS 特定配置:
|
||||
|
||||
---
|
||||
|
||||
### 代理商
|
||||
### Agents
|
||||
|
||||
您可以通过 `agent` 选项为特定任务配置专用代理。
|
||||
|
||||
@@ -340,9 +336,9 @@ Amazon Bedrock 支持 AWS 特定配置:
|
||||
|
||||
---
|
||||
|
||||
### 默認代理
|
||||
### Default Agent
|
||||
|
||||
您可以使用 `default_agent` 选项默认设置代理。当没有明确指定时,这将确定使用哪个代理。
|
||||
您可以使用 `default_agent` 选项设置默认代理。当没有明确指定时,这将确定使用哪个代理。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -351,15 +347,15 @@ Amazon Bedrock 支持 AWS 特定配置:
|
||||
}
|
||||
```
|
||||
|
||||
Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
默认代理必须是 Primary 代理(不是 Subagent)。这可以是内置代理(如 `"build"` 或 `"plan"`),也可以是您定义的 [Custom Agent](/docs/agents)。如果指定的代理不存在或者是子代理,opencode 将回退到 `"build"` 并发出警告。
|
||||
|
||||
此设置适用于所有界面:TUI、CLI (`opencode run`)、桌面应用程序和 GitHub Action。
|
||||
|
||||
---
|
||||
|
||||
### 分享
|
||||
### Share
|
||||
|
||||
您可以通过`share`选项配置[分享](/docs/share)功能。
|
||||
您可以通过 `share` 选项配置 [分享](/docs/share) 功能。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -370,7 +366,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.
|
||||
- `"manual"` - 允许通过命令手动共享(默认)
|
||||
- `"auto"` - 自动分享新对话
|
||||
- `"disabled"` - 完全禁用共享
|
||||
|
||||
@@ -378,9 +374,9 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 命令
|
||||
### Command
|
||||
|
||||
您可以通过`command`选项为重复任务配置自定义命令。
|
||||
您可以通过 `command` 选项为重复任务配置自定义命令。
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
@@ -404,7 +400,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 按鍵綁定
|
||||
### Keybinds
|
||||
|
||||
您可以通过 `keybinds` 选项自定义您的按键绑定。
|
||||
|
||||
@@ -419,9 +415,9 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 自动更新
|
||||
### Autoupdate
|
||||
|
||||
opencode 将在启动时自动下载任何新的更新。您可以使用 `autoupdate` 选项取消此功能。
|
||||
opencode 将在启动时自动下载任何新的更新。您可以使用 `autoupdate` 选项禁用此功能。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -430,14 +426,14 @@ opencode 将在启动时自动下载任何新的更新。您可以使用 `autoup
|
||||
}
|
||||
```
|
||||
|
||||
如果您不想更新但希望在新版本可用时收到通知,则需将`autoupdate`设置为`"notify"`。
|
||||
如果您不想更新但希望在新版本可用时收到通知,则需将 `autoupdate` 设置为 `"notify"`。
|
||||
请注意,这仅在未使用 Homebrew 等包管理器安装时才有效。
|
||||
|
||||
---
|
||||
|
||||
### 格式化程序
|
||||
### Formatters
|
||||
|
||||
您可以通过`formatter`选项配置代码初始化程序。
|
||||
您可以通过 `formatter` 选项配置代码格式化程序。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -457,11 +453,11 @@ opencode 将在启动时自动下载任何新的更新。您可以使用 `autoup
|
||||
}
|
||||
```
|
||||
|
||||
Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
[在这里了解有关格式化程序的更多信息](/docs/formatters)。
|
||||
|
||||
---
|
||||
|
||||
### 权限
|
||||
### Permissions
|
||||
|
||||
默认情况下,opencode **允许所有操作**,无需明确批准。您可以使用 `permission` 选项更改此设置。
|
||||
|
||||
@@ -481,7 +477,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 壓實
|
||||
### Compaction
|
||||
|
||||
您可以通过 `compaction` 选项控制上下文压缩行为。
|
||||
|
||||
@@ -495,14 +491,14 @@ 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` - 删除旧工具以输出保存Tokens(默认值:`true`)。
|
||||
- `auto` - 当上下文已满时自动压缩会话(默认值:`true`)。
|
||||
- `prune` - 删除旧工具输出以保存 Tokens(默认值:`true`)。
|
||||
|
||||
---
|
||||
|
||||
### 守望者
|
||||
### Watcher
|
||||
|
||||
您可以通过`watcher`选项配置文件观察器忽略模式。
|
||||
您可以通过 `watcher` 选项配置文件观察器忽略模式。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -513,11 +509,11 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
模式遵循 glob 语法。使用它可以从文件监视中排除杂的目录。
|
||||
模式遵循 glob 语法。使用它可以从文件监视中排除嘈杂的目录。
|
||||
|
||||
---
|
||||
|
||||
### MCP服务器
|
||||
### MCP Servers
|
||||
|
||||
您可以通过 `mcp` 选项配置要使用的 MCP 服务器。
|
||||
|
||||
@@ -532,11 +528,11 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 插件
|
||||
### Plugins
|
||||
|
||||
[插件](/docs/plugins) 使用自定义工具、挂钩和集成扩展 opencode。
|
||||
[Plugins](/docs/plugins) 使用自定义工具、挂钩和集成扩展 opencode。
|
||||
|
||||
将插件文件放置在`.opencode/plugins/` 或`~/.config/opencode/plugins/` 中。您还可以通过 `plugin` 选项从 npm 加载插件。
|
||||
将插件文件放置在 `.opencode/plugins/` 或 `~/.config/opencode/plugins/` 中。您还可以通过 `plugin` 选项从 npm 加载插件。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -549,7 +545,7 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
|
||||
---
|
||||
|
||||
### 指示
|
||||
### Instructions
|
||||
|
||||
您可以通过 `instructions` 选项配置您正在使用的模型的说明。
|
||||
|
||||
@@ -560,14 +556,13 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
这需要指令文件的路徑和全局模式數組。 [了解更多
|
||||
关于规则在这里](/docs/rules)。
|
||||
这需要指令文件的路径和 glob 模式数组。 [在此处了解有关规则的更多信息](/docs/rules)。
|
||||
|
||||
---
|
||||
|
||||
### 殘疾服務提供商
|
||||
### Disabled Providers
|
||||
|
||||
您可以通过 `disabled_providers` 选项取消自动加载的提供商。当您想要阻止加载某些提供商(即使其可用)时,这非常有用。
|
||||
您可以通过 `disabled_providers` 选项禁用自动加载的提供商。当您想要阻止加载某些提供商(即使其凭据可用)时,这非常有用。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -577,20 +572,20 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
```
|
||||
|
||||
:::note
|
||||
`disabled_providers` 优先于`enabled_providers`。
|
||||
`disabled_providers` 优先于 `enabled_providers`。
|
||||
:::
|
||||
|
||||
`disabled_providers` 选项接受提供商 ID 内存。当提供商被取消时:
|
||||
`disabled_providers` 选项接受提供商 ID 数组。当提供商被禁用时:
|
||||
|
||||
- 即使设置了環境變量也不会加載。
|
||||
- 即使通过`/connect`命令配置API钥匙,也不会加载它。
|
||||
- 提供商的模型不会出現在模型选择列表中。
|
||||
- 即使设置了环境变量也不会加载。
|
||||
- 即使通过 `/connect` 命令配置 API 密钥,也不会加载它。
|
||||
- 提供商的模型不会出现在模型选择列表中。
|
||||
|
||||
---
|
||||
|
||||
### 启用的提供商
|
||||
### Enabled Providers
|
||||
|
||||
Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try again later.That’s all we know.
|
||||
您可以通过 `enabled_providers` 选项指定允许的提供商列表。设置后,仅启用指定的提供商,所有其他提供商将被忽略。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -599,17 +594,17 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
当您想要限制 opencode 仅使用特定的提供商而不是一一禁止它们时,这非常有用。
|
||||
当您想要限制 opencode 仅使用特定的提供商而不是逐一禁用它们时,这非常有用。
|
||||
|
||||
:::note
|
||||
`disabled_providers` 优先于`enabled_providers`。
|
||||
`disabled_providers` 优先于 `enabled_providers`。
|
||||
:::
|
||||
|
||||
如果有人提供商同时出现在`enabled_providers`和`disabled_providers`中,则`disabled_providers`优先考虑一致性。
|
||||
如果提供商同时出现在 `enabled_providers` 和 `disabled_providers` 中,则 `disabled_providers` 优先以保持一致性。
|
||||
|
||||
---
|
||||
|
||||
### 實驗性的
|
||||
### Experimental
|
||||
|
||||
`experimental` 键包含正在积极开发的选项。
|
||||
|
||||
@@ -621,20 +616,20 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
```
|
||||
|
||||
:::caution
|
||||
實驗選項不穩定。它們可能会更改或被删除,恕不另行通知。
|
||||
实验选项不稳定。它们可能会更改或被删除,恕不另行通知。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## 變量
|
||||
## Variables
|
||||
|
||||
您可以在配置文件中使用變量替換來引用環境變量和文件內容。
|
||||
您可以在配置文件中使用变量替换来引用环境变量和文件内容。
|
||||
|
||||
---
|
||||
|
||||
### 環境變量
|
||||
### Env Vars
|
||||
|
||||
使用`{env:VARIABLE_NAME}`替换环境变量:
|
||||
使用 `{env:VARIABLE_NAME}` 替换环境变量:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -651,11 +646,11 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
如果未设置環境變量,它将被替換为空字符串。
|
||||
如果未设置环境变量,它将被替换为空字符串。
|
||||
|
||||
---
|
||||
|
||||
### 文件
|
||||
### Files
|
||||
|
||||
使用 `{file:path/to/file}` 替换文件的内容:
|
||||
|
||||
@@ -673,13 +668,13 @@ Error 500 (Server Error)!!1500.That’s an error.There was an error. Please try
|
||||
}
|
||||
```
|
||||
|
||||
文件路徑可以是:
|
||||
文件路径可以是:
|
||||
|
||||
- 相对于配置文件目录
|
||||
- 或者以 `/` 或 `~` 開頭的絕对路徑
|
||||
- 或者以 `/` 或 `~` 开头的绝对路径
|
||||
|
||||
这些对于:
|
||||
|
||||
- 将API等敏感数据保存在单独的文件中。
|
||||
- 包含大型指令文件,而不会弄亂您的配置。
|
||||
- 将 API 密钥等敏感数据保存在单独的文件中。
|
||||
- 包含大型指令文件,而不会弄乱您的配置。
|
||||
- 跨多个配置文件共享通用配置片段。
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: 定制工具
|
||||
description: 创建法學碩士可以在opencode中调用的工具。
|
||||
title: 自定义工具
|
||||
description: 创建 LLM 可以在 opencode 中调用的工具。
|
||||
---
|
||||
|
||||
自定义工具是您创建的函数,LLM 可以在对话期间调用。它们与 opencode 的[内置工具](/docs/tools) 一起工作,例如 `read`、`write` 和 `bash`。
|
||||
自定义工具是您创建的函数,LLM 可以在对话期间调用。它们与 opencode 的 [Built-in Tools](/docs/tools) 一起工作,例如 `read`、`write` 和 `bash`。
|
||||
|
||||
---
|
||||
|
||||
@@ -13,16 +13,16 @@ description: 创建法學碩士可以在opencode中调用的工具。
|
||||
|
||||
---
|
||||
|
||||
### 地點
|
||||
### Location
|
||||
|
||||
它們可以定義为:
|
||||
它们可以定义为:
|
||||
|
||||
- 通过将它们放在项目的 `.opencode/tools/` 目录中来本地进行。
|
||||
- 或者在全局范围内,将它们放在 `~/.config/opencode/tools/` 中。
|
||||
|
||||
---
|
||||
|
||||
### 結構
|
||||
### Structure
|
||||
|
||||
创建工具最简单的方法是使用 `tool()` 帮助程序,它提供类型安全和验证。
|
||||
|
||||
@@ -41,13 +41,13 @@ export default tool({
|
||||
})
|
||||
```
|
||||
|
||||
**文件名**成为**工具名称**。以上创建了一个 `database` 工具。
|
||||
**文件名** 成为 **工具名称**。以上创建了一个 `database` 工具。
|
||||
|
||||
---
|
||||
|
||||
#### 每个文件多个工具
|
||||
|
||||
您还可以從單个文件導出多个工具。每个導出都会成为**一个單獨的工具**,名称为**`<filename>_<exportname>`**:
|
||||
您还可以从单个文件导出多个工具。每个导出都会成为 **一个单独的工具**,名称为 **`<filename>_<exportname>`**:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
@@ -79,9 +79,9 @@ export const multiply = tool({
|
||||
|
||||
---
|
||||
|
||||
### 論據
|
||||
### Arguments
|
||||
|
||||
您可以使用`tool.schema`(即[佐德](https://zod.dev))来定义参数类型。
|
||||
您可以使用 `tool.schema`(即 [Zod](https://zod.dev))来定义参数类型。
|
||||
|
||||
```ts "tool.schema"
|
||||
args: {
|
||||
@@ -89,7 +89,7 @@ args: {
|
||||
}
|
||||
```
|
||||
|
||||
您还可以直接导入[佐德](https://zod.dev)并返回一个普通对象:
|
||||
您还可以直接导入 [Zod](https://zod.dev) 并返回一个普通对象:
|
||||
|
||||
```ts {6}
|
||||
import { z } from "zod"
|
||||
@@ -108,9 +108,9 @@ export default {
|
||||
|
||||
---
|
||||
|
||||
### 情境
|
||||
### Context
|
||||
|
||||
工具接收有關当前会话的上下文:
|
||||
工具接收有关当前会话的上下文:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
@@ -133,7 +133,7 @@ export default tool({
|
||||
|
||||
## 示例
|
||||
|
||||
### 用Python编写一个工具
|
||||
### 使用 Python 编写工具
|
||||
|
||||
您可以使用任何您想要的语言编写工具。下面是一个使用 Python 将两个数字相加的示例。
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 生態系統
|
||||
title: Ecosystem
|
||||
description: 使用 opencode 构建的项目和集成。
|
||||
---
|
||||
|
||||
@@ -9,68 +9,68 @@ description: 使用 opencode 构建的项目和集成。
|
||||
想要将您的 opencode 相关项目添加到此列表中吗?提交 PR。
|
||||
:::
|
||||
|
||||
您还可以查看[awesome-opencode](https://github.com/awesome-opencode/awesome-opencode)和[opencode.cafe](https://opencode.cafe),这是一个聚合生态系统和社区的社区。
|
||||
您还可以查看 [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode) 和 [opencode.cafe](https://opencode.cafe),这是一个聚合生态系统和社区的社区。
|
||||
|
||||
---
|
||||
|
||||
## 插件
|
||||
## Plugins
|
||||
|
||||
| 名称 | 描述 |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
||||
| [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-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-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-strategy](https://github.com/JRedeker/opencode-shell-strategy) | 非吸引力 shell 命令说明 - 阻止依赖 TTY 的操作挂起 |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | 使用 Wakatime 跟踪 opencode 使用情况 |
|
||||
| [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-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 工作树 |
|
||||
| 名称 | 描述 |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| [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-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | 使用 Antigravity 的免费模型代替 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-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | 通过修剪过时的工具输出来优化 token 使用 |
|
||||
| [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-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Non-interactive shell command instructions - prevent TTY-dependent operations from hanging |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | 使用 Wakatime 跟踪 opencode 使用情况 |
|
||||
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | 清理 LLM 生成的 markdown 表 |
|
||||
| [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 Code |
|
||||
| [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-skillful](https://github.com/zenobi-us/opencode-skillful) | 允许 opencode 代理通过技能发现和注入失败延迟加载提示 |
|
||||
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | 使用 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 工作树 |
|
||||
|
||||
---
|
||||
|
||||
## 专案
|
||||
## Projects
|
||||
|
||||
| 名称 | 描述 |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | 用于控制 opencode 会话的 Discord 机器人,基于 SDK 构建 |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Neovim 插件,用于编辑器采集提示,基于 API 构建 |
|
||||
| [portal](https://github.com/hosenur/portal) | 通过Tailscale/VPN实现opencode的移动优先Web UI |
|
||||
| [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 |
|
||||
| [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扩展管理器具有可移植、隔离的配置文件。 |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | opencode 扩展管理器具有可移植、隔离的配置文件。 |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | opencode 的桌面、Web、移动和远程客户端应用程序 |
|
||||
|
||||
---
|
||||
|
||||
## 代理商
|
||||
## Agents
|
||||
|
||||
| 名称 | 描述 |
|
||||
| ----------------------------------------------------------------- | ---------------------------------------- |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | 用于格式化开发的定价人工智能代理和命令] |
|
||||
| [Agentic](https://github.com/Cluster444/agentic) | 用于格式化开发的 Agentic AI 代理和命令 |
|
||||
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | 用于增强工作流程的配置、提示、代理和插件 |
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 企業
|
||||
title: Enterprise
|
||||
description: 在您的组织中安全地使用 opencode。
|
||||
---
|
||||
|
||||
@@ -12,25 +12,24 @@ opencode Enterprise 适用于希望确保其代码和数据永远不会离开其
|
||||
opencode 不存储您的任何代码或上下文数据。
|
||||
:::
|
||||
|
||||
要开始使用opencode Enterprise:
|
||||
要开始使用 opencode Enterprise:
|
||||
|
||||
1. 与您的團隊進行内部試驗。
|
||||
2. **<a href={email}>聯繫我们</a>**討論定價和實施選項。
|
||||
1. 与您的团队进行内部试用。
|
||||
2. **<a href={email}>联系我们</a>** 讨论定价和实施选项。
|
||||
|
||||
---
|
||||
|
||||
## 審判
|
||||
## 试用
|
||||
|
||||
opencode 是开源的,不存储您的任何代码或上下文数据,因此您的开发人员只需 [开始吧](/docs/) 并进行试用。
|
||||
|
||||
---
|
||||
|
||||
### 數據處理
|
||||
### 数据处理
|
||||
|
||||
**opencode 不会存储您的代码或上下文数据。 **所有处理都在本地进行或通过直接 API 调用您的 AI 提供商。
|
||||
**opencode 不会存储您的代码或上下文数据。** 所有处理都在本地进行或通过直接 API 调用您的 AI 提供商。
|
||||
|
||||
这意味著只要您使用您信任的提供商或内部提供商
|
||||
AI网关,您可以安全使用opencode。
|
||||
这意味着只要您使用您信任的提供商或内部 AI 网关,您就可以安全使用 opencode。
|
||||
|
||||
这里唯一需要注意的是可选的 `/share` 功能。
|
||||
|
||||
@@ -38,11 +37,11 @@ AI网关,您可以安全使用opencode。
|
||||
|
||||
#### 分享对话
|
||||
|
||||
如果启用用户 `/share` 功能,对话和关联的数据将被发送到我们用于在 opencode.ai 上托管这些共享页面的服务。
|
||||
如果用户启用 `/share` 功能,对话和关联的数据将被发送到我们用于在 opencode.ai 上托管这些共享页面的服务。
|
||||
|
||||
数据当前通过我们的CDN边缘网络提供服务,并缓存在用户附近的边缘。
|
||||
数据当前通过我们的 CDN 边缘网络提供服务,并缓存在用户附近的边缘。
|
||||
|
||||
我们建議您在試用時禁用此功能。
|
||||
我们建议您在试用时禁用此功能。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -55,27 +54,25 @@ AI网关,您可以安全使用opencode。
|
||||
|
||||
---
|
||||
|
||||
### 代碼所有權
|
||||
### 代码所有权
|
||||
|
||||
**您拥有 opencode 生成的所有代码。 ** 没有许可限制或语音报表。
|
||||
**您拥有 opencode 生成的所有代码。** 没有许可限制或所有权主张。
|
||||
|
||||
---
|
||||
|
||||
## 定價
|
||||
## 定价
|
||||
|
||||
我们对 opencode Enterprise 使用單機模型。如果您有自己的 LLM 網關,我们不会对使用的Tokens收取费用。有關定價和實施選項的更多詳細信息,请**<a href={email}>聯繫我们</a>**。
|
||||
我们对 opencode Enterprise 使用按席位模型。如果您有自己的 LLM 网关,我们不会对使用的 Token 收取费用。有关定价和实施选项的更多详细信息,请 **<a href={email}>联系我们</a>**。
|
||||
|
||||
---
|
||||
|
||||
## 部署
|
||||
|
||||
完成试验并准备好使用 opencode 后,请访问:
|
||||
您的組織,您可以**<a href={email}>聯繫我们</a>**進行討論
|
||||
定價和實施選項。
|
||||
完成试用并准备好在您的组织中使用 opencode 后,您可以 **<a href={email}>联系我们</a>** 进行讨论定价和实施选项。
|
||||
|
||||
---
|
||||
|
||||
### 中央配置
|
||||
### Central Config
|
||||
|
||||
我们可以将 opencode 设置为您的整个组织使用单一的中央配置。
|
||||
|
||||
@@ -83,88 +80,86 @@ AI网关,您可以安全使用opencode。
|
||||
|
||||
---
|
||||
|
||||
### 單點登錄集成
|
||||
### SSO Integration
|
||||
|
||||
通过中央配置,opencode 可以与您组织的 SSO 提供商集成以进行身份验证。
|
||||
通过中央配置,opencode 可以与您组织的 SSO 提供商集成以进行身份验证。
|
||||
|
||||
这使得 opencode 能够通过现有的身份管理系统获取内部 AI 网关的凭据。
|
||||
|
||||
---
|
||||
|
||||
### 内部AI网关
|
||||
### Internal AI Gateway
|
||||
|
||||
通过中央配置,opencode 还可以配置为仅使用您的内部 AI 网关。
|
||||
|
||||
您还可以取消所有其他人工智能启动,确保所有请求都通过组织批准的基础设施。
|
||||
您还可以禁用所有其他 AI 提供商,确保所有请求都通过组织批准的基础设施。
|
||||
|
||||
---
|
||||
|
||||
### 自託管
|
||||
### Self-hosting
|
||||
|
||||
雖然我们建議禁用共享頁面以確保您的數據永遠不会離開
|
||||
您的組織,我们还可以幫助您在您的基礎設施上自行託管它們。
|
||||
虽然我们建议禁用共享页面以确保您的数据永远不会离开您的组织,我们还可以帮助您在您的基础设施上自行托管它们。
|
||||
|
||||
目前这已在我们的路線圖上。如果您有興趣,**<a href={email}>讓我们知道</a>**。
|
||||
目前这已在我们的路线图上。如果您有兴趣,**<a href={email}>让我们知道</a>**。
|
||||
|
||||
---
|
||||
|
||||
## 常問問題
|
||||
## FAQ
|
||||
|
||||
<details>
|
||||
<summary>什麼是 opencode Enterprise? </summary>
|
||||
<summary>什么是 opencode Enterprise?</summary>
|
||||
|
||||
opencode Enterprise 适用于希望确保其代码和数据永远不会离开其基础设施的组织。它可以通过使用与 SSO 和内部 AI 网关集成的集中方式配置来实现此目的。
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>如何開始使用 opencode Enterprise? </summary>
|
||||
<summary>如何开始使用 opencode Enterprise?</summary>
|
||||
|
||||
与您的团队进行内部实验即可。opencode 默认情况下不存储您的代码或上下文数据,可以轻松上手。
|
||||
|
||||
然後**<a href={email}>聯繫我们</a>**討論定價和實施選項。
|
||||
然后 **<a href={email}>联系我们</a>** 讨论定价和实施选项。
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>企業定價如何運作? </summary>
|
||||
<summary>企业定价如何运作?</summary>
|
||||
|
||||
我们提供按席位企業定價。如果您有自己的 LLM 網關,我们不会对使用的Tokens收取费用。如需了解更多详情,请**<a href={email}>聯繫我们</a>**,获取根據您組織的需求定制的報價。
|
||||
我们提供按席位企业定价。如果您有自己的 LLM 网关,我们不会对使用的 Token 收取费用。如需了解更多详情,请 **<a href={email}>联系我们</a>**,获取根据您组织的需求定制的报价。
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>opencode Enterprise 保證我的數據安全嗎? </summary>
|
||||
<summary>opencode Enterprise 保证我的数据安全吗?</summary>
|
||||
|
||||
opencode 不存储您的代码或上下文数据。所有处理都在本地进行或通过直接 API 调用您的 AI 工作。通过中央配置和 SSO 集成,您的数据在组织的基础架构中保持安全。
|
||||
是的。opencode 不存储您的代码或上下文数据。所有处理都在本地进行或通过直接 API 调用您的 AI 提供商。通过中央配置和 SSO 集成,您的数据在组织的基础架构中保持安全。
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>我们可以使用自己的私有 NPM 註冊表嗎? </summary>
|
||||
<summary>我们可以使用自己的私有 NPM 注册表吗?</summary>
|
||||
|
||||
opencode 通过 Bun 的本机 `.npmrc` 文件支持来支持香蕉 npm 肥料。如果您的组织使用了花生,例如 JFrog Artifactory、Nexus 或类似的肥料,请确保开发人员在运行 opencode 之前经过身份验证。
|
||||
opencode 通过 Bun 的本机 `.npmrc` 文件支持来支持私有 npm 注册表。如果您的组织使用私有注册表,例如 JFrog Artifactory、Nexus 或类似的,请确保开发人员在运行 opencode 之前经过身份验证。
|
||||
|
||||
要使用您的私有註冊表设置身份验证:
|
||||
要使用您的私有注册表设置身份验证:
|
||||
|
||||
```bash
|
||||
npm login --registry=https://your-company.jfrog.io/api/npm/npm-virtual/
|
||||
```
|
||||
|
||||
这将创建带有身份验证详细信息的 `~/.npmrc`。 opencode 会自动
|
||||
拿起这个。
|
||||
这将创建带有身份验证详细信息的 `~/.npmrc`。 opencode 会自动读取这个。
|
||||
|
||||
:::caution
|
||||
在运行 opencode 之前,您必须登录灌木丛。
|
||||
在运行 opencode 之前,您必须登录私有注册表。
|
||||
:::
|
||||
|
||||
或者,您可以手动配置`.npmrc`文件:
|
||||
或者,您可以手动配置 `.npmrc` 文件:
|
||||
|
||||
```bash title="~/.npmrc"
|
||||
registry=https://your-company.jfrog.io/api/npm/npm-virtual/
|
||||
//your-company.jfrog.io/api/npm/npm-virtual/:_authToken=${NPM_AUTH_TOKEN}
|
||||
```
|
||||
|
||||
开发人员必须在运行opencode之前登录棉花,以确保从企业种植樱桃。
|
||||
开发人员必须在运行 opencode 之前登录私有注册表,以确保可以从您的企业注册表安装软件包。
|
||||
|
||||
</details>
|
||||
|
||||
@@ -1,62 +1,62 @@
|
||||
---
|
||||
title: 格式化程序
|
||||
description: opencode 使用特定于语言的清理程序。
|
||||
description: opencode 使用特定于语言的格式化程序。
|
||||
---
|
||||
|
||||
使用在语言的格式化程序编写或编辑文件后,opencode会自动格式化文件。这可以确保生成的代码遵循项目的代码风格。
|
||||
使用特定于语言的格式化程序编写或编辑文件后,opencode 会自动格式化文件。这可以确保生成的代码遵循项目的代码风格。
|
||||
|
||||
---
|
||||
|
||||
## 內建
|
||||
## Built-in
|
||||
|
||||
opencode附带了多个适用于流行语言和框架的内置初始化程序。下面是格式化程序、支持的文件扩展名以及所需的命令或配置选项的列表。
|
||||
opencode 附带了多个适用于流行语言和框架的内置格式化程序。下面是格式化程序、支持的文件扩展名以及所需的命令或配置选项的列表。
|
||||
|
||||
| 格式化程序 | 扩展 | 要求 |
|
||||
| ------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
||||
| 政府 | .go | `gofmt` 命令可用 |
|
||||
| 混合 | .ex、.exs、.eex、.heex、.leex、.neex、.sface | `mix` 命令可用 |
|
||||
| 更漂亮 | .js、.jsx、.ts、.tsx、.html、.css、.md、.json、.yaml 和 [更多的](https://prettier.io/docs/en/index.html) | 在 `package.json` 中有 `prettier` 依赖 |
|
||||
| 生物群系 | .js、.jsx、.ts、.tsx、.html、.css、.md、.json、.yaml 和 [更多的](https://biomejs.dev/) | `biome.json(c)` 配置文件 |
|
||||
| 之字形 | .zig、.zon | `zig` 命令可用 |
|
||||
| clang 格式 | .c、.cpp、.h、.hpp、.ino 和 [更多的](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` 配置文件 |
|
||||
| 克特林特 | .kt、.kts | `ktlint` 命令可用 |
|
||||
| 领子 | .py, .pyi | `ruff` 命令可通过配置 |
|
||||
| 生锈 | .rs | `rustfmt` 命令可用 |
|
||||
| 货物运输 | .rs | `cargo fmt` 命令可用 |
|
||||
| 美丽 | .py, .pyi | `uv` 命令可用 |
|
||||
| 鲁博科普 | .rb、.rake、.gemspec、.ru | `rubocop` 命令可用 |
|
||||
| 标准rb | .rb、.rake、.gemspec、.ru | `standardrb` 命令可用 |
|
||||
| html美化器 | .erb、.html.erb | `htmlbeautifier` 命令可用 |
|
||||
| 空气 | .R | `air` 命令可用 |
|
||||
| 飞镖 | .dart | `dart` 命令可用 |
|
||||
| ocaml 格式 | .ml、.mli | `ocamlformat` 可用命令和 `.ocamlformat` 配置文件 |
|
||||
| 地形 | .tf、.tfvars | `terraform` 命令可用 |
|
||||
| 微光 | .gleam | `gleam` 命令可用 |
|
||||
| 尼克斯夫MTT | .nix | `nixfmt` 命令可用 |
|
||||
| sfmt | .sh、.bash | `shfmt` 命令可用 |
|
||||
| 品脱 | .php | 在 `composer.json` 中有 `laravel/pint` 依赖 |
|
||||
| oxfmt(实验) | .js、.jsx、.ts、.tsx | 在 `package.json` 中有 `oxfmt` 依赖并启用[实验环境变量标记](/docs/cli/#experimental) |
|
||||
| 奥尔莫鲁 | .hs | `ormolu` 命令可用 |
|
||||
| Formatter | Extensions | Requirements |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .go | `gofmt` command available |
|
||||
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available |
|
||||
| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://prettier.io/docs/en/index.html) | `prettier` dependency in `package.json` |
|
||||
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | `biome.json(c)` config file |
|
||||
| zig | .zig, .zon | `zig` command available |
|
||||
| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` config file |
|
||||
| ktlint | .kt, .kts | `ktlint` command available |
|
||||
| ruff | .py, .pyi | `ruff` command available with config |
|
||||
| rustfmt | .rs | `rustfmt` command available |
|
||||
| cargofmt | .rs | `cargo fmt` command available |
|
||||
| uv | .py, .pyi | `uv` command available |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` command available |
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available |
|
||||
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available |
|
||||
| air | .R | `air` command available |
|
||||
| dart | .dart | `dart` command available |
|
||||
| ocamlformat | .ml, .mli | `ocamlformat` command available and `.ocamlformat` config file |
|
||||
| terraform | .tf, .tfvars | `terraform` command available |
|
||||
| gleam | .gleam | `gleam` command available |
|
||||
| nixfmt | .nix | `nixfmt` command available |
|
||||
| shfmt | .sh, .bash | `shfmt` command available |
|
||||
| pint | .php | `laravel/pint` dependency in `composer.json` |
|
||||
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | `oxfmt` dependency in `package.json` and an [experimental env variable flag](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | `ormolu` command available |
|
||||
|
||||
因此,如果您的项目的`package.json`或`prettier`,opencode将自动使用它。
|
||||
因此,如果您的项目的 `prettier` 中有 `package.json`,opencode 将自动使用它。
|
||||
|
||||
---
|
||||
|
||||
## 它是如何運作的
|
||||
## 它是如何工作的
|
||||
|
||||
当opencode写入或编辑文件时,它:
|
||||
当 opencode 写入或编辑文件时,它:
|
||||
|
||||
1. 根據所有启用的格式化程序检查文件扩展名。
|
||||
2. 对文件運行適当的格式化程序命令。
|
||||
1. 根据所有启用的格式化程序检查文件扩展名。
|
||||
2. 对文件运行适当的格式化程序命令。
|
||||
3. 自动应用格式更改。
|
||||
|
||||
此过程在後台進行,確保無需任何手动步驟即可維護您的代碼樣式。
|
||||
此过程在后台进行,确保无需任何手动步骤即可维护您的代码样式。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
|
||||
您可以通过 opencode 配置中的 `formatter` 部分自定义程序。
|
||||
您可以通过 opencode 配置中的 `formatter` 部分自定义格式化程序。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -65,22 +65,22 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
}
|
||||
```
|
||||
|
||||
每个格式化程序配置支持以下內容:
|
||||
每个格式化程序配置支持以下内容:
|
||||
|
||||
| 物業 | 類型 | 描述 |
|
||||
| ------------- | -------- | -------------------------------- |
|
||||
| `disabled` | 布尔 | 将其设置为 `true` 以取消删除程序 |
|
||||
| `command` | 字符串[] | 格式化运行的命令 |
|
||||
| `environment` | 对象 | 运行格式化程序时要设置的环境变量 |
|
||||
| `extensions` | 字符串[] | 此整理程序应处理的文件扩展名 |
|
||||
| Property | Type | Description |
|
||||
| ------------- | -------- | ---------------------------------- |
|
||||
| `disabled` | boolean | 将其设置为 `true` 以禁用格式化程序 |
|
||||
| `command` | string[] | 格式化运行的命令 |
|
||||
| `environment` | object | 运行格式化程序时要设置的环境变量 |
|
||||
| `extensions` | string[] | 此格式化程序应处理的文件扩展名 |
|
||||
|
||||
讓我们看一些例子。
|
||||
让我们看一些例子。
|
||||
|
||||
---
|
||||
|
||||
### 禁用格式化程序
|
||||
|
||||
要全局取消**所有**清理程序,然后`formatter`设置为`false`:
|
||||
要全局禁用 **所有** 格式化程序,将 `formatter` 设置为 `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
@@ -89,7 +89,7 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
}
|
||||
```
|
||||
|
||||
要取消**特定**删除程序,则`disabled`设置为`true`:
|
||||
要禁用 **特定** 格式化程序,将 `disabled` 设置为 `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
@@ -104,9 +104,9 @@ opencode附带了多个适用于流行语言和框架的内置初始化程序。
|
||||
|
||||
---
|
||||
|
||||
### 自定義格式化程序
|
||||
### 自定义格式化程序
|
||||
|
||||
您可以覆盖内置格式化程序或通过指定命令、環境變量和文件扩展名添加新格式化程序:
|
||||
您可以覆盖内置格式化程序或通过指定命令、环境变量和文件扩展名添加新格式化程序:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
|
||||
@@ -7,11 +7,11 @@ opencode 与您的 GitHub 工作流程集成。在评论中提及 `/opencode`
|
||||
|
||||
---
|
||||
|
||||
## 特徵
|
||||
## Features
|
||||
|
||||
- **分类问题**:要求 opencode 调查问题并向您解释。
|
||||
- **修复和实施**:要求 opencode 修复问题或实施功能。将在一个新的分支中工作并提交包含所有更改的 PR。
|
||||
- **安全**:opencode 在 GitHub 的运行器中运行。
|
||||
- **Triage issues**: 要求 opencode 调查问题并向您解释。
|
||||
- **Fix and implement**: 要求 opencode 修复问题或实施功能。将在一个新的分支中工作并提交包含所有更改的 PR。
|
||||
- **Secure**: opencode 在 GitHub 的运行器中运行。
|
||||
|
||||
---
|
||||
|
||||
@@ -27,17 +27,17 @@ opencode github install
|
||||
|
||||
---
|
||||
|
||||
### 手动设置
|
||||
### Manual Setup
|
||||
|
||||
或者您可以手动设置。
|
||||
|
||||
1. 错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
1. **Install the GitHub app**
|
||||
|
||||
前往[**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent)。确保它已安装在目标存储库上。
|
||||
前往 [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent)。确保它已安装在目标存储库上。
|
||||
|
||||
2. **添加工作流程**
|
||||
2. **Add the workflow**
|
||||
|
||||
将以下工作流程文件添加到存储库中的`.github/workflows/opencode.yml`中。确保在`env`中设置适当的`model`和所需的API按键。
|
||||
将以下工作流程文件添加到存储库中的 `.github/workflows/opencode.yml` 中。确保在 `model` 中设置适当的 `env` 和所需的 API 密钥。
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
@@ -73,21 +73,21 @@ opencode github install
|
||||
# github_token: xxxx
|
||||
```
|
||||
|
||||
3. 错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
3. **Store the API keys in secrets**
|
||||
|
||||
在您的组织或项目的**设置**中,展开左侧的**秘密和变量**,然后选择**操作**。并添加所需的API钥匙。
|
||||
在您的组织或项目的 **Settings** 中,展开左侧的 **Secrets and variables**,然后选择 **Actions**。并添加所需的 API 密钥。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
## Configuration
|
||||
|
||||
- `model`:与 opencode 一起使用的模型。采用 `provider/model` 格式。这是**必需的**。
|
||||
- `model`:与 opencode 一起使用的模型。采用 `provider/model` 格式。这是 **必需的**。
|
||||
- `agent`:要使用的代理。必须是一级代理。如果未找到,则从配置回退到 `default_agent` 或 `"build"`。
|
||||
- `share`:是否共享opencode会话。对于公共存储库,默认为**true**。
|
||||
- `share`:是否共享 opencode 会话。对于公共存储库,默认为 **true**。
|
||||
- `prompt`:可选的自定义提示以覆盖默认行为。使用它来自定义 opencode 处理请求的方式。
|
||||
- `token`:可选的 GitHub 访问Tokens,用于执行创建评论、提交更改和打开拉取请求等操作。默认情况下,opencode 使用来自 opencode GitHub 应用程序的安装访问Tokens,因此提交、评论和拉取请求显示为来自应用。
|
||||
- `token`:可选的 GitHub 访问 Token,用于执行创建评论、提交更改和打开拉取请求等操作。默认情况下,opencode 使用来自 opencode GitHub 应用程序的安装访问 Token,因此提交、评论和拉取请求显示为来自应用。
|
||||
|
||||
或者,您可以使用 GitHub Action 运行程序的[内置`GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token),而无需安装 opencode GitHub 应用程序。只需确保在您的工作流程中所需的权限:
|
||||
或者,您可以使用 GitHub Action 运行程序的 [内置 `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token),而无需安装 opencode GitHub 应用程序。只需确保在您的工作流程中所需的权限:
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
@@ -97,26 +97,26 @@ opencode github install
|
||||
issues: write
|
||||
```
|
||||
|
||||
错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
您可以在 GitHub Actions 文档中了解有关配置工作流程的更多信息。
|
||||
|
||||
---
|
||||
|
||||
## 支持的活动
|
||||
## Supported Events
|
||||
|
||||
opencode 可以由以下 GitHub 事件触发:
|
||||
|
||||
| 事件類型 | 觸發者 | 详情 |
|
||||
| Event Type | Triggered By | Details |
|
||||
| ----------------------------- | ---------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | 对问题或 PR 发表评论 | 在评论中提及 `/opencode` 或 `/oc`。 opencode 读取上下文并可以创建分支、打开 PR 或回复。 |
|
||||
| `pull_request_review_comment` | 对 PR 中的特定代码行进行评论 | 在检查代码时提及`/opencode` 或`/oc`。 opencode 接收文件路径、行号和 diff 上下文。 |
|
||||
| `issues` | 问题已打开或已编辑 | 创建或修改问题时自动触发opencode。需要`prompt` 输入。 |
|
||||
| `pull_request_review_comment` | 对 PR 中的特定代码行进行评论 | 在检查代码时提及 `/opencode` 或 `/oc`。 opencode 接收文件路径、行号和 diff 上下文。 |
|
||||
| `issues` | 问题已打开或已编辑 | 创建或修改问题时自动触发 opencode。需要 `prompt` 输入。 |
|
||||
| `pull_request` | PR 已开启或已更新 | 当 PR 打开、同步或重新打开时自动触发 opencode。对于自动评论很有帮助。 |
|
||||
| `schedule` | 基于 Cron 的计划 | 按计划运行 opencode。需要 `prompt` 输入。输出进入日志和 PR(没有可评论的问题)。 |
|
||||
| `workflow_dispatch` | 从 GitHub UI 手动触发 | 通过“操作”选项卡触发 opencode。需要 `prompt` 输入。输出进入日志和 PR。 |
|
||||
|
||||
### 時間表示例
|
||||
### Schedule Example
|
||||
|
||||
按计划运行opencode以执行自动化任务:
|
||||
按计划运行 opencode 以执行自动化任务:
|
||||
|
||||
```yaml title=".github/workflows/opencode-scheduled.yml"
|
||||
name: Scheduled OpenCode Task
|
||||
@@ -150,13 +150,13 @@ jobs:
|
||||
If you find issues worth addressing, open an issue to track them.
|
||||
```
|
||||
|
||||
对于计划事件,`prompt` 输入是**必需的**,因为没有注释可以从中提取指令。希望计划工作流在没有用户上下文的情况下运行并进行权限检查,因此如果您 opencode 创建分支或 PR,工作流必须支持 `contents: write` 和 `pull-requests: write`。
|
||||
对于计划事件,`prompt` 输入是 **必需的**,因为没有注释可以从中提取指令。希望计划工作流在没有用户上下文的情况下运行并进行权限检查,因此如果您 opencode 创建分支或 PR,工作流必须支持 `contents: write` 和 `pull-requests: write`。
|
||||
|
||||
---
|
||||
|
||||
### 拉取请求示例
|
||||
### Pull Request Example
|
||||
|
||||
或更新公关时间自动审核:
|
||||
或更新 PR 时自动审核:
|
||||
|
||||
```yaml title=".github/workflows/opencode-review.yml"
|
||||
name: opencode-review
|
||||
@@ -191,13 +191,13 @@ jobs:
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
对于`pull_request`事件,如果未提供`prompt`,opencode将默认审核拉取请求。
|
||||
对于 `pull_request` 事件,如果未提供 `prompt`,opencode 将默认审核拉取请求。
|
||||
|
||||
---
|
||||
|
||||
### 問題分類示例
|
||||
### Issue Triage Example
|
||||
|
||||
自动分類新問題。此示例过濾超过 30 天的账户以減少垃圾郵件:
|
||||
自动分类新问题。此示例过滤超过 30 天的账户以减少垃圾邮件:
|
||||
|
||||
```yaml title=".github/workflows/opencode-triage.yml"
|
||||
name: Issue Triage
|
||||
@@ -246,11 +246,11 @@ jobs:
|
||||
Otherwise, do not comment.
|
||||
```
|
||||
|
||||
对于 `issues` 事件,`prompt` 输入是**必需的**,因为没有注释可足以提取指令。
|
||||
对于 `issues` 事件,`prompt` 输入是 **必需的**,因为没有注释可以从中提取指令。
|
||||
|
||||
---
|
||||
|
||||
## 自定義提示
|
||||
## Custom Prompt
|
||||
|
||||
覆盖默认提示,为您的工作流程自定义 opencode 的行为。
|
||||
|
||||
@@ -265,7 +265,7 @@ jobs:
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
这对于执行与您的項目相关的特定审查標準、編碼標准或重點領域非常有用。
|
||||
这对于执行与您的项目相关的特定审查标准、编码标准或重点领域非常有用。
|
||||
|
||||
---
|
||||
|
||||
@@ -273,7 +273,7 @@ jobs:
|
||||
|
||||
以下是如何在 GitHub 中使用 opencode 的一些示例。
|
||||
|
||||
- **解釋一个問題**
|
||||
- **Explain an issue**
|
||||
|
||||
在 GitHub 问题中添加此评论。
|
||||
|
||||
@@ -281,9 +281,9 @@ jobs:
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
opencode 将阅读整个线程,包括所有评论,并回复并提供语音解释。
|
||||
opencode 将阅读整个线程,包括所有评论,并回复并提供清晰的解释。
|
||||
|
||||
- **解決問題**
|
||||
- **Fix an issue**
|
||||
|
||||
在 GitHub 问题中,说:
|
||||
|
||||
@@ -293,7 +293,7 @@ jobs:
|
||||
|
||||
opencode 将创建一个新分支,实施更改,并使用更改打开 PR。
|
||||
|
||||
- **审查 PR 并进行更改**
|
||||
- **Review PRs and make changes**
|
||||
|
||||
在 GitHub PR 上留下以下评论。
|
||||
|
||||
@@ -301,21 +301,21 @@ jobs:
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
|
||||
错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
opencode 将实施请求的更改并提交到同一个 PR。
|
||||
|
||||
- **查看特定代碼行**
|
||||
- **Review specific code lines**
|
||||
|
||||
直接在PR的“文件”选项卡中的代码行上留下评论。opencode自动检测文件、行号和差异上下文以提供准确的响应。
|
||||
直接在 PR 的“文件”选项卡中的代码行上留下评论。opencode 自动检测文件、行号和差异上下文以提供准确的响应。
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
|
||||
错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
- 正在审查的確切文件
|
||||
- 具體代碼行
|
||||
当评论特定行时,opencode 接收:
|
||||
- 正在审查的确切文件
|
||||
- 具体代码行
|
||||
- 周围的差异上下文
|
||||
- 行號信息
|
||||
- 行号信息
|
||||
|
||||
这允许更有針对性的请求,而無需手动指定文件路徑或行號。
|
||||
这允许更有针对性的请求,而无需手动指定文件路径或行号。
|
||||
|
||||
@@ -9,25 +9,25 @@ opencode 通过 GitLab CI/CD 管道或与 GitLab Duo 与您的 GitLab 工作流
|
||||
|
||||
---
|
||||
|
||||
## GitLab。
|
||||
## GitLab CI
|
||||
|
||||
opencode 在常规 GitLab 管道中工作。您可以将其构建为管道 [CI](https://docs.gitlab.com/ee/ci/components/)
|
||||
opencode 在常规 GitLab 管道中工作。您可以将其构建为管道 [CI 组件](https://docs.gitlab.com/ee/ci/components/)
|
||||
|
||||
在这里,我们使用社区创建的 opencode CI/CD 组件 — [nagyv/gitlab-opencode](https://gitlab.com/nagyv/gitlab-opencode)。
|
||||
|
||||
---
|
||||
|
||||
### 特徵
|
||||
### Features
|
||||
|
||||
- **每个作业使用每个自定义配置**:使用自定义配置目录配置opencode,例如`./config/#custom-directory`以启用或禁用opencode调用的功能。
|
||||
- 错误 500(服务器错误)!!1500。这是一个错误。出现错误。请稍后重试。我们只知道这些。
|
||||
- **灵活**:CI 组件支持多种输入来自定义其行为
|
||||
- **Use custom configuration per job**: 使用自定义配置目录配置 opencode,例如 `./config/#custom-directory` 以启用或禁用 opencode 调用的功能。
|
||||
- **Authentication**: Uses OIDC for secure authentication
|
||||
- **Flexible**: CI 组件支持多种输入来自定义其行为
|
||||
|
||||
---
|
||||
|
||||
### 设置
|
||||
### Setup
|
||||
|
||||
1. 将 opencode 身份验证 JSON 作为文件类型 CI 环境变量存储在 **设置** > **CI/CD** > **变量** 下。确保将它们标记为“隐藏和隐藏”。
|
||||
1. 将 opencode 身份验证 JSON 作为文件类型 CI 环境变量存储在 **Settings** > **CI/CD** > **Variables** 下。确保将它们标记为“隐藏和隐藏”。
|
||||
2. 将以下内容添加到您的 `.gitlab-ci.yml` 文件中。
|
||||
|
||||
```yaml title=".gitlab-ci.yml"
|
||||
@@ -44,34 +44,34 @@ opencode 在常规 GitLab 管道中工作。您可以将其构建为管道 [CI](
|
||||
|
||||
---
|
||||
|
||||
## 亚搏体育app二人组
|
||||
## GitLab Duo
|
||||
|
||||
opencode 与您的 GitLab 工作流程集成。
|
||||
在评论中提及`@opencode`,opencode 将在您的 GitLab CI 管道中执行任务。
|
||||
在评论中提及 `@opencode`,opencode 将在您的 GitLab CI 管道中执行任务。
|
||||
|
||||
---
|
||||
|
||||
### 特徵
|
||||
### Features
|
||||
|
||||
- **分类问题**:要求 opencode 调查问题并向您解释。
|
||||
- **修复和实施**:要求opencode修复问题或实施功能。
|
||||
- **Triage issues**: 要求 opencode 调查问题并向您解释。
|
||||
- **Fix and implement**: 要求 opencode 修复问题或实施功能。
|
||||
它将创建一个新分支并提出包含更改的合并请求。
|
||||
- **安全**:opencode 在您的 GitLab 运行器上运行。
|
||||
- **Secure**: opencode 在您的 GitLab 运行器上运行。
|
||||
|
||||
---
|
||||
|
||||
### 设置
|
||||
### Setup
|
||||
|
||||
opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
:::tip
|
||||
查看[**GitLab 文档**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/) 获取最新说明。
|
||||
查看 [**GitLab docs**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/) 获取最新说明。
|
||||
:::
|
||||
|
||||
1. 配置您的 GitLab 环境
|
||||
2. 安装CI/CD
|
||||
3. 获取AI模型提供商 API键
|
||||
4. 创建服務账户
|
||||
2. 设置 CI/CD
|
||||
3. 获取 AI 模型提供商 API 密钥
|
||||
4. 创建服务账户
|
||||
5. 配置 CI/CD 变量
|
||||
6. 创建一个流配置文件,这是一个示例:
|
||||
|
||||
@@ -152,19 +152,19 @@ opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
</details>
|
||||
|
||||
详细说明可以参考[GitLab CLI 代理文档](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/)。
|
||||
详细说明可以参考 [GitLab CLI agents docs](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/)。
|
||||
|
||||
---
|
||||
|
||||
### 示例
|
||||
### Examples
|
||||
|
||||
以下是如何在 GitLab 中使用 opencode 的一些示例。
|
||||
|
||||
:::tip
|
||||
您可以配置使用 `@opencode` 不同的触发主板。
|
||||
您可以配置使用与 `@opencode` 不同的触发词。
|
||||
:::
|
||||
|
||||
- **解釋一个問題**
|
||||
- **Explain an issue**
|
||||
|
||||
在 GitLab 问题中添加此评论。
|
||||
|
||||
@@ -174,7 +174,7 @@ opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
opencode 将阅读该问题并回复并提供清晰的解释。
|
||||
|
||||
- **解決問題**
|
||||
- **Fix an issue**
|
||||
|
||||
在 GitLab 问题中,说:
|
||||
|
||||
@@ -184,7 +184,7 @@ opencode 在您的 GitLab CI/CD 管道中运行,您需要进行以下设置:
|
||||
|
||||
opencode 将创建一个新分支,实施更改,并打开包含更改的合并请求。
|
||||
|
||||
- **审查合并请求**
|
||||
- **Review merge requests**
|
||||
|
||||
对 GitLab 合并请求留下以下评论。
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 集成開發環境
|
||||
title: IDE
|
||||
description: VS Code、Cursor 等 IDE 的 opencode 扩展
|
||||
---
|
||||
|
||||
@@ -11,8 +11,8 @@ opencode 与 VS Code、Cursor 或任何支持终端的 IDE 集成。只需在终
|
||||
|
||||
- **快速启动**:使用 `Cmd+Esc` (Mac) 或 `Ctrl+Esc` (Windows/Linux) 在分割终端视图中打开 opencode,或者聚焦现有终端会话(如果现有终端会话正在运行)。
|
||||
- **新会话**:使用 `Cmd+Shift+Esc` (Mac) 或 `Ctrl+Shift+Esc` (Windows/Linux) 启动新的 opencode 终端会话,即使该会话已打开。您还可以单击 UI 中的 opencode 按钮。
|
||||
- **上下文获取**:自动与opencode共享您当前的选择或选项卡。
|
||||
- **文件引用快捷方式**:使用`Cmd+Option+K` (Mac) 或`Alt+Ctrl+K` (Linux/Windows) 插入文件引用。例如,`@File#L37-42`。
|
||||
- **上下文获取**:自动与 opencode 共享您当前的选择或选项卡。
|
||||
- **文件引用快捷方式**:使用 `Cmd+Option+K` (Mac) 或 `Alt+Ctrl+K` (Linux/Windows) 插入文件引用。例如,`@File#L37-42`。
|
||||
|
||||
---
|
||||
|
||||
@@ -20,17 +20,17 @@ opencode 与 VS Code、Cursor 或任何支持终端的 IDE 集成。只需在终
|
||||
|
||||
要在 VS Code 和 Cursor、Windsurf、VSCodium 等流行分支上安装 opencode:
|
||||
|
||||
1. 打开VS代码
|
||||
2. 打開集成终端
|
||||
1. 打开 VS Code
|
||||
2. 打开集成终端
|
||||
3. 运行 `opencode` - 扩展会自动安装
|
||||
|
||||
另一方面,如果您想在从 TUI 运行 `/editor` 或 `/export` 时使用自己的 IDE,则需要设置 `export EDITOR="code --wait"`。 [了解更多](/docs/tui/#editor-setup)。
|
||||
|
||||
---
|
||||
|
||||
### 手动安装
|
||||
### Manual Installation
|
||||
|
||||
在扩展市场中搜索**opencode**,然后单击**安装**。
|
||||
在扩展市场中搜索 **opencode**,然后单击 **Install**。
|
||||
|
||||
---
|
||||
|
||||
@@ -38,11 +38,11 @@ opencode 与 VS Code、Cursor 或任何支持终端的 IDE 集成。只需在终
|
||||
|
||||
如果扩展无法自动安装:
|
||||
|
||||
- 确定您在集成终止中运行`opencode`。
|
||||
- 确定您在集成终端中运行 `opencode`。
|
||||
- 确认您的 IDE 和 CLI 已安装:
|
||||
- 对于 VS 代码:`code` 命令
|
||||
- 适用字体:`cursor` 命令
|
||||
- 对于风帆冲浪:`windsurf` 命令
|
||||
- 对于 VS Code:`code` 命令
|
||||
- 对于 Cursor:`cursor` 命令
|
||||
- 对于 Windsurf:`windsurf` 命令
|
||||
- 对于 VSCodium:`codium` 命令
|
||||
- 如果,请运行 `Cmd+Shift+P` (Mac) 或 `Ctrl+Shift+P` (Windows/Linux) 并搜索“Shell Command: Install 'code' command in PATH”(或适用于您的 IDE 的没有对应命令)
|
||||
- 如果没有,请运行 `Cmd+Shift+P` (Mac) 或 `Ctrl+Shift+P` (Windows/Linux) 并搜索 “Shell Command: Install 'code' command in PATH”(或适用于您的 IDE 的对应命令)
|
||||
- 确保 VS Code 能够安装扩展
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
---
|
||||
title: 簡介
|
||||
description: 开始使用opencode。
|
||||
title: Introduction
|
||||
description: 开始使用 opencode。
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
|
||||
[**opencode**](/)是一个开源人工智能编码代理。它可用于基于终端的界面、桌面应用程序或IDE扩展。
|
||||
[**opencode**](/) 是一个开源人工智能编码代理。它可用于基于终端的界面、桌面应用程序或 IDE 扩展。
|
||||
|
||||

|
||||

|
||||
|
||||
讓我们開始吧。
|
||||
让我们开始吧。
|
||||
|
||||
---
|
||||
|
||||
#### 先決条件
|
||||
#### Prerequisites
|
||||
|
||||
要在终端中使用opencode,您需要:
|
||||
要在终端中使用 opencode,您需要:
|
||||
|
||||
1. 现代终端模拟器,例如:
|
||||
- [WezTerm](https://wezterm.org),跨平台
|
||||
@@ -87,19 +87,19 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
paru -S opencode-bin
|
||||
```
|
||||
|
||||
#### 視窗
|
||||
#### Windows
|
||||
|
||||
:::tip[Recommended: 使用 WSL]
|
||||
为了在 Windows 上获得最佳体验,我们建议使用[适用于 Linux 的 Windows 子系统 (WSL)](/docs/windows-wsl)。它提供了更好的性能并与 opencode 的功能完全兼容。
|
||||
为了在 Windows 上获得最佳体验,我们建议使用 [Windows Subsystem for Linux (WSL)](/docs/windows-wsl)。它提供了更好的性能并与 opencode 的功能完全兼容。
|
||||
:::
|
||||
|
||||
- **使用巧克力**
|
||||
- **Using Chocolatey**
|
||||
|
||||
```bash
|
||||
choco install opencode
|
||||
```
|
||||
|
||||
- **使用勺子**
|
||||
- **Using Scoop**
|
||||
|
||||
```bash
|
||||
scoop install opencode
|
||||
@@ -111,7 +111,7 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
npm install -g opencode-ai
|
||||
```
|
||||
|
||||
- **使用米塞**
|
||||
- **Using Mise**
|
||||
|
||||
```bash
|
||||
mise use -g github:anomalyco/opencode
|
||||
@@ -125,7 +125,7 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
|
||||
目前正在支持在 Windows 上安装 opencode 时使用 Bun。
|
||||
|
||||
您还可以从[发布](https://github.com/anomalyco/opencode/releases) 获取二进制文件。
|
||||
您还可以从 [Releases](https://github.com/anomalyco/opencode/releases) 获取二进制文件。
|
||||
|
||||
---
|
||||
|
||||
@@ -134,8 +134,7 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
借助 opencode,你可以通过配置 API 使用任意 LLM 提供商。
|
||||
|
||||
如果你刚开始使用 LLM 提供商,我们建议使用 [OpenCode Zen](/docs/zen)。
|
||||
这是经过 opencode 测试和验证的精选模型列表
|
||||
團隊。
|
||||
这是经过 opencode 团队测试和验证的精选模型列表。
|
||||
|
||||
1. 在 TUI 中运行 `/connect` 命令,选择 opencode,然后前往 [opencode.ai/auth](https://opencode.ai/auth)。
|
||||
|
||||
@@ -145,7 +144,7 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
|
||||
2. 登录,添加您的账单信息,然后复制您的详细 API 密钥。
|
||||
|
||||
3. 粘贴您的 API 钥匙。
|
||||
3. 粘贴您的 API 密钥。
|
||||
|
||||
```txt
|
||||
┌ API key
|
||||
@@ -158,16 +157,16 @@ curl -fsSL https://opencode.ai/install | bash
|
||||
|
||||
---
|
||||
|
||||
## 初始化
|
||||
## Initialization
|
||||
|
||||
現在您已經配置了提供商,您可以导航到一个項目
|
||||
你想繼續工作。
|
||||
现在您已经配置了提供商,您可以导航到一个项目
|
||||
你想继续工作。
|
||||
|
||||
```bash
|
||||
cd /path/to/project
|
||||
```
|
||||
|
||||
并运行opencode。
|
||||
并运行 opencode。
|
||||
|
||||
```bash
|
||||
opencode
|
||||
@@ -180,51 +179,48 @@ opencode
|
||||
```
|
||||
|
||||
这涉及 opencode 分析您的项目并在以下位置创建 `AGENTS.md` 文件
|
||||
項目根。
|
||||
项目根。
|
||||
|
||||
:::tip
|
||||
您应该将项目的 `AGENTS.md` 文件提交到 Git。
|
||||
:::
|
||||
|
||||
这有助于 opencode 理解项目结构和编码模式
|
||||
用过的。
|
||||
这有助于 opencode 理解项目结构和使用的编码模式。
|
||||
|
||||
---
|
||||
|
||||
## 用法
|
||||
|
||||
您现在已准备好使用 opencode 来处理您的项目。请轻松询问
|
||||
任何事物!
|
||||
您现在已准备好使用 opencode 来处理您的项目。请轻松询问任何事物!
|
||||
|
||||
如果您不熟悉使用 AI 编码代理,以下是一些可能会有所帮助的示例
|
||||
幫助。
|
||||
如果您不熟悉使用 AI 编码代理,以下是一些可能会有所帮助的示例。
|
||||
|
||||
---
|
||||
|
||||
### 提出問題
|
||||
### Asking Questions
|
||||
|
||||
您可以要求 opencode 向您解释代码库。
|
||||
|
||||
:::tip
|
||||
使用`@`鍵模糊搜索工程中的文件。
|
||||
使用 `@` 键模糊搜索工程中的文件。
|
||||
:::
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
如果您沒有處理代碼庫的一部分,这会很有幫助。
|
||||
如果您没有处理代码库的一部分,这会很有帮助。
|
||||
|
||||
---
|
||||
|
||||
### 添加功能
|
||||
### Adding Features
|
||||
|
||||
您可以要求 opencode 向您的项目添加新功能。但是我们首先建议要求它制定一个计划。
|
||||
|
||||
1. **制定計劃**
|
||||
1. **Create a plan**
|
||||
|
||||
opencode 有一个*计划模式*,该模式禁止其进行更改和
|
||||
相反,建議*如何*實現该功能。
|
||||
opencode 有一个 _Plan Mode_,该模式禁止其进行更改和
|
||||
相反,建议 _如何_ 实现该功能。
|
||||
|
||||
使用 **Tab** 键切换到它。您会在右下角有一个指示符。
|
||||
|
||||
@@ -232,7 +228,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,39 +237,39 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
您需要为 opencode 提供足够的详细信息才能了解您想要的内容。它有帮助
|
||||
就像与團隊中的初級開發人員交談一樣与它交談。
|
||||
就像与团队中的初级开发人员交谈一样与它交谈。
|
||||
|
||||
:::提示
|
||||
:::tip
|
||||
为 opencode 提供大量上下文和示例,以帮助其理解您的内容
|
||||
想。
|
||||
:::
|
||||
|
||||
2. **迭代計劃**
|
||||
2. **Iterate on the plan**
|
||||
|
||||
一旦它为您提供了計劃,您就可以提供反饋或添加更多詳細信息。
|
||||
一旦它为您提供了计划,您就可以提供反馈或添加更多详细信息。
|
||||
|
||||
```txt frame="none"
|
||||
We'd like to design this new screen using a design I've used before.
|
||||
[Image #1] Take a look at this image and use it as a reference.
|
||||
```
|
||||
|
||||
:::提示
|
||||
将圖像拖放到终端中以将其添加到提示中。
|
||||
:::tip
|
||||
将图像拖放到终端中以将其添加到提示中。
|
||||
:::
|
||||
|
||||
opencode 可以扫描您提供的任何图像并将其添加到提示中。您可以
|
||||
通过将圖像拖放到终端中來完成此操作。
|
||||
通过将图像拖放到终端中来完成此操作。
|
||||
|
||||
3. **構建功能**
|
||||
3. **Build the feature**
|
||||
|
||||
一旦您对計劃感到滿意,请切換回*構建模式*
|
||||
一旦您对计划感到满意,请切换回 _Build Mode_
|
||||
再次按 **Tab** 键。
|
||||
|
||||
```bash frame="none"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
并要求它做出改變。
|
||||
并要求它做出改变。
|
||||
|
||||
```bash frame="none"
|
||||
Sounds good! Go ahead and make the changes.
|
||||
@@ -281,10 +277,10 @@ How is authentication handled in @packages/functions/src/api/index.ts
|
||||
|
||||
---
|
||||
|
||||
### 做出改變
|
||||
### Making Changes
|
||||
|
||||
对于更直接的更改,您可以要求 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
|
||||
@@ -292,8 +288,7 @@ handled in the /notes route in @packages/functions/src/notes.ts and implement
|
||||
the same logic in @packages/functions/src/settings.ts
|
||||
```
|
||||
|
||||
您需要确保提供大量详细信息,以便 opencode 做出正确的决定
|
||||
變化。
|
||||
您需要确保提供大量详细信息,以便 opencode 做出正确的决定变化。
|
||||
|
||||
---
|
||||
|
||||
@@ -305,15 +300,14 @@ 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"
|
||||
/undo
|
||||
```
|
||||
|
||||
opencode 现在将恢复您所做的更改并显示您的原始消息
|
||||
再次。
|
||||
opencode 现在将恢复您所做的更改并再次显示您的原始消息。
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
@@ -325,7 +319,7 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
您可以多次运行 `/undo` 以撤销多次更改。
|
||||
:::
|
||||
|
||||
或者您**可以使用 `/redo` 命令重做**更改。
|
||||
或者您 **可以使用 `/redo` 命令重做** 更改。
|
||||
|
||||
```bash frame="none"
|
||||
/redo
|
||||
@@ -335,8 +329,7 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
|
||||
## 分享
|
||||
|
||||
您与 opencode 的对话可以[与您的
|
||||
團隊](/docs/分享)。
|
||||
您与 opencode 的对话可以 [与您的团队分享](/docs/share)。
|
||||
|
||||
```bash frame="none"
|
||||
/share
|
||||
@@ -345,10 +338,10 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
这会创建当前对话的链接并复制到剪贴板。
|
||||
|
||||
:::note
|
||||
默認情况下不共享对话。
|
||||
默认情况下不共享对话。
|
||||
:::
|
||||
|
||||
这是带有 opencode 的[示例对话](https://opencode.ai/s/4XP1fce5)。
|
||||
这是带有 opencode 的 [示例对话](https://opencode.ai/s/4XP1fce5)。
|
||||
|
||||
---
|
||||
|
||||
@@ -356,4 +349,4 @@ Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
|
||||
就是这样!你现在已经是 opencode 高手了。
|
||||
|
||||
要让您成为自己的,我们建议[选择一个主题](/docs/themes)、[自定义交互绑定](/docs/keybinds)、[配置代码整理程序](/docs/formatters)、[创建自定义命令](/docs/commands)或使用[opencode配置](/docs/config)。
|
||||
要让您成为自己的,我们建议 [选择一个主题](/docs/themes)、[自定义交互绑定](/docs/keybinds)、[配置代码整理程序](/docs/formatters)、[创建自定义命令](/docs/commands) 或使用 [opencode 配置](/docs/config)。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 按鍵綁定
|
||||
description: 自定義您的按鍵綁定。
|
||||
title: Keybinds
|
||||
description: 自定义您的按键绑定。
|
||||
---
|
||||
|
||||
opencode 有一个按键绑定列表,您可以通过 opencode 配置进行自定义。
|
||||
@@ -109,15 +109,15 @@ opencode 有一个按键绑定列表,您可以通过 opencode 配置进行自
|
||||
|
||||
opencode 对大多数按键绑定使用 `leader` 键。这可以避免终端中的冲突。
|
||||
|
||||
默认情况下,`ctrl+x` 是主键,大多数操作要求您先按主键,再按键盘。例如,要开始新会话,请先按 `ctrl+x`,然后按 `n`。
|
||||
默认情况下,`ctrl+x` 是主键,大多数操作要求您先按主键,再按快捷键。例如,要开始新会话,请先按 `ctrl+x`,然后按 `n`。
|
||||
|
||||
您不需要为鍵綁定使用主鍵,但我们建議您这樣做。
|
||||
您不需要为键绑定使用主键,但我们建议您这样做。
|
||||
|
||||
---
|
||||
|
||||
## 禁用按鍵綁定
|
||||
## Disable keybind
|
||||
|
||||
您可以通过将按键添加到您的配置中并使用值“none”来取消按键绑定。
|
||||
您可以通过将按键添加到您的配置中并使用值“none”来禁用按键绑定。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -130,41 +130,41 @@ opencode 对大多数按键绑定使用 `leader` 键。这可以避免终端中
|
||||
|
||||
---
|
||||
|
||||
## 桌面提示快捷方式
|
||||
## Desktop prompt shortcuts
|
||||
|
||||
opencode 桌面应用程序提示输入支持常见的 Readline/Emacs 风格的文本编辑快捷方式。这些是内置的,目前无法通过 `opencode.json` 进行配置。
|
||||
|
||||
| 快捷方式 | 行動 |
|
||||
| Shortcut | Action |
|
||||
| -------- | ------------------------- |
|
||||
| `ctrl+a` | 移至当前行起点 |
|
||||
| `ctrl+e` | 移至当前行尾 |
|
||||
| `ctrl+b` | 将牙刷墨水移动一个字符 |
|
||||
| `ctrl+b` | 将光标向后移动一个字符 |
|
||||
| `ctrl+f` | 将光标向前移动一个字符 |
|
||||
| `alt+b` | 将杭州墨水移动一个字 |
|
||||
| `alt+f` | 将曼哈顿向前移动一个字 |
|
||||
| `alt+b` | 将光标向后移动一个单词 |
|
||||
| `alt+f` | 将光标向前移动一个单词 |
|
||||
| `ctrl+d` | 删除光标下的字符 |
|
||||
| `ctrl+k` | 尾巴狂奔 |
|
||||
| `ctrl+u` | 杀至行首 |
|
||||
| `ctrl+k` | 删除到行尾 |
|
||||
| `ctrl+u` | 删除到行首 |
|
||||
| `ctrl+w` | 删除前一个单词 |
|
||||
| `alt+d` | 杀死下一个词 |
|
||||
| `alt+d` | 删除下一个单词 |
|
||||
| `ctrl+t` | 转置字符 |
|
||||
| `ctrl+g` | 取消彈出窗口/中止運行響应 |
|
||||
| `ctrl+g` | 取消弹出窗口/中止运行响应 |
|
||||
|
||||
---
|
||||
|
||||
## Shift+Enter
|
||||
|
||||
默认情况下,某些终端不发送带有 Enter 的修饰配置键。您可能需要将终端发送 `Shift+Enter` 作为转义序列。
|
||||
默认情况下,某些终端不发送带有 Enter 的修饰键。您可能需要配置终端发送 `Shift+Enter` 作为转义序列。
|
||||
|
||||
### Windows终端
|
||||
### Windows Terminal
|
||||
|
||||
打开您的`settings.json`:
|
||||
打开您的 `settings.json`:
|
||||
|
||||
```
|
||||
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
|
||||
```
|
||||
|
||||
将其添加到根级`actions`数据库:
|
||||
将其添加到根级 `actions` 数组:
|
||||
|
||||
```json
|
||||
"actions": [
|
||||
@@ -178,7 +178,7 @@ opencode 桌面应用程序提示输入支持常见的 Readline/Emacs 风格的
|
||||
]
|
||||
```
|
||||
|
||||
将其添加到根级`keybindings`数据库:
|
||||
将其添加到根级 `keybindings` 数组:
|
||||
|
||||
```json
|
||||
"keybindings": [
|
||||
@@ -189,4 +189,4 @@ opencode 桌面应用程序提示输入支持常见的 Readline/Emacs 风格的
|
||||
]
|
||||
```
|
||||
|
||||
保存文件并重新启动Windows终端或打开新选项卡。
|
||||
保存文件并重新启动 Windows Terminal 或打开新选项卡。
|
||||
|
||||
@@ -1,71 +1,71 @@
|
||||
---
|
||||
title: LSP服务器
|
||||
title: LSP Servers
|
||||
description: opencode 与您的 LSP 服务器集成。
|
||||
---
|
||||
|
||||
opencode 与您的语言服务器协议 (LSP) 集成,以帮助 LLM 与您的代码库交互。它使用诊断向LLM提供反馈。
|
||||
opencode 与您的语言服务器协议 (LSP) 集成,以帮助 LLM 与您的代码库交互。它使用诊断向 LLM 提供反馈。
|
||||
|
||||
---
|
||||
|
||||
## 內建
|
||||
## Built-in
|
||||
|
||||
opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
opencode 附带了多种适用于流行语言的内置 LSP 服务器:
|
||||
|
||||
| LSP服务器 | 扩展 | 要求 |
|
||||
| --------------------- | ------------------------------------------------------------------- | ---------------------------------------------- |
|
||||
| 天文 | .astro | Astro 项目自动安装 |
|
||||
| bash | .sh、.bash、.zsh、.ksh | 自动安装bash-语言- 服务器 |
|
||||
| 叮叮 | .c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++ | 自动安装 C/C++ 项目 |
|
||||
| 夏普 | .cs | `.NET SDK` 已安装 |
|
||||
| Clojure-lsp | 语言.clj、.cljs、.cljc、.edn | `clojure-lsp` 命令可用 |
|
||||
| 飞镖 | .dart | `dart` 命令可用 |
|
||||
| 给定 | .ts、.tsx、.js、.jsx、.mjs | `deno`命令可用(自动检测deno.json/deno.jsonc) |
|
||||
| 长生不老药-LS | .ex、.exs | `elixir` 命令可用 |
|
||||
| 埃斯林特 | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue | `eslint` 项目中的依赖项 |
|
||||
| 锐利 | .fs、.fsi、.fsx、.fsscript | `.NET SDK` 已安装 |
|
||||
| 微光 | .gleam | `gleam` 命令可用 |
|
||||
| 男生们 | .go | `go` 命令可用 |
|
||||
| HLS | .hs、.lhs | `haskell-language-server-wrapper` 命令可用 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` 已安装 |
|
||||
| kotlin-ls | .kt、.kts | Kotlin 项目的自动安装 |
|
||||
| lua-ls | .lua | 自动安装 Lua 项目 |
|
||||
| 尼克斯 | .nix | `nixd` 命令可用 |
|
||||
| ocaml-lsp | .ml、.mli | `ocamllsp` 命令可用 |
|
||||
| 奥克斯林特 | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue、.astro、.svelte | `oxlint` 项目中的依赖项 |
|
||||
| php intelephense | php php .php | PHP 项目的自动安装 |
|
||||
| 棱镜 | .prisma | `prisma` 命令可用 |
|
||||
| 皮赖特 | .py, .pyi | `pyright` 依赖项已安装 |
|
||||
| ruby-lsp(rubocop) | .rb、.rake、.gemspec、.ru | `ruby` 和 `gem` 命令可用 |
|
||||
| 生锈 | .rs | `rust-analyzer` 命令可用 |
|
||||
| 源套件-lsp | .swift、.objc、.objcpp | `swift` 已安装(`xcode` 在 macOS 上) |
|
||||
| 苗条 | .svelte | Svelte 项目的自动安装 |
|
||||
| 立场 | .tf、.tfvars | 从 GitHub 版本自动安装 |
|
||||
| 微雾 | .typ、.typc | 来自 GitHub 版本自动安装 |
|
||||
| 稿件 | 稿件.ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts | `typescript` 项目中的依赖项 |
|
||||
| 视图 | .vue | Vue 项目自动安装 |
|
||||
| yaml-ls | .yaml、.yml | 自动安装 Red Hat yaml-language-server |
|
||||
| 中立 | .zig、.zon | `zig` 命令可用 |
|
||||
| LSP Server | Extensions | Requirements |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------ |
|
||||
| astro | .astro | Astro 项目自动安装 |
|
||||
| bash | .sh, .bash, .zsh, .ksh | 自动安装 bash-language-server |
|
||||
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | 自动安装 C/C++ 项目 |
|
||||
| csharp | .cs | `.NET SDK` 已安装 |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` 命令可用 |
|
||||
| dart | .dart | `dart` 命令可用 |
|
||||
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` 命令可用(自动检测 deno.json/deno.jsonc) |
|
||||
| elixir-ls | .ex, .exs | `elixir` 命令可用 |
|
||||
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` 项目中的依赖项 |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` 已安装 |
|
||||
| gleam | .gleam | `gleam` 命令可用 |
|
||||
| gopls | .go | `go` 命令可用 |
|
||||
| hls | .hs, .lhs | `haskell-language-server-wrapper` 命令可用 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` 已安装 |
|
||||
| kotlin-ls | .kt, .kts | Kotlin 项目的自动安装 |
|
||||
| lua-ls | .lua | 自动安装 Lua 项目 |
|
||||
| nixd | .nix | `nixd` 命令可用 |
|
||||
| ocaml-lsp | .ml, .mli | `ocamllsp` 命令可用 |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` 项目中的依赖项 |
|
||||
| php intelephense | .php | PHP 项目的自动安装 |
|
||||
| prisma | .prisma | `prisma` 命令可用 |
|
||||
| pyright | .py, .pyi | `pyright` 依赖项已安装 |
|
||||
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` 和 `gem` 命令可用 |
|
||||
| rust | .rs | `rust-analyzer` 命令可用 |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` 已安装(`xcode` 在 macOS 上) |
|
||||
| svelte | .svelte | Svelte 项目的自动安装 |
|
||||
| terraform | .tf, .tfvars | 从 GitHub 版本自动安装 |
|
||||
| tinymist | .typ, .typc | 从 GitHub 版本自动安装 |
|
||||
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` 项目中的依赖项 |
|
||||
| vue | .vue | Vue 项目自动安装 |
|
||||
| yaml-ls | .yaml, .yml | 自动安装 Red Hat yaml-language-server |
|
||||
| zls | .zig, .zon | `zig` 命令可用 |
|
||||
|
||||
当检测到上述文件扩展名之一并且满足要求时,LSP服务器将自动启用。
|
||||
当检测到上述文件扩展名之一并且满足要求时,LSP 服务器将自动启用。
|
||||
|
||||
:::note
|
||||
您可以通过将`OPENCODE_DISABLE_LSP_DOWNLOAD`环境变量设置为`true`来取消自动LSP服务器下载。
|
||||
您可以通过将 `OPENCODE_DISABLE_LSP_DOWNLOAD` 环境变量设置为 `true` 来取消自动 LSP 服务器下载。
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## 它是如何運作的
|
||||
## 它是如何工作的
|
||||
|
||||
当opencode打开一个文件时,它:
|
||||
当 opencode 打开一个文件时,它:
|
||||
|
||||
1. 根据所有启用的 LSP 服务器检查文件扩展名。
|
||||
2. 如果尚未运行,则启动相应的LSP服务器。
|
||||
2. 如果尚未运行,则启动相应的 LSP 服务器。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
## Configure
|
||||
|
||||
您可以通过opencode配置中的`lsp`部分自定义LSP服务器。
|
||||
您可以通过 opencode 配置中的 `lsp` 部分自定义 LSP 服务器。
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -74,23 +74,23 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
}
|
||||
```
|
||||
|
||||
每个LSP服务器支持以下功能:
|
||||
每个 LSP 服务器支持以下功能:
|
||||
|
||||
| 物業 | 類型 | 描述 |
|
||||
| ---------------- | -------- | ------------------------------- |
|
||||
| `disabled` | 布尔 | 将其设置为`true`以禁用LSP服务器 |
|
||||
| `command` | 字符串[] | 启动LSP服务器的命令 |
|
||||
| `extensions` | 字符串[] | 此 LSP 服务器应处理的文件扩展名 |
|
||||
| `env` | 对象 | 启动服务器时设置的环境变量 |
|
||||
| `initialization` | 对象 | 发送到LSP服务器的初始化选项 |
|
||||
| Property | Type | Description |
|
||||
| ---------------- | -------- | ----------------------------------- |
|
||||
| `disabled` | boolean | 将其设置为 `true` 以禁用 LSP 服务器 |
|
||||
| `command` | string[] | 启动 LSP 服务器的命令 |
|
||||
| `extensions` | string[] | 此 LSP 服务器应处理的文件扩展名 |
|
||||
| `env` | object | 启动服务器时设置的环境变量 |
|
||||
| `initialization` | object | 发送到 LSP 服务器的初始化选项 |
|
||||
|
||||
讓我们看一些例子。
|
||||
让我们看一些例子。
|
||||
|
||||
---
|
||||
|
||||
### 環境變量
|
||||
### Environment Variables
|
||||
|
||||
启动LSP服务器时使用`env`参数设置环境变量:
|
||||
启动 LSP 服务器时使用 `env` 参数设置环境变量:
|
||||
|
||||
```json title="opencode.json" {5-7}
|
||||
{
|
||||
@@ -107,9 +107,9 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
|
||||
---
|
||||
|
||||
### 初始化選項
|
||||
### Initialization Options
|
||||
|
||||
使用`initialization`属性将初始化选项传递给LSP服务器。这些是在LSP `initialize`请求发送期间的服务器特定设置:
|
||||
使用 `initialization` 属性将初始化选项传递给 LSP 服务器。这些是在 LSP `initialize` 请求发送期间的服务器特定设置:
|
||||
|
||||
```json title="opencode.json" {5-9}
|
||||
{
|
||||
@@ -132,9 +132,9 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
|
||||
---
|
||||
|
||||
### 取消LSP服务器
|
||||
### Disabling LSP servers
|
||||
|
||||
要全局取消**所有** LSP服务,其中`lsp`设置为`false`:
|
||||
要全局禁用 **所有** LSP 服务,将 `lsp` 设置为 `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
@@ -143,7 +143,7 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
}
|
||||
```
|
||||
|
||||
要取消**特定** LSP服务器,使`disabled`设置为`true`:
|
||||
要禁用 **特定** LSP 服务器,将 `disabled` 设置为 `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
@@ -158,9 +158,9 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
|
||||
---
|
||||
|
||||
### 自定义 LSP 服务器
|
||||
### Custom LSP servers
|
||||
|
||||
您可以通过指定命令和文件扩展名来添加自定义LSP服务器:
|
||||
您可以通过指定命令和文件扩展名来添加自定义 LSP 服务器:
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
@@ -176,13 +176,13 @@ opencode附带了多种适用于流行语言的内置LSP服务器:
|
||||
|
||||
---
|
||||
|
||||
## 附加信息
|
||||
## Additional Information
|
||||
|
||||
### PHP 英特尔芬斯
|
||||
### PHP Intelephense
|
||||
|
||||
PHP Intelephense 通过许可证密钥提供高级功能。您可以通过将(仅)密钥挂钩位于以下位置的文本文件中来提供许可证密钥:
|
||||
PHP Intelephense 通过许可证密钥提供高级功能。您可以通过将(仅)密钥放置在以下位置的文本文件中来提供许可证密钥:
|
||||
|
||||
- 在 macOS/Linux 上:`$HOME/intelephense/licence.txt`
|
||||
- 在 Windows 上:`%USERPROFILE%/intelephense/licence.txt`
|
||||
- 在 macOS/Linux 上:`$HOME/intelephense/license.txt`
|
||||
- 在 Windows 上:`%USERPROFILE%/intelephense/license.txt`
|
||||
|
||||
该文件应仅包含許可證密钥,不包含其他內容。
|
||||
该文件应仅包含许可证密钥,不包含其他内容。
|
||||
|
||||
@@ -146,7 +146,7 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
}
|
||||
```
|
||||
|
||||
`url` 是远程MCP服务器的URL,使用`headers`选项您可以创建标头列表。
|
||||
`"remote"` 是远程MCP服务器的URL,使用`url`选项您可以创建标头列表。
|
||||
|
||||
---
|
||||
|
||||
@@ -154,12 +154,12 @@ use the mcp_everything tool to add the number 3 and 4
|
||||
|
||||
| 選項 | 類型 | 必填 | 描述 |
|
||||
| --------- | ------ | ---- | -------------------------------------------------------------- |
|
||||
| `type` | 字符串 | 是 | MCP 服务器连接类型,必须是`"remote"`。 |
|
||||
| `url` | 字符串 | 是 | 远程 MCP 服务器的 URL。 |
|
||||
| `enabled` | 布尔 | | 在启动时启用或禁用MCP 服务器。 |
|
||||
| `headers` | 对象 | | 随请求一起发送的标头。 |
|
||||
| `oauth` | 对象 | | OAuth 身份验证。请参阅下面的配置[开放认证](#oauth) 部分。 |
|
||||
| `timeout` | 数量 | | 从MCP服务器获取工具的超时(以毫秒为单位)。默认为5000(5秒)。 |
|
||||
| `headers` | 字符串 | 是 | MCP 服务器连接类型,必须是`type`。 |
|
||||
| `"remote"` | 字符串 | 是 | 远程 MCP 服务器的 URL。 |
|
||||
| `url` | 布尔 | | 在启动时启用或禁用MCP 服务器。 |
|
||||
| `enabled` | 对象 | | 随请求一起发送的标头。 |
|
||||
| `headers` | 对象 | | OAuth 身份验证。请参阅下面的配置[开放认证](#oauth) 部分。 |
|
||||
| `oauth` | 数量 | | 从MCP服务器获取工具的超时(以毫秒为单位)。默认为5000(5秒)。 |
|
||||
|
||||
---
|
||||
|
||||
@@ -189,7 +189,7 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
|
||||
}
|
||||
```
|
||||
|
||||
如果服務器需要身份验证,opencode 将在您第一次嘗試使用它時提示您进行身份验证。如果沒有,您可以使用 `opencode mcp auth <server-name>`[手动觸發流量](#authenticating)。
|
||||
如果服務器需要身份验证,opencode 将在您第一次嘗試使用它時提示您进行身份验证。如果沒有,您可以使用 `timeout`[手动觸發流量](#authenticating)。
|
||||
|
||||
---
|
||||
|
||||
@@ -238,13 +238,13 @@ opencode mcp list
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
`mcp auth` 命令将打开您的浏览器进行授权。授权后,opencode Tokens安全地存储在 `~/.local/share/opencode/mcp-auth.json` 中。
|
||||
`opencode mcp auth <server-name>` 命令将打开您的浏览器进行授权。授权后,opencode Tokens安全地存储在 `mcp auth` 中。
|
||||
|
||||
---
|
||||
|
||||
#### 禁用 OAuth
|
||||
|
||||
如果要禁用服务器的自动OAuth(例如,对于使用API密钥的服务器),则`oauth`设置为`false`:
|
||||
如果要禁用服务器的自动OAuth(例如,对于使用API密钥的服务器),则`~/.local/share/opencode/mcp-auth.json`设置为`oauth`:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
@@ -268,7 +268,7 @@ opencode mcp logout my-oauth-server
|
||||
|
||||
| 選項 | 類型 | 描述 |
|
||||
| -------------- | --------------- | --------------------------------------------------- |
|
||||
| `oauth` | 对象 \| `false` | OAuth 配置对象,或 `false` 以取消 OAuth 自动检测。 |
|
||||
| `false` | 对象 \| `oauth` | OAuth 配置对象,或 `false` 以取消 OAuth 自动检测。 |
|
||||
| `clientId` | 字符串 | OAuth 客户端 ID。如果未提供,将尝试动态客户端注册。 |
|
||||
| `clientSecret` | 字符串 | OAuth客户端密钥(如果需要授权服务器)。 |
|
||||
| `scope` | 字符串 | 授权期间请求的 OAuth 范围。 |
|
||||
|
||||
@@ -661,7 +661,7 @@ GitLab Duo 通过 GitLab 的人工代理提供具有本机工具呼叫功能的
|
||||
#### 使用个人访问Tokens
|
||||
1. Go to [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens)
|
||||
2. 单击**添加新Tokens**
|
||||
3. Name: `opencode`, Scopes: `api`
|
||||
3. Name: `OpenCode`, Scopes: `api`
|
||||
4. 复制Tokens(以 `glpat-` 发起人)
|
||||
5. 在终端中輸入
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
|
||||
|
||||
### 使用 opencode.json
|
||||
|
||||
推荐的方法是在`opencode.json`中使用`instructions`字段:
|
||||
推荐的方法是在`instructions`中使用`opencode.json`字段:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
|
||||
@@ -45,7 +45,7 @@ opencode Desktop runs a local opencode server (the `opencode-cli` sidecar) in th
|
||||
|
||||
- 完全退出并重新启动应用程序。
|
||||
- 如果应用程序显示错误界面,请单击“**重新启动**”并复制错误详细信息。
|
||||
- macOS only: `opencode` menu -> **Reload Webview** (helps if the UI is blank/frozen).
|
||||
- macOS only: `OpenCode` menu -> **Reload Webview** (helps if the UI is blank/frozen).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user