跳转到内容

CLI

CLI

OpenCode CLI 选项和命令。

OpenCode CLI 默认在无参数运行时启动 TUI 终端用户界面。

opencode

同时它也接受以下文档中记录的命令,实现程序化交互。

opencode run "Explain how closures work in JavaScript"

tui

启动 OpenCode 终端用户界面。

opencode [project]

Flags

参数缩写描述
--continue-c继续上一个会话
--session-s指定要继续的会话 ID
--fork-复制会话而非继续
--prompt-自定义提示词
--model-m指定模型,格式为 provider/model
--agent-指定使用的智能体
--port-监听端口
--hostname-监听主机名
--mdns-启用 mDNS 发现
--mdns-domain-自定义 mDNS 域名
--cors-允许的额外 CORS 来源

Commands

OpenCode CLI 还具有以下命令。


agent

管理 OpenCode 的智能体。

opencode agent [command]

create

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

opencode agent create

此命令将引导你创建一个具有自定义系统提示词和权限配置的新智能体。任何你不允许的内容都将在生成的智能体 frontmatter 中被拒绝。

参数缩写描述
--path-智能体文件保存路径
--description-智能体职责描述
--mode-智能体模式:allprimarysubagent
--permissions-允许的工具权限列表(逗号分隔)
--model-m指定模型,格式为 provider/model

可用权限:bashreadeditglobgrepwebfetchtasktodowritewebsearchlspskill

list

列出所有可用的智能体。

opencode agent list

attach

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

opencode attach [url]

这允许使用 TUI 连接远程 OpenCode 后端。

# 启动用于 Web/移动访问的后端服务器
opencode web --port 4096 --hostname 0.0.0.0
# 在另一个终端中,将 TUI 连接到运行中的后端
opencode attach http://10.20.30.40:4096
参数缩写描述
--dir-TUI 的工作目录
--continue-c继续会话
--session-s指定会话 ID
--fork-复制会话
--password-p密码认证
--username-u用户名认证

auth

管理 providers 的凭证和登录。

opencode auth [command]

login

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

opencode auth login
参数缩写描述
--provider-p指定 provider
--method-m登录方式

list

列出凭证文件中存储的所有已认证 providers。

opencode auth list
# 或简短版本
opencode auth ls

logout

通过清除凭证文件中的记录来退出 provider。

opencode auth logout

github

管理 GitHub 智能体以实现仓库自动化。

opencode github [command]

install

在仓库中安装 GitHub 智能体。

opencode github install

这会设置必要的 GitHub Actions 工作流并引导你完成配置过程。

run

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

opencode github run
参数描述
--event模拟事件数据
--tokenGitHub 个人访问令牌

mcp

管理 Model Context Protocol 服务器。

opencode mcp [command]

add

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

opencode mcp add

list

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

opencode mcp list
# 或简短版本
opencode mcp ls

auth

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

opencode mcp auth [name]

列出支持 OAuth 的服务器:

opencode mcp auth list
# 或简短版本
opencode mcp auth ls

logout

清除 MCP 服务器的 OAuth 凭证。

opencode mcp logout [name]

debug

诊断 MCP 服务器的 OAuth 连接问题。

opencode mcp debug <name>

models

列出已配置 providers 的所有可用模型。

opencode models [provider]

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

opencode models anthropic
参数描述
--refresh从 models.dev 刷新模型列表
--verbose使用更详细的模型输出(包括成本等元数据)

run

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

opencode run [message..]
opencode run Explain the use of context in Go

你也可以附加到正在运行的 opencode serve 实例:

# 在一个终端中启动无头服务器
opencode serve
# 在另一个终端中,运行附加到它的命令
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
参数缩写描述
--command-要运行的命令,用 message 作为参数
--continue-c继续上一个会话
--session-s指定会话 ID
--fork-复制会话
--share-分享会话
--model-m指定模型,格式为 provider/model
--agent-使用的智能体
--file-f附加到消息的文件
--format-格式:default(格式化)或 json(原始 JSON 事件)
--title-会话标题
--attach-附加到正在运行的 opencode 服务器
--password-p密码认证
--username-u用户名认证
--dir-运行目录,或附加时远程服务器上的路径
--port-本地服务器端口
--variant-模型变体(provider 特定的推理努力)
--thinking-显示思考块
--dangerously-skip-permissions-自动批准权限(危险!)

serve

启动用于 API 访问的无头 OpenCode 服务器。

opencode serve

这会启动一个 HTTP 服务器,提供对 opencode 功能的 API 访问,而不需要 TUI 界面。设置 OPENCODE_SERVER_PASSWORD 以启用 HTTP 基本认证。

参数描述
--port监听端口
--hostname监听主机名
--mdns启用 mDNS 发现
--mdns-domain自定义 mDNS 域名
--cors允许的额外 CORS 来源

session

管理 OpenCode 会话。

opencode session [command]

list

列出所有 OpenCode 会话。

opencode session list
参数缩写描述
--max-count-n限制为最近 N 个会话
--format-输出格式:table 或 json

delete

删除 OpenCode 会话。

opencode session delete <sessionID>

stats

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

opencode stats
参数描述
--days显示最近 N 天的统计
--tools显示的工具数量
--models显示模型使用细分
--project按项目过滤

export

将会话数据导出为 JSON。

opencode export [sessionID]
参数描述
--sanitize删除敏感转录/文件数据

import

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

opencode import <file>
opencode import session.json
opencode import https://opncd.ai/s/abc123

web

启动带 Web 界面的服务器。

opencode web
参数描述
--port监听端口
--hostname监听主机名
--mdns启用 mDNS 发现
--mdns-domain自定义 mDNS 域名
--cors允许的额外 CORS 来源

acp

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

opencode acp

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

参数描述
--cwd工作目录
--port监听端口
--hostname监听主机名
--mdns启用 mDNS 发现
--mdns-domain自定义 mDNS 域名
--cors允许的额外 CORS 来源

plugin

安装插件并更新配置。

opencode plugin <module>
# 或使用别名
opencode plug <module>
参数缩写描述
--global-g安装到全局配置
--force-f替换现有插件版本

pr

获取并检出 GitHub PR 分支,然后运行 OpenCode。

opencode pr <number>

db

数据库工具。

opencode db [query]
参数描述
--format输出格式:jsontsv

path

打印数据库路径。

opencode db path

debug

调试和故障排除工具。

opencode debug [command]

uninstall

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

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

upgrade

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

opencode upgrade
# 或指定版本
opencode upgrade v0.1.48
参数缩写描述
--method-m使用的安装方式;curl、npm、pnpm、bun、brew

Global Flags

opencode CLI 接受以下全局参数。

参数缩写描述
--help-h显示帮助
--version-v打印版本号
--print-logs-将日志打印到 stderr
--log-level-日志级别(DEBUG、INFO、WARN、ERROR)
--pure-不加载外部插件运行

Environment variables

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

变量类型描述
OPENCODE_AUTO_SHAREboolean自动分享会话
OPENCODE_GIT_BASH_PATHstringWindows 上 Git Bash 可执行文件路径
OPENCODE_CONFIGstring配置文件路径
OPENCODE_TUI_CONFIGstringTUI 配置文件路径
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 读取
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_VCSstring用于测试的虚假 VCS provider
OPENCODE_CLIENTstring客户端标识符(默认为 cli
OPENCODE_ENABLE_EXAboolean启用 Exa 网络搜索工具
OPENCODE_SERVER_PASSWORDstringserve/web 启用基本认证
OPENCODE_SERVER_USERNAMEstring覆盖基本认证用户名(默认 opencode
OPENCODE_MODELS_URLstring获取模型配置的自定义 URL

Experimental

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

变量类型描述
OPENCODE_EXPERIMENTALboolean启用实验性总开关
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYboolean启用图标发现
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTboolean禁用 TUI 中的选择复制
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberbash 命令的默认超时时间(毫秒)
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberLLM 响应的最大输出令牌数
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_PLAN_MODEboolean启用计划模式
OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTSboolean启用后台子智能体任务
OPENCODE_EXPERIMENTAL_EVENT_SYSTEMboolean启用实验性事件系统
OPENCODE_EXPERIMENTAL_NATIVE_LLMboolean启用原生 LLM 请求路径
OPENCODE_EXPERIMENTAL_PARALLELboolean启用并行网络搜索执行
OPENCODE_EXPERIMENTAL_SCOUTboolean启用 Scout 子智能体
OPENCODE_EXPERIMENTAL_WORKSPACESboolean启用工作区支持