fix(docs): locale translations

This commit is contained in:
Adam
2026-02-10 13:59:14 -06:00
committed by opencode
parent fbc41475b4
commit fd5531316f
282 changed files with 4973 additions and 5314 deletions

View File

@@ -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
### 按鍵綁定已移除
### 按键绑定已移除
- 消息局切
- 消息局切
- 下一条消息
- 上一条消息
- 文件差異切換
- 文件差异切换
- 文件搜索
- 文件关闭
- 文件列表
- 应用程序
- 目初始化
- 工具詳細信息
- 思維塊
- 应用程序
- 目初始化
- 工具详细信息
- 思维块

View File

@@ -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
- 代理和权限系
- 代理和权限系

View File

@@ -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 将使用特定于模型的默认值;大多数模型通常为 0Qwen 模型为 0.55。
如果未指定温度,OpenCode 将使用特定于模型的默认值;大多数模型通常为 0Qwen 模型为 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"
---

View File

@@ -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` | 使用的安装方法;卷曲、npmpnpmbunbrew |
| 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 | 启用计划模式 |

View File

@@ -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
自定命令可以覆盖内置命令。
自定命令可以覆盖内置命令。
:::
如果您定同名的自定命令,它将覆盖内置命令。
如果您定同名的自定命令,它将覆盖内置命令。

View File

@@ -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.Thats an error.There was an error. Please try again later.Thats all we know.
- Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try again later.Thats 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.Thats an error.There was an error. Please try again later.Thats 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.Thats an error.There was an error. Please try
这需要:
- Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try again later.Thats all we know.
- `"manual"` - 允许通过命令手动共享(默认)
- `"auto"` - 自动分享新对话
- `"disabled"` - 完全禁用共享
@@ -378,9 +374,9 @@ Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try
---
### 命令
### Command
您可以通过`command`选项为重复任务配置自定义命令。
您可以通过 `command` 选项为重复任务配置自定义命令。
```jsonc title="opencode.jsonc"
{
@@ -404,7 +400,7 @@ Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try
---
### 按鍵綁定
### Keybinds
您可以通过 `keybinds` 选项自定义您的按键绑定。
@@ -419,9 +415,9 @@ Error 500 (Server Error)!!1500.Thats 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.Thats an error.There was an error. Please try again later.Thats all we know.
[在这里了解有关格式化程序的更多信息](/docs/formatters)。
---
### 权限
### Permissions
默认情况下opencode **允许所有操作**,无需明确批准。您可以使用 `permission` 选项更改此设置。
@@ -481,7 +477,7 @@ Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try
---
### 壓實
### Compaction
您可以通过 `compaction` 选项控制上下文压缩行为。
@@ -495,14 +491,14 @@ Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try
}
```
- Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try again later.Thats 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.Thats an error.There was an error. Please try
}
```
模式遵循 glob 语法。使用它可以从文件监视中排除杂的目录。
模式遵循 glob 语法。使用它可以从文件监视中排除杂的目录。
---
### MCP服务器
### MCP Servers
您可以通过 `mcp` 选项配置要使用的 MCP 服务器。
@@ -532,11 +528,11 @@ Error 500 (Server Error)!!1500.Thats 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.Thats an error.There was an error. Please try
---
### 指示
### Instructions
您可以通过 `instructions` 选项配置您正在使用的模型的说明。
@@ -560,14 +556,13 @@ Error 500 (Server Error)!!1500.Thats 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.Thats 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.Thats an error.There was an error. Please try again later.Thats all we know.
您可以通过 `enabled_providers` 选项指定允许的提供商列表。设置后,仅启用指定的提供商,所有其他提供商将被忽略。
```json title="opencode.json"
{
@@ -599,17 +594,17 @@ Error 500 (Server Error)!!1500.Thats 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.Thats 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.Thats an error.There was an error. Please try
}
```
如果未设置環境變量,它将被替为空字符串。
如果未设置环境变量,它将被替为空字符串。
---
### 文件
### Files
使用 `{file:path/to/file}` 替换文件的内容:
@@ -673,13 +668,13 @@ Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try
}
```
文件路可以是:
文件路可以是:
- 相对于配置文件目录
- 或者以 `/` 或 `~` 開頭的絕对路
- 或者以 `/` 或 `~` 开头的绝对路
这些对于:
- 将API等敏感数据保存在单独的文件中。
- 包含大型指令文件,而不会弄您的配置。
- 将 API 密钥等敏感数据保存在单独的文件中。
- 包含大型指令文件,而不会弄您的配置。
- 跨多个配置文件共享通用配置片段。

View File

@@ -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"

View File

@@ -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) | 用于增强工作流程的配置、提示、代理和插件 |

View File

@@ -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>

View File

@@ -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}
{

View File

@@ -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 接收:
- 正在审查的切文件
- 具体代码
- 周围的差异上下文
- 行信息
- 行信息
这允许更有对性的请求,而需手动指定文件路或行
这允许更有对性的请求,而需手动指定文件路或行

View File

@@ -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 合并请求留下以下评论。

View File

@@ -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 能够安装扩展

View File

@@ -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 扩展。
![具有opencode主题的opencode TUI](../../../assets/lander/screenshot.png)
![具有 opencode 主题的 opencode TUI](../../../assets/lander/screenshot.png)
我们始吧。
我们始吧。
---
#### 先決条件
#### 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)。

View File

@@ -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 或打开新选项卡。

View File

@@ -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-lsprubocop | .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`
该文件应仅包含許可證密钥,不包含其他容。
该文件应仅包含许可证密钥,不包含其他容。

View File

@@ -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服务器获取工具的超时以毫秒为单位。默认为50005秒。 |
| `headers` | 字符串 | 是 | MCP 服务器连接类型,必须是`type`。 |
| `"remote"` | 字符串 | 是 | 远程 MCP 服务器的 URL。 |
| `url` | 布尔 | | 在启动时启用或禁用MCP 服务器。 |
| `enabled` | 对象 | | 随请求一起发送的标头。 |
| `headers` | 对象 | | OAuth 身份验证。请参阅下面的配置[开放认证](#oauth) 部分。 |
| `oauth` | 数量 | | 从MCP服务器获取工具的超时以毫秒为单位。默认为50005秒。 |
---
@@ -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 范围。 |

View File

@@ -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. 在终端中輸入

View File

@@ -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"
{

View File

@@ -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).
---