
上一篇讲了为什么我从 Cursor 切到 openCode很多读者留言说装完了但不知道该怎么用。问题出在认知上——openCode 不是另一个 ChatGPT也不是另一个 Cursor。它是一个终端 Agent有自己的一套运作逻辑。不理解这套逻辑就上手大概率会经历装完 → 不知道怎么用 → 放着吃灰的老路。这篇文章把五个核心概念拆开讲清楚10 分钟建立正确认知再上手事半功倍。概念一Agent 工作模式——你是审查者不是操作者openCode 的工作方式和多数 AI 工具不同你给目标它自己规划、执行、验证你负责审查和拍板。这个循环是这样运转的你描述一个任务比如给这个 Python 项目加上类型注解openCode 不急着回复而是先分析——哪些文件需要改、改之前需要读哪些依赖、改完要不要跑类型检查。分析完后它调用工具执行用 Glob 定位文件、用 Read 读代码、用 Edit 改文件、用 Bash 跑 mypy 做检查。如果检查报错它分析原因、修正代码、再跑一次直到通过或你叫停。这和 ChatGPT、Cursor 的本质区别ChatGPT 给你建议你手动去操作。Cursor 在编辑器里帮你补全和小范围修改。openCode 是企业级的 Agent——它能从分析到执行到验证形成闭环你只需要确认每一步的变更对不对。对你的要求任务描述要具体。不要写帮我优化这个项目openCode 不知道你想优化性能、可读性还是结构。写把这个模块里超过 50 行的函数拆成小函数每个不超过 30 行保持接口不变——越具体Agent 的自主执行就越准确。概念二模型切换——openCode 最大的自由度openCode 不像 Cursor 锁死模型也不像 Claude Code 只能用 Claude 系列。你可以切换任何兼容的模型——这是开源带来的自由度。支持的模型类型Claude 系列通过 Anthropic API——代码理解和多文件重构最强GPT 系列通过 OpenAI API——通用编程和文档生成表现均衡DeepSeek 等国产模型通过兼容 API——中文场景有优势且成本低Ollama 本地模型——完全离线零 API 费用适合敏感项目切换方式修改配置文件中的 provider 和 model 字段或者在对话中用/model命令切换。不同的任务可以用不同的模型——写代码用 Claude Sonnet写文档用 GPT做本地敏感项目用 Ollama。这个灵活性是闭源工具给不了的。成本控制你用你自己的 API Key费用透明。本地模型零成本DeepSeek 等国产模型 API 费用远低于 Claude。openCode 本身不赚你的 API 费用——所有模型调用直接走你的 Key。概念三工具调用——openCode 的手脚openCode 不是靠理解代码 生成建议来完成任务的。它靠的是一套内置工具每个工具对应一种操作能力Bash在终端里执行命令。这是 openCode 最硬的能力——它能安装依赖、运行测试、启动服务、操作 Git而不只是建议你运行什么命令。Edit精确替换文件中的字符串。不是生成一段代码让你复制粘贴而是直接在源文件上做精确替换你看到 diff 后确认就生效。Read读取文件内容。通常是最先调用的工具——理解当前代码后再决定改什么。Glob按文件名匹配模式搜索。**/*.py找所有 Python 文件tests/**/*.py找测试目录。Grep按内容正则搜索。查找函数引用、变量使用位置、配置项定义。WebFetch / WebSearch联网搜索或抓取网页补充外部信息。理解这些工具的意义当 openCode 说让我先用 Grep 搜一下这个函数的调用链再用 Read 读调用的上下文你听懂它在干什么才能判断方向对不对。openCode 的操作日志是透明的——每一步做了什么都看得清清楚楚。概念四上下文管理——决定输出质量的关键openCode 的能力上限由模型和上下文窗口共同决定。上下文窗口就是它一次能看到多少信息。模型上下文窗口取决于你选的模型——Claude 的 200K、GPT 的 128K、本地模型的差异更大。但能装下不等于该全装进去。上下文越接近上限质量越低模型对细节的注意力会下降距离越远的信息被遗忘的概率越高。精准投喂 全量塞入。openCode 不会自动加载你的整个项目它按需加载——你提到的文件、搜索到的文件、相关的依赖才会被加入上下文。这是好事避免无关代码干扰。AGENTS.md 是上下文管理的关键在项目根目录放一个 AGENTS.md 文件写上项目背景、技术栈、目录结构、编码规范、常用的命令。openCode 每次启动都会自动读这份文件作为基础上下文。这相当于给 openCode 一份项目说明书免去每次都重复介绍项目背景。日常上下文管理习惯任务描述里指明关键文件路径减少 openCode 自己搜索的成本一次对话聚焦一个功能模块不要跨模块大包大揽对话太长了就用/compact压缩上下文释放空间概念五工作目录与权限——安全的第一道防线工作目录就是你的安全边界。你在哪个目录启动 openCode它的文件操作和搜索范围就以哪个目录为根。在项目根目录启动 → 能看到整个项目。在子目录启动 → 只能看到这个子目录。在用户根目录启动 → 范围太大不安全也不精准。权限控制的默认逻辑Read、Glob、Grep自动执行不需要你确认不影响代码Edit展示 diff你确认后才写入Bash默认需要你批准才执行这是最小权限原则的产品实现——读文件随便改文件要你过目执行命令要你点头。不希望每一次都点确认的话可以在配置中调整为信任模式和限定路径。安全红线不要在工作目录下放敏感配置文件Key、密码、证书openCode 能读到不要以 root 或管理员权限运行 openCode本地模型Ollama完全离线敏感项目最佳选择五个概念串成一个流程用一次真实的开发任务走一遍你在项目根目录cd ~/my-project启动 openCode工作目录正确openCode 自动读取根目录的 AGENTS.md了解这是一个 FastAPI SQLAlchemy 项目上下文初始化你输入任务“给 api/users.py 的所有接口函数加上参数校验和统一错误处理”Agent 目标明确openCode 用 Glob 定位文件用 Read 读取当前代码用 Grep 搜索所有调用处工具调用分析完成后展示修改计划你确认它用 Edit 逐文件修改每次展示 diff权限确认改完自动用 Bash 跑pytest tests/test_users.py报错了一个测试用例工具调用它分析报错原因——有一个接口的参数格式变了——自动修正代码再跑测试通过Agent 闭环整个过程你只做了一件事描述需求和确认 diff。剩下的 6 步 openCode 自主完成。总结五个概念三句话总结Agent 模式 工具调用让你从写代码的人变成审查代码的人模型切换 上下文管理让你在不同任务上用最合适的大脑喂最精准的材料工作目录 权限控制是安全的底线起对了、配好了就免去 80% 的麻烦下一篇装 openCode你现在知道了每一步配置在干什么——不是照教程输命令而是理解你在构建一个 Agent 的工作环境。如果这篇文章帮你建立了正确的心智模型欢迎分享给也在学 openCode 的朋友。你第一次用 Agent 的时候最困惑的是哪个概念评论区聊聊~