Skip to content

参考

基于 OpenCode 2026 版编写。完整文档见 opencode.ai/docs

CLI 子命令

bash
opencode [command] [flags]
命令说明
opencode启动 TUI(默认)
opencode run "<prompt>"单次非交互执行
opencode auth login登录 provider
opencode auth list列出已配 provider
opencode session list列出 session
opencode session show <id>查看指定 session
opencode session delete <id>删除 session
opencode session export <id>导出 session 为 JSON
opencode session import导入 session JSON
opencode models列出可用模型
opencode agent list列出可用 agent
opencode agent create引导创建自定义 agent
opencode serve启 HTTP API server
opencode web启浏览器 Web UI
opencode attach <url>接已存在的远程实例
opencode github install安装 GitHub Action
opencode github run在 PR 跑 OpenCode
opencode upgrade升级到最新版

CLI flag

Flag说明
-h, --help帮助
-v, --version版本
-c, --continue继续上次 session
-m, --model <provider/model>指定模型
--agent <name>指定 agent
--cwd <dir>工作目录
--config <path>指定配置文件
`--format <textjson>`
--debug详细日志
--print-config启动时输出当前配置
--no-lsp禁用 lsp 工具
--port <n>serve / web 端口
--password <pwd>serve 鉴权密码
bash
# 脚本模式
opencode run "lint 检查" --model anthropic/claude-sonnet-4-6 --format json

# 继续上次 + 新提示
opencode --continue "再补一段例子"

# 启 API server(CI 用)
opencode serve --port 8080 --password secret123

配置文件位置

路径作用优先级
.well-known/opencode(远程)组织默认1(最低)
~/.config/opencode/opencode.json用户全局2
$OPENCODE_CONFIG自定义路径3
<project>/opencode.json项目共享4
Managed settings(admin)强制5(最高)
路径作用
~/.local/share/opencode/auth.jsonprovider 凭据(不 commit)
~/.config/opencode/tui.jsonTUI 主题 / 键位
<project>/AGENTS.md项目说明书
~/.config/opencode/AGENTS.md全局说明书
<project>/.opencode/commands/<name>.md项目级命令
~/.config/opencode/commands/<name>.md用户级命令
<project>/.opencode/agents/<name>.md项目级 agent
~/.local/share/opencode/logs/日志

opencode.json schema

顶层字段

json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "anthropic/claude-sonnet-4-6",
  "small_model": "anthropic/claude-haiku-4-5",
  "provider": { /* provider 配置 */ },
  "permission": { /* 权限规则 */ },
  "agent": { /* 自定义 agent */ },
  "command": { /* 内联命令 */ },
  "mcp": { /* MCP server */ },
  "plugin": [ /* 插件 */ ],
  "instructions": [ /* 引用规则文件 */ ],
  "snapshot": { "enabled": true },
  "server": {
    "port": 8080,
    "hostname": "0.0.0.0",
    "cors": true,
    "mdns": false
  }
}

provider 字段

json
{
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1",
        "apiKey": "{env:ANTHROPIC_API_KEY}"
      }
    },
    "openai": {
      "options": { "baseURL": "https://api.openai.com/v1" }
    },
    "ollama": {
      "options": { "baseURL": "http://localhost:11434" }
    },
    "custom-provider": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.example.com/v1",
        "headers": { "X-Custom": "value" }
      },
      "models": {
        "custom-model-id": { "name": "Display Name" }
      }
    }
  }
}

permission 字段

json
{
  "permission": {
    "*": "ask",
    "read": "allow",
    "edit": "ask",
    "bash": {
      "*": "ask",
      "git status*": "allow",
      "git diff*": "allow",
      "pnpm *": "allow",
      "rm -rf*": "deny",
      "git push --force*": "deny"
    },
    "webfetch": "allow",
    "websearch": "allow"
  }
}

三档值allow / ask / deny

匹配规则

工具匹配
*全 catch-all
read / edit / write / glob / grep / lsp / task / skill / question / webfetch / websearch / external_directory / doom_loop单工具
bash支持 object 形式按命令模式匹配

bash glob 模式

模式匹配
*任意命令
git *git 子命令
pnpm test仅这条
rm -rf*rm -rf 开头

最后匹配获胜——通配规则放前,特定规则放后。

agent 字段

json
{
  "agent": {
    "code-reviewer": {
      "description": "Review code for bugs and style issues",
      "model": "anthropic/claude-opus-4-7",
      "temperature": 0.3,
      "max_steps": 30,
      "tools": {
        "edit": "deny",
        "write": "deny",
        "bash": "deny",
        "read": "allow",
        "grep": "allow"
      },
      "mcp": ["context7"],
      "prompt": "You are a code reviewer..."
    }
  }
}
字段类型说明
descriptionstring何时调用
modelstring模型覆盖
small_modelstring小任务模型
temperaturenumber0.0-1.0
max_stepsnumber最大步数
toolsobject工具权限
mcpstring[]允许的 MCP server
promptstring系统提示词

mcp 字段

json
{
  "mcp": {
    "context7": {
      "type": "local",
      "command": ["npx", "-y", "@upstash/context7-mcp"]
    },
    "github": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-github"],
      "environment": { "GITHUB_TOKEN": "{env:GITHUB_TOKEN}" }
    },
    "sentry": {
      "type": "remote",
      "url": "https://mcp.sentry.dev/sse",
      "headers": { "Authorization": "Bearer {env:SENTRY_TOKEN}" }
    }
  }
}
字段类型说明
type"local" / "remote"必填
commandstring[]local 必填
urlstringremote 必填
environmentobjectlocal 启动环境
headersobjectremote HTTP 头
enabledboolean默认 true

command 字段(内联)

json
{
  "command": {
    "test": {
      "description": "Run tests with coverage",
      "agent": "build",
      "model": "anthropic/claude-sonnet-4-6",
      "template": "跑完整测试并显示覆盖率报告"
    }
  }
}

instructions 字段

json
{
  "instructions": [
    "docs/team-rules.md",
    "packages/*/AGENTS.md",
    "https://example.com/global-rules.md"
  ]
}

支持本地路径 / glob / 远程 URL。

plugin 字段

json
{
  "plugin": [
    "@some-npm-package/plugin",
    "./plugins/local-plugin.js"
  ]
}

加载来自 npm 或本地的插件。

tui.json schema

json
{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "tokyonight",
  "leader": "ctrl+x",
  "leader_timeout": 2000,
  "keybinds": {
    "session_new": "ctrl+x n",
    "session_list": "ctrl+x s",
    "model_select": "ctrl+x m",
    "agent_switch": "tab"
  },
  "scroll": {
    "smooth": true,
    "speed": 3
  },
  "attention": {
    "notify": true,
    "sound": true
  }
}

keybinds 配置

值类型例子
单串"ctrl+x n"
逗号分隔多串"ctrl+x n,ctrl+n"
数组["ctrl+x n", "ctrl+n"]
对象{ "key": "ctrl+n", "event": "session_new", "preventDefault": true }
禁用"none"false

内置工具列表

工具用途
read读文件(含 offset / limit)
write写整个文件
edit精确 string replace
apply_patch应用 patch
bashshell 命令(支持后台)
glob文件名匹配
grep全文搜索(ripgrep)
lspLSP 集成(experimental)
webfetch抓 URL
websearchWeb 搜索(Exa AI)
todowrite任务清单
question交互问用户
skill加载 skill 文档
taskspawn 子代理(替代 subagent_type)

内置 Agent

主代理

名称切换行为
build默认全权限
planTab只读分析

子代理

名称工具用途
general多步任务
explore只读大范围搜索
scout只读 + webfetch依赖 / 文档调研

命令文件 frontmatter

md
---
description: Brief command purpose
agent: build
model: anthropic/claude-sonnet-4-6
---

prompt 模板(支持 $ARGUMENTS / $1 / !`bash` / @file)
字段必需说明
description-简短描述
agent-用哪个 agent 跑
model-模型覆盖
template-也可写在 frontmatter(覆盖 body)

Agent 文件 frontmatter

md
---
description: When to invoke this agent
model: anthropic/claude-opus-4-7
temperature: 0.3
max_steps: 30
tools:
  read: allow
  edit: deny
  bash: deny
mcp:
  - context7
---

你是一个 ... 系统提示词写这里

内置 Slash 命令

命令作用
/help显示帮助
/connect添加 provider
/models选模型
/agents列出 agent
/init生成 AGENTS.md
/clear清会话
/undo撤销最近改动
/redo重做
/share分享会话
/theme切主题
/<custom>用户 / 项目自定义命令
:q退出 TUI

环境变量

变量作用
OPENCODE_CONFIG指定配置文件
OPENCODE_SERVER_PASSWORDserve 模式鉴权
OPENCODE_EXPERIMENTAL_DISABLE_WATCHER1 禁用文件 watcher
OPENCODE_EXPERIMENTAL_DISABLE_LSP1 禁用 LSP
OPENCODE_LOG_LEVELdebug / info / warn / error
OPENCODE_NO_TELEMETRY1 关闭遥测
HTTPS_PROXY / HTTP_PROXY网络代理
ANTHROPIC_API_KEY / OPENAI_API_KEYprovider 凭据(替代 auth.json)

Provider ID 速查

ID说明
anthropicClaude(Opus / Sonnet / Haiku)
openaiGPT-5 / GPT-4 / o-series
googleGemini
openrouter100+ 模型聚合
groq快速推理
together开源模型托管
deepseekDeepSeek 自家 API
ollama本地推理
lmstudio本地 GGUF
azureAzure OpenAI
bedrockAWS Bedrock
vertexGoogle Vertex AI
opencode-zensst 官方策展

完整列表见 Models.dev

变量插值

形式含义
{env:NAME}环境变量
{file:path}文件内容

适用:opencode.json 全字段 / MCP headers / instructions 等。

命令占位符

命令文件 body 内:

占位符含义
$ARGUMENTS全部参数
$1 $2 $3位置参数
!`cmd`注入 bash 输出
@filename引用文件内容

资源链接