最近在 GitHub 上发现一个非常对味的 AI 编程项目——OpenCode。

它在 GitHub 上已经冲到94K Star,定位是开源的 AI 编程代理(AI coding agent)。简单说,它就像一个住在你电脑里的“AI 同事”,能帮你:

  • 读懂陌生代码库

  • 编写新功能

  • 重构、优化、修复 Bug

而且它不挑环境,你可以在终端、桌面应用、VS Code等主流 IDE 里跟它互动,完成各种代码任务。

如果你用过Claude 的 Code 模式或Cursor 的 Agent 功能,可以把 OpenCode 理解为它们的“开源版 + 终端加强版”:功能同样强大,但完全开源、隐私优先,还能自由切换多种大模型。

图片


🤔 为什么会出现 OpenCode?

要理解 OpenCode,得先看看 AI 编程工具的演进史:

  • 补全时代:代表是 Copilot,核心是“自动补全”。

  • 对话时代:代表是 ChatGPT,核心是“聊天式写代码”。

  • 代理时代 (现在):AI 不再只聊天,而是能读文件、改代码、跑命令、串起完整工作流,像一个真正的“项目级助理”。

OpenCode 正是诞生于这个“代理时代”的开源代表。它由 SST 团队(Serverless Stack)开发,于 2024 年左右开始活跃,2025 年 6 月 19 日正式发布 1.0 版本,并迅速在开源社区走红。

它的出现,正是为了解决开发者对现有工具的几大痛点:

  • 黑盒与锁定:许多商业工具是闭源的,行为不透明,且绑定特定厂商,更换成本高。

  • 上下文割裂:在 IDE、浏览器、聊天窗口之间频繁切换,手动复制粘贴上下文,效率低下。

  • 隐私与合规:企业代码上云存在安全和合规风险,需要能私有化部署的方案。

因此,OpenCode 的设计目标非常明确:做一个完全开源、终端优先、模型无关、可自托管的 AI 编程代理。


✨ OpenCode 的亮点功能

1. 终端优先,真正的 TUI 体验

OpenCode 的核心是终端,提供了非常精致的 TUI(终端用户界面)。你只需在终端输入 opencode即可启动,所有操作都在终端内完成,包括切换模型、执行命令、查看 diff 等。它原生支持 LSP,能提供代码补全、跳转、诊断等 IDE 级别的能力,对 Vim/Neovim 用户尤其友好。

2. 项目级 Agent,不止于聊天

OpenCode 内置了 build和 plan两种核心 Agent:

  • Plan 模式:只读,用于分析、规划、解释代码,不修改任何文件,适合大改动前的安全探索。

  • Build 模式:可读写文件、执行命令,负责具体实现功能、修复 Bug。

此外,它还支持多会话并行,你可以为不同任务开启独立的 Agent 会话,互不干扰。会话还可以生成分享链接,方便团队协作和复盘。

3. 模型无关,75+ 家提供商任选

OpenCode 支持超过 75 家模型提供商,包括 OpenAI、Anthropic、Google 等,并内置了 GLM-4.7、MiniMax M2.1 等免费模型。你可以轻松接入本地模型(如通过 Ollama 或 vLLM 部署的 Llama 3、Qwen 等),实现完全离线的私有化部署。

4. 深度集成 GitHub/GitLab

通过 opencode github install命令,它可以在你的仓库中安装 GitHub App,让你能在 Issue 或 PR 的评论中直接使用 /opencode指令,让 AI 自动分析问题、创建分支、修改代码并提交 PR。

5. 客户端/服务器架构,多端统一

采用客户端/服务器架构,核心逻辑在服务端运行,终端、桌面 App、VS Code 插件等只是不同的“前端”。这意味着你可以在服务器上运行 OpenCode,然后从手机、平板等任意设备连接并驱动它工作。


🆚 同类平台对比

特性

OpenCode

Claude Code

Cursor

VS Code + Copilot

TRAE

开源与可控

✅ 完全开源 (MIT),可自托管、审计和二次开发。

❌ 闭源商业产品,无法自托管。

❌ 闭源商业产品,无法自托管。

❌ 闭源商业产品,无法自托管。

❌ 闭源商业产品,无法自托管。

模型选择

✅ 供应商无关,支持 75+ 家模型,可自由切换和组合。

❌ 绑定 Anthropic 生态,主要使用 Claude 系列模型。

❌ 深度集成 OpenAI,主要使用 GPT 系列模型。

❌ 深度集成 OpenAI,主要使用 GPT 系列模型。

❌ 深度绑定 GLM 生态,主要使用智谱 AI 模型。

终端体验

✅ 终端优先 (TUI),为重度终端用户提供极致体验。

✅ 终端优先 (TUI),功能强大,但对非终端用户有门槛。

❌ 图形界面 (GUI),基于 VS Code,体验偏向传统 IDE。

✅ 图形界面 (GUI),生态成熟,但对纯终端用户不够友好。

❌ 图形界面 (GUI),体验偏向 AI 原生 IDE。

工作流集成

✅ 深度集成 GitHub/GitLab,支持在 PR/Issue 中调用。

✅ 支持 CLI 和脚本,适合工程化集成。

✅ 深度集成 IDE,适合个人开发。

✅ 深度集成 IDE,适合个人开发。

✅ 深度集成 IDE,适合个人开发。

隐私与安全

✅ 隐私优先,支持完全本地部署,代码不离开内网。

⚠️ 云端服务,代码需发送至 Anthropic 服务器。

⚠️ 云端服务,代码需发送至 OpenAI 服务器。

⚠️ 云端服务,代码需发送至 OpenAI 服务器。

⚠️ 云端服务,代码需发送至智谱 AI 服务器。

适合人群

🏢 企业、注重隐私的团队、重度终端用户、开源爱好者

🏢 Anthropic 生态用户、愿意付费的企业

👨‍💻 个人开发者、VS Code 重度用户

👨‍💻 个人开发者、VS Code 重度用户

👨‍💻 个人开发者、偏好国产模型用户


🚀 如何快速上手?

OpenCode 支持 macOS / Windows / Linux 多平台安装。

通用一键安装脚本这是最简单的方法:

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

安装完成后,你应该能通过命令行运行:

opencode --version

如果输出类似 1.1.19 这种的版本号信息表示安装成功。

包管理器安装

macOS / Linux

brew install opencode

或者:

npm install -g opencode-ai

Windows

choco install opencode

或者:

scoop bucket add extras scoop install extras/opencode

Arch Linux

paru -S opencode-bin

OpenCode 是在终端运行的,我们可以使用默认系统自带的终端,也可以使用一些好用的现代化的终端工具:

  • WezTerm, 跨平台

  • Alacritty, 跨平台

  • Ghostty, Linux 与 macOS

  • Kitty, Linux 与 macOS

桌面应用

OpenCode 也提供桌面端应用,可直接从 发布页面 或 opencode.ai/download 下载。

系统平台

下载安装包

macOS(苹果芯片)

opencode-desktop-darwin-aarch64.dmg

macOS(英特尔芯片)

opencode-desktop-darwin-x64.dmg

Windows

opencode-desktop-windows-x64.exe

Linux

.deb、.rpm 或 AppImage 格式


启动与使用

启动 OpenCode 只需要终端输入启动命令:

opencode

首次启动会引导完成基础配置:

  • 模型选择:

    默认展示可用模型列表,可直接选择标注 Free 的免费模型(如 MiniMax M2.1、GLM-4.7),无需 API Key 即可使用。

  • 登录选项:

    可选择跳过登录,后续需对接商业模型时再配置 API Key,也可登录 Claude Code Pro 账号调用专属模型。

启动成功后进入 TUI 界面,即可开始使用核心功能。

我们可以在终端输入 /models 查看可用的免费模型:

图片

弹出的查看,右边有 Free 字样的就是免费的:

图片

配置 API 密钥与模型

如果你连接一个 AI 提供商的 API 密钥,例如 OpenAI 或 Anthropic Claude,运行:

opencode auth login

或者在终端启动后输入:

/connect

选择模型。按照提示登录并粘贴你的 API Key。

图片

你也可以使用 Zen 模型集合(由 OpenCode 官方推荐、经过测试的高质量模型),省去自己管理多个外部账户的麻烦。

如果不想用了,可以使用以下命令退出:

/exit

基本使用

启动 OpenCode

进入你想处理的项目目录:

cd /path/to/your/project opencode

例如,我们创建目录 opencode-runoob-test:

mkdir opencode-runoob-test cd opencode-runoob-test

然后执行命令:

opencode

如果有权限问题,可以使用:

sudo opencode

这会打开 OpenCode 的终端交互界面(TUI)。

项目初始化

在 OpenCode 界面中,运行:

/init

图片

这会生成一个 .opencode/ 文件夹,用于存储项目的向量化索引和自定义指令。

它会扫描当前目录的代码结构,并生成一个用于记录项目信息的 AGENTS.md 文件。

图片

opencode-runoob-test 目录下可以看到 AGENTS.md 文件:

图片

然后我们使用自然语言描述你的需求来发起任务:

在当前目录下创建一个登录页面

接下来大模型就会开始思考,并创建登录页面:

图片

生成的文件:

图片

提问解释代码

你可以直接用自然语言向 OpenCode 询问代码库细节:

文件 @index.html 包含哪些功能

其中 @ 用来引用项目里的文件路径。

图片

日常交互

  • 直接提问:例如 "解释 src/main.ts 中的认证逻辑"。

  • 添加功能:描述需求,如 "添加用户注册 API,支持邮箱验证"。

  • 切换模式:按 Tab 键切换 Plan/Build 模式(Plan 更安全,用于规划)。

  • 撤销变更:/undo

  • 重做:/redo

  • 分享会话:/share

交互模式(脚本化):

opencode -p "修复 login 函数中的 bug"

内置工具介绍

OpenCode 的 AI Agent 通过以下工具操作代码库(可在 opencode.json 中控制权限:allow/deny/ask):

  • bash

    :执行 shell 命令(如 git statusnpm test)。

  • write/edit/patch

    :创建/修改/打补丁文件。

  • read

    :读取文件内容(支持行范围)。

  • grep/glob/list

    :搜索和列出文件(尊重 .gitignore)。

  • webfetch

    :抓取网页内容(查文档)。

  • lsp

    (实验性):代码跳转、悬停提示等。

  • question

    :向你提问确认。

  • todo

    :维护任务清单。

自定义工具和 MCP(Model Context Protocol)服务器支持扩展(如连接数据库)。

高级用法

  • 自定义命令

    :在 ~/.config/opencode/commands/ 创建 Markdown 文件,如 prime-context.md,内容为预加载指令。

  • 主题与按键

    :在设置中自定义外观和快捷键。

  • 多会话

    :同时开启多个 Agent 处理不同任务。

  • IDE 集成

    :目前支持 VS Code 扩展(搜索 OpenCode extension),或通过客户端/服务器架构远程控制。

  • 权限控制

    :在配置文件中为工具设置 ask 以手动确认敏感操作。

创建一个简单的 Node.js API

  1. 新建目录:mkdir my-api && cd my-api

  2. 初始化:npm init -y

  3. 启动 OpenCode:opencode

  4. 输入 /init

  5. 提问:创建一个 Express.js 服务,支持 /hello 路由返回 JSON { message: 'Hello World' },并添加 README。


oh-my-opencode

oh-my-opencode 是一个为 OpenCode(设计的强大插件/扩展层。它将单个 AI 代理升级为一个多智能体协作团队,提供开箱即用的高级功能。

GitHub 仓库:https://github.com/code-yeongyu/oh-my-opencode

核心亮点包括:

  • Sisyphus

     主智能体:负责持续执行复杂任务,直至完成。

  • 支持并行运行专业子智能体(如 Oracle 预言者、Librarian 文档专家、Frontend Engineer 前端工程师、Explore 探索者等)。

  • 内置 LSP/AST 工具(代码重构)、MCP(模型调用插件,如搜索、文档检索)、钩子系统(25+ 种事件触发)。

  • 多模型调度:自动分配任务给最适合的模型(例如 Gemini 处理前端、Claude 处理规划)。

  • 关键词触发完整自动化(如 ultrawork 或 ulw),支持后台任务、Todo 强制执行、上下文注入等。

  • 完全兼容 Claude Code 工作流,强调高性能、自动化和可定制性。

安装

推荐让 OpenCode 自动完成安装,复制以下提示并粘贴到你的 OpenCode 对话框:

按照以下说明安装和配置 oh-my-opencode:https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.md

安装后,默认开箱即用,无需额外配置即可体验大部分功能。

基本触发

在 OpenCode 的提示词中加入关键词 ultrawork(或简写 ulw),例如:

ultrawork:请帮我实现一个React组件,支持暗黑模式。

这会激活完整模式:Sisyphus 主智能体接管,自动分配子任务给专业代理,并行执行(后台映射代码库、深度探索、自动重构等),直至任务 100% 完成。


OpenCode TUI 常用 Slash 命令速查表

OpenCode 的 Slash 命令(以 / 开头)主要在终端用户界面(TUI)中使用,用于快速控制会话、配置和操作。

核心配置与初始化

命令

描述

别名/快捷键

/connect

添加或配置 LLM 提供商(API Key)

/init

创建或更新项目 AGENTS.md 文件(分析代码库)

Ctrl+X I
/models

列出可用模型并切换

Ctrl+X M
会话管理

命令

描述

别名/快捷键

/new

开始新会话(清除当前)

/clear

 / Ctrl+X N

/sessions

列出并切换会话

/resume

 / /continue / Ctrl+X L

/share

分享当前会话(生成链接)

Ctrl+X S
/unshare

取消分享当前会话

/compact

压缩/总结当前会话

/summarize

 / Ctrl+X C

编辑与撤销

命令

描述

别名/快捷键

/undo

撤销最后操作(需 Git 仓库,支持文件变更回滚)

Ctrl+X U
/redo

重做已撤销的操作(需 Git 仓库)

Ctrl+X R
视图与辅助

命令

描述

别名/快捷键

/details

切换工具执行详情显示

Ctrl+X D
/thinking

切换思考/推理过程可见性

/theme

列出并切换主题

Ctrl+X T
/help

显示帮助对话框

Ctrl+X H
/editor

使用外部编辑器撰写消息

Ctrl+X E
/export

导出当前对话为 Markdown 并打开编辑

Ctrl+X X
退出

命令

描述

别名/快捷键

/exit

退出 OpenCode

/quit

 / /q / Ctrl+X Q

注意

  • 这些命令在 TUI 聊天界面中直接输入 / + 命令名即可触发(会弹出自动补全)。

  • /undo

     和 /redo 需要项目是 Git 仓库才能回滚文件变更。

  • 你可以创建自定义 Slash 命令(放在 ~/.config/opencode/commands/ 或项目目录下),它们会覆盖内置命令。

  • 更多详情见官方文档:https://opencode.ai/docs/tui


OpenCode CLI 常用参数速查表

OpenCode 的命令行接口(CLI)主要用于启动 TUI(终端界面)、非交互模式运行提示,或设置基本选项。默认运行 opencode 会直接启动交互式 TUI。

以下是常用全局参数(flags):

参数

简称

描述

示例

--help -h

显示帮助信息(列出所有可用参数)

opencode --help
--debug -d

启用调试模式(输出更多日志,便于排查问题)

opencode -d
--cwd -c

指定当前工作目录(启动时切换到该路径)

opencode -c /path/to/your/project
--prompt -p

非交互模式:直接运行单个提示并输出响应(适合脚本/自动化)

opencode -p "修复这个 bug"
--output-format -f

非交互模式下的输出格式(text 或 json,默认 text)

opencode -p "解释代码" -f json
--quiet -q

非交互模式下隐藏加载动画(spinner)

opencode -p "生成 README" -q

基本用法示例

  • 启动交互式 TUI

    opencode

  • 带调试启动

    opencode -d

  • 指定项目目录启动

    opencode -c ~/my-app

  • 非交互单次提示

    opencode -p "添加一个登录接口" -f json

注意

  • 这些参数是全局的,可组合使用。

  • 非交互模式(-p)特别适合 CI/CD、脚本或快速查询,不进入 TUI。

  • 更多高级配置(如模型选择)通常通过环境变量或配置文件 ~/.opencode.json 处理,而非 CLI 参数。

  • 运行 opencode --help 可查看最新完整列表(推荐,因为工具可能更新)。


🎯 总结

如果你符合以下任一情况,强烈建议你尝试 OpenCode:

是重度终端用户,希望在命令行中完成所有开发工作。

对代码隐私和厂商锁定非常敏感,希望拥有完全可控的工具。

希望自由选择和切换不同的大模型,以平衡成本和效果。

正在寻找一个能真正融入项目级工作流(如 GitHub)的 AI 编程助手。

当然,OpenCode 也有一些权衡,例如对纯 GUI 用户有学习门槛,生态成熟度不及 VS Code 等。但它“开源 + 终端优先 + 模型自由 + 可自托管”的组合拳,无疑为 AI 编程领域提供了一个极具吸引力的新选择。内部来自三丰 soft张三丰 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐