OpenCode CLI 在没有参数的情况下运行时,默认启动 TUI。
opencode
但它也接受此页面上记录的命令。这允许您以编程方式与 OpenCode 交互。
opencode run "Explain how closures work in JavaScript"
###tui
启动 OpenCode 终端用户界面。
opencode [project]
Flags
| Flag | Short | Description |
| ------------ | ----- | ------------------------------------------ |
| --continue | -c | 继续上次会话 |
| --session | -s | 要继续的会话 ID |
| --prompt | | 要使用的提示符 |
| --model | -m | 要使用的模型,格式为 provider/model |
| --agent | | 要使用的 Agent |
| --port | | 监听的端口 |
| --hostname | | 监听的主机名 |
##Commands
OpenCode CLI 还有以下命令。
###agent
管理 OpenCode 的 Agent。
opencode agent [command]
###attach
将终端附加到已通过 serve 或 web 命令启动的正在运行的 OpenCode 后端服务器。
opencode attach [url]
这允许将 TUI 与远程 OpenCode 后端一起使用。例如:
# 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
| Flag | Short | Description |
| ----------- | ----- | --------------------------------- |
| --dir | | 在其中启动 TUI 的工作目录 |
| --session | -s | 要继续的会话 ID |
create
创建具有自定义配置的新 Agent。
opencode agent create
此命令将指导您创建一个具有自定义系统提示和工具配置的新 Agent。
list
列出所有可用的 Agent。
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 Agent。
opencode github [command]
install
在您的存储库中安装 GitHub Agent。
opencode github install
这将设置必要的 GitHub Actions 工作流程,并指导您完成配置过程。了解更多。
run
运行 GitHub Agent。 这通常在 GitHub Actions 中使用。
opencode github run
Flags
| Flag | Description |
| --------- | -------------------------------------- |
| --event | 用于运行 Agent 的 GitHub 模拟事件 |
| --token | GitHub 个人访问令牌 |
###mcp
管理模型上下文协议 (Model Context Protocol) 服务器。
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
Flags
| Flag | Description |
| ----------- | ------------------------------------------------------------ |
| --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 http://localhost:4096 "Explain async/await in JavaScript"
Flags
| Flag | Short | Description |
| ------------ | ----- | ------------------------------------------------------------------ |
| --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 接口。
opencode serve
这将启动一个 HTTP 服务器,该服务器提供对 opencode 功能的 API 访问,而无需 TUI 界面。 设置 OPENCODE_SERVER_PASSWORD 以启用 HTTP 基本身份验证(用户名默认为 opencode)。
Flags
| Flag | Description |
| ------------ | ------------------------------------------ |
| --port | 监听的端口 |
| --hostname | 监听的主机名 |
| --mdns | 启用 mDNS 发现 |
| --cors | 要允许 CORS 的其他浏览器来源 |
###session
管理 OpenCode 会话。
opencode session [command]
list
列出所有 OpenCode 会话。
opencode session list
Flags
| Flag | Short | Description |
| ------------- | ----- | ------------------------------------ |
| --max-count | -n | 限制为 N 个最近的会话 |
| --format | | 输出格式:table 或 json (table) |
###stats
显示 OpenCode 会话的令牌使用情况和成本统计信息。
opencode stats
Flags
| Flag | Description |
| ----------- | --------------------------------------------------------------------------- |
| --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)。
Flags
| Flag | Description |
| ------------ | ------------------------------------------ |
| --port | 监听的端口 |
| --hostname | 监听的主机名 |
| --mdns | 启用 mDNS 发现 |
| --cors | 要允许 CORS 的其他浏览器来源 |
###acp
启动 ACP(Agent Client Protocol)服务器。
opencode acp
此命令启动一个 ACP 服务器,该服务器使用 nd-JSON 通过 stdin/stdout 进行通信。
Flags
| Flag | Description |
| ------------ | --------------------- |
| --cwd | 工作目录 |
| --port | 监听端口 |
| --hostname | 监听主机名 |
###uninstall
卸载 OpenCode 并移除所有相关文件。
opencode uninstall
Flags
| Flag | Short | Description |
| --------------- | ----- | ------------------------------------------- |
| --keep-config | -c | 保留配置文件 |
| --keep-data | -d | 保留会话数据和快照 |
| --dry-run | | 显示将会移除的内容,但不实际移除 |
| --force | -f | 跳过确认提示 |
###upgrade
将 opencode 更新到最新版本或指定版本。
opencode upgrade [target]
升级到最新版本。
opencode upgrade
升级到指定版本。
opencode upgrade v0.1.48
Flags
| Flag | Short | Description |
| ---------- | ----- | ----------------------------------------------------------------- |
| --method | -m | 使用的安装方法;curl, npm, pnpm, bun, brew |
##Global Flags
opencode CLI 接受以下全局 Flags。
| Flag | Short | Description |
| -------------- | ----- | ------------------------------------ |
| --help | -h | 显示帮助 |
| --version | -v | 打印版本号 |
| --print-logs | | 将日志打印到 stderr |
| --log-level | | 日志级别 (DEBUG, INFO, WARN, ERROR) |
##Environment variables
可以使用环境变量配置 OpenCode。
| Variable | Type | Description |
| ------------------------------------- | ------- | ------------------------------------------------- |
| OPENCODE_AUTO_SHARE | boolean | 自动共享会话 |
| OPENCODE_GIT_BASH_PATH | string | Windows 上 Git Bash 可执行文件的路径 |
| OPENCODE_CONFIG | string | 配置文件的路径 |
| OPENCODE_CONFIG_DIR | string | 配置目录的路径 |
| OPENCODE_CONFIG_CONTENT | string | 内联 JSON 配置内容 |
| OPENCODE_DISABLE_AUTOUPDATE | boolean | 禁用自动更新检查 |
| OPENCODE_DISABLE_PRUNE | boolean | 禁用旧数据的清理 |
| OPENCODE_DISABLE_TERMINAL_TITLE | boolean | 禁用自动终端标题更新 |
| OPENCODE_PERMISSION | string | 内联 JSON 权限配置 |
| OPENCODE_DISABLE_DEFAULT_PLUGINS | boolean | 禁用默认插件 |
| OPENCODE_DISABLE_LSP_DOWNLOAD | boolean | 禁用自动 LSP 服务器下载 |
| OPENCODE_ENABLE_EXPERIMENTAL_MODELS | boolean | 启用实验性模型 |
| OPENCODE_DISABLE_AUTOCOMPACT | boolean | 禁用自动上下文压缩 |
| OPENCODE_DISABLE_CLAUDE_CODE | boolean | 禁用从 .claude 读取 (prompt + skills) |
| OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | boolean | 禁用读取 ~/.claude/CLAUDE.md |
| OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | boolean | 禁用加载 .claude/skills |
| OPENCODE_CLIENT | string | 客户端标识符 (默认为 cli) |
| OPENCODE_ENABLE_EXA | boolean | 启用 Exa 网络搜索工具 |
| OPENCODE_SERVER_PASSWORD | string | 为 serve/web 启用基本身份验证 |
| OPENCODE_SERVER_USERNAME | string | 覆盖基本身份验证用户名 (默认 opencode) |
###Experimental
这些环境变量启用可能更改或删除的实验性功能。
| Variable | Type | Description |
| ----------------------------------------------- | ------- | --------------------------------------- |
| OPENCODE_EXPERIMENTAL | boolean | 启用所有实验性功能 |
| OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | 启用图标发现 |
| OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | 禁用 TUI 中的选择复制 |
| OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH | number | bash 命令的最大输出长度 |
| OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | number | bash 命令的默认超时时间(毫秒) |
| OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | number | LLM 响应的最大输出 tokens |
| OPENCODE_EXPERIMENTAL_FILEWATCHER | boolean | 为整个目录启用文件监视器 |
| OPENCODE_EXPERIMENTAL_OXFMT | boolean | 启用 oxfmt 格式化程序 |
| OPENCODE_EXPERIMENTAL_LSP_TOOL | boolean | 启用实验性 LSP 工具 |