OpenCode:智能体界的Linux

让我解释一下我所说的"代理工具"是什么意思,为什么OpenCode配得上"AI代理界的Linux"这个称号,以及为什么如果你关心隐私、灵活性,或者只是不想被锁定在另一个生态系统中,这件事很重要。

OpenCode:智能体界的Linux
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI模型价格对比 | AI工具导航 | ONNX模型库 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

我在AI编码工具领域待了足够久,早就看透了这个模式。每隔几个月,就会有一个新的"革命性"工具带着炫酷的演示和付费墙冒出来。

Claude Code在这里,Cursor在那里,Copilot无处不在。不知怎么的,我们都应该对这些公司正在"让AI民主化"心怀感激。

说实话:我们就是这场名为生成式AI的大型实验中的小白鼠,大科技公司发布了他们自己都不知道用途的花哨工具。然后他们只是告诉我们……

向我们展示你能做什么!

他们需要我们来证明这些工具的价值。

基本上,负担已经被外包了……外包给你!我们所有人都被征召为产品测试员。

没人问过你是否想要这份工作。但突然之间,弄清楚如何让AI在你的生活中发挥作用变成了你的责任。人们期望你:

  • 把你的提示词重写五遍,直到AI"理解"为止。
  • 手动核实它说的每一句话(因为,惊喜,它像睡眠不足的诗人一样胡说八道)。
  • 把三个不同的AI工具拼凑在一起,只为了完成一个简单的任务。

这不是创新。这简直就是令人精疲力尽

没人告诉我们的是,我们实际上并不掌控局面。 这些工具中的每一个都决定了你可以使用哪个模型、你的代码存放在哪里、以及AI对你的项目记住了什么。你租的是一个挂着漂亮窗帘的笼子。

这就是为什么当我发现OpenCode时,我差点从椅子上跳起来。不是因为它完美(它并不完美),而是因为它代表了自第一个AI编码助手推出以来我一直在渴望的东西:所有权。

让我解释一下我所说的"代理工具"是什么意思,为什么OpenCode配得上"AI代理界的Linux"这个称号,以及为什么如果你关心隐私、灵活性,或者只是不想被锁定在另一个生态系统中,这件事很重要。

TL;DR

  • 代理工具将AI模型连接到实际工作(文件访问、终端、内存)
  • OpenCode是一个开源工具,支持75+提供商,本地优先的隐私保护,以及AGENTS.md系统
  • 它是免费的,在你的终端中运行,让你的代码留在你自己的机器上
  • 开箱即用自带3个免费模型
  • 权衡:比封闭工具有更多的设置工作,但拥有完全的所有权
  • 如果你关心隐私、灵活性,或者只是不想再订阅另一个服务……这就是前进的方向

1、改变一切的那一刻

说实话:我一开始并没有立刻"理解"OpenCode。第一次有人提到它时,我想,又一个AI编码工具?算了吧。

我当时正沉浸在我的Claude Code研究阶段。买了订阅,装了VS Code扩展,整套流程。它运行得很好。但有一个我一直无法解决的困扰:

每次我开始一个新项目,我都得重新解释我的整个技术栈。LLM对我的约定、文件结构、我对某些模式的奇怪偏好一无所知。更糟糕的是:如果我停止付费,所有这些"学习"都会消失。嗖的一下就没了。

然后我偶然看到一篇博客文章提到了OpenCode的 AGENTS.md功能。前提很简单:你在项目根目录放一个文件,AI就会像读手册一样读取它。不用再重复自己。不用再把上下文窗口浪费在设置说明上。

等等,我想。这应该是理所当然的。为什么不是每个人都这么做?

那时我意识到了——大多数工具不想让你拥有自己的上下文。他们想让你依赖他们的云服务。

OpenCode则不同。

2、那么"代理工具"到底是什么?

在我们继续之前,让我们确保我们在同一频道上。你一直听到"工具"这个词被到处使用,但它实际上意味着什么?

这样想:模型(Claude、GPT-4、Llama,随便哪个)是大脑。它可以思考、推理、编写代码。但它不能自己任何事情。它不能读取你的文件。它不能运行终端命令。它不能记住五分钟前发生了什么。

工具是身体。它是给模型提供以下能力的脚手架:

  • 文件访问 — 在你需要的地方读写文件
  • 终端执行 — 运行命令、测试、构建
  • 上下文管理 — 在提示中包含什么、忽略什么
  • 记忆 — 在会话之间保持状态
  • 安全性 — 阻止它做蠢事(或恶意操作)的权限

2026年每个人都在使用的公式很简单:

代理 = 模型 + 工具

这是一个真正的转变。这意味着你不会被锁定在某一个提供商的"完整解决方案"中。你可以在保持身体不变的情况下更换大脑。你可以为了隐私运行本地模型,然后为了性能切换到API,而无需学习新工具。

OpenCode就是这些工具之一……但有一个我们稍后会谈到的独特之处。

3、为什么OpenCode赢得了"Linux"标签

关于Linux的事情是这样的:它不是最华丽的操作系统。它不是最精致的。但它无处不在运行,它让你看到引擎盖下面,没有人能告诉你能用它做什么、不能用它做什么。

OpenCode就是将这种哲学应用于AI编码代理。
😂 顺便说一下,opencode在每个操作系统上都能完美运行,这里的Linux只是一个标题

让我来分解一下原因:

3.1 提供商无关(75+模型且不断增加)

OpenCode不关心你使用哪个LLM。Claude?GPT?Gemini?通过Ollama在你自己的机器上运行的本地Llama?全部都支持。

与Claude Code(仅限Anthropic)或Copilot(仅限OpenAI/微软)不同,OpenCode将模型视为可互换的部件。你在JSON文件中配置你的提供商,或者使用Bifrost-CLI,然后就可以开始了。

对于像我这样——不断对小型模型进行基准测试、测试量化策略、突破消费级硬件极限的人来说,这就是一切。

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen2.5-coder:3b": {
          "name": "Qwen 3.5 2B Local"
        }
      }
    }
  }
}

这就是使用本地模型所需的全部。没有云依赖。没有API账单。只有你的硬件和你的代码。你的AI,你做主。

3.2 隐私设计(你的代码始终属于你)

这是OpenCode真正脱颖而出的地方。大多数AI编码工具会将你的代码上传到云端——这就是它们的工作方式。你的上下文在别人的服务器上处理。

OpenCode呢?默认零遥测。 除非你明确配置,否则你的代码永远不会离开你的机器。你可以使用本地模型完全离线运行。

对于从事专有代码、敏感项目开发的人员,或者任何重视隐私的人来说——这意义重大。我曾在NDA条款明确禁止使用基于云的AI工具的客户项目上使用过它。OpenCode + Ollama是我的救星。

None

3.3 AGENTS.md革命

还记得我说过这个功能引起了我的注意吗?让我更深入地谈谈。

AGENTS.md是你放在项目根目录的文件。它包含AI需要了解的关于你项目的一切:

  • 你使用的语言/框架
  • 你的编码约定
  • 文件结构概览
  • 特定的代理行为或约束
# AGENTS.md
## Project Context
- This is a Python FastAPI project
- We use SQLAlchemy for database operations
- Tests are in `tests/` using pytest
## Conventions
- All async functions use `async def`
- Error responses follow `ErrorResponse` schema
- Use type hints everywhere
## Agent Behavior
- Always run tests before committing
- Never modify more than 5 files in one session
- Ask before running destructive commands

第一次使用这个功能时,我差点哭了出来。五年来一直向AI助手解释我的技术栈,现在一个简单的文本文件就解决了这个问题。

而最美妙的部分是:AGENTS.md是可移植的。它只是一个markdown文件。你可以对它进行版本控制,与团队共享,按项目自定义。智能属于,而不是工具。

3.4 技能系统(按需模块化能力)

OpenCode有一个"技能"系统,可以让你在需要时加载特定功能。把它想象成插件,但更简单。

需要做git发布?有专门的技能。数据库迁移?也有专门的技能。你在SKILL.md文件中定义技能,OpenCode会动态加载它们。

这使得核心工具保持轻量,同时让你可以按任意方式扩展。只加载你需要的能力。

3.5 终端优先(开发者真正工作的地方)

OpenCode运行在终端中。不是Web界面。不是基于浏览器的IDE。命令行。

这比你想象的更重要。终端是我90%编码时间花的地方。这是构建脚本运行的地方,git操作发生的地方,真正工作完成的地方。拥有一个在那里与我会面的AI代理——而不是强迫我使用GUI——感觉很自然。

👉 提示:对于Windows操作系统用户,我强烈建议你使用Git Bash终端。代理喜欢以Linux风格运行命令,而PowerShell 80%的时间会失败!

有一个TUI(终端用户界面)用于交互式会话,以及一个CLI用于一次性命令:

opencode run "refactor this function to use async/await"

简单而快速。

4、数据不会说谎

OpenCode不是什么没人用的冷门项目。以下是当前的状况:

  • 179K+ GitHub星标(尽管原始仓库在2025年9月被归档——下面会详细说明)
  • 870位贡献者构建和维护该项目
  • 截至2026年每月650万用户
  • 桌面测试版已支持macOS、Windows和Linux

作为参考:Claude Code、Cursor和Copilot都很有名。但OpenCode的社区驱动增长在AI编码领域是史无前例的。

5、对比(因为你会问)

以下是OpenCode与主要竞争者的对比:

None

权衡之处?OpenCode在某些API调用上可能效率不高(你没有使用提供商的优化集成)。而且比Cursor这样的"魔法盒子"有更多的配置工作。

考虑到最近关于Anthropic削减其旗舰模型推理配额的抱怨,以及它不能有效使用KV缓存的情况,Claude Code正在变成一个小众产品(即使功能强大)。

但如果你关心所有权、灵活性和本地运行,选择就很明确了。

如果你使用Bifrost-CLI作为工具配置器,配合它自己的网关,障碍几乎被完全消除了。

6、值得了解的类似工具

OpenCode不是"主权代理"领域的唯一参与者。以下是其他也在为这项事业奋斗的工具:

  • Aider:Git原生CLI代理,擅长版本控制集成
  • Cline:基于终端,支持10+提供商,专注于成本管理
  • Continue.dev:面向开源LLM的IDE扩展,专注于自动补全
  • OpenHands:前身是OpenDevin,可以自主修复GitHub问题
  • Agno:轻量级、极简主义,避免LangChain的臃肿

每个都有自己的优势,但OpenCode的提供商灵活性、AGENTS.md和隐私优先设计的组合使它成为我的日常工具。

None

7、入门指南(轮到你了)

理论够多了。让我们构建你自己的主权知识库。我们将使用OpenCode作为工具,以及安装时自带的免费模型(3个)。

None

opencode自带的3个免费模型

注意:如果你想知道如何使用llama.cpp作为本地引擎来确保你的数据完全留在你的机器上,你可以阅读LLM-wiki系列文章(链接在文章末尾)。

7.1 基础设置(Windows)

在Windows上,管理AI工具最简单的方法是通过Chocolatey。以管理员权限打开PowerShell并运行:

# PowerShell
# Install OpenCode and Git
choco install opencode git -y
# Refresh your environment variables
refreshenv

你可以在这里阅读更多关于 Chocolatey的信息

👉 提示: 虽然你可以使用PowerShell,但大多数AI代理更喜欢运行类Unix命令。我强烈建议使用Git Bash(上面已安装)作为你的主要终端,以避免命令解析错误。

7.2 准备你的"数字办公室"

创建一个根文件夹(例如,C:\My-project),然后打开代理之王:opencode。

在你的项目目录中打开GIT Bash(记住我们把它叫做C:\My-project)。

None

在这里用Git Bash打开 — 图片仅供参考

进入Plan模式(TAB键)并开始询问你想构建什么,如何更好地设置文件夹和文件。

当LLM有了清晰的计划并为你提供了所有细节后,切换到Build模式(TAB键)并确认继续实施。

👉 记住:在Plan模式下,opencode不能触碰你的任何文件!

Opencode会在你的根文件夹中创建一个AGENTS.md文件。这是你的"老板"文件或标准操作流程。这个文件告诉代理如何精确处理你的项目。

8、更大的图景

真正让我兴奋的是OpenCode所代表的东西:从"模型即产品"到"工具即基础设施"的转变。

我们花了数年时间争论哪个模型"最好"。Claude vs. GPT。Sonnet vs. Opus。Qwen vs. Llama。但真正的战斗正在转移到地下,转移到实际将这些模型连接到你工作的那一层。

OpenCode理解这一点。它不是试图成为最聪明的模型。它试图成为最好的粘合剂:让任何模型为、按照你的条件工作的那一层。

这就是Linux哲学。它是如此透明,你可以用它做任何你想做的事:你掌控一切!

9、为什么这很重要

我一直对自己的情况很坦诚——49岁的我,在一台2016年的集成显卡笔记本上运行AI实验。没有GPU。没有云预算。只有决心和过多的好奇心。

多年来,AI编码工具行业假装像我这样的人不存在。每个演示都展示了基于云的解决方案在远程服务器上处理代码。许多"免费"层级需要信用卡验证或限制每日请求数。每个"本地"解决方案都要求我买不起的硬件(可能唯一值得在CPU上以速度见长的模型是qwen3.5–0.8b,但它对代理来说不太准确)。

OpenCode彻底改变了这个计算。

当我第一次在我简陋的设备上用llama.cpp服务器运行OpenCode时,我使用的是Qwen3.5–2b,有20亿参数。按行业标准来看,这是一个很小的模型——远远不及Anthropic和OpenAI等公司使用的70B+级庞然大物。但你知道吗?它运行了。

不是完美运行,也不总是运行得好(2b仍然是一个小格式)。但足以:

  • 解释我不熟悉的代码库
  • 重构我不想手动触碰的函数
  • 生成为我节省数小时的测试用例
  • 帮助我理解不熟悉的API

重点不在于小模型能替代Claude或GPT。重点在于你不需要最昂贵的选择就能保持高效。 你需要的是适合你约束条件的正确工具。

而OpenCode给了你这个选择。在CPU上运行一个微小的量化模型。当你有更好的硬件时运行一个更大的模型。根据你正在做的工作在它们之间切换。来决定,而不是订阅层级。

👉 提示:我通常使用大模型(我一直谈论的那些免费模型)来创建结构、AGENTS.md以及命令和技能。之后我切换到使用llama.cpp的本地模型

10、行业在关注(无论他们是否承认)

有趣的是:就在OpenCode获得关注的同时,大玩家们也开始注意了。

Cursor增加了更多的提供商选项。GitHub扩展了Copilot的模型选择。Anthropic开始更多地谈论"混合"部署。好像他们意识到市场正在转变。

"工具即基础设施"范式正在成为新的标准。因为这是行业内没有人愿意公开承认的真相:模型质量本身不是一个可持续的护城河。

任何人都可以(付费)通过API访问Claude。任何人都可以(付费)使用ChatGPT。差异化在于体验:模型如何连接到你的工作流程,它对你的项目了解多少,你有多少控制权。

而这正是OpenCode做对的地方。当其他所有人都在为谁拥有最聪明的模型而争斗时,OpenCode构建了模型和开发者之间最好的桥梁

11、真实案例:LLM-wiki实现

让我给你一个具体的例子,说明OpenCode如何为我节省了时间。

我用这个完全相同的设置来组织我自己的研究。我有多年散乱的关于AI量化和"灾难性遗忘"的笔记,这些笔记基本上是没用的,因为我永远无法在需要的时候找到正确的联系。

这是我对A. Karpathy的LLM-wiki项目的个人实现,正如我在之前的系列中报道的那样。

我不是简单地与模型"聊天",而是将OpenCode指向我的AGENTS.md和装满技术论文的/raw文件夹。我使用了一个自己编写的自定义命令//wiki-list来查看所有我还没处理的内容。

工作流程:

  • 我把三篇关于"KV-cache量化"的新PDF放入/raw
  • 我告诉OpenCode:"处理新文件。"
  • 代理——充当Librarian——不仅仅是总结它们。它打开了/wiki文件夹中我已有的Llama_CPP_Optimization.md,并追加了新的发现,创建了一份不断积累的知识记录。

结果: 因为我使用llama.cpp在本地运行,它在API token上花费了我零分钱,即使上下文窗口非常大。更重要的是,下次我开始一个项目时,我不需要重新"教"AI。我只需说"阅读wiki页面",它就立刻跟上进度了。

它让我从为单次会话"租用"智能转变为拥有一个不断增长的数字大脑。

12、真正有效的配置

我之前一笔带过但值得更多关注的一点:OpenCode的配置系统。它是基于JSON的、声明式的,一旦你理解了它,会出奇地强大。

👉 记住我解释过如何连接我在那台破旧MiniPC上运行的llama.cpp服务器,它只用来服务Qwen3.5–2B

这是我实际的本地开发工作配置:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3.5": {
          "name": "Qwen 3.5 2B Local"
        },
        "gemma4": {
          "name": "Gemma 4 E2B Local"
        }
      }
    }
  },
  "agent": {
    "default": "build",
    "timeout": 300000
  }
}

从我的经验中得出的几条建议:

  • 从小模型开始。 Qwen3.5–2b以其小巧的体积出奇地有能力。Gemma-4-E2B是另一个可靠的选择。
  • 使用项目级配置。 不要使用全局配置,而是在每个项目中放置.opencode/opencode.json。这让你可以按项目自定义。你甚至可以把它放在项目的根目录中!
  • 清楚地命名你的模型。 "Qwen 3.5 2B Local"比在UI中选择时记忆"qwen3.5–2b"更容易。

13、常见陷阱(让你不要掉进去)

说实话——OpenCode并不都是一帆风顺的。以下是我遇到过的问题,这样你可以避免:

13.1 首次配置的压倒感

第一次设置OpenCode时,有一个学习曲线。提供商配置、模型选择、AGENTS.md结构——这些东西叠加起来。解决方案: 从简单开始。使用默认设置。只在需要时才增加复杂性。

13.2 模型选择至关重要

并非所有模型对所有任务都同样出色。有些更擅长推理,有些更擅长代码生成。解决方案: 在你实际的工作负载上测试不同的模型。不要假设越大越好。

要与代理一起工作,你寻找的LLM必须至少具备2个特性:

  • 代理就绪 — 可以在提示中接受和输出代理调用
  • 工具就绪 — 提示模板必须能够返回工具调用

当使用llama.cpp服务器时,你需要启用jinja模板标志(--jinja),如下例所示:

.\llama-server.exe -m .\Qwen3.5-2B-Q4_K_M.gguf --jinja -c 64000 -ngl 0 -ctk q4_0 -ctv q4_0 --mmap --port 11434

13.3 上下文窗口限制

即使有了AGENTS.md,你仍然受到上下文窗口的限制。如果你的项目很庞大,你不能把所有东西都塞进去。解决方案: 对AGENTS.md中的内容要有策略性。专注于高层级的上下文,而不是逐文件的细节。

如果你使用llama.cpp,记得添加量化KV缓存的标志,以节省内存并扩展你的上下文窗口能力

.\llama-server.exe -m .\Qwen3.5-2B-Q4_K_M.gguf -c 64000 -ctk q4_0 -ctv q4_0

上面我们将KV缓存量化为q4_0格式

13.4 本地模型速度

让我们面对现实:CPU上的本地模型比云API慢得多。是显著的慢。解决方案: 这就是权衡。更低的成本,更多的隐私,更慢的速度。根据你的优先级来选择。

如果你使用llama.cpp运行本地模型,记得使用线程标志和内存映射选项

.\llama-server.exe -m .\Qwen3.5-2B-Q4_K_M.gguf -c 64000 -ngl 0 -t 4 --mmap

上面我们将线程数设置为4(记得至少留给操作系统1或2个核心)

13.5 文档缺口

OpenCode的文档已经有所改善,但在边缘情况下仍然可能不够详细。解决方案: 加入社区(Discord、GitHub讨论)。维护者和用户都很乐于助人。

14、前路展望

OpenCode并不完美。2025年原始仓库被归档令人担忧(尽管通过分叉继续开发)。桌面应用仍处于测试阶段。某些API调用的token效率可以更好。

但让我保持乐观的是:核心理念是正确的。

我们需要尊重用户所有权的开源工具。我们需要与任何模型配合的工具。我们需要不需要信用卡就能开始的AI编码助手。

OpenCode提供了所有这些。而社区:850名贡献者、650万用户,证明人们想要这个。

我不是说它会取代Claude Code或Cursor。这些工具有其正当的优势(模型质量、精致度、IDE集成)。但对于像我这样的人——痴迷于隐私的"穷GPU党"、想要控制权的折腾者——OpenCode正是我们一直在等待的。

15、结束语

我已经使用OpenCode几个月了,它从根本上改变了我的AI编码工具工作方式。本地模型 + AGENTS.md + 零遥测的组合正是我不知道自己需要的东西。

在一个小项目上试试吧。

创建你的第一个AGENTS.md。

运行一个本地模型。

感受一下重新掌控的感觉。


原文链接: OpenCode is the “Linux of Agents”: and that’s the entire point

汇智网翻译整理,转载请标明出处