fix: standardize zh-CN docs character set and terminology (#13500)

This commit is contained in:
Niu Shuai
2026-02-14 02:58:12 +08:00
committed by GitHub
parent bc1fd0633d
commit 72c09e1dcc
18 changed files with 305 additions and 306 deletions

View File

@@ -169,7 +169,7 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
1. 检测 401 响应并启动 OAuth 流程 1. 检测 401 响应并启动 OAuth 流程
2. 如果服务器支持,请使用**动态客户端注册 (RFC 7591)** 2. 如果服务器支持,请使用**动态客户端注册 (RFC 7591)**
3. 安全地存Tokens以供将的请求 3. 安全地存Tokens以供将的请求
--- ---
@@ -189,7 +189,7 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
} }
``` ```
如果服器需要身份验证opencode 将在您第一次嘗試使用它提示您进行身份验证。如果有,您可以使用 `timeout`[手动觸發流量](#authenticating)。 如果服器需要身份验证opencode 将在您第一次尝试使用它提示您进行身份验证。如果有,您可以使用 `timeout`[手动触发流量](#authenticating)。
--- ---
@@ -218,7 +218,7 @@ opencode自动处理远程MCP服务器的OAuth身份验证。当服务器需要
### 身份验证 ### 身份验证
您可以手动觸發身份验证或管理憑據 您可以手动触发身份验证或管理凭据
使用特定MCP服务器进行身份验证 使用特定MCP服务器进行身份验证
@@ -232,7 +232,7 @@ opencode mcp auth my-oauth-server
opencode mcp list opencode mcp list
``` ```
删除存儲的憑據 删除存储的凭据
```bash ```bash
opencode mcp logout my-oauth-server opencode mcp logout my-oauth-server
@@ -297,7 +297,7 @@ opencode mcp debug my-oauth-server
### 全局 ### 全局
这意味著您可以全局启用或禁用它 这意味著您可以全局启用或禁用它
```json title="opencode.json" {14} ```json title="opencode.json" {14}
{ {

View File

@@ -17,7 +17,7 @@ opencode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.de
## 选择模型 ## 选择模型
配置完提供商,您可以通过入以下內容來选择您想要的模型: 配置完提供商,您可以通过入以下内容来选择您想要的模型:
```bash frame="none" ```bash frame="none"
/models /models
@@ -27,29 +27,29 @@ opencode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.de
## 推荐模型 ## 推荐模型
有很多模型,每都会有新模型世。 有很多模型,每都会有新模型世。
:::tip :::tip
使用我们推的模型之一。 使用我们推的模型之一。
::: :::
然而,既擅生成代又擅工具调用的只有少 然而,既擅生成代又擅工具调用的只有少
以下是与 opencode 配合良好的几个模型,排名不分前面。(这不是好看的列表,也不一定是最新的): 以下是与 opencode 配合良好的几个模型,排名不分前面。(这不是好看的列表,也不一定是最新的):
- GPT 5.2 - GPT 5.2
- GPT 5.1 法典 - GPT 5.1 Codex
- 近距離工作4.5 - Claude Opus 4.5
- 克勞德十四行詩 4.5 - Claude Sonnet 4.5
- 极小极M2.1 - Minimax M2.1
- 雙子座 3 专業版 - Gemini 3 Pro
--- ---
## 设置默认值 ## 设置默认值
要将其中之一设置为默模型,您可以在您的 要将其中之一设置为默模型,您可以在您的
開代碼配置。 开代码配置。
```json title="opencode.json" {3} ```json title="opencode.json" {3}
{ {
@@ -143,14 +143,14 @@ opencode 使用 [AI SDK](https://ai-sdk.dev/) 和 [Models.dev](https://models.de
opencode 附带了许多重大的默认变体: opencode 附带了许多重大的默认变体:
**人擇** **Anthropic**
- `high` - 高思维预算(默认) - `high` - 高思维预算(默认)
- `max` - 最大预算规划 - `max` - 最大预算规划
**OpenAI** **OpenAI**
因模型而,但大致如下: 因模型而,但大致如下:
- `none` - 没有推理 - `none` - 没有推理
- `minimal` - 最少的推理工作 - `minimal` - 最少的推理工作
@@ -159,18 +159,18 @@ opencode 附带了许多重大的默认变体:
- `high` - 高推理能力 - `high` - 高推理能力
- `xhigh` - 极高的推理能力 - `xhigh` - 极高的推理能力
**谷歌** **Google**
- `low` - 降低工作量/Tokens - `low` - 降低工作量/Tokens
- `high` - 更高的努力/Tokens - `high` - 更高的努力/Tokens
:::tip :::tip
该列表并不全面。多其他提供商也有内置的默值。 该列表并不全面。多其他提供商也有内置的默值。
::: :::
### 自定义变体 ### 自定义变体
您可以覆盖現有變體或添加您自己的變體 您可以覆盖现有变体或添加您自己的变体
```jsonc title="opencode.jsonc" {7-18} ```jsonc title="opencode.jsonc" {7-18}
{ {
@@ -195,7 +195,7 @@ opencode 附带了许多重大的默认变体:
} }
``` ```
### 循环变体 ### 切换变体
使用按键绑定`variant_cycle`在变体之间快速切换。 [了解更多](/docs/keybinds)。 使用按键绑定`variant_cycle`在变体之间快速切换。 [了解更多](/docs/keybinds)。
@@ -220,4 +220,4 @@ opencode 附带了许多重大的默认变体:
3. 最后使用的模型。 3. 最后使用的模型。
4. 第一个模型使用内部优先 4. 第一个模型使用内部优先

View File

@@ -1,6 +1,6 @@
--- ---
title: 模式 title: 模式
description: 不同的模式用于不同的用例。 description: 不同的模式用于不同的用例。
--- ---
:::caution :::caution
@@ -13,7 +13,7 @@ opencode 中的模式允许自定义不同的示例行为、工具和提示。
它具有两种内置模式:**构建**和**计划**。您可以定制 它具有两种内置模式:**构建**和**计划**。您可以定制
这些或通过 opencode 配置配置您自己的。 这些或通过 opencode 配置配置您自己的。
您可以在会话期在模式之間切換或在配置文件中配置它 您可以在会话期在模式之间切换或在配置文件中配置它
--- ---
@@ -25,13 +25,13 @@ opencode 有两种内置模式。
### 构建 ### 构建
建是启用所有工具的**默**模式。这是開發工作的標準模式,您需要完全访问文件操作和系命令。 建是启用所有工具的**默**模式。这是开发工作的标准模式,您需要完全访问文件操作和系命令。
--- ---
### 计划 ### 计划
专为規劃和分析而設計的受限模式。在計劃模式下,默情况下禁用以下工具: 专为规划和分析而设计的受限模式。在计划模式下,默情况下禁用以下工具:
- `write` - 无法创建新文件 - `write` - 无法创建新文件
- `edit` - 无法修改现有文件,位于 `.opencode/plans/*.md` 的用于详细说明计划本身的文件另外 - `edit` - 无法修改现有文件,位于 `.opencode/plans/*.md` 的用于详细说明计划本身的文件另外
@@ -52,7 +52,7 @@ opencode 有两种内置模式。
## 配置 ## 配置
您可以自定内置模式或通过配置创建自己的模式。可以通过两种方式配置模式: 您可以自定内置模式或通过配置创建自己的模式。可以通过两种方式配置模式:
### JSON 配置 ### JSON 配置
@@ -112,7 +112,7 @@ Provide constructive feedback without making direct changes.
Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模式)。 Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模式)。
我们詳細看看这些配置選項 我们详细看看这些配置选项
--- ---
@@ -191,7 +191,7 @@ Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模
} }
``` ```
该路是相对于配置文件所在位置的。所以这用于 该路是相对于配置文件所在位置的。所以这用于
全局opencode配置和项目特定配置。 全局opencode配置和项目特定配置。
--- ---
@@ -217,13 +217,13 @@ Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模
} }
``` ```
如果未指定任何工具,则默启用所有工具。 如果未指定任何工具,则默启用所有工具。
--- ---
#### 可用工具 #### 可用工具
是所有可以通过模式配置控制的工具。 是所有可以通过模式配置控制的工具。
| 工具 | 描述 | | 工具 | 描述 |
| ----------- | ---------------- | | ----------- | ---------------- |
@@ -243,7 +243,7 @@ Markdown 文件名成为模式名称(例如,`review.md` 创建`review` 模
## 自定义模式 ## 自定义模式
您可以通过将自定模式添加到配置创建自己的自定模式。以下是使用这两种方法的示例: 您可以通过将自定模式添加到配置创建自己的自定模式。以下是使用这两种方法的示例:
### 使用 JSON 配置 ### 使用 JSON 配置
@@ -320,12 +320,12 @@ Priorities:
### 使用案例 ### 使用案例
以下是不同模式的一些常用例。 以下是不同模式的一些常用例。
- **构建模式**:启用所有工具的完整開發工作 - **构建模式**:启用所有工具的完整开发工作
- **计划模式**:分析和計劃,無需更改 - **计划模式**:分析和计划,无需更改
- **审阅模式**:使用只访问权限和文档工具行代审阅 - **审阅模式**:使用只访问权限和文档工具行代审阅
- **调试模式**专注于启用bash和读取工具的调查 - **调试模式**专注于启用bash和读取工具的调查
- **文档模式**:使用文件操作但不使用系命令的文档編寫 - **文档模式**:使用文件操作但不使用系命令的文档编写
您可能还会發現不同的模型用于不同的用例。 您可能还会发现不同的模型用于不同的用例。

View File

@@ -1,6 +1,6 @@
--- ---
title: 网络 title: 网络
description: 配置代理和自定義證書 description: 配置代理和自定义证书
--- ---
opencode支持企业网络环境的标准代理环境变量和自定义证书。 opencode支持企业网络环境的标准代理环境变量和自定义证书。
@@ -9,7 +9,7 @@ opencode支持企业网络环境的标准代理环境变量和自定义证书。
## 代理 ## 代理
opencode 尊重标准代理环境变量。 opencode 遵循标准代理环境变量。
```bash ```bash
# HTTPS proxy (recommended) # HTTPS proxy (recommended)
@@ -39,7 +39,7 @@ export HTTPS_PROXY=http://username:password@proxy.example.com:8080
``` ```
:::caution :::caution
避免对密碼進行硬編碼。使用環境變量或安全憑證存儲 避免对密码进行硬编码。使用环境变量或安全凭证存储
::: :::
对于需要高级身份验证(例如 NTLM 或 Kerberos的代理请考虑使用支持您的身份验证方法的 LLM 网关。 对于需要高级身份验证(例如 NTLM 或 Kerberos的代理请考虑使用支持您的身份验证方法的 LLM 网关。

View File

@@ -1,6 +1,6 @@
--- ---
title: 权限 title: 权限
description: 控制哪些操作需要批准才能行。 description: 控制哪些操作需要批准才能行。
--- ---
opencode 使用`permission` 配置来决定给定的操作是否应自动运行、提示您或被阻止。 opencode 使用`permission` 配置来决定给定的操作是否应自动运行、提示您或被阻止。
@@ -47,7 +47,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
## 粒度规则(对象语法) ## 粒度规则(对象语法)
对于大多权限,您可以使用对像根據工具入应用不同的操作。 对于大多权限,您可以使用对象根据工具入应用不同的操作。
```json title="opencode.json" ```json title="opencode.json"
{ {
@@ -68,11 +68,11 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
} }
``` ```
规则通过模式匹配進行評估,**最后匹配的规则獲勝**。常的模式是将包万象的 `"*"` 规则放在前面,然再放置更具的规则。 规则通过模式匹配进行评估,**最后匹配的规则获胜**。常的模式是将包万象的 `"*"` 规则放在前面,然再放置更具的规则。
### 通配符 ### 通配符
权限模式使用簡單的通配符匹配: 权限模式使用简单的通配符匹配:
- `*` 匹配零个或多个任意字符 - `*` 匹配零个或多个任意字符
- `?` 恰好匹配一个字符 - `?` 恰好匹配一个字符
@@ -80,7 +80,7 @@ opencode 使用`permission` 配置来决定给定的操作是否应自动运行
### 主目录扩展 ### 主目录扩展
您可以在模式目录中使用 `~` 或 `$HOME` 来引用您的主目录。这对于 [`external_directory`](#external-directories) 规则特别有用。 您可以在模式目录中使用 `~` 或 `$HOME` 来引用您的主目录。这对于 [`外部目录`](#external_directory) 规则特别有用。
- `~/projects/*` -> `/Users/username/projects/*` - `~/projects/*` -> `/Users/username/projects/*`
- `$HOME/projects/*` -> `/Users/username/projects/*` - `$HOME/projects/*` -> `/Users/username/projects/*`
@@ -133,14 +133,14 @@ opencode权限由工具名称和一些安全防护措施决定
- `edit` — 所有文件修改(头部`edit`、`write`、`patch`、`multiedit` - `edit` — 所有文件修改(头部`edit`、`write`、`patch`、`multiedit`
- `glob` — 文件通配符(匹配通配符模式) - `glob` — 文件通配符(匹配通配符模式)
- `grep` — 内容搜索(匹配正则表达式模式) - `grep` — 内容搜索(匹配正则表达式模式)
- `list` — 上市目录中的文件(与目录路径匹配) - `list` — 列出目录中的文件(与目录路径匹配)
- `bash` — 运行 shell 命令(匹配 `git status --porcelain` 等解析命令) - `bash` — 运行 shell 命令(匹配 `git status --porcelain` 等解析命令)
- `task` — 启动子代理(与子代理类型匹配) - `task` — 启动子代理(与子代理类型匹配)
- `skill` — 加载技能(与技能名称匹配) - `skill` — 加载技能(与技能名称匹配)
- `lsp` — 运行 LSP 查询(当前非粒度) - `lsp` — 运行 LSP 查询(当前非粒度)
- `todoread`、`todowrite` — 取/更新待辦事項列表 - `todoread`、`todowrite` — 取/更新待办事项列表
- `webfetch` — 获取 URL与 URL 匹配) - `webfetch` — 获取 URL与 URL 匹配)
- `websearch`、`codesearch` — 網頁/代搜索(与查询匹配) - `websearch`、`codesearch` — 网页/代搜索(与查询匹配)
- `external_directory` — 当工具访问项目工作目录外部的路径时触发 - `external_directory` — 当工具访问项目工作目录外部的路径时触发
- `doom_loop` — 当相同的工具调用相同的输入重复 3 次时触发 - `doom_loop` — 当相同的工具调用相同的输入重复 3 次时触发
@@ -148,7 +148,7 @@ opencode权限由工具名称和一些安全防护措施决定
## 默认值 ## 默认值
如果您未指定任何内容opencode分散许可的默认值开始: 如果您未指定任何内容opencode将从宽松的默认值开始:
- 大部分权限默认为`"allow"`。 - 大部分权限默认为`"allow"`。
- `doom_loop`和`external_directory`默认为`"ask"`。 - `doom_loop`和`external_directory`默认为`"ask"`。
@@ -171,7 +171,7 @@ opencode权限由工具名称和一些安全防护措施决定
## “询问”的作用是什么 ## “询问”的作用是什么
当 opencode 提示批准时UI 会提供清晰的结果: 当 opencode 提示批准时UI 会提供三种结果:
- `once` — 仅批准此请求 - `once` — 仅批准此请求
- `always` — 批准与建议模式匹配的未来请求(对于当前 opencode 会话的其余部分) - `always` — 批准与建议模式匹配的未来请求(对于当前 opencode 会话的其余部分)

View File

@@ -11,7 +11,7 @@ description: 编写您自己的插件来扩展 opencode。
## 使用插件 ## 使用插件
有两种加插件的方法。 有两种加插件的方法。
--- ---
@@ -22,7 +22,7 @@ description: 编写您自己的插件来扩展 opencode。
- `.opencode/plugins/` - 项目级插件 - `.opencode/plugins/` - 项目级插件
- `~/.config/opencode/plugins/` - 全局插件 - `~/.config/opencode/plugins/` - 全局插件
这些目录中的文件会在启动自动加 这些目录中的文件会在启动自动加
--- ---
@@ -53,7 +53,7 @@ description: 编写您自己的插件来扩展 opencode。
### 加载顺序 ### 加载顺序
插件所有源加,所有掛鉤按顺序行。加顺序为: 插件所有源加,所有挂钩按顺序行。加顺序为:
1. 全局配置 (`~/.config/opencode/opencode.json`) 1. 全局配置 (`~/.config/opencode/opencode.json`)
2. 项目配置(`opencode.json` 2. 项目配置(`opencode.json`
@@ -67,7 +67,7 @@ description: 编写您自己的插件来扩展 opencode。
## 创建一个插件 ## 创建一个插件
插件是一个 **JavaScript/TypeScript 模块多个**,它导出一个或插件 插件是一个 **JavaScript/TypeScript 模块多个**,它导出一个或插件
功能。每个函接收一个上下文对象并返回一个子对象。 功能。每个函接收一个上下文对象并返回一个子对象。
--- ---
@@ -113,7 +113,7 @@ export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
} }
``` ```
插件函接收: 插件函接收:
- `project`:当前项目信息。 - `project`:当前项目信息。
- `directory`:当前工作目录。 - `directory`:当前工作目录。
@@ -141,7 +141,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
### 事件 ### 事件
插件可以訂閱事件,如下面的示例部分所示。以下是可用的不同事件的列表。 插件可以订阅事件,如下面的示例部分所示。以下是可用的不同事件的列表。
#### 命令事件 #### 命令事件
@@ -217,7 +217,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
### 发送通知 ### 发送通知
当某些事件發生時發送通知: 当某些事件发生时发送通知:
```js title=".opencode/plugins/notification.js" ```js title=".opencode/plugins/notification.js"
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => { export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
@@ -306,7 +306,7 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
- `args`Zod 模式的工具参数 - `args`Zod 模式的工具参数
- `execute`:调用工具时运行的函数 - `execute`:调用工具时运行的函数
您的自定工具将可与内置工具一起用于opencode。 您的自定工具将可与内置工具一起用于opencode。
--- ---
@@ -333,7 +333,7 @@ export const MyPlugin = async ({ client }) => {
### 压缩钩子 ### 压缩钩子
自定義壓縮会话包含的上下文: 自定义压缩会话包含的上下文:
```ts title=".opencode/plugins/compaction.ts" ```ts title=".opencode/plugins/compaction.ts"
import type { Plugin } from "@opencode-ai/plugin" import type { Plugin } from "@opencode-ai/plugin"

View File

@@ -85,7 +85,7 @@ OpenCode Zen 是opencode团队提供的模型列表这些模型已被
## 目录 ## 目录
我们詳細瞭解一些提供商。如果您想将提供商添加到 我们详细了解一些提供商。如果您想将提供商添加到
列表请随时开启PR。 列表请随时开启PR。
:::note :::note
@@ -156,7 +156,7 @@ OpenCode Zen 是opencode团队提供的模型列表这些模型已被
export AWS_REGION=us-east-1 export AWS_REGION=us-east-1
``` ```
#### 配置文件(推 #### 配置文件(推
For project-specific or persistent configuration, use `opencode.json`: For project-specific or persistent configuration, use `opencode.json`:
@@ -174,13 +174,13 @@ OpenCode Zen 是opencode团队提供的模型列表这些模型已被
} }
``` ```
**可用選項** **可用选项**
- `region` - AWS 区域(例如 `us-east-1`、`eu-west-1` - `region` - AWS 区域(例如 `us-east-1`、`eu-west-1`
- `profile` - 来自 `~/.aws/credentials` 的 AWS 命名配置档案 - `profile` - 来自 `~/.aws/credentials` 的 AWS 命名配置档案
- `endpoint` - VPC 节点节点的自定义节点 URL通用 `baseURL` 选项的别名) - `endpoint` - VPC 节点节点的自定义节点 URL通用 `baseURL` 选项的别名)
:::提示 :::提示
配置文件選項优先于环境变量。 配置文件选项优先于环境变量。
::: :::
#### 高阶VPC 端点 #### 高阶VPC 端点
@@ -206,13 +206,13 @@ OpenCode Zen 是opencode团队提供的模型列表这些模型已被
`endpoint` 选项是通用 `baseURL` 选项的别名,使用 AWS 术语特定。如果同时指定了 `endpoint` 和 `baseURL`,则 `endpoint` 优先。 `endpoint` 选项是通用 `baseURL` 选项的别名,使用 AWS 术语特定。如果同时指定了 `endpoint` 和 `baseURL`,则 `endpoint` 优先。
::: :::
#### 認證方式 #### 认证方式
- **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**创建IAM用户并在AWS控制台中生成访问金币。 - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**创建IAM用户并在AWS控制台中生成访问金币。
- **`AWS_PROFILE`**:使用 `~/.aws/credentials` 中的命名配置文件。首先配置 `aws configure --profile my-profile` 或 `aws sso login` - **`AWS_PROFILE`**:使用 `~/.aws/credentials` 中的命名配置文件。首先配置 `aws configure --profile my-profile` 或 `aws sso login`
- **`AWS_BEARER_TOKEN_BEDROCK`**:从 Amazon Bedrock 控制台生成长期 API 密钥 - **`AWS_BEARER_TOKEN_BEDROCK`**:从 Amazon Bedrock 控制台生成长期 API 密钥
- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**:适用于 EKS IRSA服务账户的 IAM 角色)或具有 OIDC 联合的其他 Kubernetes 环境。使用服务账户注释时,这些环境变量由 Kubernetes 自动注入。 - **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**:适用于 EKS IRSA服务账户的 IAM 角色)或具有 OIDC 联合的其他 Kubernetes 环境。使用服务账户注释时,这些环境变量由 Kubernetes 自动注入。
#### 認證优先顺序 #### 认证优先顺序
Amazon Bedrock 使用以下身份验证优先顺序: Amazon Bedrock 使用以下身份验证优先顺序:
1. **不记名Tokens** - `AWS_BEARER_TOKEN_BEDROCK`环境变化数据或来自`/connect`Tokens的Tokens 1. **不记名Tokens** - `AWS_BEARER_TOKEN_BEDROCK`环境变化数据或来自`/connect`Tokens的Tokens
@@ -663,7 +663,7 @@ GitLab Duo 通过 GitLab 的人工代理提供具有本机工具呼叫功能的
2. 单击**添加新Tokens** 2. 单击**添加新Tokens**
3. Name: `OpenCode`, Scopes: `api` 3. Name: `OpenCode`, Scopes: `api`
4. 复制Tokens以 `glpat-` 发起人) 4. 复制Tokens以 `glpat-` 发起人)
5. 在终端中 5. 在终端中
3. 执行 `/models` 命令查看可用模型。 3. 执行 `/models` 命令查看可用模型。
@@ -834,7 +834,7 @@ Google Vertex AI 与 opencode 结合使用:
2. 设置所需的环境变量: 2. 设置所需的环境变量:
- `GOOGLE_CLOUD_PROJECT`您的Google云专案ID - `GOOGLE_CLOUD_PROJECT`您的Google云专案ID
- `VERTEX_LOCATION`可选Vertex AI的区域默认为`global` - `VERTEX_LOCATION`可选Vertex AI的区域默认为`global`
- 身份验证(选择一 - 身份验证(选择一
- `GOOGLE_APPLICATION_CREDENTIALS`:服务帐户 JSON 密钥文件的路径 - `GOOGLE_APPLICATION_CREDENTIALS`:服务帐户 JSON 密钥文件的路径
- 使用 gcloud CLI 进行身份验证:`gcloud auth application-default login` - 使用 gcloud CLI 进行身份验证:`gcloud auth application-default login`
@@ -903,7 +903,7 @@ The `global` region improves availability and reduces errors at no extra cost. U
/connect /connect
``` ```
3. 入您的擁抱臉標記 3. 入您的 Hugging Face API 密钥
```txt ```txt
┌ API key ┌ API key
@@ -949,7 +949,7 @@ The `global` region improves availability and reduces errors at no extra cost. U
For more providers and advanced features like caching and rate limiting, check the [Helicone documentation](https://docs.helicone.ai). For more providers and advanced features like caching and rate limiting, check the [Helicone documentation](https://docs.helicone.ai).
#### 可配置 #### 可配置
如果您发现Helicone的某些功能或模型未通过opencode自动配置您始终可以自行配置。 如果您发现Helicone的某些功能或模型未通过opencode自动配置您始终可以自行配置。
@@ -979,7 +979,7 @@ Here's [Helicone's Model Directory](https://helicone.ai/models), you'll need thi
} }
``` ```
#### 自定義標頭 #### 自定义标头
Helicone 支持快速获取、用户跟踪和会话管理等功能的自定义标头。使用 `options.headers` 将它们添加到您提供的方案配置中: Helicone 支持快速获取、用户跟踪和会话管理等功能的自定义标头。使用 `options.headers` 将它们添加到您提供的方案配置中:
@@ -1002,7 +1002,7 @@ Helicone 支持快速获取、用户跟踪和会话管理等功能的自定义
} }
``` ```
##### 会话跟 ##### 会话跟
Helicone's [Sessions](https://docs.helicone.ai/features/sessions) feature lets you group related LLM requests together. Use the [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) plugin to automatically log each opencode conversation as a session in Helicone. Helicone's [Sessions](https://docs.helicone.ai/features/sessions) feature lets you group related LLM requests together. Use the [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) plugin to automatically log each opencode conversation as a session in Helicone.
@@ -1022,7 +1022,7 @@ npm install -g opencode-helicone-session
##### 常见螺旋接头 ##### 常见螺旋接头
| 標題 | 描述 | | 标题 | 描述 |
| -------------------------- | ----------------------------------------------------- | | -------------------------- | ----------------------------------------------------- |
| `Helicone-Cache-Enabled` | Enable response caching (`true`/`false`) | | `Helicone-Cache-Enabled` | Enable response caching (`true`/`false`) |
| `Helicone-User-Id` | 点击用户跟踪指标 | | `Helicone-User-Id` | 点击用户跟踪指标 |
@@ -1635,9 +1635,9 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
} }
``` ```
一些有用的路由選項 一些有用的路由选项
| 選項 | 描述 | | 选项 | 描述 |
| ------------------- | ---------------------- | | ------------------- | ---------------------- |
| `order` | 提供商尝试顺序 | | `order` | 提供商尝试顺序 |
| `only` | 限制特定提供商 | | `only` | 限制特定提供商 |
@@ -1816,7 +1816,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
} }
``` ```
以下是配置選項 以下是配置选项
- **npm**要使用AI的SDK包`@ai-sdk/openai-compatible`用于OpenAI兼容的事业 - **npm**要使用AI的SDK包`@ai-sdk/openai-compatible`用于OpenAI兼容的事业
- **名称**UI中的显示名称。 - **名称**UI中的显示名称。
- **模型**:可用模型。 - **模型**:可用模型。
@@ -1824,7 +1824,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
- **options.apiKey**如果不使用身份验证可以选择设置API 密钥。 - **options.apiKey**如果不使用身份验证可以选择设置API 密钥。
- **options.headers**:可选择设置自定义标头。 - **options.headers**:可选择设置自定义标头。
關高階選項的更多資訊,请參見下面的示例。 关高阶选项的更多资讯,请参见下面的示例。
5. 执行 `/models` 命令,您提供的自定义程序和模型将出现在选择列表中。 5. 执行 `/models` 命令,您提供的自定义程序和模型将出现在选择列表中。
@@ -1875,7 +1875,7 @@ Vercel AI Gateway 可以让您跨统一端点访问来自 OpenAI、Anthropic、G
## 故障排除 ## 故障排除
如果您在配置提供商遇到問題,请检查以下容: 如果您在配置提供商遇到问题,请检查以下容:
1. **Check the auth setup**: Run `opencode auth list` to see if the credentials 1. **Check the auth setup**: Run `opencode auth list` to see if the credentials
提供商的配置已添加到您的配置中。 提供商的配置已添加到您的配置中。

View File

@@ -1,6 +1,6 @@
--- ---
title: 规则 title: 规则
description: 设置opencode的自定指令。 description: 设置opencode的自定指令。
--- ---
您可以通过 `AGENTS.md` 文件创建 opencode 的自定义指令。这和 Cursor 的规则类似。它包含将包含在 LLM 上下文中的说明,方便您的特定项目自定义其行为。 您可以通过 `AGENTS.md` 文件创建 opencode 的自定义指令。这和 Cursor 的规则类似。它包含将包含在 LLM 上下文中的说明,方便您的特定项目自定义其行为。
@@ -48,7 +48,7 @@ This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for
- Import shared modules using workspace names: `@my-app/core/example` - Import shared modules using workspace names: `@my-app/core/example`
``` ```
我们在此添加特定于目的明,这将在您的團隊中共享。 我们在此添加特定于目的明,这将在您的团队中共享。
--- ---
@@ -66,7 +66,7 @@ opencode 还支持从多个位置读取 `AGENTS.md` 文件。这有不同的目
由于此未提交给 Git 或与您的团队共享,因此我们建议使用它来指定 LLM 应遵循的任何个人规则。 由于此未提交给 Git 或与您的团队共享,因此我们建议使用它来指定 LLM 应遵循的任何个人规则。
### 克德代兼容性 ### 克德代兼容性
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.
@@ -118,7 +118,7 @@ export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
} }
``` ```
程指令的获取有 5 秒的超時時間 程指令的获取有 5 秒的超时时间
所有说明文件均与您的`AGENTS.md`文件合并。 所有说明文件均与您的`AGENTS.md`文件合并。
@@ -168,9 +168,9 @@ For testing strategies and coverage requirements: @test/testing-guidelines.md
Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md. Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.
``` ```
方法允许您: 方法允许您:
- 创建模化、可重用的规则文件 - 创建模化、可重用的规则文件
- 通过符号链接或git子模块在项目之间共享规则 - 通过符号链接或git子模块在项目之间共享规则
- 保持 AGENTS.md 简洁,同时参考详细指南 - 保持 AGENTS.md 简洁,同时参考详细指南
- 确保opencode仅在特定任务需要时加载文件 - 确保opencode仅在特定任务需要时加载文件

View File

@@ -33,7 +33,7 @@ import { createOpencode } from "@opencode-ai/sdk"
const { client } = await createOpencode() const { client } = await createOpencode()
``` ```
这会同启动服务器和客 这会同启动服务器和客
#### 选项 #### 选项
@@ -99,7 +99,7 @@ SDK 包括所有 API 型以外的 TypeScript 定义。直接汇入其中:
import type { Session, Message, Part } from "@opencode-ai/sdk" import type { Session, Message, Part } from "@opencode-ai/sdk"
``` ```
所有型均根服务器的 OpenAPI 規範生成,并可在 <a href={typesUrl}> 型文件 </a> 中找到。 所有型均根服务器的 OpenAPI 规范生成,并可在 <a href={typesUrl}> 型文件 </a> 中找到。
--- ---
@@ -192,7 +192,7 @@ const currentProject = await client.project.current()
| 方法 | 描述 | 回应 | | 方法 | 描述 | 回应 |
| ------------ | ------------ | ---------------------------------------- | | ------------ | ------------ | ---------------------------------------- |
| `path.get()` | 获取当前路 | <a href={typesUrl}><code>路</code></a> | | `path.get()` | 获取当前路 | <a href={typesUrl}><code>路</code></a> |
--- ---
@@ -209,7 +209,7 @@ const pathInfo = await client.path.get()
| 方法 | 描述 | 回应 | | 方法 | 描述 | 回应 |
| -------------------- | -------------------- | --------------------------------------------------------------------------------------------------- | | -------------------- | -------------------- | --------------------------------------------------------------------------------------------------- |
| `config.get()` | 获取配置資訊 | <a href={typesUrl}><code>配置</code></a> | | `config.get()` | 获取配置资讯 | <a href={typesUrl}><code>配置</code></a> |
| `config.providers()` | 列出提供商和默认模型 | `{ providers: `<a href={typesUrl}><code>提供商[]</code></a>`, default: { [key: string]: string } }` | | `config.providers()` | 列出提供商和默认模型 | `{ providers: `<a href={typesUrl}><code>提供商[]</code></a>`, default: { [key: string]: string } }` |
--- ---
@@ -226,14 +226,14 @@ const { providers, default: defaults } = await client.config.providers()
### 会话 ### 会话
| 方法 | 描述 | 筆記 | | 方法 | 描述 | 备注 |
| ---------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | ---------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `session.list()` | 列出会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> | | `session.list()` | 列出会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
| `session.get({ path })` | 获取会话 | 返回 <a href={typesUrl}><code>会话</code></a> | | `session.get({ path })` | 获取会话 | 返回 <a href={typesUrl}><code>会话</code></a> |
| `session.children({ path })` | 列出子会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> | | `session.children({ path })` | 列出子会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
| `session.create({ body })` | 建立会话 | 返回 <a href={typesUrl}><code>会话</code></a> | | `session.create({ body })` | 建立会话 | 返回 <a href={typesUrl}><code>会话</code></a> |
| `session.delete({ path })` | 离开会话 | 返回`boolean` | | `session.delete({ path })` | 离开会话 | 返回`boolean` |
| `session.update({ path, body })` | 更新会话性 | 返回 <a href={typesUrl}><code>会话</code></a> | | `session.update({ path, body })` | 更新会话性 | 返回 <a href={typesUrl}><code>会话</code></a> |
| `session.init({ path, body })` | Analyze app and create `AGENTS.md` | Returns `boolean` | | `session.init({ path, body })` | Analyze app and create `AGENTS.md` | Returns `boolean` |
| `session.abort({ path })` | 中止正在执行的会话 | 返回`boolean` | | `session.abort({ path })` | 中止正在执行的会话 | 返回`boolean` |
| `session.share({ path })` | 分享会 | 返回 <a href={typesUrl}><code>会话</code></a> | | `session.share({ path })` | 分享会 | 返回 <a href={typesUrl}><code>会话</code></a> |
@@ -241,7 +241,7 @@ const { providers, default: defaults } = await client.config.providers()
| `session.summarize({ path, body })` | 会议总结 | 返回`boolean` | | `session.summarize({ path, body })` | 会议总结 | 返回`boolean` |
| `session.messages({ path })` | 列出会话中的消息 | 返回 `{ info: `<a href={typesUrl}><code>消息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}[]` | | `session.messages({ path })` | 列出会话中的消息 | 返回 `{ info: `<a href={typesUrl}><code>消息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}[]` |
| `session.message({ path })` | 获取消息详情 | 返回 `{ info: `<a href={typesUrl}><code>消息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` | | `session.message({ path })` | 获取消息详情 | 返回 `{ info: `<a href={typesUrl}><code>消息</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` |
| `session.prompt({ path, body })` | 发送提示資訊 | `body.noReply: true` 返回 UserMessage仅限上下文。默认返回 <a href={typesUrl}><code>AssistantMessage</code></a> 以及 AI 应 | | `session.prompt({ path, body })` | 发送提示资讯 | `body.noReply: true` 返回 UserMessage仅限上下文。默认返回 <a href={typesUrl}><code>AssistantMessage</code></a> 以及 AI 应 |
| `session.command({ path, body })` | 向会话发送命令 | 返回 `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` | | `session.command({ path, body })` | 向会话发送命令 | 返回 `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>部分[]</code></a>`}` |
| `session.shell({ path, body })` | 执行 shell 命令 | 返回 <a href={typesUrl}><code>AssistantMessage</code></a> | | `session.shell({ path, body })` | 执行 shell 命令 | 返回 <a href={typesUrl}><code>AssistantMessage</code></a> |
| `session.revert({ path, body })` | 回复消息 | 返回 <a href={typesUrl}><code>会话</code></a> | | `session.revert({ path, body })` | 回复消息 | 返回 <a href={typesUrl}><code>会话</code></a> |
@@ -287,9 +287,9 @@ await client.session.prompt({
| ------------------------- | -------------------- | ----------------------------------------------------------------------------------- | | ------------------------- | -------------------- | ----------------------------------------------------------------------------------- |
| `find.text({ query })` | 搜索档案中文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配对象数组 | | `find.text({ query })` | 搜索档案中文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配对象数组 |
| `find.files({ query })` | 按名称查询档案和目录 | `string[]`(路径) | | `find.files({ query })` | 按名称查询档案和目录 | `string[]`(路径) |
| `find.symbols({ query })` | 查询工作区符 | <a href={typesUrl}><code>符[]</code></a> | | `find.symbols({ query })` | 查询工作区符 | <a href={typesUrl}><code>符[]</code></a> |
| `file.read({ query })` | 读取档案 | `{ type: "raw" \| "patch", content: string }` | | `file.read({ query })` | 读取档案 | `{ type: "raw" \| "patch", content: string }` |
| `file.status({ query? })` | 获取跟文件的狀態 | <a href={typesUrl}><code>文件[]</code></a> | | `file.status({ query? })` | 获取跟文件的状态 | <a href={typesUrl}><code>文件[]</code></a> |
`find.files` 支持一些可选的查询栏位: `find.files` 支持一些可选的查询栏位:

View File

@@ -44,7 +44,7 @@ OPENCODE_SERVER_PASSWORD=your-password opencode serve
--- ---
### 它是如何作的 ### 它是如何作的
When you run `opencode` it starts a TUI and a server. Where the TUI is the When you run `opencode` it starts a TUI and a server. Where the TUI is the
与服务器器对话的客户端。服务器器公开 OpenAPI 3.1 规范 与服务器器对话的客户端。服务器器公开 OpenAPI 3.1 规范
@@ -61,7 +61,7 @@ opencode TUI running, `opencode serve` will start a new server.
--- ---
#### 连接到有服务器 #### 连接到有服务器
当您启动 TUI 时,它会随机分配端口和主机名。您可以重新设置 `--hostname` 和 `--port` [flags](/docs/cli)。使用它连线到其服务器然后器。 当您启动 TUI 时,它会随机分配端口和主机名。您可以重新设置 `--hostname` 和 `--port` [flags](/docs/cli)。使用它连线到其服务器然后器。
@@ -69,7 +69,7 @@ opencode TUI running, `opencode serve` will start a new server.
--- ---
## ##
服务器发布了OpenAPI 3.1规范,可以在以下位置查看: 服务器发布了OpenAPI 3.1规范,可以在以下位置查看:
@@ -89,7 +89,7 @@ opencode服务器公开以下API。
### 全局 ### 全局
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ---------------- | ------------------------ | ------------------------------------ | | ----- | ---------------- | ------------------------ | ------------------------------------ |
| `GET` | `/global/health` | 获取服务器运行状况和版本 | `{ healthy: true, version: string }` | | `GET` | `/global/health` | 获取服务器运行状况和版本 | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | 获取全域性事件SSE 流) | 事件流 | | `GET` | `/global/event` | 获取全域性事件SSE 流) | 事件流 |
@@ -98,7 +98,7 @@ opencode服务器公开以下API。
### 项目 ### 项目
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ------------------ | ------------ | ------------------------------------------ | | ----- | ------------------ | ------------ | ------------------------------------------ |
| `GET` | `/project` | 列出所有专案 | <a href={typesUrl}><code>专案[]</code></a> | | `GET` | `/project` | 列出所有专案 | <a href={typesUrl}><code>专案[]</code></a> |
| `GET` | `/project/current` | 获取当前专案 | <a href={typesUrl}><code>专案</code></a> | | `GET` | `/project/current` | 获取当前专案 | <a href={typesUrl}><code>专案</code></a> |
@@ -107,16 +107,16 @@ opencode服务器公开以下API。
### 路径和VCS ### 路径和VCS
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ------- | ----------------------- | ------------------------------------------- | | ----- | ------- | ----------------------- | ------------------------------------------- |
| `GET` | `/path` | 获取当前路 | <a href={typesUrl}><code>路</code></a> | | `GET` | `/path` | 获取当前路 | <a href={typesUrl}><code>路</code></a> |
| `GET` | `/vcs` | 获取当前专案的 VCS 資訊 | <a href={typesUrl}><code>VcsInfo</code></a> | | `GET` | `/vcs` | 获取当前专案的 VCS 资讯 | <a href={typesUrl}><code>VcsInfo</code></a> |
--- ---
### 例 ### 例
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ------ | ------------------- | -------------- | --------- | | ------ | ------------------- | -------------- | --------- |
| `POST` | `/instance/dispose` | 执行当前实例项 | `boolean` | | `POST` | `/instance/dispose` | 执行当前实例项 | `boolean` |
@@ -124,9 +124,9 @@ opencode服务器公开以下API。
### 配置 ### 配置
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ------- | ------------------- | -------------------- | -------------------------------------------------------------------------------------- | | ------- | ------------------- | -------------------- | -------------------------------------------------------------------------------------- |
| `GET` | `/config` | 获取配置資訊 | <a href={typesUrl}><code>配置</code></a> | | `GET` | `/config` | 获取配置资讯 | <a href={typesUrl}><code>配置</code></a> |
| `PATCH` | `/config` | 更新配置 | <a href={typesUrl}><code>配置</code></a> | | `PATCH` | `/config` | 更新配置 | <a href={typesUrl}><code>配置</code></a> |
| `GET` | `/config/providers` | 列出提供商和默认模型 | `{ providers: `<a href={typesUrl}>提供商[]</a>`, default: { [key: string]: string } }` | | `GET` | `/config/providers` | 列出提供商和默认模型 | `{ providers: `<a href={typesUrl}>提供商[]</a>`, default: { [key: string]: string } }` |
@@ -134,33 +134,33 @@ opencode服务器公开以下API。
### 提供商 ### 提供商
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ------ | -------------------------------- | ----------------------- | --------------------------------------------------------------------------------- | | ------ | -------------------------------- | ----------------------- | --------------------------------------------------------------------------------- |
| `GET` | `/provider` | 列出所有提供商 | `{ all: `<a href={typesUrl}>提供商[]</a>`, default: {...}, connected: string[] }` | | `GET` | `/provider` | 列出所有提供商 | `{ all: `<a href={typesUrl}>提供商[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | 获取提供商身份验证方法 | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` | | `GET` | `/provider/auth` | 获取提供商身份验证方法 | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | 使用 OAuth 授提供商 | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> | | `POST` | `/provider/{id}/oauth/authorize` | 使用 OAuth 授提供商 | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | 处理提供商的 OAuth 回调 | `boolean` | | `POST` | `/provider/{id}/oauth/callback` | 处理提供商的 OAuth 回调 | `boolean` |
--- ---
### 会话 ### 会话
| 方法 | 路 | 描述 | 筆記 | | 方法 | 路 | 描述 | 笔记 |
| -------- | ---------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------- | | -------- | ---------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------- |
| `GET` | `/session` | 列出所有会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> | | `GET` | `/session` | 列出所有会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
| `POST` | `/session` | 建立新会话 | 正文: `{ parentID?, title? }`,返回 <a href={typesUrl}><code>Session</code></a> | | `POST` | `/session` | 建立新会话 | 正文: `{ parentID?, title? }`,返回 <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/status` | 获取所有会话的会话狀態 | 返回 `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` | | `GET` | `/session/status` | 获取所有会话的会话状态 | 返回 `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
| `GET` | `/session/:id` | 获取会话详细信息 | 返回<a href={typesUrl}><code>会话</code></a> | | `GET` | `/session/:id` | 获取会话详细信息 | 返回<a href={typesUrl}><code>会话</code></a> |
| `DELETE` | `/session/:id` | 删除会话及所有资料 | 返回`boolean` | | `DELETE` | `/session/:id` | 删除会话及所有资料 | 返回`boolean` |
| `PATCH` | `/session/:id` | 更新会话性 | 正文: `{ title? }`,返回 <a href={typesUrl}><code>Session</code></a> | | `PATCH` | `/session/:id` | 更新会话性 | 正文: `{ title? }`,返回 <a href={typesUrl}><code>Session</code></a> |
| `GET` | `/session/:id/children` | 获取会话的子会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> | | `GET` | `/session/:id/children` | 获取会话的子会话 | 返回 <a href={typesUrl}><code>Session[]</code></a> |
| `GET` | `/session/:id/todo` | 获取会话的待辦事項列表 | 返回 <a href={typesUrl}><code>Todo[]</code></a> | | `GET` | `/session/:id/todo` | 获取会话的待办事项列表 | 返回 <a href={typesUrl}><code>Todo[]</code></a> |
| `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` | | `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` |
| `POST` | `/session/:id/fork` | 在消息中分叉有会话 | 正文: `{ messageID? }`,返回 <a href={typesUrl}><code>Session</code></a> | | `POST` | `/session/:id/fork` | 在消息中分叉有会话 | 正文: `{ messageID? }`,返回 <a href={typesUrl}><code>Session</code></a> |
| `POST` | `/session/:id/abort` | 中止正在执行的会话 | 返回`boolean` | | `POST` | `/session/:id/abort` | 中止正在执行的会话 | 返回`boolean` |
| `POST` | `/session/:id/share` | 分享会话 | 返回<a href={typesUrl}><code>会话</code></a> | | `POST` | `/session/:id/share` | 分享会话 | 返回<a href={typesUrl}><code>会话</code></a> |
| `DELETE` | `/session/:id/share` | 取消共享会话 | 返回<a href={typesUrl}><code>会话</code></a> | | `DELETE` | `/session/:id/share` | 取消共享会话 | 返回<a href={typesUrl}><code>会话</code></a> |
| `GET` | `/session/:id/diff` | 获取本次会话的差 | 查询:`messageID?`,返回 <a href={typesUrl}><code>FileDiff[]</code></a> | | `GET` | `/session/:id/diff` | 获取本次会话的差 | 查询:`messageID?`,返回 <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | 会议总结 | 正文:`{ providerID, modelID }`,返回 `boolean` | | `POST` | `/session/:id/summarize` | 会议总结 | 正文:`{ providerID, modelID }`,返回 `boolean` |
| `POST` | `/session/:id/revert` | 回复讯息 | 正文:`{ messageID, partID? }`,返回 `boolean` | | `POST` | `/session/:id/revert` | 回复讯息 | 正文:`{ messageID, partID? }`,返回 `boolean` |
| `POST` | `/session/:id/unrevert` | 恢复所有已恢复的消息 | 返回`boolean` | | `POST` | `/session/:id/unrevert` | 恢复所有已恢复的消息 | 返回`boolean` |
@@ -170,20 +170,20 @@ opencode服务器公开以下API。
### 留言 ### 留言
| 方法 | 路 | 描述 | 筆記 | | 方法 | 路 | 描述 | 笔记 |
| ------ | --------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------ | --------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET` | `/session/:id/message` | 列出会话中的消息 | 查询: `limit?`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` | | `GET` | `/session/:id/message` | 列出会话中的消息 | 查询: `limit?`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
| `POST` | `/session/:id/message` | 发送消息并等待回复 | 正文: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` | | `POST` | `/session/:id/message` | 发送消息并等待回复 | 正文: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | 获取消息详情 | 返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` | | `GET` | `/session/:id/message/:messageID` | 获取消息详情 | 返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | 非同步传送消息(休眠等待) | 主体:与 `/session/:id/message` 相同,返回 `204 No Content` | | `POST` | `/session/:id/prompt_async` | 非同步传送消息(休眠等待) | 主体:与 `/session/:id/message` 相同,返回 `204 No Content` |
| `POST` | `/session/:id/command` | 执行斜命令 | 正文: `{ messageID?, agent?, model?, command, arguments }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` | | `POST` | `/session/:id/command` | 执行斜命令 | 正文: `{ messageID?, agent?, model?, command, arguments }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
| `POST` | `/session/:id/shell` | 执行 shell 命令 | 正文: `{ agent, model?, command }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` | | `POST` | `/session/:id/shell` | 执行 shell 命令 | 正文: `{ agent, model?, command }`,返回 `{ info: `<a href={typesUrl}>消息</a>`, parts: `<a href={typesUrl}>部分[]</a>`}` |
--- ---
### 命令 ### 命令
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ---------- | ------------ | ------------------------------------------ | | ----- | ---------- | ------------ | ------------------------------------------ |
| `GET` | `/command` | 列出所有命令 | <a href={typesUrl}><code>命令[]</code></a> | | `GET` | `/command` | 列出所有命令 | <a href={typesUrl}><code>命令[]</code></a> |
@@ -191,14 +191,14 @@ opencode服务器公开以下API。
### 文件 ### 文件
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ------------------------ | -------------------- | ----------------------------------------------------------------------------------- | | ----- | ------------------------ | -------------------- | ----------------------------------------------------------------------------------- |
| `GET` | `/find?pattern=<pat>` | 搜索文件中的文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配对像数组 | | `GET` | `/find?pattern=<pat>` | 搜索文件中的文字 | 具有 `path`、`lines`、`line_number`、`absolute_offset`、`submatches` 的匹配对像数组 |
| `GET` | `/find/file?query=<q>` | 按名称查询文件和目录 | `string[]`(路 | | `GET` | `/find/file?query=<q>` | 按名称查询文件和目录 | `string[]`(路 |
| `GET` | `/find/symbol?query=<q>` | 查询工作区符 | <a href={typesUrl}><code>符[]</code></a> | | `GET` | `/find/symbol?query=<q>` | 查询工作区符 | <a href={typesUrl}><code>符[]</code></a> |
| `GET` | `/file?path=<path>` | 列出文件和目录 | <a href={typesUrl}><code>FileNode[]</code></a> | | `GET` | `/file?path=<path>` | 列出文件和目录 | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | 取文件 | <a href={typesUrl}><code>文件容</code></a> | | `GET` | `/file/content?path=<p>` | 取文件 | <a href={typesUrl}><code>文件容</code></a> |
| `GET` | `/file/status` | 获取跟文件的狀態 | <a href={typesUrl}><code>文件[]</code></a> | | `GET` | `/file/status` | 获取跟文件的状态 | <a href={typesUrl}><code>文件[]</code></a> |
#### `/find/file` 查询参数 #### `/find/file` 查询参数
@@ -210,9 +210,9 @@ opencode服务器公开以下API。
--- ---
### 工具(實驗 ### 工具(实验
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ------------------------------------------- | ---------------------------- | -------------------------------------------- | | ----- | ------------------------------------------- | ---------------------------- | -------------------------------------------- |
| `GET` | `/experimental/tool/ids` | 列出所有工具 ID | <a href={typesUrl}><code>工具ID</code></a> | | `GET` | `/experimental/tool/ids` | 列出所有工具 ID | <a href={typesUrl}><code>工具ID</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | 列出具有模型 JSON 模式的工具 | <a href={typesUrl}><code>工具列表</code></a> | | `GET` | `/experimental/tool?provider=<p>&model=<m>` | 列出具有模型 JSON 模式的工具 | <a href={typesUrl}><code>工具列表</code></a> |
@@ -221,18 +221,18 @@ opencode服务器公开以下API。
### LSP、格式化程式和 MCP ### LSP、格式化程式和 MCP
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ------ | ------------ | ------------------- | ------------------------------------------------------ | | ------ | ------------ | ------------------- | ------------------------------------------------------ |
| `GET` | `/lsp` | 获取 LSP 服务器狀態 | <a href={typesUrl}><code>LSPStatus[]</code></a> | | `GET` | `/lsp` | 获取 LSP 服务器状态 | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | 获取格式化程式狀態 | <a href={typesUrl}><code>FormatterStatus[]</code></a> | | `GET` | `/formatter` | 获取格式化程式状态 | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | 获取 MCP 服务器狀態 | `{ [name: string]: `<a href={typesUrl}>MCP狀態</a>` }` | | `GET` | `/mcp` | 获取 MCP 服务器状态 | `{ [name: string]: `<a href={typesUrl}>MCP状态</a>` }` |
| `POST` | `/mcp` | 动态添加 MCP 服务器 | 主体:`{ name, config }`,返回 MCP 状态对象 | | `POST` | `/mcp` | 动态添加 MCP 服务器 | 主体:`{ name, config }`,返回 MCP 状态对象 |
--- ---
### 代理商 ### 代理商
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | -------- | ------------------ | ------------------------------------------ | | ----- | -------- | ------------------ | ------------------------------------------ |
| `GET` | `/agent` | 列出所有可用的代理 | <a href={typesUrl}><code>代理[]</code></a> | | `GET` | `/agent` | 列出所有可用的代理 | <a href={typesUrl}><code>代理[]</code></a> |
@@ -240,7 +240,7 @@ opencode服务器公开以下API。
### 日志 ### 日志
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ------ | ------------------------------------------- | ------ | -------------------- | | ------ | ------------------------------------------- | ------ | -------------------- |
| `POST` | 身体:`{ service, level, message, extra? }` | `/log` | 写入日志。 `boolean` | | `POST` | 身体:`{ service, level, message, extra? }` | `/log` | 写入日志。 `boolean` |
@@ -248,7 +248,7 @@ opencode服务器公开以下API。
### TUI ### TUI
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ------ | ----------------------- | ----------------------------------------- | ------------ | | ------ | ----------------------- | ----------------------------------------- | ------------ |
| `POST` | `/tui/append-prompt` | 将文字附加到提示 | `boolean` | | `POST` | `/tui/append-prompt` | 将文字附加到提示 | `boolean` |
| `POST` | `/tui/open-help` | 开启帮助对话方块 | `boolean` | | `POST` | `/tui/open-help` | 开启帮助对话方块 | `boolean` |
@@ -266,7 +266,7 @@ opencode服务器公开以下API。
### 授权 ### 授权
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ----------- | ------------------------------------------ | --------- | | ----- | ----------- | ------------------------------------------ | --------- |
| `PUT` | `/auth/:id` | 设置身份验证凭据。正文必须与提供商架构匹配 | `boolean` | | `PUT` | `/auth/:id` | 设置身份验证凭据。正文必须与提供商架构匹配 | `boolean` |
@@ -274,7 +274,7 @@ opencode服务器公开以下API。
### 活动 ### 活动
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | -------- | ------------------------------------------------------------------- | ------------------ | | ----- | -------- | ------------------------------------------------------------------- | ------------------ |
| `GET` | `/event` | 服务器发送事件流。第一个事件是 `server.connected`,之后是总线事件。 | 服务器发送事件流。 | | `GET` | `/event` | 服务器发送事件流。第一个事件是 `server.connected`,之后是总线事件。 | 服务器发送事件流。 |
@@ -282,6 +282,6 @@ opencode服务器公开以下API。
### 文档 ### 文档
| 方法 | 路 | 描述 | 回应 | | 方法 | 路 | 描述 | 回应 |
| ----- | ------ | --------------- | ------------------------- | | ----- | ------ | --------------- | ------------------------- |
| `GET` | `/doc` | 开启API 3.1规范 | 具有OpenAPI规范的HTML页面 | | `GET` | `/doc` | 开启API 3.1规范 | 具有OpenAPI规范的HTML页面 |

View File

@@ -6,24 +6,24 @@ description: 分享您的 opencode 对话。
opencode 的共享功能允许您建立指向 opencode 对话的公共链接,以便您可以与蓝牙进行战斗或从其他人那里获得帮助。 opencode 的共享功能允许您建立指向 opencode 对话的公共链接,以便您可以与蓝牙进行战斗或从其他人那里获得帮助。
:::note :::note
任何知道链接的人都可以公访问共享对话。 任何知道链接的人都可以公访问共享对话。
::: :::
--- ---
## 它是如何作的 ## 它是如何作的
当您分享对话时opencode 当您分享对话时opencode
1. 为您的会话建立唯一的公共 URL 1. 为您的会话建立唯一的公共 URL
2. 将您的对话歷史記錄同步到我们的服务器 2. 将您的对话历史记录同步到我们的服务器
3. 通过可共享链接访问对话 — `opncd.ai/s/<share-id>` 3. 通过可共享链接访问对话 — `opncd.ai/s/<share-id>`
--- ---
## 分享 ## 分享
opencode 支持清晰控制对话共享方式的共享模式: opencode 支持三种控制对话共享方式的共享模式:
--- ---
@@ -35,7 +35,7 @@ opencode 支持清晰控制对话共享方式的共享模式:
/share /share
``` ```
这将生成一个唯一的 URL将其复制到您的剪贴簿中。 这将生成一个唯一的 URL将其复制到您的剪贴中。
要在[配置文件](/docs/config) 中显式设置手动模式: 要在[配置文件](/docs/config) 中显式设置手动模式:
@@ -50,7 +50,7 @@ opencode 支持清晰控制对话共享方式的共享模式:
### 自动分享 ### 自动分享
您可以通过将 [config file](/docs/config) 中的 `share` 选项设置为 `"auto"` 来为所有新对话启用自动共享: 您可以通过将 [配置文件](/docs/config) 中的 `share` 选项设置为 `"auto"` 来为所有新对话启用自动共享:
```json title="opencode.json" ```json title="opencode.json"
{ {
@@ -59,13 +59,13 @@ opencode 支持清晰控制对话共享方式的共享模式:
} }
``` ```
启用自动共享,每个新对话都会自动共享并生成链接。 启用自动共享,每个新对话都会自动共享并生成链接。
--- ---
### 已禁用 ### 已禁用
您可以通过将 [config file](/docs/config) 中的 `share` 选项设置为 `"disabled"` 来完全禁用共享: 您可以通过将 [配置文件](/docs/config) 中的 `share` 选项设置为 `"disabled"` 来完全禁用共享:
```json title="opencode.json" ```json title="opencode.json"
{ {
@@ -74,13 +74,13 @@ opencode 支持清晰控制对话共享方式的共享模式:
} }
``` ```
To enforce this across your team for a given project, add it to the `opencode.json` in your project and check into Git. 为了在您的团队中针对特定项目强制执行此操作,请将其添加到您项目的 `opencode.json` 文件中,并将其提交到Git
--- ---
## 取消共享 ## 取消共享
要停止共享对话并将其公共访问中删除: 要停止共享对话并将其公共访问中删除:
``` ```
/unshare /unshare
@@ -90,39 +90,39 @@ To enforce this across your team for a given project, add it to the `opencode.js
--- ---
## ##
分享对话需要住一些事 分享对话需要住一些事
--- ---
### 数据保留 ### 数据保留
共享对话仍然可以访问,直到您明取消共享。这 共享对话仍然可以访问,直到您明取消共享。这
包括: 包括:
- 完整的对话歷史記錄 - 完整的对话历史记录
- 所有消息和回复 - 所有消息和回复
- 会话元数据 - 会话元数据
--- ---
### 建 ### 建
- 仅共享不包含敏感資訊的对话。 - 仅共享不包含敏感资讯的对话。
- 分享之前查看对话容。 - 分享之前查看对话容。
- 作完成取消共享对话。 - 作完成取消共享对话。
- 避免与专有程式碼或機密数据共享对话。 - 避免共享包括专有代码或机密数据对话。
- 对于敏感专案,完全禁用共享。 - 对于敏感项目,完全禁用共享。
--- ---
## 对于企 ## 对于企
对于企部署,共享功能可以是: 对于企部署,共享功能可以是:
- **出于安全合性完全禁用** - **出于安全合性完全禁用**
- **仅限** 仅通过 SSO 进行身份验证的用户 - **仅限** 仅通过 SSO 进行身份验证的用户
- **在您自己的基礎設施上自行管** - **在您自己的基础设施上自行管**
[了解更多关于在您的组织中使用opencode的](/docs/enterprise)。 [了解更多关于在您的组织中使用opencode的](/docs/enterprise)。

View File

@@ -1,10 +1,10 @@
--- ---
title: 代理技巧》 title: 代理技
description: “贯穿 SKILL.md 定义可重用行为” description: “通过 SKILL.md 定义可复用的行为”
--- ---
代理让 opencode 能从您的存储库或主目录中找到可重用的指令。 代理技能使 OpenCode 能从您的库或主目录中发现可重用的指令。
技能贯穿本机 `skill` 工具输入导入 - 代理可以查看可用技能并可以在需要时加载完整内容。 技能通过原生 `skill` 工具输入导入 - 代理可以查看可用技能并可以在需要时加载完整内容。
--- ---
@@ -34,7 +34,7 @@ Global definitions are also loaded from `~/.config/opencode/skills/*/SKILL.md`,
## 编写 Frontmatter ## 编写 Frontmatter
每个 `SKILL.md` 必须以 YAML frontmatter 。 每个 `SKILL.md` 必须以 YAML frontmatter 。
識別这些位: 识别这些位:
- `name`(必填) - `name`(必填)
- `description`(必填) - `description`(必填)
@@ -50,13 +50,13 @@ Global definitions are also loaded from `~/.config/opencode/skills/*/SKILL.md`,
`name` 必须: `name` 必须:
- 度为 164 个字元 - 度为 164 个字元
- 为小字母字并带有單个連字元分隔符 - 为小字母字并带有单个连字元分隔符
- 不以 `-` 始或 - 不以 `-` 始或
- 不包含連續的 `--` - 不包含连续的 `--`
- 匹配包含 `SKILL.md` 的目录名 - 匹配包含 `SKILL.md` 的目录名
等效的正表示式: 等效的正表示式:
```text ```text
^[a-z0-9]+(-[a-z0-9]+)*$ ^[a-z0-9]+(-[a-z0-9]+)*$
@@ -67,7 +67,7 @@ Global definitions are also loaded from `~/.config/opencode/skills/*/SKILL.md`,
## 遵循长度规则 ## 遵循长度规则
`description` 必须是 1-1024 个字元。 `description` 必须是 1-1024 个字元。
保持足夠具體,以便代理能正确选择。 保持足够具体,以便代理能正确选择。
--- ---
@@ -114,7 +114,7 @@ opencode 列出了 `skill` 工具描述中的可用技能。
</available_skills> </available_skills>
``` ```
代理通过呼叫工具來載入技能: 代理通过呼叫工具来载入技能:
``` ```
skill({ name: "git-release" }) skill({ name: "git-release" })
@@ -139,7 +139,7 @@ Control which skills agents can access using pattern-based permissions in `openc
} }
``` ```
| 可 | 行为 | | 可 | 行为 |
| ------- | -------------------------- | | ------- | -------------------------- |
| `allow` | 技能立即加载 | | `allow` | 技能立即加载 |
| `deny` | 对特工隐藏技能,访问被拒绝 | | `deny` | 对特工隐藏技能,访问被拒绝 |
@@ -153,7 +153,7 @@ Control which skills agents can access using pattern-based permissions in `openc
为特定代理授予与全域性默认权限不同的权限。 为特定代理授予与全域性默认权限不同的权限。
**对于自定代理**(在代理前言中): **对于自定代理**(在代理前言中):
```yaml ```yaml
--- ---
@@ -185,7 +185,7 @@ permission:
完全禁用不应该使用技能的特工: 完全禁用不应该使用技能的特工:
**对于定代理** **对于定代理**
```yaml ```yaml
--- ---
@@ -194,7 +194,7 @@ tools:
--- ---
``` ```
**对于建代理** **对于建代理**
```json ```json
{ {
@@ -208,15 +208,15 @@ tools:
} }
``` ```
禁用`<available_skills>` 部分将被完全省略。 禁用`<available_skills>` 部分将被完全省略。
--- ---
## 解决加载问题 ## 解决加载问题
如果某技能有显示: 如果某技能有显示:
1. 验证 `SKILL.md` 拼写为全部大写 1. 验证 `SKILL.md` 拼写为全部大写
2. 检查 frontmatter 是否包括 `name` 和 `description` 2. 检查 frontmatter 是否包括 `name` 和 `description`
3. 保技能名称在所有位置都是唯一的 3. 保技能名称在所有位置都是唯一的
4. 查询权限——具有`deny`的代理隐藏技能 4. 查询权限——具有`deny`的代理隐藏技能

View File

@@ -1,6 +1,6 @@
--- ---
title: 主题 title: 主题
description: 选择建主题或定您自己的主题。 description: 选择建主题或定您自己的主题。
--- ---
使用 opencode您可以从多个内建主题中进行选择使用适合您的终端主题的主题或定义您自己的自定义主题。 使用 opencode您可以从多个内建主题中进行选择使用适合您的终端主题的主题或定义您自己的自定义主题。
@@ -11,13 +11,13 @@ By default, opencode uses our own `opencode` theme.
## 终端要求 ## 终端要求
为了使主题能正确显示完整的调色板,您的终端必支持**真彩色**24 位色)。大多现代终端默认支持此功能,但您可能需要启用它: 为了使主题能正确显示完整的调色板,您的终端必支持**真彩色**24 位色)。大多现代终端默认支持此功能,但您可能需要启用它:
- **检查支持**:执行 `echo $COLORTERM` - 它应该输出 `truecolor` 或 `24bit` - **检查支持**:执行 `echo $COLORTERM` - 它应该输出 `truecolor` 或 `24bit`
- **启用真彩色**在shell配置文件中设置环境变量`COLORTERM=truecolor` - **启用真彩色**在shell配置文件中设置环境变量`COLORTERM=truecolor`
- **您的终端兼容性**确保终端模拟器支持24位颜色大多数现代终端如iTerm2、Alacritty、Kitty、Windows终端和最新版本的GNOME终端都支持 - **您的终端兼容性**确保终端模拟器支持24位颜色大多数现代终端如iTerm2、Alacritty、Kitty、Windows终端和最新版本的GNOME终端都支持
如果有真彩色支持,主题的色精度可能会降低或回落到最接近的 256 色近似值。 如果有真彩色支持,主题的色精度可能会降低或回落到最接近的 256 色近似值。
--- ---
@@ -39,7 +39,7 @@ opencode 带有几个内建主题。
| `matrix` | 骇客风格黑底绿主题 | | `matrix` | 骇客风格黑底绿主题 |
| `one-dark` | Based on the [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark theme | | `one-dark` | Based on the [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) Dark theme |
此外,我们还在不添加新主题。 此外,我们还在不添加新主题。
--- ---
@@ -47,15 +47,15 @@ opencode 带有几个内建主题。
`system` 主题旨在自动适应您的最终方案。与使用固定颜色的传统主题不同_system_ 主题: `system` 主题旨在自动适应您的最终方案。与使用固定颜色的传统主题不同_system_ 主题:
- **生成灰度**:根终端的背景色建立自定灰度,保最佳对比度。 - **生成灰度**:根终端的背景色建立自定灰度,保最佳对比度。
- **使用 ANSI 颜色**:使用标准 ANSI 颜色 (0-15) 进行语法突出显示和 UI 元素,尊重 Windows 的调色盘。 - **使用 ANSI 颜色**:使用标准 ANSI 颜色 (0-15) 进行语法突出显示和 UI 元素,尊重 Windows 的调色盘。
- **保留默认设置**:使用 `none` 作为文字和背景颜色以保持本机的外观。 - **保留默认设置**:使用 `none` 作为文字和背景颜色以保持本机的外观。
主题合以下用户: 主题合以下用户:
- 希望 opencode 与终端的外观相匹配 - 希望 opencode 与终端的外观相匹配
- 使用自定终端配色方案 - 使用自定终端配色方案
- 希望所有终端应用程序具有一致的外 - 希望所有终端应用程序具有一致的外
--- ---
@@ -80,14 +80,14 @@ opencode 支持灵活的基于 JSON 的主题系统,允许用户轻松创建
### 优先级 ### 优先级
主题按以下顺序多个目录入,其中后面的目录覆盖前面的目录: 主题按以下顺序多个目录入,其中后面的目录覆盖前面的目录:
1. **建主题** - 这些主题嵌入在二進製文件中 1. **建主题** - 这些主题嵌入在二进制文件中
2. **User config directory** - Defined in `~/.config/opencode/themes/*.json` or `$XDG_CONFIG_HOME/opencode/themes/*.json` 2. **User config directory** - Defined in `~/.config/opencode/themes/*.json` or `$XDG_CONFIG_HOME/opencode/themes/*.json`
3. **Project root directory** - Defined in the `<project-root>/.opencode/themes/*.json` 3. **Project root directory** - Defined in the `<project-root>/.opencode/themes/*.json`
4. **Current working directory** - Defined in `./.opencode/themes/*.json` 4. **Current working directory** - Defined in `./.opencode/themes/*.json`
如果多个目录包含同名主题,则将使用优先顺序高的目录中的主题。 如果多个目录包含同名主题,则将使用优先顺序高的目录中的主题。
--- ---
@@ -102,7 +102,7 @@ mkdir -p ~/.config/opencode/themes
vim ~/.config/opencode/themes/my-theme.json vim ~/.config/opencode/themes/my-theme.json
``` ```
以及对特定专案的主题。 以及对特定项目的主题。
```bash no-frame ```bash no-frame
mkdir -p .opencode/themes mkdir -p .opencode/themes
@@ -140,7 +140,7 @@ vim .opencode/themes/my-theme.json
### 例子 ### 例子
以下是自定主题的示例: 以下是自定主题的示例:
```json title="my-theme.json" ```json title="my-theme.json"
{ {

View File

@@ -45,9 +45,9 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### Bash ### bash
专项任务环境中执行shell命令。 项目环境中执行shell命令。
```json title="opencode.json" {4} ```json title="opencode.json" {4}
{ {
@@ -62,7 +62,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 编辑 ### edit
使用精确的字符串替换来修改现有文件。 使用精确的字符串替换来修改现有文件。
@@ -79,9 +79,9 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 写入 ### write
建新文件或覆盖现有文件。 新文件或覆盖现有文件。
```json title="opencode.json" {4} ```json title="opencode.json" {4}
{ {
@@ -100,7 +100,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 读取 ### read
读取代码库中的文件内容。 读取代码库中的文件内容。
@@ -134,7 +134,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 通配符 ### glob
通过模式匹配查找文件。 通过模式匹配查找文件。
@@ -151,9 +151,9 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 罗列 ### list
列出给定路径的文件和目录。 列出给定路径的文件和目录。
```json title="opencode.json" {4} ```json title="opencode.json" {4}
{ {
@@ -191,7 +191,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 修补 ### patch
对文件应用补丁。 对文件应用补丁。
@@ -212,7 +212,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 技能 ### skill
加载[技能](/docs/skills)`SKILL.md` 文件)并在对话中返回其内容。 加载[技能](/docs/skills)`SKILL.md` 文件)并在对话中返回其内容。
@@ -227,7 +227,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 写入待办 ### todowrite
在编码会话过程中管理待办事项列表。 在编码会话过程中管理待办事项列表。
@@ -248,7 +248,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 读取待办 ### todoread
阅读现有的待办事项清单。 阅读现有的待办事项清单。
@@ -269,7 +269,7 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 网页获取 ### webfetch
获取网页内容。 获取网页内容。
@@ -286,9 +286,9 @@ Tools allow the LLM to perform actions in your codebase. opencode comes with a s
--- ---
### 网页搜索 ### websearch
在网上搜索信息 在网上搜索资料
:::note :::note
只有在使用 OpenCode 提供程序时,或者当 OPENCODE_ENABLE_EXA 环境变量被设置为任何真值(例如 true 或 1此工具才可用。 只有在使用 OpenCode 提供程序时,或者当 OPENCODE_ENABLE_EXA 环境变量被设置为任何真值(例如 true 或 1此工具才可用。
@@ -320,7 +320,7 @@ OPENCODE_ENABLE_EXA=1 opencode
--- ---
### 提问 ### question
在执行过程中向用户提问。 在执行过程中向用户提问。

View File

@@ -1,15 +1,15 @@
--- ---
title: 故障排除 title: 故障排除
description: 常見問題以及如何解決它們 description: 常见问题以及如何解决它们
--- ---
要排除 opencode 的问题,请首先检查其存储在磁上的日志和本地数据。 要排除 opencode 的问题,请首先检查其存储在磁上的日志和本地数据。
--- ---
## 日志 ## 日志
文件入: 文件入:
- **macOS/Linux**: `~/.local/share/opencode/log/` - **macOS/Linux**: `~/.local/share/opencode/log/`
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.local\share\opencode\log` - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.local\share\opencode\log`
@@ -51,7 +51,7 @@ opencode Desktop runs a local opencode server (the `opencode-cli` sidecar) in th
### 禁用插件 ### 禁用插件
如果桌面应用程序在启动時崩潰、掛起或行为常,请首先禁用插件。 如果桌面应用程序在启动时崩溃、挂起或行为常,请首先禁用插件。
#### 检查全域性配置 #### 检查全域性配置
@@ -61,7 +61,7 @@ opencode Desktop runs a local opencode server (the `opencode-cli` sidecar) in th
- **macOS/Linux** (older installs): `~/.local/share/opencode/opencode.jsonc` - **macOS/Linux** (older installs): `~/.local/share/opencode/opencode.jsonc`
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\opencode\opencode.jsonc` - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\opencode\opencode.jsonc`
如果您配置了插件,请通过删除密钥或将其设置为空数组暂时禁用它 如果您配置了插件,请通过删除密钥或将其设置为空数组暂时禁用它
```jsonc ```jsonc
{ {
@@ -77,10 +77,10 @@ opencode 还可以从磁碟加载本地外挂。暂时将它们移开(或重
- **全域性插件** - **全域性插件**
- **macOS/Linux**: `~/.config/opencode/plugins/` - **macOS/Linux**: `~/.config/opencode/plugins/`
- **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\opencode\plugins` - **Windows**: Press `WIN+R` and paste `%USERPROFILE%\.config\opencode\plugins`
- **专案插件**(仅当您使用每个专案配置 - **项目插件**(仅当您使用每个项目配置
- `<your-project>/.opencode/plugins/` - `<your-project>/.opencode/plugins/`
如果应用程序再次始工作,请一次重新启用一个插件,以找出導致問題的插件。 如果应用程序再次始工作,请一次重新启用一个插件,以找出导致问题的插件。
--- ---
@@ -99,7 +99,7 @@ opencode 还可以从磁碟加载本地外挂。暂时将它们移开(或重
--- ---
### 修服务器连接問題 ### 修服务器连接问题
opencode Desktop 可以启动自己的本地服务器(默认配置)或连线到您的服务器 URL。 opencode Desktop 可以启动自己的本地服务器(默认配置)或连线到您的服务器 URL。
@@ -147,11 +147,11 @@ If you're experiencing slow performance, file access issues, or terminal problem
opencode 桌面仅在以下情况下显示系统通知: opencode 桌面仅在以下情况下显示系统通知:
- 在您的作业系统中设置为 opencode 启用了通知,并且 - 在您的作业系统中设置为 opencode 启用了通知,并且
- 应用程序窗未聚焦。 - 应用程序窗未聚焦。
--- ---
### 重置桌面应用程序存(最后的手段) ### 重置桌面应用程序存(最后的手段)
如果应用程序无法并且启动您无法从 UI 内部清除设置,请重置桌面应用程序的存储状态。 如果应用程序无法并且启动您无法从 UI 内部清除设置,请重置桌面应用程序的存储状态。
@@ -179,9 +179,9 @@ opencode 桌面仅在以下情况下显示系统通知:
[**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues) [**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues)
在建立新問題之前,请搜索現有問題以查看您的問題是否已被告。 在建立新问题之前,请搜索现有问题以查看您的问题是否已被告。
2. **加入我们的不和** 2. **加入我们的不和**
获得实时帮助和社群讨论请加入我们的Discord服务器 获得实时帮助和社群讨论请加入我们的Discord服务器
@@ -191,19 +191,19 @@ opencode 桌面仅在以下情况下显示系统通知:
## 常见问题 ## 常见问题
以下是一些常見問題以及解方法。 以下是一些常见问题以及解方法。
--- ---
### opencode 无法启动 ### opencode 无法启动
1. 检查日中是否有错误消息 1. 检查日中是否有错误消息
2. 尝试使用 `--print-logs` 执行以查看终端中的输出 2. 尝试使用 `--print-logs` 执行以查看终端中的输出
3. Ensure you have the latest version with `opencode upgrade` 3. Ensure you have the latest version with `opencode upgrade`
--- ---
### 身份验证問題 ### 身份验证问题
1. 尝试使用 TUI 中的 `/connect` 命令重新进行身份验证 1. 尝试使用 TUI 中的 `/connect` 命令重新进行身份验证
2. 检查您的API 密钥是否有效 2. 检查您的API 密钥是否有效
@@ -214,12 +214,12 @@ opencode 桌面仅在以下情况下显示系统通知:
### 模型不可用 ### 模型不可用
1. 检查您是否已通过提供商的身份验证 1. 检查您是否已通过提供商的身份验证
2. 驗證配置中的模型名称是否正确 2. 验证配置中的模型名称是否正确
3. 某些模型可能需要特定的访问权限或訂閱 3. 某些模型可能需要特定的访问权限或订阅
如果您遇到 `ProviderModelNotFoundError` 您很可能是错误的 如果您遇到 `ProviderModelNotFoundError` 您很可能是错误的
在某引用模型。 在某引用模型。
模型应该像这引用:`<providerId>/<modelId>` 模型应该像这引用:`<providerId>/<modelId>`
示例: 示例:
@@ -235,10 +235,10 @@ To figure out what models you have access to, run `opencode models`
如果遇到 ProviderInitError您的配置可能无效或损坏。 如果遇到 ProviderInitError您的配置可能无效或损坏。
要解这个問題 要解这个问题
1. 首先,按照[提供商指南](/docs/providers) 验证您的事业是否已正确设置 1. 首先,按照[提供商指南](/docs/providers) 验证您的事业是否已正确设置
2. 如果問題仍然存在,请嘗試清除存的配置: 2. 如果问题仍然存在,请尝试清除存的配置:
```bash ```bash
rm -rf ~/.local/share/opencode rm -rf ~/.local/share/opencode
@@ -254,7 +254,7 @@ To figure out what models you have access to, run `opencode models`
如果您遇到 API 呼叫错误,这可能是由于过去提供包造成的。 opencode 根据需要动态安装提供包OpenAI、Anthropic、Google 等)将其缓存放在本地。 如果您遇到 API 呼叫错误,这可能是由于过去提供包造成的。 opencode 根据需要动态安装提供包OpenAI、Anthropic、Google 等)将其缓存放在本地。
要解provider 包問題 要解provider 包问题
1. 清除provider 包缓存: 1. 清除provider 包缓存:
@@ -288,7 +288,7 @@ apt install -y xsel
apt install -y wl-clipboard apt install -y wl-clipboard
``` ```
**对于無頭環境:** **对于无头环境:**
```bash ```bash
apt install -y xvfb apt install -y xvfb

View File

@@ -29,17 +29,17 @@ Give me a quick summary of the codebase.
## 文件引用 ## 文件引用
您可以使用 `@` 在消息中引用文件。这会在当前工作目录中行模糊文件搜索。 您可以使用 `@` 在消息中引用文件。这会在当前工作目录中行模糊文件搜索。
:::tip :::tip
您还可以使用 `@` 引用消息中的文件。 您还可以使用 `@` 引用消息中的文件。
::: :::
```text "@packages/functions/src/api/index.ts" ```text "@packages/functions/src/api/index.ts"
How is auth handled in @packages/functions/src/api/index.ts? How is auth handled in @packages/functions/src/api/index.ts?
``` ```
文件的容会自动添加到对话中。 文件的容会自动添加到对话中。
--- ---
@@ -51,7 +51,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
!ls -la !ls -la
``` ```
命令的出将作为工具果添加到对话中。 命令的出将作为工具果添加到对话中。
--- ---
@@ -65,11 +65,11 @@ How is auth handled in @packages/functions/src/api/index.ts?
大多数命令还是以使用 `ctrl+x` 作为主键的键系结,其中 `ctrl+x` 是默认主键。 [了解更多](/docs/keybinds)。 大多数命令还是以使用 `ctrl+x` 作为主键的键系结,其中 `ctrl+x` 是默认主键。 [了解更多](/docs/keybinds)。
以下是所有可用的斜命令: 以下是所有可用的斜命令:
--- ---
### 连接 ### connect
将提供商添加到 opencode。你可以从可用提供商中选择并添加它们的 API 密钥。 将提供商添加到 opencode。你可以从可用提供商中选择并添加它们的 API 密钥。
@@ -79,7 +79,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 紧凑 ### compact
压缩当前会话。_别名_ `/summarize` 压缩当前会话。_别名_ `/summarize`
@@ -91,9 +91,9 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 細節 ### details
工具执行详细信息。 工具执行详细信息。
```bash frame="none" ```bash frame="none"
/details /details
@@ -103,7 +103,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 編輯 ### editor
开启外部编辑器来编写消息。使用`EDITOR`环境变量中设定的编辑器。 [了解更多](#editor-setup)。 开启外部编辑器来编写消息。使用`EDITOR`环境变量中设定的编辑器。 [了解更多](#editor-setup)。
@@ -115,7 +115,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 退出 ### exit
退出opencode。 _别名_`/quit`、`/q` 退出opencode。 _别名_`/quit`、`/q`
@@ -127,7 +127,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 导出 ### export
将当前对话汇出到 Markdown 并在默认编辑器中开启。使用 `EDITOR` 环境变数中设定的编辑器。 [了解更多](#editor-setup)。 将当前对话汇出到 Markdown 并在默认编辑器中开启。使用 `EDITOR` 环境变数中设定的编辑器。 [了解更多](#editor-setup)。
@@ -139,9 +139,9 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 幫助 ### help
显示助对话方 显示助对话方
```bash frame="none" ```bash frame="none"
/help /help
@@ -151,7 +151,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
--- ---
### 初始化 ### init
Create or update `AGENTS.md` file. [Learn more](/docs/rules). Create or update `AGENTS.md` file. [Learn more](/docs/rules).
@@ -163,7 +163,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 模型 ### models
列出可用模型。 列出可用模型。
@@ -175,7 +175,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 新的 ### new
开始新的会话。 _别名_ `/clear` 开始新的会话。 _别名_ `/clear`
@@ -187,7 +187,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 重做 ### redo
删除之前重做消除的讯息。仅在使用`/undo`后可用。 删除之前重做消除的讯息。仅在使用`/undo`后可用。
@@ -206,7 +206,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 会话 ### sessions
上市会话并在会话之间切换。 _别名_`/resume`、`/continue` 上市会话并在会话之间切换。 _别名_`/resume`、`/continue`
@@ -218,7 +218,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 分享 ### share
共享当前会话。 [了解更多](/docs/share)。 共享当前会话。 [了解更多](/docs/share)。
@@ -230,7 +230,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 主题 ### themes
列出可用的主题。 列出可用的主题。
@@ -242,9 +242,9 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 思維 ### thinking
切换对话中 thinking/reasoning 块的可视性。启用后,您可以看到支持增强套件思维的模型的推理过程。 切换对话中 thinking/reasoning 块的可视性。启用后,您可以看到支持扩展思考的模型的推理过程。
:::note :::note
该命令仅控制是否**显示** - 不启用或取消模型的推理功能。要切换实际推理功能,请使用 `ctrl+t` 回圈切换模型变体。 该命令仅控制是否**显示** - 不启用或取消模型的推理功能。要切换实际推理功能,请使用 `ctrl+t` 回圈切换模型变体。
@@ -256,9 +256,9 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 撤消 ### undo
撤消对话中的最后一条消息。删除最近的用户消息、所有后续应以及任何文件更改。 撤消对话中的最后一条消息。删除最近的用户消息、所有后续应以及任何文件更改。
:::tip :::tip
所做的任何文件更改也将被恢复。 所做的任何文件更改也将被恢复。
@@ -275,7 +275,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
--- ---
### 取消共享 ### unshare
取消共享当前会话。 [了解更多](/docs/share#un-sharing)。 取消共享当前会话。 [了解更多](/docs/share#un-sharing)。
@@ -334,7 +334,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
</TabItem> </TabItem>
</Tabs> </Tabs>
流行的编辑器選項包括: 流行的编辑器选项包括:
- `code` - Visual Studio Code - `code` - Visual Studio Code
- `cursor` - 游标 - `cursor` - 游标
@@ -369,7 +369,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
} }
``` ```
### 選項 ### 选项
- `scroll_acceleration` - 启用 macOS 式滚动加速以实现平滑、自然的滚动。启用后,滚动速度会随着快速滚动滚动而增加,并在较慢的移动时保持精确。 **此设定优先于 `scroll_speed` 并在启用时覆盖它。 ** - `scroll_acceleration` - 启用 macOS 式滚动加速以实现平滑、自然的滚动。启用后,滚动速度会随着快速滚动滚动而增加,并在较慢的移动时保持精确。 **此设定优先于 `scroll_speed` 并在启用时覆盖它。 **
- `scroll_speed` - 控制使用滚动控制器时 TUI 滚动的速度(简单:`1`)。默认为 `3`。 **注意:如果 `scroll_acceleration.enabled` 设置为 `true`,则忽略此设置。 ** - `scroll_speed` - 控制使用滚动控制器时 TUI 滚动的速度(简单:`1`)。默认为 `3`。 **注意:如果 `scroll_acceleration.enabled` 设置为 `true`,则忽略此设置。 **
@@ -384,7 +384,7 @@ Create or update `AGENTS.md` file. [Learn more](/docs/rules).
#### 用户名称显示 #### 用户名称显示
您的用户名称是否出在聊天消息中。通过以下方式访问: 您的用户名称是否出在聊天消息中。通过以下方式访问:
- 命令面板:搜索“用户名称”或“隐藏用户名称” - 命令面板:搜索“用户名称”或“隐藏用户名称”
- 该设置会自动保留,放在 TUI 会话中被记住 - 该设置会自动保留,放在 TUI 会话中被记住

View File

@@ -1,5 +1,5 @@
--- ---
title: 網路 title: Web
description: 在浏览器中使用opencode。 description: 在浏览器中使用opencode。
--- ---
@@ -7,7 +7,7 @@ opencode 可以在浏览器中作为 Web 应用程序执行,消耗终端可以
![opencode Web - New Session](../../../assets/web/web-homepage-new-session.png) ![opencode Web - New Session](../../../assets/web/web-homepage-new-session.png)
## 入 ## 入
绕过执行以下命令启动 Web 简介: 绕过执行以下命令启动 Web 简介:
@@ -29,7 +29,7 @@ For the best experience, run `opencode web` from [WSL](/docs/windows-wsl) rather
## 配置 ## 配置
您可以使用命令标志或在[config file](/docs/config).conf 中配置Web服务器。 您可以使用命令标志或在[config file](/docs/config).conf 中配置Web服务器。
### 端口 ### 端口
@@ -39,9 +39,9 @@ For the best experience, run `opencode web` from [WSL](/docs/windows-wsl) rather
opencode web --port 4096 opencode web --port 4096
``` ```
### 主 ### 主
情况默认下,服务器系结到`127.0.0.1`仅限本地主机。要使opencode在您的网路上可访问 默认情况下,服务器绑定到`127.0.0.1`仅限本地主机。要使opencode在您的网路上可访问
```bash ```bash
opencode web --hostname 0.0.0.0 opencode web --hostname 0.0.0.0
@@ -78,9 +78,9 @@ opencode web --mdns --mdns-domain myproject.local
opencode web --cors https://example.com opencode web --cors https://example.com
``` ```
### 驗證 ### 验证
要保护访问,请使用 `OPENCODE_SERVER_PASSWORD` 环境变设置密码: 要保护访问,请使用 `OPENCODE_SERVER_PASSWORD` 环境变设置密码:
```bash ```bash
OPENCODE_SERVER_PASSWORD=secret opencode web OPENCODE_SERVER_PASSWORD=secret opencode web
@@ -90,19 +90,19 @@ The username defaults to `opencode` but can be changed with `OPENCODE_SERVER_USE
--- ---
## 使用网络界面 ## 使用web界面
启动后,网路界面将提供对您的 opencode 会话的访问。 启动后,web界面将提供对您的 opencode 会话的访问。
### 会话 ### 会话
從主頁查看和管理您的会话。您可以查看活动会话并始新会话。 从主页查看和管理您的会话。您可以查看活动会话并始新会话。
![opencode Web - Active Session](../../../assets/web/web-homepage-active-session.png) ![opencode Web - Active Session](../../../assets/web/web-homepage-active-session.png)
### 服务器狀態 ### 服务器状态
单击“查看服务器”可查看连接的服务器及其狀態 单击“查看服务器”可查看连接的服务器及其状态
![opencode Web - See Servers](../../../assets/web/web-homepage-see-servers.png) ![opencode Web - See Servers](../../../assets/web/web-homepage-see-servers.png)

View File

@@ -1,5 +1,5 @@
--- ---
title: title: Zen
description: 由 opencode 提供的精选模型列表。 description: 由 opencode 提供的精选模型列表。
--- ---
@@ -7,10 +7,10 @@ import config from "../../../../config.mjs"
export const console = config.console export const console = config.console
export const email = `mailto:${config.email}` export const email = `mailto:${config.email}`
Error 500 (Server Error)!!1500.Thats an error.There was an error. Please try again later.Thats all we know. OpenCode Zen 是由 OpenCode 团队提供的一组经过测试和验证的模型列表。
:::note :::note
OpenCode Zen 目前处于一个测试阶段。 OpenCode Zen 目前处于测试阶段。
::: :::
Zen 的工作方式与 opencode 中的任何其他提供商相同。您登录 OpenCode Zen 并获得 Zen 的工作方式与 opencode 中的任何其他提供商相同。您登录 OpenCode Zen 并获得
@@ -21,31 +21,31 @@ opencode。
## 背景 ## 背景
市面上有很多模型,但其中只有少數幾 市面上有很多模型,但其中只有少数几
这些模型可以很好地用作編碼代理。此外,大多提供商都 这些模型可以很好地用作编码代理。此外,大多提供商都
配置非常不同;所以你会得到截然不同的效能和質量。 配置非常不同;所以你会得到截然不同的效率和质量。
:::tip :::tip
我们测试了一组与 opencode 配合良好的模型并提供商。 我们测试了一组与 opencode 配合良好的模型并提供商。
::: :::
因此,如果您使用 OpenRouter 之类的东西使用模型,您永远无法 因此,如果您通过 OpenRouter 之类的东西使用模型,您永远无法
定您是否得了您想要的模型的最佳版本。 定您是否得了您想要的模型的最佳版本。
瞭解決这个問題,我们做了件事: 了解决这个问题,我们做了件事:
1. 我们測試了一組選定的模型,并与他們的團隊討論瞭如何 1. 我们测试了一组选定的模型,并与他们的团队讨论了如何
最好执行它 最好执行它
2. 然我们与一些提供商合作以保这些服得到服 2. 然我们与一些提供商合作以保这些服得到服
正确。 正确。
3. 最后,我们对 model/provider 的组合进行了基准测试,总结了 3. 最后,我们对 model/provider 的组合进行了基准测试,总结了
并附上一份我们得不的推薦清單 并附上一份我们得不的推荐清单
OpenCode Zen 是一个AI闸道器,可以让您访问这些模型。 OpenCode Zen 是一个AI网关,让您可以访问这些模型。
--- ---
## 它是如何作的 ## 它是如何作的
OpenCode Zen 的工作方式与 opencode 中的任何其他功能相同。 OpenCode Zen 的工作方式与 opencode 中的任何其他功能相同。
@@ -54,7 +54,7 @@ OpenCode Zen 的工作方式与 opencode 中的任何其他功能相同。
2. 您在 TUI 中执行 `/connect` 命令,选择 OpenCode Zen然后贴上 API 密钥。 2. 您在 TUI 中执行 `/connect` 命令,选择 OpenCode Zen然后贴上 API 密钥。
3. 在 TUI 中执行 `/models` 以查看我们推荐的模型列表。 3. 在 TUI 中执行 `/models` 以查看我们推荐的模型列表。
您需要按请求付,并且您可以将分添加到您的账户中。 您需要按请求付,并且您可以将分添加到您的账户中。
--- ---
@@ -62,7 +62,7 @@ OpenCode Zen 的工作方式与 opencode 中的任何其他功能相同。
您还可以通过以下 API 端点访问我们的模型。 您还可以通过以下 API 端点访问我们的模型。
| 模型 | 模型ID | 端点 | 人工智慧SDK包 | | 模型 | 模型ID | 端点 | AI SDK 套件 |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- | | ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | | GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` | | GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
@@ -102,7 +102,7 @@ use `opencode/gpt-5.2-codex` in your config.
### 模型 ### 模型
您可以以下位置获取可用模型及其元数据的完整列表: 您可以以下位置获取可用模型及其元数据的完整列表:
``` ```
https://opencode.ai/zen/v1/models https://opencode.ai/zen/v1/models
@@ -114,9 +114,9 @@ https://opencode.ai/zen/v1/models
我们支持即用即付模式。以下是**每 100 万Tokens的价格**。 我们支持即用即付模式。以下是**每 100 万Tokens的价格**。
| 模型 | 入 | 出 | 缓存取 | 缓存入 | | 模型 | 入 | 出 | 缓存取 | 缓存入 |
| ---------------------------------- | ---------- | ---------- | ---------- | ---------- | | ---------------------------------- | ---------- | ---------- | ---------- | ---------- |
| 大泡菜 | 免 | 免 | 免 | - | | 大泡菜 | 免 | 免 | 免 | - |
| MiniMax M2.1 免费 | 免费 | 免费 | 免费 | - | | MiniMax M2.1 免费 | 免费 | 免费 | 免费 | - |
| 迷你最大M2.1 | 0.30 美元 | 1.20 美元 | 0.10 美元 | - | | 迷你最大M2.1 | 0.30 美元 | 1.20 美元 | 0.10 美元 | - |
| GLM 4.7 免费 | 免费 | 免费 | 免费 | - | | GLM 4.7 免费 | 免费 | 免费 | 免费 | - |
@@ -153,32 +153,32 @@ https://opencode.ai/zen/v1/models
您可能会在您的使用历史记录中注意到*Claude Haiku 3.5*。这是一个[低成本模型](/docs/config/#models),用于生成会话标题。 您可能会在您的使用历史记录中注意到*Claude Haiku 3.5*。这是一个[低成本模型](/docs/config/#models),用于生成会话标题。
:::note :::note
信用卡费用按成本4.4% + 每交易 0.30 美元);除此之外我们不收取任何费用。 信用卡费用按成本4.4% + 每交易 0.30 美元);除此之外我们不收取任何费用。
::: :::
模型: 模型:
- GLM 4.7 免费版本在 opencode 上限时提供。团队正在利用这段时间收集反馈并改进模型。 - GLM 4.7 免费版本在 opencode 上限时提供。团队正在利用这段时间收集反馈并改进模型。
- Kimi K2.5 在 opencode 限时免费发布。团队正在利用这段时间收集反馈并改进模型。 - Kimi K2.5 在 opencode 限时免费发布。团队正在利用这段时间收集反馈并改进模型。
- MiniMax M2.1 在 opencode 限时免费供应。团队正在利用这段时间收集反馈并改进模型。 - MiniMax M2.1 在 opencode 限时免费供应。团队正在利用这段时间收集反馈并改进模型。
- Big Pickle 是一个隐形模型,在 opencode 上限时免费。团队正在利用这个临时收集反馈并改进模型。 - Big Pickle 是一个隐形模型,在 opencode 上限时免费。团队正在利用这个临时收集反馈并改进模型。
<a href={email}>如果您有任何疑,请聯絡我们</a>。 <a href={email}>如果您有任何疑,请联络我们</a>。
--- ---
### 自动重新 ### 自动重新
如果您的余额低于 5 美元Zen 将自动充值 20 美元。 如果您的余额低于 5 美元Zen 将自动充值 20 美元。
您可以更改自动充值金。您还可以完全禁用自动重新入。 您可以更改自动充值金。您还可以完全禁用自动重新入。
--- ---
### 每月限额 ### 每月限额
您还可以为整个工作区和每个工作区设置每月使用限制 您还可以为整个工作区和每个工作区设置每月使用限制
你的團隊成员。 你的团队成员。
例如,假设您将每月使用中断设置为 20 美元Zen 将不会使用 例如,假设您将每月使用中断设置为 20 美元Zen 将不会使用
一个月超过 20 美元。但如果你启用了自动重新加载Zen 可能会结束 一个月超过 20 美元。但如果你启用了自动重新加载Zen 可能会结束
@@ -188,7 +188,7 @@ https://opencode.ai/zen/v1/models
## 隐私 ## 隐私
我们所有的模型都在美国管。我们的提供商遵循零保留政策,不会将您的数据用于模型训练,但以下情况除外: 我们所有的模型都在美国管。我们的提供商遵循零保留政策,不会将您的数据用于模型训练,但以下情况除外:
- Big Pickle在免费期间收集可用于改进模型的数据。 - Big Pickle在免费期间收集可用于改进模型的数据。
- GLM 4.7 免费:在免费期间,收集可用于改进模型的数据。 - GLM 4.7 免费:在免费期间,收集可用于改进模型的数据。
@@ -201,21 +201,20 @@ https://opencode.ai/zen/v1/models
## 对于团队 ## 对于团队
Zen 对团队也很有效。您可以参与第三方、角色、策划 Zen 也非常适合团队使用。您可以邀请您可以邀请队友,分配角色,管理团队使用的模型等。
您的團隊使用的模型等等。
:::note :::note
作为測試版的一部分,工作空目前对團隊免費 作为测试版的一部分,工作空目前对团队免费
::: :::
作为測試版的一部分,管理工作空目前对團隊免費。我们将会 作为测试版的一部分,管理工作空目前对团队免费。我们将会
很快就会分享更多有關定價的細節 很快就会分享更多有关定价的细节
--- ---
### 角色 ### 角色
您可以邀请團隊成员到您的工作区并分配角色: 您可以邀请团队成员到您的工作区并分配角色:
- **管理员**管理模型、成员、API 密钥和设备 - **管理员**管理模型、成员、API 密钥和设备
- **成员**仅管理自己的API 金? - **成员**仅管理自己的API 金?