> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# OpenCode：智能体界的Linux
- URL: https://www.hubwiz.com/blog/opencode-the-linux-of-agents/
- Published: 2026-05-05T14:21:49.000Z
- Updated: 2026-10-13T16:06:12.000Z
- Description: 让我解释一下我所说的"代理工具"是什么意思，为什么OpenCode配得上"AI代理界的Linux"这个称号，以及为什么如果你关心隐私、灵活性，或者只是不想被锁定在另一个生态系统中，这件事很重要。
- Author: admin
- Tags: AGENT, OPENCODE, #Import 2026-10-14 14:41

我在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](https://opencode.ai/?ref=hubwiz.com)。第一次有人提到它时，我想，又一个AI编码工具？算了吧。

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

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

然后我偶然看到一篇博客文章提到了[OpenCode的](https://opencode.ai/docs/agents/?ref=hubwiz.com) [**AGENTS.md**](https://opencode.ai/docs/agents/?ref=hubwiz.com)功能。前提很简单：你在项目根目录放一个文件，AI就会像读手册一样读取它。不用再重复自己。不用再把上下文窗口浪费在设置说明上。

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

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

[OpenCode](https://opencode.ai/?ref=hubwiz.com)则不同。

## 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](https://www.hubwiz.com/blog/content/images/2026/05/1-KBKvXcXTBGd70n2LvwJ2VQ.png)

### 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%编码时间](https://medium.com/artificial-intel-ligence-playground/that-blinking-cursor-just-saved-your-favorite-old-and-blurry-photo-baa5043d36f6?ref=hubwiz.com)花的地方。这是构建脚本运行的地方，git操作发生的地方，真正工作完成的地方。拥有一个在那里与我会面的AI代理——而不是强迫我使用GUI——感觉很自然。

> **👉 提示**

有一个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](https://www.hubwiz.com/blog/content/images/2026/05/1-Hx3XDB7eNpcJSRhZ1ICdAg.png)

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

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

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

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

## 6、值得了解的类似工具

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

- [**Aider**](https://aider.chat/?ref=hubwiz.com)：Git原生CLI代理，擅长版本控制集成
- [**Cline**](https://cline.bot/?ref=hubwiz.com)：基于终端，支持10+提供商，专注于成本管理
- [**Continue.dev**](https://www.continue.dev/?ref=hubwiz.com)：面向开源LLM的IDE扩展，专注于自动补全
- [**OpenHands**](https://openhands.dev/?ref=hubwiz.com)：前身是OpenDevin，可以自主修复GitHub问题
- [**Agno**](https://github.com/agno-agi/agno?ref=hubwiz.com)：轻量级、极简主义，避免LangChain的臃肿

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

![None](https://www.hubwiz.com/blog/content/images/2026/05/1-AqDq3aeILTsw06sh95MrZA.png)

## 7、入门指南（轮到你了）

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

![None](https://www.hubwiz.com/blog/content/images/2026/05/0-dJfB2CXYJ8Il-mSk.png)

opencode自带的3个免费模型

> **llama.cpp**

### 7.1 基础设置（Windows）

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

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

```

***你可以在这里阅读更多关于*** [***Chocolatey的信息***](https://medium.com/ai-advances/chocolatey-for-python-ai-enthusiasts-how-to-turn-windows-into-your-in-house-developer-3d05c30bcdd2?ref=hubwiz.com)

> **👉 提示：Git Bash**

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

创建一个根文件夹（例如，`C:\My-project`），然后打开代理之王：opencode。

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

![None](https://www.hubwiz.com/blog/content/images/2026/05/0-H9eAWASV5320XhbX.png)

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

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

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

> ***👉***

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上运行一个微小的量化模型。当你有更好的硬件时运行一个更大的模型。根据你正在做的工作在它们之间切换。**你**来决定，而不是订阅层级。

> **👉 提示**

## 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](https://medium.com/artificial-intel-ligence-playground/opencode-is-the-linux-of-agents-and-thats-the-entire-point-05ec2194ff9e?ref=hubwiz.com)

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

> **这是「Agent / MCP」专题的一部分。**完整地图见：[Agent / MCP / 自动化完全指南](https://www.hubwiz.com/blog/agent-stack/)