Class OpenCodeClient
- All Implemented Interfaces:
AutoCloseable
Three communication channels are independent of each other and are created based on
the enabled flag in their respective sub-configurations:
OpenCodeHttpClientConfig.enabled = false→ HTTP/SSE 子客户端不可用OpenCodeCliConfig.enabled = false→ CLI 子客户端不可用
Constructor Selection
Eight overloads cover three scenarios:
- HTTP only / CLI only: pass a single sub-config; the other subsystem is disabled
- HTTP + CLI: pass two sub-configs; each subsystem is enabled per its own
enabledflag - Combined config: pass
OpenCodeClientConfig; internally split into two sub-configs
Each scenario has a variant with auto-created ObjectMapper/OkHttpClient and a variant with
forced injection (the injected version applies requireNonNull validation).
Startup Health Checks
After subsystem initialization, the primary constructor runs health probes based on
startupCheckEnabled and failFastOnUnavailable (HTTP: GET /global/health;
CLI: opencode --version). If the probe fails but fail-fast is not enabled, only a
WARN log is emitted and construction continues.
- Since:
- 1.0.0
- Author:
- Loong Wan
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionOpenCodeClient(OpenCodeCliConfig cliConfig) 仅 CLI 子系统(HTTP 禁用)。OpenCodeClient(OpenCodeCliConfig cliConfig, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) 仅 CLI 子系统(HTTP 禁用),强制注入共享 ObjectMapper 与 OkHttpClient。OpenCodeClient(OpenCodeClientConfig config) 组合配置,自动创建默认 ObjectMapper 与 OkHttpClient。OpenCodeClient(OpenCodeClientConfig config, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) 组合配置,强制注入共享 ObjectMapper 与 OkHttpClient。OpenCodeClient(OpenCodeClientConfig config, OpenCodeHttpClient httpClient, OpenCodeSseClient sseClient, OpenCodeCli cli) 全量依赖注入(用于测试或自定义组件)。OpenCodeClient(OpenCodeHttpClientConfig httpConfig) 仅 HTTP 子系统(CLI 禁用)。OpenCodeClient(OpenCodeHttpClientConfig httpConfig, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) 仅 HTTP 子系统(CLI 禁用),强制注入共享 ObjectMapper 与 OkHttpClient。OpenCodeClient(OpenCodeHttpClientConfig httpConfig, OpenCodeCliConfig cliConfig) HTTP + CLI 子系统。OpenCodeClient(OpenCodeHttpClientConfig httpConfig, OpenCodeCliConfig cliConfig, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) HTTP + CLI 子系统,强制注入共享 ObjectMapper 与 OkHttpClient。 -
Method Summary
Modifier and TypeMethodDescriptionboolean请求 OpenCode Server 中止指定会话中正在运行的生成任务。addMcpServer(String name, Object config) 向当前 OpenCode 实例注册 MCP 服务配置,并返回服务状态。chat()获取统一的 OpenCode 聊天场景客户端。chatCompletion(String sessionId, ChatRequest request) 同步提交聊天请求并返回完整响应。chatCompletion(String sessionId, PromptRequest request) 同步提交聊天请求并返回完整响应。chatCompletion(String sessionId, String text) 同步提交聊天请求并返回完整响应。chatCompletion(String sessionId, String text, String providerID, String modelID) 同步提交聊天请求并返回完整响应。chatCompletionAsync(String sessionId, ChatRequest request) 异步完成指定会话的聊天请求。chatCompletionAsync(String sessionId, PromptRequest request) 异步提交聊天请求;网络或解析失败通过返回的 Future 传播。chatCompletionAsync(String sessionId, String text) 异步提交聊天请求;网络或解析失败通过返回的 Future 传播。chatCompletionStream(ChatRequest request, String sessionKey) 创建流式聊天响应,异步订阅会话事件并持续交付文本增量。chatCompletionStream(ChatRequest request, String sessionKey, OpenCodeRequestContext context) 创建流式聊天响应,异步订阅会话事件并持续交付文本增量。chatCompletionStream(ChatRequest request, String sessionKey, OpenCodeRequestContext context, Consumer<String> deltaConsumer) 流式对话,并在订阅启动前绑定增量回调,避免丢失首批分片。chatCompletionWithSession(ChatRequest request, String sessionKey) 复用或创建稳定会话后提交聊天请求并返回结果。chatCompletionWithSession(ChatRequest request, String sessionKey, HttpCallCancellation cancellation) 复用或创建稳定会话后提交聊天请求并返回结果。chatCompletionWithSession(PromptRequest request, String sessionKey) 复用或创建稳定会话后提交聊天请求并返回结果。chatCompletionWithSession(PromptRequest request, String sessionKey, HttpCallCancellation cancellation) 复用或创建稳定会话后提交聊天请求并返回结果。chatCompletionWithSession(String text, String sessionKey) 复用或创建稳定会话后提交聊天请求并返回结果。chatCompletionWithSession(String text, String providerID, String modelID, String sessionKey) 复用或创建稳定会话后提交聊天请求并返回结果。chatCompletionWithSessionAsync(ChatRequest request, String sessionKey, HttpCallCancellation cancellation) 异步查找会话并完成聊天请求。chatCompletionWithSessionAsync(PromptRequest request, String sessionKey) 异步复用或创建稳定会话后提交聊天请求,不阻塞调用线程。cli()委托本地 OpenCode CLI 门面执行OpenCode 协议数据,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行acp子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行agent create子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行agent list子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行attach子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行auth list子命令,同步返回退出状态及输出。cliAuthLogin(String provider, String method) 委托本地 OpenCode CLI 门面执行auth login子命令,同步返回退出状态及输出。cliAuthLogout(String provider) 委托本地 OpenCode CLI 门面执行auth logout子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行db子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行db path子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行debug config子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行debug info子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行debug paths子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行export子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行generate子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行github install子命令,同步返回退出状态及输出。cliGithubRun(String event, String token) 委托本地 OpenCode CLI 门面执行github run子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行import子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行mcp add子命令,同步返回退出状态及输出。cliMcpAuth(String name) 委托本地 OpenCode CLI 门面执行mcp auth子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行mcp list子命令,同步返回退出状态及输出。cliMcpLogout(String name) 委托本地 OpenCode CLI 门面执行mcp logout子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行models子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行models子命令,同步返回退出状态及输出。cliPr(int number) 委托本地 OpenCode CLI 门面执行pr子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行providers list子命令,同步返回退出状态及输出。cliProvidersLogin(String provider, String method) 委托本地 OpenCode CLI 门面执行providers login子命令,同步返回退出状态及输出。cliProvidersLogout(String provider) 委托本地 OpenCode CLI 门面执行providers logout子命令,同步返回退出状态及输出。cliServe()委托本地 OpenCode CLI 门面执行serve子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行serve子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行session list子命令,同步返回退出状态及输出。cliSessionList(int maxCount) 委托本地 OpenCode CLI 门面执行session list子命令,同步返回退出状态及输出。cliStats()委托本地 OpenCode CLI 门面执行stats子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行stats子命令,同步返回退出状态及输出。cliUninstall(boolean keepConfig, boolean keepData, boolean dryRun, boolean force) 委托本地 OpenCode CLI 门面执行uninstall子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行upgrade子命令,同步返回退出状态及输出。cliUpgrade(String target, String method) 委托本地 OpenCode CLI 门面执行upgrade子命令,同步返回退出状态及输出。cliWeb()委托本地 OpenCode CLI 门面执行web子命令,同步返回退出状态及输出。委托本地 OpenCode CLI 门面执行web子命令,同步返回退出状态及输出。voidclose()释放当前对象持有的连接、订阅或执行资源;重复调用是安全的。createSession(String title) 通过 OpenCode Server HTTP API 创建会话。booleandeleteSession(String sessionId) 请求 OpenCode Server 删除会话。boolean释放当前 OpenCode Server 实例持有的运行资源。ensureSession(String sessionKey) 查找稳定会话键对应的会话;不存在时创建新会话。调用 OpenCode Server 搜索接口查找OpenCode 协议数据;未命中时返回空结果。调用 OpenCode Server 搜索接口查找文件节点;未命中时返回空结果。findSessionByTitle(String title) 调用 OpenCode Server 搜索接口查找标题匹配的会话;未命中时返回空结果。findSymbols(String query) 调用 OpenCode Server 搜索接口查找代码符号;未命中时返回空结果。forkSession(String sessionId, String messageId) 从指定消息位置派生新会话,并返回服务端创建的子会话。通过 OpenCode Server HTTP API 获取实例配置。通过 OpenCode Server HTTP API 获取配置中的模型提供方。通过 OpenCode Server HTTP API 获取当前项目。getFileContent(String path) 通过 OpenCode Server HTTP API 获取文件内容。通过 OpenCode Server HTTP API 获取文件状态。通过 OpenCode Server HTTP API 获取全局配置。getMessage(String sessionId, String messageId) 通过 OpenCode Server HTTP API 获取会话消息。getMessages(String sessionId) 通过 OpenCode Server HTTP API 获取会话消息。通过 OpenCode Server HTTP API 获取配置。getPath()通过 OpenCode Server HTTP API 获取运行路径信息。getSession(String sessionId) 通过 OpenCode Server HTTP API 获取会话。getSessionChildren(String sessionId) 通过 OpenCode Server HTTP API 获取子会话。getSessionDiff(String sessionId, String messageId) 通过 OpenCode Server HTTP API 获取会话文件差异。通过 OpenCode Server HTTP API 获取会话状态。getSessionTodo(String sessionId) 通过 OpenCode Server HTTP API 获取会话待办项。getVcs()通过 OpenCode Server HTTP API 获取版本控制状态。boolean请求 OpenCode Server 释放全部全局实例资源。booleanglobalUpgrade(String target) 请求 OpenCode Server 将全局安装升级到指定目标版本。health()同步查询 OpenCode Server 的健康状态和版本信息。异步检查 OpenCode Server 健康状态。boolean请求 OpenCode Server 在当前项目目录初始化 Git 仓库。booleaninitSession(String sessionId, String messageId, String providerId, String modelId) 使用指定消息和模型初始化会话上下文及 AGENTS.md。booleanCLI 子系统是否启用。booleanHTTP 子系统是否启用。通过 OpenCode Server HTTP API 查询智能体;无数据时返回空集合。通过 OpenCode Server HTTP API 查询斜杠命令;无数据时返回空集合。通过 OpenCode Server HTTP API 查询文件节点;无数据时返回空集合。通过 OpenCode Server HTTP API 查询格式化器状态;无数据时返回空集合。listLsps()通过 OpenCode Server HTTP API 查询语言服务器状态;无数据时返回空集合。通过 OpenCode Server HTTP API 查询MCP 服务;无数据时返回空集合。通过 OpenCode Server HTTP API 查询待处理权限;无数据时返回空集合。通过 OpenCode Server HTTP API 查询项目;无数据时返回空集合。通过 OpenCode Server HTTP API 查询模型提供方认证方式;无数据时返回空集合。通过 OpenCode Server HTTP API 查询模型提供方;无数据时返回空集合。通过 OpenCode Server HTTP API 查询待回答问题;无数据时返回空集合。通过 OpenCode Server HTTP API 查询会话;无数据时返回空集合。listSessions(String search, Integer limit, Integer start) 通过 OpenCode Server HTTP API 查询会话;无数据时返回空集合。通过 OpenCode Server HTTP API 查询技能;无数据时返回空集合。providerOAuthAuthorize(String providerId, String method) 启动指定模型提供方的 OAuth 授权流程,并返回访问地址及校验状态。booleanproviderOAuthCallback(String providerId, String code) 向 OpenCode Server 提交模型提供方 OAuth 回调授权码。booleanrejectQuestion(String requestId) 拒绝question请求。booleanremoveAuth(String providerId) 请求 OpenCode Server 删除认证信息。booleanreplyPermission(String requestId, String response, boolean remember) 回复permission请求。booleanreplyQuestion(String requestId, List<String> answers) 回复question请求。booleanrevertSession(String sessionId, String messageId, String partId) 将会话回退到指定消息或消息片段。在指定会话中执行斜杠命令,并返回生成结果。boolean保存指定模型提供方的认证配置。shareSession(String sessionId) 为指定会话启用共享,并返回更新后的会话信息。sse()获取统一的 OpenCode SSE 场景客户端。booleansummarizeSession(String sessionId, String providerId, String modelId) 使用指定模型压缩会话上下文,以降低后续请求的上下文长度。booleanunrevertSession(String sessionId) 撤销会话最近一次回退操作。unshareSession(String sessionId) 取消指定会话的共享状态,并返回更新后的会话信息。向 OpenCode Server 提交全局配置更新,并返回更新后的服务端表示。updateOpenCodeConfig(Object body) 向 OpenCode Server 提交配置更新,并返回更新后的服务端表示。updateProject(String projectId, Object body) 向 OpenCode Server 提交项目更新,并返回更新后的服务端表示。
-
Constructor Details
-
OpenCodeClient
仅 HTTP 子系统(CLI 禁用)。自动创建默认 ObjectMapper 与 OkHttpClient。- Parameters:
httpConfig- HTTP 子系统配置;为null时禁用 HTTP 能力- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
public OpenCodeClient(OpenCodeHttpClientConfig httpConfig, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) 仅 HTTP 子系统(CLI 禁用),强制注入共享 ObjectMapper 与 OkHttpClient。- Parameters:
httpConfig- HTTP 子系统配置;为null时禁用 HTTP 能力objectMapper- JSON 映射器;为null时使用 SDK 默认配置httpClient- 可复用的 OkHttp 客户端;为null时由 SDK 创建- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
仅 CLI 子系统(HTTP 禁用)。自动创建默认 ObjectMapper 与 OkHttpClient。- Parameters:
cliConfig- CLI 子系统配置;为null时禁用 CLI 能力- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
public OpenCodeClient(OpenCodeCliConfig cliConfig, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) 仅 CLI 子系统(HTTP 禁用),强制注入共享 ObjectMapper 与 OkHttpClient。- Parameters:
cliConfig- CLI 子系统配置;为null时禁用 CLI 能力objectMapper- JSON 映射器;为null时使用 SDK 默认配置httpClient- 可复用的 OkHttp 客户端;为null时由 SDK 创建- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
HTTP + CLI 子系统。自动创建默认 ObjectMapper 与 OkHttpClient。- Parameters:
httpConfig- HTTP 子系统配置;为null时禁用 HTTP 能力cliConfig- CLI 子系统配置;为null时禁用 CLI 能力- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
public OpenCodeClient(OpenCodeHttpClientConfig httpConfig, OpenCodeCliConfig cliConfig, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) HTTP + CLI 子系统,强制注入共享 ObjectMapper 与 OkHttpClient。主构造器:所有参数
requireNonNull;HTTP/CLI 子客户端按各自enabled决定是否创建(禁用时为null);构造完成后按startupCheckEnabled与failFastOnUnavailable执行启动自检。- Parameters:
httpConfig- HTTP 子系统配置;为null时禁用 HTTP 能力cliConfig- CLI 子系统配置;为null时禁用 CLI 能力objectMapper- JSON 映射器;为null时使用 SDK 默认配置httpClient- 可复用的 OkHttp 客户端;为null时由 SDK 创建- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
组合配置,自动创建默认 ObjectMapper 与 OkHttpClient。- Parameters:
config- 客户端配置;不得为null- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
public OpenCodeClient(OpenCodeClientConfig config, com.fasterxml.jackson.databind.ObjectMapper objectMapper, okhttp3.OkHttpClient httpClient) 组合配置,强制注入共享 ObjectMapper 与 OkHttpClient。- Parameters:
config- 客户端配置;不得为nullobjectMapper- JSON 映射器;为null时使用 SDK 默认配置httpClient- 可复用的 OkHttp 客户端;为null时由 SDK 创建- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
OpenCodeClient
public OpenCodeClient(OpenCodeClientConfig config, OpenCodeHttpClient httpClient, OpenCodeSseClient sseClient, OpenCodeCli cli) 全量依赖注入(用于测试或自定义组件)。使用此构造方法不会执行任何启动自检。
- Parameters:
config- 客户端配置;不得为nullhttpClient- 可复用的 OkHttp 客户端;为null时由 SDK 创建sseClient- SSE 客户端;为null时按配置创建cli- CLI 门面;为null时按配置创建- Throws:
IllegalStateException- 启用启动检查和快速失败后,对应子系统不可用
-
-
Method Details
-
isHttpEnabled
public boolean isHttpEnabled()HTTP 子系统是否启用。- Returns:
- 满足条件返回
true,否则返回false
-
isCliEnabled
public boolean isCliEnabled()CLI 子系统是否启用。- Returns:
- 满足条件返回
true,否则返回false
-
createSession
通过 OpenCode Server HTTP API 创建会话。- Parameters:
title- 会话标题;用于展示和稳定会话查找- Returns:
- OpenCode SDK 返回的会话对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getSession
通过 OpenCode Server HTTP API 获取会话。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- OpenCode SDK 返回的会话对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listSessions
通过 OpenCode Server HTTP API 查询会话;无数据时返回空集合。- Returns:
- OpenCode Server 返回的会话列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listSessions
通过 OpenCode Server HTTP API 查询会话;无数据时返回空集合。- Parameters:
search- 标题搜索条件;为空时不限制limit- 最大返回数量;为null时使用服务端默认值start- 分页起始偏移;为null时从首项开始- Returns:
- OpenCode Server 返回的会话列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
findSessionByTitle
调用 OpenCode Server 搜索接口查找标题匹配的会话;未命中时返回空结果。- Parameters:
title- 会话标题;用于展示和稳定会话查找- Returns:
- 匹配的 OpenCode 会话;未找到时为
Optional.empty() - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
deleteSession
请求 OpenCode Server 删除会话。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletion
同步提交聊天请求并返回完整响应。- Parameters:
sessionId- OpenCode 会话 ID;不得为空request- 请求对象;不得为null- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletion
同步提交聊天请求并返回完整响应。- Parameters:
sessionId- OpenCode 会话 ID;不得为空text- 发送给模型的文本内容- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletion
public PromptResult chatCompletion(String sessionId, String text, String providerID, String modelID) 同步提交聊天请求并返回完整响应。- Parameters:
sessionId- OpenCode 会话 ID;不得为空text- 发送给模型的文本内容providerID- 模型提供方 IDmodelID- 模型 ID- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSession
复用或创建稳定会话后提交聊天请求并返回结果。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSession
public PromptResult chatCompletionWithSession(PromptRequest request, String sessionKey, HttpCallCancellation cancellation) 复用或创建稳定会话后提交聊天请求并返回结果。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题cancellation- 取消信号;为null时不可由外部取消- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSession
复用或创建稳定会话后提交聊天请求并返回结果。- Parameters:
text- 发送给模型的文本内容sessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSession
public PromptResult chatCompletionWithSession(String text, String providerID, String modelID, String sessionKey) 复用或创建稳定会话后提交聊天请求并返回结果。- Parameters:
text- 发送给模型的文本内容providerID- 模型提供方 IDmodelID- 模型 IDsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSessionAsync
public CompletableFuture<Boolean> chatCompletionWithSessionAsync(PromptRequest request, String sessionKey) 异步复用或创建稳定会话后提交聊天请求,不阻塞调用线程。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- 异步结果;失败时以异常方式完成
-
chatCompletion
同步提交聊天请求并返回完整响应。- Parameters:
sessionId- OpenCode 会话 ID;不得为空request- 请求对象;不得为null- Returns:
- OpenCode SDK 返回的聊天响应对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionAsync
异步完成指定会话的聊天请求。- Parameters:
sessionId- OpenCode 会话 ID;不得为空request- 请求对象;不得为null- Returns:
- 异步结果;失败时以异常方式完成
-
chatCompletionWithSession
复用或创建稳定会话后提交聊天请求并返回结果。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- OpenCode SDK 返回的聊天响应对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSession
public ChatResponse chatCompletionWithSession(ChatRequest request, String sessionKey, HttpCallCancellation cancellation) 复用或创建稳定会话后提交聊天请求并返回结果。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题cancellation- 取消信号;为null时不可由外部取消- Returns:
- OpenCode SDK 返回的聊天响应对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionWithSessionAsync
public CompletableFuture<ChatResponse> chatCompletionWithSessionAsync(ChatRequest request, String sessionKey, HttpCallCancellation cancellation) 异步查找会话并完成聊天请求。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题cancellation- 取消信号;为null时不可由外部取消- Returns:
- 异步结果;失败时以异常方式完成
-
chatCompletionStream
创建流式聊天响应,异步订阅会话事件并持续交付文本增量。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- 可观察文本增量、等待完成或主动取消的流式响应
-
chatCompletionStream
public StreamingChatResponse chatCompletionStream(ChatRequest request, String sessionKey, OpenCodeRequestContext context) 创建流式聊天响应,异步订阅会话事件并持续交付文本增量。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题context- 请求上下文;为null时不附加目录头- Returns:
- 可观察文本增量、等待完成或主动取消的流式响应
-
chatCompletionStream
public StreamingChatResponse chatCompletionStream(ChatRequest request, String sessionKey, OpenCodeRequestContext context, Consumer<String> deltaConsumer) 流式对话,并在订阅启动前绑定增量回调,避免丢失首批分片。- Parameters:
request- 请求对象;不得为nullsessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题context- 请求上下文;为null时不附加目录头deltaConsumer- 文本增量消费者;不得为null- Returns:
- 可观察文本增量、等待完成或主动取消的流式响应
-
ensureSession
查找稳定会话键对应的会话;不存在时创建新会话。- Parameters:
sessionKey- 用于稳定复用会话的业务键;相同键映射到同一标题- Returns:
- 已复用或新建的 OpenCode 会话 ID
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
chatCompletionAsync
异步提交聊天请求;网络或解析失败通过返回的 Future 传播。- Parameters:
sessionId- OpenCode 会话 ID;不得为空request- 请求对象;不得为null- Returns:
- 异步结果;失败时以异常方式完成
-
chatCompletionAsync
异步提交聊天请求;网络或解析失败通过返回的 Future 传播。- Parameters:
sessionId- OpenCode 会话 ID;不得为空text- 发送给模型的文本内容- Returns:
- 异步结果;失败时以异常方式完成
-
getMessages
通过 OpenCode Server HTTP API 获取会话消息。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- OpenCode Server 返回的Prompt 结果列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
abort
请求 OpenCode Server 中止指定会话中正在运行的生成任务。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listAgents
通过 OpenCode Server HTTP API 查询智能体;无数据时返回空集合。- Returns:
- OpenCode Server 返回的智能体列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
health
同步查询 OpenCode Server 的健康状态和版本信息。- Returns:
- OpenCode SDK 返回的健康状态对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
healthAsync
异步检查 OpenCode Server 健康状态。- Returns:
- 异步结果;失败时以异常方式完成
-
chat
获取统一的 OpenCode 聊天场景客户端。- Returns:
- OpenCode SDK 返回的聊天客户端对象
-
sse
获取统一的 OpenCode SSE 场景客户端。- Returns:
- OpenCode SDK 返回的SSE 客户端对象
-
cli
委托本地 OpenCode CLI 门面执行OpenCode 协议数据,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 门面对象
-
getConfig
通过 OpenCode Server HTTP API 获取实例配置。- Returns:
- OpenCode SDK 返回的聚合客户端配置对象
-
getOpenCodeConfig
通过 OpenCode Server HTTP API 获取配置。- Returns:
- OpenCode SDK 返回的配置对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getGlobalOpenCodeConfig
通过 OpenCode Server HTTP API 获取全局配置。- Returns:
- OpenCode SDK 返回的配置对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
updateOpenCodeConfig
向 OpenCode Server 提交配置更新,并返回更新后的服务端表示。- Parameters:
body- 提交给服务端的请求体- Returns:
- OpenCode SDK 返回的配置对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
updateGlobalOpenCodeConfig
向 OpenCode Server 提交全局配置更新,并返回更新后的服务端表示。- Parameters:
body- 提交给服务端的请求体- Returns:
- OpenCode SDK 返回的配置对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getConfigProviders
通过 OpenCode Server HTTP API 获取配置中的模型提供方。- Returns:
- OpenCode SDK 返回的模型提供方清单对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listProjects
通过 OpenCode Server HTTP API 查询项目;无数据时返回空集合。- Returns:
- OpenCode Server 返回的项目列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getCurrentProject
通过 OpenCode Server HTTP API 获取当前项目。- Returns:
- OpenCode SDK 返回的项目对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
updateProject
向 OpenCode Server 提交项目更新,并返回更新后的服务端表示。- Parameters:
projectId- OpenCode 项目 ID;不得为空body- 提交给服务端的请求体- Returns:
- OpenCode SDK 返回的项目对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
initProjectGit
public boolean initProjectGit()请求 OpenCode Server 在当前项目目录初始化 Git 仓库。- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listProviders
通过 OpenCode Server HTTP API 查询模型提供方;无数据时返回空集合。- Returns:
- OpenCode SDK 返回的模型提供方清单对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listProviderAuthMethods
通过 OpenCode Server HTTP API 查询模型提供方认证方式;无数据时返回空集合。- Returns:
- OpenCode Server 返回的键值映射;无数据时为空映射
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
providerOAuthAuthorize
启动指定模型提供方的 OAuth 授权流程,并返回访问地址及校验状态。- Parameters:
providerId- 模型提供方 IDmethod- 认证或升级方式- Returns:
- OpenCode SDK 返回的模型提供方授权信息对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
providerOAuthCallback
向 OpenCode Server 提交模型提供方 OAuth 回调授权码。- Parameters:
providerId- 模型提供方 IDcode- OAuth 回调授权码- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listFiles
通过 OpenCode Server HTTP API 查询文件节点;无数据时返回空集合。- Parameters:
path- 文件或工作目录路径- Returns:
- OpenCode Server 返回的文件节点列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getFileContent
通过 OpenCode Server HTTP API 获取文件内容。- Parameters:
path- 文件或工作目录路径- Returns:
- OpenCode SDK 返回的文件内容对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getFileStatus
通过 OpenCode Server HTTP API 获取文件状态。- Returns:
- OpenCode Server 返回的文件节点列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
find
调用 OpenCode Server 搜索接口查找OpenCode 协议数据;未命中时返回空结果。- Parameters:
pattern- 文本搜索模式- Returns:
- OpenCode Server 返回的文件搜索匹配项列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
findFiles
调用 OpenCode Server 搜索接口查找文件节点;未命中时返回空结果。- Parameters:
query- 搜索或数据库查询表达式- Returns:
- OpenCode Server 返回的文本列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
findSymbols
调用 OpenCode Server 搜索接口查找代码符号;未命中时返回空结果。- Parameters:
query- 搜索或数据库查询表达式- Returns:
- OpenCode Server 返回的代码符号列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listCommands
通过 OpenCode Server HTTP API 查询斜杠命令;无数据时返回空集合。- Returns:
- OpenCode Server 返回的斜杠命令列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listSkills
通过 OpenCode Server HTTP API 查询技能;无数据时返回空集合。- Returns:
- OpenCode Server 返回的技能描述列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listFormatters
通过 OpenCode Server HTTP API 查询格式化器状态;无数据时返回空集合。- Returns:
- OpenCode Server 返回的格式化器状态列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listLsps
通过 OpenCode Server HTTP API 查询语言服务器状态;无数据时返回空集合。- Returns:
- OpenCode Server 返回的语言服务器状态列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listMcpServers
通过 OpenCode Server HTTP API 查询MCP 服务;无数据时返回空集合。- Returns:
- OpenCode Server 返回的键值映射;无数据时为空映射
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
addMcpServer
向当前 OpenCode 实例注册 MCP 服务配置,并返回服务状态。- Parameters:
name- 资源名称config- 客户端配置;不得为null- Returns:
- OpenCode SDK 返回的MCP 服务状态对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getPath
通过 OpenCode Server HTTP API 获取运行路径信息。- Returns:
- OpenCode SDK 返回的运行路径对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getVcs
通过 OpenCode Server HTTP API 获取版本控制状态。- Returns:
- OpenCode SDK 返回的版本控制信息对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getSessionStatusMap
通过 OpenCode Server HTTP API 获取会话状态。- Returns:
- OpenCode Server 返回的键值映射;无数据时为空映射
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getSessionChildren
通过 OpenCode Server HTTP API 获取子会话。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- OpenCode Server 返回的会话列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getSessionTodo
通过 OpenCode Server HTTP API 获取会话待办项。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- OpenCode Server 返回的会话待办项列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getSessionDiff
通过 OpenCode Server HTTP API 获取会话文件差异。- Parameters:
sessionId- OpenCode 会话 ID;不得为空messageId- 会话消息 ID- Returns:
- OpenCode Server 返回的文件差异列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
forkSession
从指定消息位置派生新会话,并返回服务端创建的子会话。- Parameters:
sessionId- OpenCode 会话 ID;不得为空messageId- 会话消息 ID- Returns:
- OpenCode SDK 返回的会话对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
initSession
使用指定消息和模型初始化会话上下文及 AGENTS.md。- Parameters:
sessionId- OpenCode 会话 ID;不得为空messageId- 会话消息 IDproviderId- 模型提供方 IDmodelId- 模型 ID- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
summarizeSession
使用指定模型压缩会话上下文,以降低后续请求的上下文长度。- Parameters:
sessionId- OpenCode 会话 ID;不得为空providerId- 模型提供方 IDmodelId- 模型 ID- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
revertSession
将会话回退到指定消息或消息片段。- Parameters:
sessionId- OpenCode 会话 ID;不得为空messageId- 会话消息 IDpartId- 消息片段 ID- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
unrevertSession
撤销会话最近一次回退操作。- Parameters:
sessionId- OpenCode 会话 ID;不得为空- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
getMessage
通过 OpenCode Server HTTP API 获取会话消息。- Parameters:
sessionId- OpenCode 会话 ID;不得为空messageId- 会话消息 ID- Returns:
- OpenCode SDK 返回的消息详情对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
runSessionCommand
public PromptResult runSessionCommand(String sessionId, String command, String arguments, String agent, String model) 在指定会话中执行斜杠命令,并返回生成结果。- Parameters:
sessionId- OpenCode 会话 ID;不得为空command- OpenCode 斜杠命令或 CLI 子命令arguments- 传递给斜杠命令的参数文本;为空时不附加参数agent- 执行请求的智能体名称;为空时使用服务端默认智能体model- 模型标识,通常采用 provider/model 格式;为空时使用默认模型- Returns:
- OpenCode SDK 返回的Prompt 结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listQuestions
通过 OpenCode Server HTTP API 查询待回答问题;无数据时返回空集合。- Returns:
- OpenCode Server 返回的问题请求列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
replyQuestion
回复question请求。- Parameters:
requestId- 待回复的问题或权限请求 IDanswers- 按问题顺序提交的答案列表- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
rejectQuestion
拒绝question请求。- Parameters:
requestId- 待回复的问题或权限请求 ID- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
listPermissions
通过 OpenCode Server HTTP API 查询待处理权限;无数据时返回空集合。- Returns:
- OpenCode Server 返回的权限请求列表;无数据时为空列表
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
replyPermission
回复permission请求。- Parameters:
requestId- 待回复的问题或权限请求 IDresponse- 权限请求响应值,例如 allow 或 denyremember- 是否记住本次权限决定并应用于后续同类请求- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
setAuth
保存指定模型提供方的认证配置。- Parameters:
providerId- 模型提供方 IDbody- 提交给服务端的请求体- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
removeAuth
请求 OpenCode Server 删除认证信息。- Parameters:
providerId- 模型提供方 ID- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
disposeInstance
public boolean disposeInstance()释放当前 OpenCode Server 实例持有的运行资源。- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
globalDispose
public boolean globalDispose()请求 OpenCode Server 释放全部全局实例资源。- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
globalUpgrade
请求 OpenCode Server 将全局安装升级到指定目标版本。- Parameters:
target- 升级目标版本;为空时由 CLI 选择最新版本- Returns:
- 操作成功返回
true,否则返回false - Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliServe
委托本地 OpenCode CLI 门面执行serve子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliServe
委托本地 OpenCode CLI 门面执行serve子命令,同步返回退出状态及输出。- Parameters:
port- 监听端口;为null时使用 CLI 默认值hostname- 监听地址;为空时使用 CLI 默认值- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliWeb
委托本地 OpenCode CLI 门面执行web子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliWeb
委托本地 OpenCode CLI 门面执行web子命令,同步返回退出状态及输出。- Parameters:
port- 监听端口;为null时使用 CLI 默认值hostname- 监听地址;为空时使用 CLI 默认值- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAcp
委托本地 OpenCode CLI 门面执行acp子命令,同步返回退出状态及输出。- Parameters:
cwd- CLI 进程使用的当前工作目录;为空时继承配置- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliGenerate
委托本地 OpenCode CLI 门面执行generate子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAttach
public OpenCodeCliResult cliAttach(String url, String dir, String sessionId, String username, String password) 委托本地 OpenCode CLI 门面执行attach子命令,同步返回退出状态及输出。- Parameters:
url- 远程服务或控制台 URLdir- CLI 命令作用目录;为空时使用配置工作目录sessionId- OpenCode 会话 ID;不得为空username- OpenCode Server Basic Auth 用户名password- OpenCode Server Basic Auth 密码;日志中不得明文输出- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliUpgrade
委托本地 OpenCode CLI 门面执行upgrade子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliUpgrade
委托本地 OpenCode CLI 门面执行upgrade子命令,同步返回退出状态及输出。- Parameters:
target- 升级目标版本;为空时由 CLI 选择最新版本method- 认证或升级方式- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliUninstall
public OpenCodeCliResult cliUninstall(boolean keepConfig, boolean keepData, boolean dryRun, boolean force) 委托本地 OpenCode CLI 门面执行uninstall子命令,同步返回退出状态及输出。- Parameters:
keepConfig- 卸载时是否保留本地配置keepData- 卸载时是否保留会话和缓存数据dryRun- 是否仅预览操作而不实际修改本地安装force- 是否强制执行操作- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliStats
委托本地 OpenCode CLI 门面执行stats子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliStats
委托本地 OpenCode CLI 门面执行stats子命令,同步返回退出状态及输出。- Parameters:
days- 统计覆盖的最近天数;为null时使用 CLI 默认范围tools- 统计结果中最多展示的工具数量;为null时使用 CLI 默认值models- 统计结果中最多展示的模型数量;为null时使用 CLI 默认值project- 统计限定的项目名称;为空时统计全部项目- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliExport
委托本地 OpenCode CLI 门面执行export子命令,同步返回退出状态及输出。- Parameters:
sessionId- OpenCode 会话 ID;不得为空sanitize- 是否在导出结果中移除敏感信息- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliImport
委托本地 OpenCode CLI 门面执行import子命令,同步返回退出状态及输出。- Parameters:
fileOrUrl- 待导入的本地文件路径或远程 URL- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliSessionList
委托本地 OpenCode CLI 门面执行session list子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliSessionList
委托本地 OpenCode CLI 门面执行session list子命令,同步返回退出状态及输出。- Parameters:
maxCount- 最大返回会话数量- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAgentList
委托本地 OpenCode CLI 门面执行agent list子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAgentCreate
public OpenCodeCliResult cliAgentCreate(String path, String description, String mode, String permissions, String model) 委托本地 OpenCode CLI 门面执行agent create子命令,同步返回退出状态及输出。- Parameters:
path- 文件或工作目录路径description- 资源的可读说明;为空时由 OpenCode 使用默认描述mode- 智能体运行模式或 CLI 行为模式permissions- 智能体创建时使用的权限配置文本model- 模型标识,通常采用 provider/model 格式;为空时使用默认模型- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliModels
委托本地 OpenCode CLI 门面执行models子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliModels
委托本地 OpenCode CLI 门面执行models子命令,同步返回退出状态及输出。- Parameters:
provider- 模型提供方 ID;为空时不限制提供方verbose- 是否输出模型的详细元数据refresh- 是否在列出模型前强制刷新提供方元数据- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliProvidersList
委托本地 OpenCode CLI 门面执行providers list子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliProvidersLogin
委托本地 OpenCode CLI 门面执行providers login子命令,同步返回退出状态及输出。- Parameters:
provider- 模型提供方 ID;为空时不限制提供方method- 认证或升级方式- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliProvidersLogout
委托本地 OpenCode CLI 门面执行providers logout子命令,同步返回退出状态及输出。- Parameters:
provider- 模型提供方 ID;为空时不限制提供方- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAuthList
委托本地 OpenCode CLI 门面执行auth list子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAuthLogin
委托本地 OpenCode CLI 门面执行auth login子命令,同步返回退出状态及输出。- Parameters:
provider- 模型提供方 ID;为空时不限制提供方method- 认证或升级方式- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliAuthLogout
委托本地 OpenCode CLI 门面执行auth logout子命令,同步返回退出状态及输出。- Parameters:
provider- 模型提供方 ID;为空时不限制提供方- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliMcpList
委托本地 OpenCode CLI 门面执行mcp list子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliMcpAdd
委托本地 OpenCode CLI 门面执行mcp add子命令,同步返回退出状态及输出。- Parameters:
name- 资源名称url- 远程服务或控制台 URL- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliMcpLogout
委托本地 OpenCode CLI 门面执行mcp logout子命令,同步返回退出状态及输出。- Parameters:
name- 资源名称- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliMcpAuth
委托本地 OpenCode CLI 门面执行mcp auth子命令,同步返回退出状态及输出。- Parameters:
name- 资源名称- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliDb
委托本地 OpenCode CLI 门面执行db子命令,同步返回退出状态及输出。- Parameters:
query- 搜索或数据库查询表达式format- 输出格式名称;为空时使用 CLI 默认格式- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliDbPath
委托本地 OpenCode CLI 门面执行db path子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliDebugConfig
委托本地 OpenCode CLI 门面执行debug config子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliDebugPaths
委托本地 OpenCode CLI 门面执行debug paths子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliDebugInfo
委托本地 OpenCode CLI 门面执行debug info子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliGithubInstall
委托本地 OpenCode CLI 门面执行github install子命令,同步返回退出状态及输出。- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliGithubRun
委托本地 OpenCode CLI 门面执行github run子命令,同步返回退出状态及输出。- Parameters:
event- 触发当前回调的完整 SSE 事件token- GitHub 访问令牌;为空时由 CLI 自行解析- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
cliPr
委托本地 OpenCode CLI 门面执行pr子命令,同步返回退出状态及输出。- Parameters:
number- GitHub Pull Request 编号- Returns:
- OpenCode SDK 返回的CLI 执行结果对象
- Throws:
OpenCodeHttpException- HTTP 请求失败或响应无法解析
-
close
public void close()释放当前对象持有的连接、订阅或执行资源;重复调用是安全的。- Specified by:
closein interfaceAutoCloseable
-