opencode 初尝试

最近opencode很火,我也在 macOS/Linux 上装了。这篇文章记录一下安装和使用过程。

官方说明

OpenCode is an open source agent that helps you write code in your terminal, IDE, or desktop.

  • 自动识别编程语言。
  • 多个对话同时进行。
  • 分享编程过程。
  • 支持各种AI模型。
  • 什么编辑器,都能用OpenCode。

安装

最简单的方式是使用Homebrew:

brew install anomalyco/tap/opencode

Linux下:

curl -fsSL https://opencode.ai/install | bash

image-20260212下午124928729

截屏2026-02-12 下午12.51.46

启动OpenCode并配置模型:

cd ~/Workspace  # 进入你的工作目录
opencode        # 启动OpenCode

image-20260120下午60449579

在TUI界面中,输入 /connect 配置模型提供商:

  • 新手推荐: OpenCode Zen(经过验证的模型)
  • 进阶选择: Claude Sonnet 4.5(编程能力强)

首次使用,运行 /init 让OpenCode分析你的项目结构。

image-20260120下午60552057

安装好之后让 opencode 帮忙安装 oh my opencode:

请安装ohmyopencode:bunx oh-my-opencode install

image-20260212下午10148553

基础操作

掌握这几个核心命令就能开始使用:

/help          # 查看所有命令
@文件名         # 引用文件内容
!命令           # 执行shell命令
/undo          # 撤销操作
/redo          # 重做操作
Tab键          # 切换Plan/Build模式
Esc            # 退出、打断当前操作

初上手

先拿我的blog项目进行练手:

请分析我这个blog项目的结构和功能,然后告诉我可以用OpenCode做什么改进?

41fec82fadb26603f326c6373bd72213

1d11a8e8c8630c94c2fb0b782642eed3

image-20260204下午12500986

595f8b14f35bbee299f4fbd2e0f73958

68166df70b8a2a8ec494d9dfcc02eab4

e8f331a93ec3795bbbd85cd39ea88c04

其他类似的上手问答工作都可以试试:

1. 请问你会做些什么
2. 检查macOS版本
3. 显示内存使用情况
4. 列出Homebrew安装的包
5. 检查磁盘空间

oh my opencode

Oh My OpenCode

Preview

模型配置说明

ef81cb0665572908a7c98468d5b9b818

  • Sisyphus (西西弗斯): 默认的 Orchestrator (协调者)。他是“全能管家”,负责拆解任务、维护 TODO 列表,脏活累活他先接,搞不定再摇人。
  • Atlas (阿特拉斯): Executor (执行者)。专注于执行 Prometheus 制定好的计划,或者处理具体的实施工作,不负责高层决策。
  • Hephaestus (赫淮斯托斯): The Craftsman (工匠)。这是一个“深度编码”模式 (类似 Deep Mode),不依赖 Fallback 链,专注于一次性写出高质量、经过深思熟虑的代码。
  • Prometheus (普罗米修斯): Planner (规划者)。只动口不动手,负责生成架构文档和实施计划,绝对不写具体代码。

OpenCode 云端模型:

在输入框输入 /models 即可切换models

image-20260206下午34548300

image-20260206下午33410577

添加本地 Ollama 模型

OpenCode 原生支持连接本地 Ollama 实例,无需 API Key。

安装 Ollama

# 启动服务(后台运行)
ollama serve

# 拉取代码专用模型
ollama pull qwen3-coder-next:q4_K_M

⚠️ 重要提示:截至 2026.2.4 macOS 正式版 Ollama不支持 qwen3-coder-next 等最新模型。 请从 GitHub 下载最新的 RC 版本:

  1. 访问 https://github.com/ollama/ollama/releases
  2. 下载 macOS RC 版本的 dmg 文件(不是 tar.gz!)
  3. 打开 dmg 文件,将 Ollama 拖到应用程序文件夹
  4. 启动 Ollama(Launchbar 或 Spotlight 搜索 “Ollama”)

2026-02-06下午2.17.29

先在 OpenCode 中配置 Ollama

vi ~/.config/opencode/opencode.json
{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama(local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3-coder-next:q4_K_M": {
          "name": "qwen3-coder-next:q4_K_M"
        }
      }
    }
  }
}

再在 Oh My OpenCode 中使用 Ollama

vi ~/.config/opencode/oh-my-opencode.json
{
  "agents": {
    "hephaestus": {
      "model": "ollama/qwen3-coder-next:q4_K_M"
    },
    "oracle": {
      "model": "ollama/qwen3-coder-next:q4_K_M"
    },
    "prometheus": {
      "model": "ollama/qwen3-coder-next:q4_K_M"
    },
    "sisyphus": {
      "model": "ollama/qwen3-coder-next:q4_K_M"
    }
  },
  "categories": {
    "visual-engineering": {
      "model": "opencode/minimax-m2.1-free"
    },
    "ultrabrain": {
      "model": "opencode/minimax-m2.1-free"
    },
    "quick": {
      "model": "opencode/minimax-m2.1-free"
    }
  }
}

我的常用命令

删除所有 Task

如果需要清除所有 Sisyphus 任务,运行以下命令:

# 查看 Sisyphus 状态
ls ~/.sisyphus/

# 删除 boulder.json(清除任务状态)
rm ~/.sisyphus/boulder.json

# 删除所有计划文件
rm ~/.sisyphus/plans/*.md

# 删除 notepads
rm -rf ~/.sisyphus/notepads/*

/handoff

长对话会产生:

  • 大量已完成的思考过程
  • 过时的中间草稿
  • 历史决策和当前需求混杂
  • 上下文膨胀影响响应质量

使用 /handoff 命令可以 创建当前工作上下文的精简摘要,用于下一会话, 这会生成一个包含以下内容的摘要:

  • 当前项目状态
  • 未完成的工作
  • 关键决策和上下文
  • 建议的下一会话起点

常用命令速查

🔥 高频使用(日常必用)

基础操作

  • opencode - 启动 TUI 界面
  • opencode . - 启动当前目录的 TUI
  • @filename - 引用文件(模糊搜索当前目录)
  • @packages/functions/src/index.ts - 精确引用文件路径
  • !ls -la - 执行 shell 命令,结果加入对话
  • !npm run build - 运行构建命令

必备 Slash 命令

  • /help - 显示帮助信息
  • /init - 初始化项目/创建 AGENTS.md
  • /undo - 撤销上一步修改
  • /redo - 重做操作
  • /share - 分享当前会话
  • /models - 切换/查看可用模型
  • /connect - 配置 API keys

智能体切换

  • Tab - 切换 Build/Plan 模式

⚡ 中频使用(项目开发常用)

CLI 命令

  • opencode -c / opencode --continue - 继续上次会话
  • opencode -s session_id - 继续指定会话
  • opencode run "message" - 非交互式运行
  • opencode serve - 启动 headless HTTP 服务器
  • opencode web - 打开 Web 界面
  • opencode agent [command] - 管理智能体

内置工具

  • read - 读取文件内容
  • write - 创建/覆盖文件
  • edit - 编辑文件
  • grep - 搜索文件内容
  • glob - 按模式查找文件
  • bash - 执行 shell 命令
  • ast_grep_search - AST 模式搜索
  • ast_grep_replace - AST 模式替换
  • lsp_symbols - 获取符号列表
  • lsp_diagnostics - 获取诊断信息
  • lsp_rename - 重命名符号

模式切换

  • build - 默认模式(全工具权限)
  • plan - 规划模式(只读,禁止文件操作)

🔧 低频使用(高级功能)

Oh My OpenCode 专用

11个专业智能体

  • @sisyphus - 默认编排器(复杂任务)
  • @hephaestus - 自主深度工作者
  • @atlas - 主编排钩子
  • @prometheus - 规划智能体
  • @metis - 计划分析验证
  • @momus - 工作计划审查
  • @oracle - 战略顾问
  • @librarian - 多仓库研究
  • @explore - 快速上下文搜索

高级命令

  • ulw / ultrawork - 超work模式(复杂任务自动理解上下文)
  • /refactor - 智能重构
  • /start-work - 从 Prometheus 计划开始执行
  • /cancel-ralph - 取消 Ralph 循环
  • /stop-continuation - 停止所有延续机制
  • /handoff - 创建上下文摘要

32+ 生命周期钩子

  • pre-exec, post-exec, pre-task, post-task
  • on-error, on-success, on-timeout
  • background-compaction, context-compaction
  • 等等…

MCP 管理

  • opencode mcp add [server] - 添加 MCP 服务器
  • opencode mcp remove [server] - 移除 MCP 服务器
  • opencode mcp list - 列出已安装的 MCP

自定义命令

  • /custom-command - 自定义命令(放在 .opencode/commands/ 目录)

服务器/开发

  • opencode attach - 附加到运行中的服务器
  • opencode --fork - 继续时fork会话
  • opencode --model provider/model - 指定模型
  • opencode --agent agent_name - 指定智能体

在 Mac 下搞定了 Jekyll 环境:一次踩坑全记录 解决macOS应用程序“已损坏”警告