OpenCode

定位:The open source coding agent.

兼容性比较好,ClaudeCode 和 Codex 都在针对他们自家的模型进行相互调教 有时使用第三方模型 自己部署的开源模型,用起来就有点水土不服。可以试试开源的 Coding Agent。

安装

https://github.com/anomalyco/opencode/releases

直接去 Github Releases 下载 打包好的,比如 opencode-darwin-arm64.zip MacOS ARM M 芯片版本的。

解压后有可执行文件 opencode。放到自己的位置然后,配置环境变量。

gaowanlu@gaowanludeMacBook-Pro ~ % cat .zprofile
export PATH="$HOME/dev_dir/opencode:$PATH"

执行 opencode 可能因为安全问题 Mac 提示禁止运行

chmod +x ./opencode

xattr ./opencode
# 如果有输出 com.apple.quarantine 说明文件被隔离了

# 针对单个文件
xattr -d com.apple.quarantine ./opencode

配置 OpenCode

主要有 三个 目录位置

~/.config/opencode
~/.cache/opencode
~/.local/share/opencode

配置 auth.json

gaowanlu@gaowanludeMacBook-Pro opencode % pwd
/Users/gaowanlu/.local/share/opencode
gaowanlu@gaowanludeMacBook-Pro opencode % cat auth.json
{
  "lmstudio": {
    "type": "api",
    "key": "sk-lm-PMkCfMPH:QEaBNirsevC6XXNyKYs5"
  }
}

配置 opencode.json

gaowanlu@gaowanludeMacBook-Pro opencode % pwd
~/.config/opencode
gaowanlu@gaowanludeMacBook-Pro opencode % cat opencode.json
{
    "$schema": "https://opencode.ai/config.json",
    "provider": {
        "lmstudio": {
            "npm": "@ai-sdk/openai-compatible",
            "name": "LM Studio (local)",
            "options": {
                "baseURL": "http://127.0.0.1:8080/v1"
            },
            "models": {
                "qwen/qwen3.8-27b": {
                    "name": "qwen/qwen3.8-27b"
                }
            }
        }
    },
    "mcp": {
        "datagrip": {
            "url": "http://127.0.0.1:64402/stream",
            "type": "remote",
            "enabled": false
        }
    }
}

记忆

claudecode 是 CLAUDE.md, OpenCode 是 AGENTS.md

.claude 与 .agents .opencode 兼容

opencode 可以兼容 claudecode 项目目录下的 .claude 文件夹内容 如 skills、agents 等。

npx skills add 添加 skill 也没问题。

主 Agent 与 子 Agent

主 Agent 有,Build 与 Plan,按 Tab 键切换。

剩余还有 子Agent 如 explore 和 general 等,可以用

@explore 对话文字
@general 对话文字
# 同时并行多个子 Agent
指定子Agent @explore 对话文字 和 @general 对话文字

创建子 agent

直接 build 下自然语言下命令,

创建一个code-reviewer 子代理 存放在 project 下

就会在项目下的 .opencode/agents/code-reviewer.md 重启 opencode

@code-reviewer 后端代码 和 @code-reviewer 前端代码
# 然后子agent就跑起来了

引用文件

和 ClaudeCode 一样,用 @ + 文件路径

调用 Skill

可以用 / + skill 名进行调用 skill,可以 执行 /skills 列出所有 skill 进行调用

执行 bash

像 ClaudeCode 一样 输入 ! 然后敲命令行

命令

Ctrl + p

可以找出所有以自然语言描述的功能,直接进行选择。

/agents

Switch agent

和按 Tab 是一样的

/compact

Compact session

/connect

Connect provider

/copy

Copy session transcript

/debug

View debug info

/diff

Open diff viewer

/editor

Open editor

/exit

Exit the app

/export

Export session transcript

/fork

Fork session

/help

Help

/init

guide AGENTS.md

/mcps

Toogle MCPs

/models

Switch model

/move

Move to another project dir

/new

New session

/rename

Rename session

/review

review changed [commit|branch|pr], defaults to uncommited

/sessions

Switch session

/skills

Skills

/status

View status

/themes

Switch theme

/thinking

Collapse thinking

/timeline

Jump to message

/timestamps

Hide timestamps

/undo

Undo previous message

opencode v1.18.29