夜雨聆风学习资料网

ARTICLE · 1089901

写代码卡壳还要切窗口查资料?把这个 AI 助手塞进终端试试

写代码卡壳还要切窗口查资料?把这个 AI 助手塞进终端试试

今天聊一个已经"退休"、但依然值得翻一翻的项目:OpenCode。

不知道你有没有这种体验:正缩在终端里写代码,突然一个报错看不懂,或者想不起某个 API 怎么用。这时候传统做法,要么是 Alt+Tab 切到浏览器搜一下,要么是开个 IDE 把 AI 插件调出来——总之都得"离开"终端这个舒服的小天地。

我前阵子翻到一个项目,思路挺对我胃口:直接把 AI 编程助手做进终端里。它就是 OpenCode。下面我把这玩意儿到底是什么、能干啥、怎么装、值不值得用,按我自己的试用和理解聊一遍。

一句话说清它是什么

OpenCode 是一个跑在终端里的 AI 编程代理。你可以理解成:把"会聊天的 AI"和"能帮你读文件、跑命令的机器人"一起塞进了一个命令行窗口里。

它有个学名,叫 TUI[终端用户界面(Terminal User Interface):用字符和颜色在黑框框里画出像图形界面一样的窗口、菜单,让你不用鼠标也能"点来点去"]。打个比方——普通命令行像老式收音机(只能拧旋钮听),TUI 像带屏幕的智能音箱:还是那个黑框,但能显示窗口、列表、对话气泡,交互舒服多了。

谁做的,现在还活着吗

项目方叫 opencode-ai,前后有 27 位贡献者一起搞。我特意去 GitHub 看了一眼状态——这个项目在 2025 年 9 月 18 日归档(archived)了,也就是变成只读状态,不再更新。

"归档"对咱们普通用户意味着啥?说人话就是:代码还能下、还能自己改,但官方不会再修 Bug、加新功能,也不会回 Issue 了。所以本文更适合当学习资料或者平替方案的参考;真要上生产环境,得自己接盘维护,或者看活跃的同类项目。

几个关键数字(看个大概)

项目
情况
GitHub Stars
10.6k+(归档前一直在涨)
Forks
965+
最新版本
v0.0.55(2025 年 6 月发布)
开源协议
MIT(随便用、随便改)
主要入口
GitHub(没有独立官网)
当前状态
已归档(2025-09-18)

这些数字是我写稿时项目方披露 / 社区统计的,归档后基本不会再变。别拿它和活跃项目比热度。

它到底能帮你干点啥

我把核心能力拆开说,挑实用的讲。

1. 终端里直接问 AI,不用切出去

这是它最大的卖点。你在终端里敲问题,它当场回你——理解代码、解释报错、补一段函数都行。对我这种"终端待惯了不想动"的人来说,少了切窗口的打断,思路不容易断。

2. 一个入口,接多家大模型

[大模型(LLM):就是 ChatGPT、Claude 那种能对话、能写代码的 AI 底座]

OpenCode 把不同家的模型统一到一个接口后面。你能在配置里同时挂:

  • OpenAI(GPT-3.5 / GPT-4)
  • Anthropic 的 Claude
  • 自己本地跑的模型(兼容 OpenAI 接口就行)

好处是:今天想用 GPT 就用 GPT,明天想换 Claude,换一行配置的事,不用换工具。

3. 它手里有"工具",真能改你代码

光聊天没意思,OpenCode 内置了几把"刷子":

  • READ
    :读文件
  • WRITE
    :写文件
  • RUN
    :跑命令
  • SEARCH
    :搜代码
  • DIAGNOSTICS
    :代码诊断(靠后面说的 LSP)

也就是说,你让它"帮我看下这个报错",它可能真的去读你的文件、跑一下编译、再把修改写回去——不是只动嘴。

4. MCP:给 AI 接外挂的标准插座

[MCP(Model Context Protocol,模型上下文协议):可以理解为"AI 的 USB 接口"——插上不同的服务器,AI 就能用上数据库、浏览器、云服务等外部能力]

OpenCode 支持两种接法:stdio(本地进程间通信)和 SSE(走网络)。配置长这样:

{  "mcpServers": {    "example": {      "type": "stdio",      "command": "path/to/mcp-server",      "env": [],      "args": []    },    "web-example": {      "type": "sse",      "url": "https://example.com/mcp",      "headers": {        "Authorization": "Bearer token"      }    }  }}

打个比方:MCP 就像你给助手配了个工具箱,想让它查数据库就插"数据库插头",想让它发消息就插"消息插头",标准统一,换着用。

5. LSP:让 AI 也看得懂你的语言报错

[LSP(Language Server Protocol,语言服务器协议):一套让编辑器"读懂"各种编程语言的机制,负责报错提示、补全、跳转定义等]

OpenCode 内置了 LSP 客户端,支持 Go(gopls)、TypeScript 等。它能把代码里的实时错误喂给 AI,让建议更准。配置示例:

{  "lsp": {    "go": {      "disabled": false,      "command": "gopls"    },    "typescript": {      "disabled": false,      "command": "typescript-language-server",      "args": ["--stdio"]    }  }}

目前它主要把"诊断信息"暴露给 AI,补全、跳转那些还没全用上,算个基础版。

6. 自定义命令:把常用操作存成"快捷键"

这个我挺喜欢。你可以写一些 Markdown 小文件,把常用操作固化成命令,按 Ctrl+K 就能调。分两种:

  • 用户级
    (user: 前缀):放在 ~/.config/opencode/commands/,全局能用
  • 项目级
    (project: 前缀):放在项目里的 .opencode/commands/,只在该项目生效

比如我常要拉某个 Issue 的上下文,就可以写个命令:

# 文件:~/.config/opencode/commands/fetch-issue.md# 拉取 Issue $ISSUE_NUMBER 的上下文RUN gh issue view $ISSUE_NUMBER --json title,body,commentsRUN git grep --author="$AUTHOR_NAME" -n .

里面的 $ISSUE_NUMBER、$AUTHOR_NAME 是占位符,运行时它会弹出来问你填啥。相当于给自己写了个"一键脚本"。

7. 会话记忆 & 实验性 Copilot 支持

它会维护对话上下文,还能压缩长会话、写项目记忆文件(OpenCode.md),下次开聊接着上次的理解走。另外还有个实验性的 GitHub Copilot 接入,能借 GitHub CLI 走 Copilot Chat——不过既然项目归档了,这块就当彩蛋看吧。

怎么装上手(代码都给你留着)

安装

# 官方推荐:一键安装脚本curl-fsSL https://raw.githubusercontent.com/opencode-ai/opencode/main/install |bash# 或者从源码编译(得先装好 Go)git clone https://github.com/opencode-ai/opencode.gitcd opencodego build -o opencode

跑起来

# 直接在终端启动opencode

进去之后就是 TUI 界面:输入问题 → AI 分析并回话 → 它调用内置工具(READ/WRITE/RUN 等)→ 你看代码改动。全程键盘操作,不用鼠标。

配模型

在 ~/.config/opencode/opencode.json 里写:

{"providers":{"openai":{"apiKey":"your-openai-api-key"},"claude":{"apiKey":"your-claude-api-key"}},"agents":{"coder":{"model":"gpt-4","reasoningEffort":"high"}}}

记得把 your-openai-api-key 换成你自己的 key。想用本地模型也行,设个环境变量指向本地端点即可。

内部大概怎么搭的(不深抠,看个结构)

我翻了下源码结构,它走的是模块化路线,层次挺清楚:

cmd/          → 命令行入口(用 Cobra 框架)internal/app  → 核心逻辑编排config        → 配置session       → 会话管理internal/llm  → 大模型接入(OpenAI / Claude / 本地)mcp / lsp     → 两个协议客户端internal/tui  → 终端界面

打个比方:它像个分层的小公司——cmd 是前台接待,app 是主管,llm/mcp/lsp 是三个外包团队各有各的活,tui 是给老板(你)看的仪表盘。

和 Claude Code、Cursor 比,差在哪

很多人拿它当 Claude Code 的平替[平替:平价 / 免费替代方案]。我整理了一张对比,尽量客观——毕竟它已经归档了,这点得标红。

对比项
OpenCode
Claude Code
GitHub Copilot
Cursor
终端原生
⭐⭐⭐⭐⭐ 纯终端
⭐⭐⭐⭐⭐ 纯终端
⭐ 要 IDE
⭐⭐ 要 IDE
TUI 体验
⭐⭐⭐⭐⭐ 现代化
⭐ 无
⭐ 无
⭐⭐ IDE 内
多模型
⭐⭐⭐⭐⭐ 统一接口
⭐⭐⭐⭐ 多种
⭐⭐ 仅 Copilot
⭐⭐⭐ 多种
协议支持
⭐⭐⭐⭐⭐ MCP+LSP
⭐⭐⭐⭐ MCP
⭐⭐ 有限
⭐⭐⭐ 部分
自定义命令
⭐⭐⭐⭐⭐ 完整
⭐⭐⭐⭐ 支持
⭐ 无
⭐⭐ 有限
项目状态
⚠️ 已归档
✅ 活跃
✅ 活跃
✅ 活跃

我的看法:如果你就是想在终端里有个能调多模型、能接 MCP/LSP、还能自定义命令的轻量助手,OpenCode 的思路确实对味。但它已归档这条是硬伤——要长期用,得自己 fork 维护,或者转去用活跃的同类。

适合谁,不适合谁

适合:

  • 终端重度用户,懒得切窗口
  • 想了解"终端 AI 助手"怎么实现的开发者(源码值得读)
  • 需要参考 TUI 设计、协议集成写法的人
  • 想自己 fork 折腾的玩家

不太适合:

  • 想要长期稳定、有人维护的生产工具(它停更了)
  • 不想碰配置的纯小白(模型 key、协议配置还是得动手)
  • 已经用惯 Cursor / Copilot 且满意的人(没必要换)

写在最后

OpenCode 不是什么"颠覆行业"的神器,它就是个把 AI 编程助手塞进终端的干净实现。归档归归档,它把"终端原生 + 多模型 + MCP/LSP + 自定义命令"这套组合拳演示得很完整,当学习样本完全够格。

要是哪天你想自己搞个类似的终端 AI 工具,这个项目从架构到配置文件都是现成的参考。代码在 GitHub 上,MIT 协议,随便看、随便改。

相关学习资料