OpenCode 有哪些独特之处?TUI 为什么获得很多 AI 工具的青睐?
2026年,AI 编程工具已经百花齐放:Cursor 估值近 30 亿美元,Claude Code 横空出世,Windsurf 被 AI 巨头收购……但在这样的背景下,一个开源的终端工具反而获得了 10万+ Stars,成为无数开发者的「第二编辑器」。这篇文章给你真正的答案。

📋 目录
- 一、有了 Cursor 和 Claude Code,为什么 OpenCode 反而更火了?
- 二、OpenCode 入门:15 分钟快速上手
- 三、TUI 为什么成了 AI 工具的「香饽饽」?
- 四、总结:为什么你应该试试 OpenCode?
一、有了 Cursor 和 Claude Code,为什么 OpenCode 反而更火了?
1.1 三个时代的演进
让我先讲一个故事。
第一代:Copilot 时代(2021-2023) 你写代码,AI 给你补全。副驾驶永远是副驾驶方向盘还在你手里。
第二代:Cursor 时代(2023-2025) 对话式编程,AI 从副驾驶变成了协驾。你可以问它「这段代码什么意思」,它可以直接帮你改。但本质上,它还是一个 GUI 桌面应用——你需要下载、安装、打开一个 Electron 应用。
第三代:OpenCode 时代(2025-2026) AI 变成了司机,你只需要告诉它目的地。它在终端里运行,你可以去喝杯咖啡,回来代码已经写好了。
这不仅仅是工具的升级,而是人机协作范式的根本转变。
1.2 OpenCode 火的真谛:不被绑架
首先,也是最重要的:开源。
Cursor 估值近 30 亿美元,但它不开源。你不知道它用了什么模型,不知道它把你的代码送到了哪里,不知道下次更新会不会开始收费。
Claude Code 很强大,但它只支持 Claude 模型。当你需要用 DeepSeek 的低价、Moonshot 的中文优化、或者 Gemini 的多模态时——对不起,不支持。
OpenCode 的逻辑完全不同:
我不是任何一个模型商的分销商,我是连接你和所有模型的「中立通道」。
75+ 模型提供商,任意切换。这才是真正的「模型自由」。
1.3 开发者要的不是「好用」,是「掌控感」
我接触过很多开发者,他们选择 OpenCode 的理由惊人的一致:
「我不想把我的代码交给任何一家公司。」
这不是因为他们不信任 OpenAI 或 Anthropic,而是因为:
- 数据主权:代码是程序员的「孩子」,不想让它住在别人的服务器上
- 供应商锁定:今天用 Cursor,明天它涨价,你怎么办?
- 定制自由:我想加自己的 prompt、自己的规则、自己写的 MCP 插件
OpenCode 满足了这三点。它可以完全自托管,你的代码永远在你的服务器上。
1.4 TUI 才是效率的真谛
如果你仔细观察,会发现一个有趣的现象:
- OpenCode:终端 TUI
- Claude Code:终端 TUI
- 许多 AI Agent:都在拥抱 TUI
这不仅仅是「复古」或「极客范」。TUI 有它不可替代的价值,我会在第三部分详细分析。
1.5 总结:OpenCode 做对了什么
| 维度 | Cursor | Claude Code | OpenCode |
|---|---|---|---|
| 开源 | ❌ | ❌ | ✅ 100% |
| 模型范围 | 5 家主流 | 仅 Claude | 75+ 任意 |
| LSP 开箱即用 | ✅ | ❌ 需手动配 | ✅ 25+ 语言 |
| 多会话并行 | ❌ | ✅ | ✅ |
| 内置 Agent | ✅ | ✅ | ✅ Build/Plan/Explore/General |
核心差异详解:
LSP(Language Server Protocol):语言服务器协议,让 AI 能「看懂」你的代码。
- OpenCode:开箱即用支持 25+ 种语言(Python、JavaScript、Go、Rust、TypeScript 等)
- Cursor:需要额外配置
- Claude Code:不支持,需手动配置
多会话(Multi-session):同时运行多个 AI 任务。
- OpenCode:支持多会话并行
- Claude Code:支持
- Cursor:仅支持单一会话
四大内置 Agent:
- Build:默认模式,全功能写代码
- Plan:只分析不动手,适合看方案
- Explore:快速探索代码库,只读模式
- General:多步骤复杂任务
OpenCode 成功的本质:它不是在做「更好的 Cursor」,而是在做「开发者真正需要的工具」。
二、OpenCode 入门:15 分钟快速上手
这部分讲实战跟着做,15 分钟内你就能用 OpenCode 写代码。
2.1 安装
前置条件:
- 一台电脑(Mac/Linux/Windows WSL)
- 一个终端(推荐 WezTerm,iTerm2 也行)
- 一个 API Key(后面会教你怎么获取免费的)
一键安装:
curl -fsSL https://opencode.ai/install | bash或者:
npm install -g opencode-ai验证安装:
opencode --version2.2 第一次启动:连接模型
opencode你会看到这样的界面:
╭────────────────────────────────────────────────────╮
│ __ __ _ _ │
│ \ \ / / | | | | │
│ \ \ /\ / / | | ___ _ _ _ __ _ _ ___| |_│
│ \ \/ \/ / | | / __| | | | '__| | | |/ __| __││
│ \ /\ / | || (__| |_| | | | |_| | __| |_│
│ \/ \/ |_| \___|\__,_|_| \__,_|\___|\__││
│ OpenCode 1.x │
╰────────────────────────────────────────────────────╯
Connect to a model to get started.
> /connect输入 /connect,选择你要用的模型。
新手推荐:
| 模型 | 特点 | 获取方式 |
|---|---|---|
| Zen(推荐) | OpenCode 官方模型,免费额度 | opencode.ai/auth 注册 |
| MiniMax M2.5 | 性价比高,中文好 | platform.minimaxi.com |
| DeepSeek V3 | 便宜,能力强 | deepseek.com 获取 |
💡 技巧:Zen 是 OpenCode 自带的优化模型,新手首选,完全免费。
2.3 初始化项目
进入你的项目目录:
cd your-project
opencode初始化:
/initOpenCode 会自动分析你的项目结构,生成 AGENTS.md——这是它的「记忆文件」,记录了项目的技术栈、架构、注意事项。
2.4 第一次写代码
假设你要创建一个新功能,直接告诉它:
帮我写一个 Python 函数,计算斐波那契数列OpenCode 会:
- 分析需求
- 展示代码方案(diff 形式)
- 等待你确认
确认方式:
a= 接受(apply)r= 拒绝(reject)Tab= 切换 Plan/Build 模式
2.5 两种模式
| 模式 | 作用 | 场景 |
|---|---|---|
| Build | 写代码、执行命令 | 要实际修改 |
| Plan | 只分析、不动手 | 想先看看方案 |
用 Tab 切换。
2.6 常用命令一览
| 命令 | 功能 |
|---|---|
/init | 初始化项目,自动分析代码结构 |
/build | 进入 Build 模式(默认) |
/plan | 进入 Plan 模式(只分析不动手) |
/connect | 连接或切换模型提供商 |
/models | 查看可用模型列表 |
/undo | 撤销上一次修改 |
/redo | 重做修改 |
/share | 生成分享链接 |
/theme | 切换主题 |
@explore | 快速探索代码库(子 Agent) |
@general | 调用通用子 Agent 处理复杂任务 |
进阶技巧:
- 用
Tab键可以在 Build/Plan 模式间切换 - 用
@explore可以快速搜索代码,不用担心误改 - 用
/share生成分享链接,团队成员可直接查看对话
2.7 进阶:配置自己的模型
OpenCode 基于 AI SDK 和 Models.dev,支持 75+ 模型提供商!
如果你想用其他模型:
opencode
/models选择 Add custom provider,然后填入:
- 模型名称(如
deepseek-chat) - API 地址(如
https://api.deepseek.com) - API Key
新手推荐模型:
| 模型 | 特点 | 获取方式 |
|---|---|---|
| Zen(推荐) | OpenCode 官方优化,免费额度 | opencode.ai/auth |
| DeepSeek V3 | 便宜,能力强 | deepseek.com |
| MiniMax M2.5 | 性价比高,中文好 | platform.minimaxi.com |
| Claude Sonnet 4.6 | 推理强,综合最强 | anthropic.com |
支持的模型商(部分):
| 提供商 | 代表模型 | 特点 |
|---|---|---|
| OpenAI | GPT 5.3 Codex | 最新旗舰 |
| Anthropic | Claude Opus 4.6 | 推理最强 |
| Gemini 3.1 Pro | 多模态领先 | |
| DeepSeek | DeepSeek V3 | 性价比之王 |
| Moonshot | Kimi K2.5 | 长文本 |
| MiniMax | M2.5 | 性价比高 |
| 智谱 | GLM 5 | 国内领先 |
| 阿里 | Qwen3 Coder 480B | 开源 coder |
| Azure OpenAI | GPT 5 | 企业级 |
| AWS Bedrock | Claude Sonnet 4.6 | 企业级 |
💡 企业用户:OpenCode 支持 AWS Bedrock 和 Azure,企业内网也能用!
2.8 特色功能:开箱即用的 LSP
OpenCode 最强大的特色之一:LSP 开箱即用。
LSP(Language Server Protocol) 是微软提出的语言服务器协议,让编辑器/IDE 能「理解」代码——代码补全、跳转、诊断、重构。
OpenCode 内置支持 25+ 种语言的 LSP 服务器:
| 语言 | LSP 服务器 | 自动安装 |
|---|---|---|
| Python | pyright | ✅ |
| JavaScript/TypeScript | typescript | ✅ |
| Go | gopls | ✅ |
| Rust | rust-analyzer | ✅ |
| C/C++ | clangd | ✅ |
| Java | jdtls | 需 JDK 21+ |
| Ruby | ruby-lsp | ✅ |
| PHP | intelephense | ✅ |
| Vue | vue-language-server | ✅ |
| Svelte | svelte-language-server | ✅ |
| Astro | astro-language-server | ✅ |
| Dart | dart-language-server | ✅ |
| ... | ... | ... |
你不需要任何配置!OpenCode 会根据项目文件自动检测并启动对应的 LSP。
对比一下:
- OpenCode:打开项目 → 自动检测语言 → 自动启动 LSP → 立即享受代码智能
- Claude Code:需要手动配置 LSP,写错一个字都不行
三、TUI 为什么成了 AI 工具的「香饽饽」?
3.1 什么是 TUI?
TUI = Terminal User Interface(终端用户界面)
与之对应的是 GUI = Graphical User Interface(图形用户界面)。
你每天用的 VS Code、Cursor、Figma 都是 GUI。但 TUI 是这样的:
╭────────────────────────────────────────────────────╮
│ OpenCode [_][□][X] │
╰────────────────────────────────────────────────────╯
│ 🤖 Model: Zen [Tab]│
├────────────────────────────────────────────────────┤
│ │
│ > 帮我写一个快速排序函数 │
│ │
│ ═══════════════════════════════════════════════ │
│ │
│ def quick_sort(arr): │
│ if len(arr) <= 1: │
│ return arr │
│ ... │
│ │
│ [a] 接受 [r] 拒绝 [e] 编辑 │
╰────────────────────────────────────────────────────╯没有按钮、没有下拉菜单、没有拖拽——一切都是键盘。
3.2 为什么 AI 工具都爱 TUI?
TUI 的核心优势:
| 优势 | 说明 |
|---|---|
| 轻量高效 | 占用 10MB 内存,启动 < 1 秒 |
| 远程友好 | SSH 隧道即可访问,无需图形环境 |
| 自动化友好 | 可用脚本调用,完美集成 CI/CD |
| 键盘流效率 | 100% 键盘操作,思维不中断 |
| 跨平台 | 终端 everywhere,服务器/容器/手机都能跑 |
TUI 的短板:
| 短板 | 说明 |
|---|---|
| 学习曲线 | 需要记忆快捷键,不如鼠标直观 |
| 视觉丰富度 | 没有炫酷的动画和拖拽效果 |
| 协作困难 | 代码审查时不如 GUI 直观 |
为什么 AI 工具都选 TUI?
原因一:轻量到极致**
一个 GUI 应用(Electron):
- 占用 500MB+ 内存
- 启动需要 3-5 秒
- 需要完整的图形栈
一个 TUI 应用:
- 占用 10MB 内存
- 启动 < 1 秒
- 只需要终端
在服务器上、在 Docker 容器里、在树莓派上——TUI 都能跑。GUI 呢?抱歉,没有图形环境。
原因二:一切皆可编程
GUI 是给人用的,TUI 是给「自动化」用的。
# TUI 可以这样玩:
opencode --prompt "修复这个 bug" --auto-approve
# 但 Cursor 能这样吗?
cursor --cli "修复这个 bug"抱歉,Cursor 没有 CLI。
这意味着:
- 你可以用 cron 定时让 AI 写代码
- 你可以写脚本批量处理任务
- 你可以把 AI 集成到你的 CI/CD 流程
原因三:远程友好
这是最被低估的一点。
假设你在海南度假,酒店 Wi-Fi 很慢,但你的 VPS 服务器网络很好:
- Cursor:需要远程桌面/RDP,画面卡死
- TUI:SSH 隧道,文本传输,流畅如本地
再假设你在用 iPad:
- Cursor:不支持 iPad
- TUI:支持任何 SSH 客户端(Termius、Prompt)
原因四:键盘流才是真效率
我做过一个实验:写一个相同的功能,用 Cursor 和用 OpenCode。
结果:
- Cursor:鼠标操作 40% + 键盘 60%
- OpenCode:键盘 100%
不要小看这 40% 的鼠标操作——它打断你的思维流。当你完全用键盘时,你的思考是连续的。
3.3 TUI vs GUI vs APP:全面对比
| 维度 | TUI | GUI (Web/Desktop) | App (iOS/Android) |
|---|---|---|---|
| 资源占用 | 极低(10MB) | 高(500MB+) | 中(100MB+) |
| 启动速度 | < 1 秒 | 3-10 秒 | 2-5 秒 |
| 远程使用 | ✅ SSH 完美 | ⚠️ 需要内网穿透 | ❌ 难 |
| 自动化 | ✅ 脚本友好 | ⚠️ 需要 API | ❌ 难 |
| 学习曲线 | 较高 | 低 | 中 |
| 视觉体验 | 朴素 | 丰富 | 丰富 |
| 多任务 | 分屏/wm | 多窗口 | 多任务 |
| 适合场景 | 开发/运维 | 设计/创作 | 移动办公 |
3.4 OpenCode 的 TUI 用什么技术做的?
OpenCode 的 TUI 基于 OpenTUI 构建。
为什么选择 OpenTUI?
| 特性 | 说明 |
|---|---|
| 原生 Zig 核心 | 高性能、低延迟 |
| TypeScript 绑定 | 现代化开发体验 |
| 组件化架构 | 灵活布局能力 |
| 跨平台 | Windows、Mac支持 |
| 、Linux 完美键盘优先 | 原生支持快捷键、焦点管理 |
| AI 原生 | 专为 AI 编程工具设计 |
// OpenTUI 示例 - 组件化架构
import { App, View, Text, Button } from '@opentui/core'
const app = new App({
root: View({
children: [
Text('Hello OpenCode!'),
Button({ label: 'Submit', onPress: () => {} })
]
})
})TUI 框架对比:
| 框架 | 语言 | 特点 | 代表项目 |
|---|---|---|---|
| OpenTUI | Zig + TypeScript | AI 原生、高性能 | OpenCode |
| Textual | Python | 声明式、React 风格 | - |
| Ratatui | Rust | 高性能 | - |
| ncurses | C | 经典、老派 | htop |
四、总结:为什么你应该试试 OpenCode?
4.1 谁适合 OpenCode?
| 适合 | 不适合 |
|---|---|
| 想掌控自己代码的人 | 只想省事的小白 |
| 需要多模型切换的人 | 不想学终端的 |
| 追求效率的键盘侠 | 离不开鼠标的 |
| 企业/隐私敏感 | 抗拒开源的 |
4.2 行动指南
- 今天:花 15 分钟安装 OpenCode,连上 Zen 模型
- 这周:用 OpenCode 完成一个小功能
- 下一步:深入了解 OpenCode 的高级功能