Skip to content

CLI

OpenCode CLI 选项与命令。

默认情况下,OpenCode CLI 在运行时若不带任何参数,会启动 TUI

Terminal window
opencode

但它也接受本页文档中记录的命令。这允许您以编程方式与 OpenCode 交互。

Terminal window
opencode run "解释 JavaScript 中闭包的工作原理"

tui

启动 OpenCode 终端用户界面。

Terminal window
opencode [project]

标志

标志简写描述
--continue-c继续上一个会话
--session-s要恢复的会话 ID
--prompt使用的提示词
--model-m使用的模型,格式为 provider/model
--agent使用的智能体
--port监听的端口
--hostname监听的主机名

命令

OpenCode CLI 还具有以下命令。


agent

管理 OpenCode 的智能体。

Terminal window
opencode agent [command]

attach

将终端附加到已通过 serveweb 命令启动的 OpenCode 后端服务器。

Terminal window
opencode attach [url]

这允许 TUI 与远程 OpenCode 后端一起使用。例如:

Terminal window
# 为 web/移动端访问启动后端服务器
opencode web --port 4096 --hostname 0.0.0.0
# 在另一个终端中,将 TUI 附加到正在运行的后端
opencode attach http://10.20.30.40:4096

标志

标志简写描述
--dir启动 TUI 的工作目录
--session-s要恢复的会话 ID

create

创建具有自定义配置的新智能体。

Terminal window
opencode agent create

此命令将引导您创建一个具有自定义系统提示词和工具配置的新智能体。


list

列出所有可用的智能体。

Terminal window
opencode agent list

auth

管理提供商凭据和登录的命令。

Terminal window
opencode auth [command]

login

OpenCode 由 Models.dev 上的提供商列表提供支持,因此您可以使用 opencode auth login 来配置您想要使用的任何提供商的 API 密钥。这些信息存储在 ~/.local/share/opencode/auth.json 中。

Terminal window
opencode auth login

当 OpenCode 启动时,它会从凭据文件加载提供商。并且如果您的环境变量中或项目的 .env 文件中定义了任何密钥,也会一并加载。


list

列出凭据文件中存储的所有已认证的提供商。

Terminal window
opencode auth list

或者使用简短版本。

Terminal window
opencode auth ls

logout

通过从凭据文件中清除某个提供商的信息来注销该提供商。

Terminal window
opencode auth logout

github

管理用于仓库自动化的 GitHub 智能体。

Terminal window
opencode github [command]

install

在您的仓库中安装 GitHub 智能体。

Terminal window
opencode github install

这将设置必要的 GitHub Actions 工作流,并引导您完成配置过程。了解更多


run

运行 GitHub 智能体。这通常在 GitHub Actions 中使用。

Terminal window
opencode github run
标志
标志描述
--event用于运行智能体的 GitHub 模拟事件
--tokenGitHub 个人访问令牌

mcp

管理模型上下文协议服务器。

Terminal window
opencode mcp [command]

add

将 MCP 服务器添加到您的配置中。

Terminal window
opencode mcp add

此命令将引导您添加本地或远程 MCP 服务器。


list

列出所有已配置的 MCP 服务器及其连接状态。

Terminal window
opencode mcp list

或使用简写版本。

Terminal window
opencode mcp ls

auth

向支持 OAuth 的 MCP 服务器进行身份验证。

Terminal window
opencode mcp auth [name]

如果您不提供服务器名称,系统将提示您从可用的支持 OAuth 的服务器中进行选择。

您还可以列出支持 OAuth 的服务器及其身份验证状态。

Terminal window
opencode mcp auth list

或使用简写版本。

Terminal window
opencode mcp auth ls

logout

移除 MCP 服务器的 OAuth 凭据。

Terminal window
opencode mcp logout [name]

debug

调试 MCP 服务器的 OAuth 连接问题。

Terminal window
opencode mcp debug <name>

models

列出所有已配置提供商提供的可用模型。

Terminal window
opencode models [provider]

此命令以 provider/model 格式显示所有已配置提供商提供的可用模型。

这对于确定在您的配置中使用的确切模型名称非常有用。

您可以选择性地传入提供商 ID 来按该提供商筛选模型。

Terminal window
opencode models anthropic

标志

标志描述
--refresh从 models.dev 刷新模型缓存
--verbose使用更详细的模型输出(包括成本等元数据)

使用 --refresh 标志来更新缓存的模型列表。当提供商添加了新模型并且您希望在 OpenCode 中看到它们时,这很有用。

Terminal window
opencode models --refresh

run

通过直接传递提示词,在非交互模式下运行 opencode。

Terminal window
opencode run [message..]

这对于脚本编写、自动化,或者当您想要快速获得答案而不启动完整的 TUI 时非常有用。例如:

Terminal window
opencode run 解释 Go 语言中 context 的用法

您还可以附加到正在运行的 opencode serve 实例,以避免每次运行时的 MCP 服务器冷启动时间:

Terminal window
# 在一个终端中启动一个无头服务器
opencode serve
# 在另一个终端中,运行附加到该服务器的命令
opencode run --attach http://localhost:4096 "解释 JavaScript 中的 async/await"

标志

标志简写描述
--command要运行的命令,使用 message 传递参数
--continue-c继续上一次会话
--session-s要恢复的会话 ID
--share分享会话
--model-m要使用的模型,格式为 provider/model
--agent要使用的代理
--file-f要附加到消息的文件
--format格式:default(格式化)或 json(原始 JSON 事件)
--title会话标题(如果未提供值,则使用截断后的提示词)
--attach附加到正在运行的 opencode 服务器(例如,http://localhost:4096)
--port本地服务器的端口(默认为随机端口)

serve

启动一个无头 OpenCode 服务器以提供 API 访问。完整的 HTTP 接口请查看 服务器文档

Terminal window
opencode serve

这将启动一个 HTTP 服务器,提供对 opencode 功能的 API 访问,但没有 TUI 界面。

标志

标志描述
--port监听的端口
--hostname监听的主机名
--mdns启用 mDNS 发现
--cors允许 CORS 的额外浏览器来源

session

管理 OpenCode 会话。

Terminal window
opencode session [command]

list

列出所有 OpenCode 会话。

Terminal window
opencode session list
标志
标志短标志描述
--max-count-n限制为最近的 N 个会话
--format输出格式:table 或 json(默认为 table)

stats

显示 OpenCode 会话的令牌使用情况和成本统计。

Terminal window
opencode stats

标志

标志描述
--days显示最近 N 天的统计(默认为所有时间)
--tools显示的工具数量(默认为全部)
--models显示模型使用情况细分(默认隐藏)。传递一个数字以显示前 N 个
--project按项目筛选(所有项目,空字符串:当前项目)

export

将会话数据导出为 JSON。

Terminal window
opencode export [sessionID]

如果不提供会话 ID,系统将提示您从可用会话中选择。


import

从 JSON 文件或 OpenCode 分享链接导入会话数据。

Terminal window
opencode import <file>

您可以从本地文件或 OpenCode 分享链接导入。

Terminal window
opencode import session.json
opencode import https://opncd.ai/s/abc123

web

启动一个带有 Web 界面的无头 OpenCode 服务器。

Terminal window
opencode web

此命令启动一个 HTTP 服务器并打开 Web 浏览器,以便通过 Web 界面访问 OpenCode。

标志

标志描述
--port要监听的端口
--hostname要监听的主机名
--mdns启用 mDNS 发现
--cors允许 CORS 的额外浏览器来源

acp

启动一个 ACP(Agent Client Protocol)服务器。

Terminal window
opencode acp

此命令启动一个 ACP 服务器,该服务器使用 nd-JSON 通过 stdin/stdout 进行通信。

标志

标志描述
--cwd工作目录
--port要监听的端口
--hostname要监听的主机名

uninstall

卸载 OpenCode 并删除所有相关文件。

Terminal window
opencode uninstall

标志

标志短标志描述
--keep-config-c保留配置文件
--keep-data-d保留会话数据和快照
--dry-run显示将要删除的内容而不实际删除
--force-f跳过确认提示

upgrade

将 opencode 升级到最新版本或指定版本。

Terminal window
opencode upgrade [target]

升级到最新版本。

Terminal window
opencode upgrade

升级到指定版本。

Terminal window
opencode upgrade v0.1.48

标志

标志简写描述
--method-m所使用的安装方法;curl, npm, pnpm, bun, brew

全局标志

opencode CLI 接受以下全局标志。

标志简写描述
--help-h显示帮助信息
--version-v打印版本号
--print-logs将日志打印到 stderr
--log-level日志级别 (DEBUG, INFO, WARN, ERROR)

环境变量

OpenCode 可以通过环境变量进行配置。

变量类型描述
OPENCODE_AUTO_SHAREboolean自动分享会话
OPENCODE_GIT_BASH_PATHstringWindows 上 Git Bash 可执行文件的路径
OPENCODE_CONFIGstring配置文件路径
OPENCODE_CONFIG_DIRstring配置目录路径
OPENCODE_CONFIG_CONTENTstring内联 JSON 配置内容
OPENCODE_DISABLE_AUTOUPDATEboolean禁用自动更新检查
OPENCODE_DISABLE_PRUNEboolean禁用旧数据清理
OPENCODE_DISABLE_TERMINAL_TITLEboolean禁用自动终端标题更新
OPENCODE_PERMISSIONstring内联 JSON 权限配置
OPENCODE_DISABLE_DEFAULT_PLUGINSboolean禁用默认插件
OPENCODE_DISABLE_LSP_DOWNLOADboolean禁用自动 LSP 服务器下载
OPENCODE_ENABLE_EXPERIMENTAL_MODELSboolean启用实验性模型
OPENCODE_DISABLE_AUTOCOMPACTboolean禁用自动上下文压缩
OPENCODE_CLIENTstring客户端标识符(默认为 cli
OPENCODE_ENABLE_EXAboolean启用 Exa 网络搜索工具

实验性功能

这些环境变量用于启用可能变更或移除的实验性功能。

变量名类型描述
OPENCODE_EXPERIMENTALboolean启用所有实验性功能
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYboolean启用图标发现功能
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTboolean在 TUI 中禁用选中即复制功能
OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTHnumberBash 命令的最大输出长度
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberBash 命令的默认超时时间(毫秒)
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberLLM 响应的最大输出令牌数
OPENCODE_EXPERIMENTAL_FILEWATCHERboolean为整个目录启用文件监视器
OPENCODE_EXPERIMENTAL_OXFMTboolean启用 oxfmt 格式化工具
OPENCODE_EXPERIMENTAL_LSP_TOOLboolean启用实验性 LSP 工具