public class OpenCodeCli extends Object
opencode CLI commands.
Wraps an OpenCodeCliExecutor and provides typed methods for each CLI sub-command
(session, agent, models, providers, mcp, etc.).
OpenCodeCliExecutor,
OpenCodeCliResult,
opencode CLI docs| Constructor and Description |
|---|
OpenCodeCli(OpenCodeCliExecutor executor)
创建 open code cli 实例,并按传入依赖确定资源所有权。
|
| Modifier and Type | Method and Description |
|---|---|
OpenCodeCliResult |
acp(String cwd)
opencode acp [--cwd ...] |
OpenCodeCliResult |
agentCreate(String path,
String description,
String mode,
String permissions,
String model)
{@code opencode agent create --path ...
|
OpenCodeCliResult |
agentList()
opencode agent list |
OpenCodeCliResult |
attach(String url,
String dir,
String sessionId,
String username,
String password)
{@code opencode attach
|
OpenCodeCliResult |
authList()
opencode auth list(与 providers list 等价) |
OpenCodeCliResult |
authLogin(String provider,
String method)
{@code opencode auth login [--provider ...
|
OpenCodeCliResult |
authLogout(String provider)
opencode auth logout [provider] |
OpenCodeCliResult |
consoleLogin(String url)
opencode console login [url] |
OpenCodeCliResult |
consoleLogout(String email)
opencode console logout [email] |
OpenCodeCliResult |
consoleOpen()
opencode console open |
OpenCodeCliResult |
consoleOrgs()
opencode console orgs |
OpenCodeCliResult |
consoleSwitch()
opencode console switch |
OpenCodeCliResult |
db(String query,
String format)
opencode db [query] [--format json|tsv] |
OpenCodeCliResult |
dbPath()
opencode db path |
OpenCodeCliResult |
debugConfig()
opencode debug config |
OpenCodeCliResult |
debugInfo()
opencode debug info |
OpenCodeCliResult |
debugPaths()
opencode debug paths |
OpenCodeCliResult |
debugScrap()
opencode debug scrap |
OpenCodeCliResult |
debugSkill()
opencode debug skill |
OpenCodeCliResult |
debugStartup()
opencode debug startup |
OpenCodeCliExecutor |
executor()
获取 CLI 执行器(用于自定义命令)。
|
OpenCodeCliResult |
export(String sessionId,
boolean sanitize)
opencode export [sessionID] [--sanitize] |
OpenCodeCliResult |
generate()
opencode generate
打印带 JS 代码示例注入的 OpenAPI spec。 |
OpenCodeCliResult |
githubInstall()
opencode github install |
OpenCodeCliResult |
githubRun(String event,
String token)
{@code opencode github run [--event ...
|
OpenCodeCliResult |
help()
opencode --help |
OpenCodeCliResult |
importSession(String fileOrUrl)
opencode import <file> |
OpenCodeCliResult |
mcpAdd(String name,
String url)
opencode mcp add <name> ... |
OpenCodeCliResult |
mcpAddLocal(String name,
String... localCmd)
opencode mcp add <name> 后接本地命令(exec 形式)。 |
OpenCodeCliResult |
mcpAuth(String name)
opencode mcp auth [name] |
OpenCodeCliResult |
mcpDebug(String name)
opencode mcp debug <name> |
OpenCodeCliResult |
mcpList()
opencode mcp list |
OpenCodeCliResult |
mcpLogout(String name)
opencode mcp logout [name] |
OpenCodeCliResult |
models()
opencode models |
OpenCodeCliResult |
models(String provider,
boolean verbose,
boolean refresh)
opencode models <provider> [--verbose] [--refresh] |
OpenCodeCliResult |
plugin(String module,
boolean global,
boolean force)
opencode plugin <module> [--global] [--force] |
OpenCodeCliResult |
pr(int number)
opencode pr <number> |
OpenCodeCliResult |
providersList()
opencode providers list |
OpenCodeCliResult |
providersLogin(String provider,
String method)
{@code opencode providers login [--provider ...
|
OpenCodeCliResult |
providersLogout(String provider)
opencode providers logout [provider] |
OpenCodeCliResult |
run(String message)
opencode run <message>
非交互模式执行 prompt,返回 AI 响应。 |
OpenCodeCliResult |
run(String message,
String model)
opencode run --model <model> <message> |
OpenCodeCliResult |
run(String message,
String agent,
String model)
opencode run --agent <agent> --model <model> <message> |
OpenCodeCliResult |
runJson(String message)
opencode run --format json <message>
返回 JSON 格式的原始事件流。 |
OpenCodeCliResult |
runJson(String message,
String sessionId,
String model)
opencode run --format json --session <sessionId> --message <message> |
OpenCodeCliResult |
serve(Integer port,
String hostname)
opencode serve [--port N --hostname H] |
OpenCodeCliResult |
sessionDelete(String sessionId)
opencode session delete <sessionId> |
OpenCodeCliResult |
sessionList()
opencode session list --format json |
OpenCodeCliResult |
sessionList(int maxCount)
opencode session list --max-count <n> --format json |
OpenCodeCliResult |
stats(Integer days,
Integer tools,
Integer models,
String project)
{@code opencode stats [--days ...
|
OpenCodeCliResult |
uninstall(boolean keepConfig,
boolean keepData,
boolean dryRun,
boolean force)
opencode uninstall [--keep-config] [--keep-data] [--dry-run] [--force] |
OpenCodeCliResult |
upgrade()
opencode upgrade |
OpenCodeCliResult |
upgrade(String target,
String method)
opencode upgrade <target> [--method ...] |
OpenCodeCliResult |
version()
opencode --version |
OpenCodeCliResult |
web(Integer port,
String hostname)
opencode web [--port N --hostname H] |
public OpenCodeCli(OpenCodeCliExecutor executor)
executor - 负责启动子进程并收集输出的 CLI 执行器public OpenCodeCliExecutor executor()
public OpenCodeCliResult version()
opencode --versionpublic OpenCodeCliResult help()
opencode --helppublic OpenCodeCliResult run(String message)
opencode run <message>
非交互模式执行 prompt,返回 AI 响应。
message - 传递给 OpenCode CLI 的提示文本public OpenCodeCliResult run(String message, String model)
opencode run --model <model> <message>message - 传递给 OpenCode CLI 的提示文本model - 模型标识,通常采用 provider/model 格式;为空时使用默认模型public OpenCodeCliResult run(String message, String agent, String model)
opencode run --agent <agent> --model <model> <message>message - 传递给 OpenCode CLI 的提示文本agent - 执行请求的智能体名称;为空时使用服务端默认智能体model - 模型标识,通常采用 provider/model 格式;为空时使用默认模型public OpenCodeCliResult runJson(String message)
opencode run --format json <message>
返回 JSON 格式的原始事件流。
message - 传递给 OpenCode CLI 的提示文本public OpenCodeCliResult runJson(String message, String sessionId, String model)
opencode run --format json --session <sessionId> --message <message>message - 传递给 OpenCode CLI 的提示文本sessionId - OpenCode 会话 ID;不得为空model - 模型标识,通常采用 provider/model 格式;为空时使用默认模型public OpenCodeCliResult sessionList()
opencode session list --format jsonpublic OpenCodeCliResult sessionList(int maxCount)
opencode session list --max-count <n> --format jsonmaxCount - 最大返回会话数量public OpenCodeCliResult sessionDelete(String sessionId)
opencode session delete <sessionId>sessionId - OpenCode 会话 ID;不得为空public OpenCodeCliResult agentList()
opencode agent listpublic OpenCodeCliResult agentCreate(String path, String description, String mode, String permissions, String model)
opencode agent create --path ... --description ... --mode ... --tools ...path - 文件或工作目录路径description - 资源的可读说明;为空时由 OpenCode 使用默认描述mode - 智能体运行模式或 CLI 行为模式permissions - 智能体创建时使用的权限配置文本model - 模型标识,通常采用 provider/model 格式;为空时使用默认模型public OpenCodeCliResult models()
opencode modelspublic OpenCodeCliResult models(String provider, boolean verbose, boolean refresh)
opencode models <provider> [--verbose] [--refresh]provider - 模型提供方 ID;为空时不限制提供方verbose - 是否输出模型的详细元数据refresh - 是否在列出模型前强制刷新提供方元数据public OpenCodeCliResult providersList()
opencode providers listpublic OpenCodeCliResult providersLogin(String provider, String method)
opencode providers login [--provider ... --method ...]provider - 模型提供方 ID;为空时不限制提供方method - 认证或升级方式public OpenCodeCliResult providersLogout(String provider)
opencode providers logout [provider]provider - 模型提供方 ID;为空时不限制提供方public OpenCodeCliResult authList()
opencode auth list(与 providers list 等价)public OpenCodeCliResult authLogin(String provider, String method)
opencode auth login [--provider ... --method ...]provider - 模型提供方 ID;为空时不限制提供方method - 认证或升级方式public OpenCodeCliResult authLogout(String provider)
opencode auth logout [provider]provider - 模型提供方 ID;为空时不限制提供方public OpenCodeCliResult mcpList()
opencode mcp listpublic OpenCodeCliResult mcpAdd(String name, String url)
opencode mcp add <name> ... 远程 MCP server(url 形式)。name - 资源名称url - 远程服务或控制台 URLpublic OpenCodeCliResult mcpAddLocal(String name, String... localCmd)
opencode mcp add <name> 后接本地命令(exec 形式)。
命令经 -- 透传给 opencode,例如 opencode mcp add foo -- npx server
name - 资源名称localCmd - 追加到命令行的可变参数;每个元素作为独立参数传递public OpenCodeCliResult mcpLogout(String name)
opencode mcp logout [name]name - 资源名称public OpenCodeCliResult mcpAuth(String name)
opencode mcp auth [name]name - 资源名称public OpenCodeCliResult mcpDebug(String name)
opencode mcp debug <name>name - 资源名称public OpenCodeCliResult upgrade()
opencode upgradepublic OpenCodeCliResult upgrade(String target, String method)
opencode upgrade <target> [--method ...]target - 升级目标版本;为空时由 CLI 选择最新版本method - 认证或升级方式public OpenCodeCliResult uninstall(boolean keepConfig, boolean keepData, boolean dryRun, boolean force)
opencode uninstall [--keep-config] [--keep-data] [--dry-run] [--force]keepConfig - 卸载时是否保留本地配置keepData - 卸载时是否保留会话和缓存数据dryRun - 是否仅预览操作而不实际修改本地安装force - 是否强制执行操作public OpenCodeCliResult stats(Integer days, Integer tools, Integer models, String project)
opencode stats [--days ... --tools ... --models ... --project ...]days - 统计覆盖的最近天数;为 null 时使用 CLI 默认范围tools - 统计结果中最多展示的工具数量;为 null 时使用 CLI 默认值models - 统计结果中最多展示的模型数量;为 null 时使用 CLI 默认值project - 统计限定的项目名称;为空时统计全部项目public OpenCodeCliResult export(String sessionId, boolean sanitize)
opencode export [sessionID] [--sanitize]sessionId - OpenCode 会话 ID;不得为空sanitize - 是否在导出结果中移除敏感信息public OpenCodeCliResult importSession(String fileOrUrl)
opencode import <file>fileOrUrl - 待导入的本地文件路径或远程 URLpublic OpenCodeCliResult db(String query, String format)
opencode db [query] [--format json|tsv]query - 搜索或数据库查询表达式format - 输出格式名称;为空时使用 CLI 默认格式public OpenCodeCliResult dbPath()
opencode db pathpublic OpenCodeCliResult debugConfig()
opencode debug configpublic OpenCodeCliResult debugPaths()
opencode debug pathspublic OpenCodeCliResult debugInfo()
opencode debug infopublic OpenCodeCliResult debugScrap()
opencode debug scrappublic OpenCodeCliResult debugSkill()
opencode debug skillpublic OpenCodeCliResult debugStartup()
opencode debug startuppublic OpenCodeCliResult serve(Integer port, String hostname)
opencode serve [--port N --hostname H]port - 监听端口;为 null 时使用 CLI 默认值hostname - 监听地址;为空时使用 CLI 默认值public OpenCodeCliResult web(Integer port, String hostname)
opencode web [--port N --hostname H]port - 监听端口;为 null 时使用 CLI 默认值hostname - 监听地址;为空时使用 CLI 默认值public OpenCodeCliResult acp(String cwd)
opencode acp [--cwd ...]cwd - CLI 进程使用的当前工作目录;为空时继承配置public OpenCodeCliResult attach(String url, String dir, String sessionId, String username, String password)
opencode attach <url> [--dir ... --session ... --username ... --password ...]url - 远程服务或控制台 URLdir - CLI 命令作用目录;为空时使用配置工作目录sessionId - OpenCode 会话 ID;不得为空username - OpenCode Server Basic Auth 用户名password - OpenCode Server Basic Auth 密码;日志中不得明文输出public OpenCodeCliResult generate()
opencode generate
打印带 JS 代码示例注入的 OpenAPI spec。
public OpenCodeCliResult githubInstall()
opencode github installpublic OpenCodeCliResult githubRun(String event, String token)
opencode github run [--event ... --token ...]event - 触发当前回调的完整 SSE 事件token - GitHub 访问令牌;为空时由 CLI 自行解析public OpenCodeCliResult pr(int number)
opencode pr <number>number - GitHub Pull Request 编号public OpenCodeCliResult plugin(String module, boolean global, boolean force)
opencode plugin <module> [--global] [--force]module - 插件模块名称或安装来源global - 是否在全局作用域安装插件force - 是否强制执行操作public OpenCodeCliResult consoleLogin(String url)
opencode console login [url]url - 远程服务或控制台 URLpublic OpenCodeCliResult consoleLogout(String email)
opencode console logout [email]email - 需要退出登录的控制台账号邮箱;为空时使用当前账号public OpenCodeCliResult consoleOrgs()
opencode console orgspublic OpenCodeCliResult consoleSwitch()
opencode console switchpublic OpenCodeCliResult consoleOpen()
opencode console openCopyright © 2026. All rights reserved.