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