~/content/cli

CLI

OpenCode CLI 选项和命令。

last_updated: "2026-01-20"

OpenCode CLI 在没有参数的情况下运行时,默认启动 TUI。

bash
opencode

但它也接受此页面上记录的命令。这允许您以编程方式与 OpenCode 交互。

bash
opencode run "Explain how closures work in JavaScript"

tui

启动 OpenCode 终端用户界面。

bash
opencode [project]

Flags

FlagShortDescription
--continue-c继续上次会话
--session-s要继续的会话 ID
--prompt要使用的提示符
--model-m要使用的模型,格式为 provider/model
--agent要使用的 Agent
--port监听的端口
--hostname监听的主机名

Commands

OpenCode CLI 还有以下命令。


agent

管理 OpenCode 的 Agent。

bash
opencode agent [command]

attach

将终端附加到已通过 serve 或 web 命令启动的正在运行的 OpenCode 后端服务器。

bash
opencode attach [url]

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

bash
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0

# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096

Flags

FlagShortDescription
--dir在其中启动 TUI 的工作目录
--session-s要继续的会话 ID

create

创建具有自定义配置的新 Agent。

bash
opencode agent create

此命令将指导您创建一个具有自定义系统提示和工具配置的新 Agent。


list

列出所有可用的 Agent。

bash
opencode agent list

auth

用于管理凭据和提供程序登录的命令。

bash
opencode auth [command]

login

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

bash
opencode auth login

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


list

列出存储在凭据文件中的所有经过身份验证的提供程序。

bash
opencode auth list

或者简短版本。

bash
opencode auth ls

logout

通过从凭据文件中清除提供程序来注销该提供程序。

bash
opencode auth logout

github

管理用于存储库自动化的 GitHub Agent。

bash
opencode github [command]

install

在您的存储库中安装 GitHub Agent。

bash
opencode github install

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


run

运行 GitHub Agent。 这通常在 GitHub Actions 中使用。

bash
opencode github run
Flags
FlagDescription
--event用于运行 Agent 的 GitHub 模拟事件
--tokenGitHub 个人访问令牌

mcp

管理模型上下文协议 (Model Context Protocol) 服务器。

bash
opencode mcp [command]

add

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

bash
opencode mcp add

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


list

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

bash
opencode mcp list

或者使用简短版本。

bash
opencode mcp ls

auth

使用启用了 OAuth 的 MCP 服务器进行身份验证。

bash
opencode mcp auth [name]

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

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

bash
opencode mcp auth list

或者使用简短版本。

bash
opencode mcp auth ls

logout

删除 MCP 服务器的 OAuth 凭据。

bash
opencode mcp logout [name]

debug

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

bash
opencode mcp debug <name>

models

列出已配置的提供程序中的所有可用模型。

bash
opencode models [provider]

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

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

您可以选择传递提供程序 ID 以按该提供程序过滤模型。

bash
opencode models anthropic

Flags

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

使用 --refresh 标志来更新缓存的模型列表。 当新模型已添加到提供程序并且您想在 OpenCode 中看到它们时,这非常有用。

bash
opencode models --refresh

run

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

bash
opencode run [message..]

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

bash
opencode run Explain the use of context in Go

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

bash
# Start a headless server in one terminal
opencode serve

# In another terminal, run commands that attach to it
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"

Flags

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

serve

启动无头 OpenCode 服务器以进行 API 访问。 查看服务器文档以获取完整的 HTTP 接口。

bash
opencode serve

这将启动一个 HTTP 服务器,该服务器提供对 opencode 功能的 API 访问,而无需 TUI 界面。 设置 OPENCODE_SERVER_PASSWORD 以启用 HTTP 基本身份验证(用户名默认为 opencode)。

Flags

FlagDescription
--port监听的端口
--hostname监听的主机名
--mdns启用 mDNS 发现
--cors要允许 CORS 的其他浏览器来源

session

管理 OpenCode 会话。

bash
opencode session [command]

list

列出所有 OpenCode 会话。

bash
opencode session list
Flags
FlagShortDescription
--max-count-n限制为 N 个最近的会话
--format输出格式:table 或 json (table)

stats

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

bash
opencode stats

Flags

FlagDescription
--days显示过去 N 天的统计信息(所有时间)
--tools要显示的工具数量(全部)
--models显示模型使用情况细分(默认情况下隐藏)。 传递一个数字以显示前 N 个
--project按项目过滤(所有项目,空字符串:当前项目)

export

将会话数据导出为 JSON。

bash
opencode export [sessionID]

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


import

从 JSON 文件或 OpenCode 共享 URL 导入会话数据。

bash
opencode import <file>

您可以从本地文件或 OpenCode 共享 URL 导入。

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

web

启动具有 Web 界面的无头 OpenCode 服务器。

bash
opencode web

这将启动一个 HTTP 服务器并打开一个 Web 浏览器,以通过 Web 界面访问 OpenCode。 设置 OPENCODE_SERVER_PASSWORD 以启用 HTTP 基本身份验证(用户名默认为 opencode)。

Flags

FlagDescription
--port监听的端口
--hostname监听的主机名
--mdns启用 mDNS 发现
--cors要允许 CORS 的其他浏览器来源

acp

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

bash
opencode acp

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

Flags

FlagDescription
--cwd工作目录
--port监听端口
--hostname监听主机名

uninstall

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

bash
opencode uninstall

Flags

FlagShortDescription
--keep-config-c保留配置文件
--keep-data-d保留会话数据和快照
--dry-run显示将会移除的内容,但不实际移除
--force-f跳过确认提示

upgrade

将 opencode 更新到最新版本或指定版本。

bash
opencode upgrade [target]

升级到最新版本。

bash
opencode upgrade

升级到指定版本。

bash
opencode upgrade v0.1.48

Flags

FlagShortDescription
--method-m使用的安装方法;curl, npm, pnpm, bun, brew

Global Flags

opencode CLI 接受以下全局 Flags。

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

Environment variables

可以使用环境变量配置 OpenCode。

VariableTypeDescription
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_DISABLE_CLAUDE_CODEboolean禁用从 .claude 读取 (prompt + skills)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTboolean禁用读取 ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSboolean禁用加载 .claude/skills
OPENCODE_CLIENTstring客户端标识符 (默认为 cli)
OPENCODE_ENABLE_EXAboolean启用 Exa 网络搜索工具
OPENCODE_SERVER_PASSWORDstring为 serve/web 启用基本身份验证
OPENCODE_SERVER_USERNAMEstring覆盖基本身份验证用户名 (默认 opencode)

Experimental

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

VariableTypeDescription
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 响应的最大输出 tokens
OPENCODE_EXPERIMENTAL_FILEWATCHERboolean为整个目录启用文件监视器
OPENCODE_EXPERIMENTAL_OXFMTboolean启用 oxfmt 格式化程序
OPENCODE_EXPERIMENTAL_LSP_TOOLboolean启用实验性 LSP 工具
Comments (Coming Soon)

Configure Giscus in environment variables to enable comments.