跳至内容

CLI

OpenCode CLI 选项和命令。

OpenCode CLI 在不带任何参数运行时,默认启动 TUI

终端窗口
opencode

但它也接受本页所述的命令。这允许您以编程方式与 OpenCode 进行交互。

终端窗口
opencode run "Explain how closures work in JavaScript"

tui

启动 OpenCode 终端用户界面。

终端窗口
opencode [project]

标志

标志简称描述
--continue-c继续上一个会话
--session-s要继续的会话 ID
--fork继续时派生会话(与 --continue--session 配合使用)
--prompt要使用的提示词
--model-m要使用的模型,格式为 provider/model
--agent要使用的智能体
--port监听端口
--hostname监听主机名

命令

OpenCode CLI 还具有以下命令。


agent

管理 OpenCode 的智能体。

终端窗口
opencode agent [command]

attach

将终端连接到通过 serveweb 命令启动的已运行的 OpenCode 后端服务器。

终端窗口
opencode attach [url]

这允许在远程 OpenCode 后端上使用 TUI。例如:

终端窗口
# 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

标志

标志简称描述
--dir启动 TUI 的工作目录
--session-s要继续的会话 ID

create

使用自定义配置创建新智能体。

终端窗口
opencode agent create

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


list

列出所有可用智能体。

终端窗口
opencode agent list

auth

用于管理提供商凭证和登录的命令。

终端窗口
opencode auth [command]

login

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

终端窗口
opencode auth login

OpenCode 启动时,会从凭据文件中加载提供商。此外还会加载您的环境中或项目中的 .env 文件中定义的任何密钥。


list

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

终端窗口
opencode auth list

或简称。

终端窗口
opencode auth ls

logout

通过从凭据文件中清除提供商来退出登录。

终端窗口
opencode auth logout

github

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

终端窗口
opencode github [command]

install

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

终端窗口
opencode github install

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


run

运行 GitHub 智能体。这通常用于 GitHub Actions。

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

mcp

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

终端窗口
opencode mcp [command]

add

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

终端窗口
opencode mcp add

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


list

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

终端窗口
opencode mcp list

或使用简称。

终端窗口
opencode mcp ls

auth

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

终端窗口
opencode mcp auth [name]

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

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

终端窗口
opencode mcp auth list

或使用简称。

终端窗口
opencode mcp auth ls

logout

删除 MCP 服务器的 OAuth 凭据。

终端窗口
opencode mcp logout [name]

debug

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

终端窗口
opencode mcp debug <name>

models

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

终端窗口
opencode models [provider]

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

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

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

终端窗口
opencode models anthropic

标志

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

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

终端窗口
opencode models --refresh

run

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

终端窗口
opencode run [message..]

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

终端窗口
opencode run Explain the use of context in Go

您也可以连接到正在运行的 opencode serve 实例,以避免每次运行时的 MCP 服务器冷启动时间

终端窗口
# Start a headless server in one terminal
opencode serve
# In another terminal, run commands that attach to it
opencode run --attach https://:4096 "Explain async/await in JavaScript"

标志

标志简称描述
--command要运行的命令,使用消息作为参数
--continue-c继续上一个会话
--session-s要继续的会话 ID
--fork继续时派生会话(与 --continue--session 配合使用)
--share分享会话
--model-m要使用的模型,格式为 provider/model
--agent要使用的智能体
--file-f要附加到消息的文件
--format格式:default (格式化) 或 json (原始 JSON 事件)
--title会话标题(如果没有提供值,则使用截断后的提示词)
--attach连接到正在运行的 opencode 服务器(例如 https://:4096
--port本地服务器的端口(默认为随机端口)

serve

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

终端窗口
opencode serve

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

标志

标志描述
--port监听端口
--hostname监听主机名
--mdns启用 mDNS 发现
--cors允许跨域资源共享 (CORS) 的其他浏览器来源

session

管理 OpenCode 会话。

终端窗口
opencode session [command]

list

列出所有 OpenCode 会话。

终端窗口
opencode session list
标志
标志简称描述
--max-count-n限制为最近的 N 个会话
--format输出格式:table 或 json (table)

stats

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

终端窗口
opencode stats

标志

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

export

将会话数据导出为 JSON。

终端窗口
opencode export [sessionID]

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


import

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

终端窗口
opencode import <file>

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

终端窗口
opencode import session.json
opencode import https://opncd.ai/s/abc123

web

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

终端窗口
opencode web

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

标志

标志描述
--port监听端口
--hostname监听主机名
--mdns启用 mDNS 发现
--cors允许跨域资源共享 (CORS) 的其他浏览器来源

acp

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

终端窗口
opencode acp

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

标志

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

uninstall

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

终端窗口
opencode uninstall

标志

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

upgrade

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

终端窗口
opencode upgrade [target]

升级到最新版本。

终端窗口
opencode upgrade

升级到特定版本。

终端窗口
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 可以使用环境变量进行配置。

变量类型 (Type)描述
OPENCODE_AUTO_SHAREboolean自动分享会话
OPENCODE_GIT_BASH_PATH字符串Windows 上 Git Bash 可执行文件的路径
OPENCODE_CONFIG字符串配置文件路径
OPENCODE_TUI_CONFIG字符串TUI 配置文件路径
OPENCODE_CONFIG_DIR字符串配置目录路径
OPENCODE_CONFIG_CONTENT字符串内联 JSON 配置内容
OPENCODE_DISABLE_AUTOUPDATEboolean禁用自动更新检查
OPENCODE_DISABLE_PRUNEboolean禁用旧数据清理
OPENCODE_DISABLE_TERMINAL_TITLEboolean禁用终端标题自动更新
OPENCODE_PERMISSION字符串内联 JSON 权限配置
OPENCODE_DISABLE_DEFAULT_PLUGINSboolean禁用默认插件
OPENCODE_DISABLE_LSP_DOWNLOADboolean禁用自动 LSP 服务器下载
OPENCODE_ENABLE_EXPERIMENTAL_MODELSboolean启用实验性模型
OPENCODE_DISABLE_AUTOCOMPACTboolean禁用自动上下文压缩
OPENCODE_DISABLE_CLAUDE_CODEboolean禁用从 .claude 读取(提示词 + 技能)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTboolean禁用读取 ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSboolean禁用加载 .claude/skills
OPENCODE_DISABLE_MODELS_FETCHboolean禁用从远程源获取模型
OPENCODE_DISABLE_MOUSEboolean在 TUI 中禁用鼠标捕获
OPENCODE_FAKE_VCS字符串用于测试目的的虚拟 VCS 提供商
OPENCODE_DISABLE_FILETIME_CHECKboolean禁用用于优化的文件时间检查
OPENCODE_CLIENT字符串客户端标识符(默认为 cli
OPENCODE_ENABLE_EXAboolean启用 Exa 网络搜索工具
OPENCODE_SERVER_PASSWORD字符串serve/web 启用基本身份验证
OPENCODE_SERVER_USERNAME字符串覆盖基本身份验证用户名(默认 opencode
OPENCODE_MODELS_URL字符串用于获取模型配置的自定义 URL

实验性功能

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

变量类型 (Type)描述
OPENCODE_EXPERIMENTALboolean启用所有实验性功能
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYboolean启用图标发现
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTboolean在 TUI 中禁用选择即复制
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS数字Bash 命令的默认超时时间(毫秒)
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX数字LLM 响应的最大输出令牌数
OPENCODE_EXPERIMENTAL_FILEWATCHERboolean为整个目录启用文件监听器
OPENCODE_EXPERIMENTAL_OXFMTboolean启用 oxfmt 格式化程序
OPENCODE_EXPERIMENTAL_LSP_TOOLboolean启用实验性 LSP 工具
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERboolean禁用文件监听器
OPENCODE_EXPERIMENTAL_EXAboolean启用实验性 Exa 功能
OPENCODE_EXPERIMENTAL_LSP_TYboolean为 Python 文件启用 TY LSP
OPENCODE_EXPERIMENTAL_MARKDOWNboolean启用实验性 Markdown 功能
OPENCODE_EXPERIMENTAL_PLAN_MODEboolean启用计划模式