用 OpenCode 理解陌生代码库:3 个实用命令让你快速上手任何项目

简介: OpenCode 三大核心命令:@explore(快速读懂陌生项目,只读不改)、/plan(生成安全修改方案,禁写文件)、/build(执行改动)。推荐流程:先探索→再规划→最后构建,大幅提升理解效率与代码质量。

先问一个问题
你接过多少个别人写的项目?

我指的是那种——没有文档、没有注释、连 README 都只有一行“TODO”的项目。打开文件夹,里面几十上百个文件,目录结构五花八门,命名风格各成一派。你想改一个功能,但不知道入口在哪;你想修一个 Bug,但不知道数据从哪来、往哪去。

传统做法是什么?grep 搜关键字,翻文件,画调用关系图,折腾半天还没开始写代码。

OpenCode 能帮上忙。但很多人装完之后只会用一种用法:把需求丢进去,让它直接改代码。这当然能干活,但如果你想先看懂一个陌生项目再动手,有几个命令比你想象中好用得多。

下面说三个。

命令一:@explore —— 项目讲解员
这是你面对陌生代码库第一个该敲的东西。

@explore 是 OpenCode 内置的一个子代理(subagent) ,定位非常明确:只读、快速、探索代码库。它不会改任何文件,不会执行任何有副作用的操作,唯一做的事情就是读代码、搜代码、回答你对代码库的问题。

用法很简单。在 OpenCode 的 TUI 里直接输入:

@explore 这个项目的入口文件在哪?
@explore 找出所有和数据库交互的代码
@explore 梳理一下这个项目的目录结构
@explore 这个认证逻辑是怎么串起来的?
它会自动调用 grep、glob、read 这些工具去翻你的代码库,然后给你一个带文件路径和行号的回答。

跟直接问有什么区别?直接问默认走的是 @general 代理,它什么都能干但什么都不是最擅长。@explore 是专门为“看懂已有项目”设计的,它的工作方式就是搜索 + 读取 + 总结,不会跑偏去给你写代码或者改文件。

什么时候用 @explore:

刚拿到一个陌生项目,想知道它大概是干什么的
想找一个功能在哪实现,但不知道关键字怎么搜
想理清模块之间的调用关系
任何“我只想知道,不想改动”的场景
记住一句话:看不懂代码的时候,先 @explore,别直接 @general 或者 /build。

命令二:/plan —— 先想清楚再动手
@explore 帮你搞清楚了“项目现在是什么样”。下一步是“如果要改,应该怎么改”。

这时候用 /plan。

/plan 是 OpenCode 的主代理(primary agent) 之一,和默认的 Build 平级。你按 Tab 可以在 Build 和 Plan 之间切换。

Plan 模式和 Build 模式的核心差异只有一条:Plan 不修改任何文件,Build 会修改文件。

Plan 模式禁用了所有写操作——edit 不调,write 不调,有文件写入风险的 bash 命令也被限制。它只做三件事:读相关代码、分析依赖关系、输出实施方案。

用法:

/plan 我想给这个模块加一个缓存层,你先出一个方案
/plan 重构这个函数的逻辑,告诉我改哪些文件、怎么改
/plan 把这个项目的日志从 console.log 换成 winston,列一下改动范围
Plan 模式会给你一份自然语言的实施计划:涉及哪些文件、每一步改什么、有没有风险点。你看了方案觉得不对,可以调整;觉得没问题,再切到 Build 模式执行。

为什么推荐先 /plan 再动手?根据社区数据,复杂重构任务采用“先 Plan 后 Build”的策略,代码一次性通过率能提升大约 40%。说白了就是:让 AI 先把方案拿出来给你看,你确认了再让它干,比让它直接干然后你返工要快得多。

什么时候用 /plan:

需求涉及多个文件、多个模块
你不确定改动会波及哪些地方
你想先看看 AI 的理解对不对,再让它动手
任何“改动范围超过 3 个文件”的事情
小改动(改个配置、修个错别字)直接 Build 就行。大改动先 Plan。

命令三:/build —— 动手干活
这个你可能已经用过了。/build 是 OpenCode 的默认主代理,拥有所有工具的完整权限——读、写、编辑、删文件、跑命令,全都能做。

但这里要说的不是怎么用 /build,而是什么时候用。

很多人打开 OpenCode 就直接输入需求,默认走的就是 Build 模式。这在两种情况下没问题:

改动范围很小,改一行配置、修一个错别字
你已经完全理解了这个项目,知道 AI 要改什么、改哪里
但在陌生代码库上,直接 /build 的风险在于:AI 可能理解错你的意图,改了你不想改的地方,或者漏掉了关键依赖。

正确的打开方式是把三个命令串起来:

第一步:@explore 看懂项目第二步:/plan 确认方案第三步:/build 执行改动

一个完整的工作流示例
假设你刚接手一个 Express + MongoDB 的项目,需要给用户模块加一个“软删除”功能。

第一步,@explore:

@explore 这个项目的用户模块在哪里?现有的删除逻辑是怎么实现的?
OpenCode 会搜出来 src/models/user.js、src/routes/user.js、src/controllers/user.js,告诉你删除接口调的是 User.findByIdAndDelete。

第二步,/plan:

/plan 我要把用户删除改成软删除,加一个 deletedAt 字段,查询的时候默认过滤掉已删除的用户。出个方案。
Plan 模式会分析现有代码,告诉你需要改 Model 定义、改 Controller 里的删除逻辑、改查询方法、可能需要加一个索引。方案列得清清楚楚。

第三步,审完方案没问题,切到 Build:

/build 按刚才的方案执行
OpenCode 开始改文件、跑测试。你在旁边看着,有问题随时中断。

几个实用技巧

  1. Tab 键切换主代理

在 TUI 里按 Tab 可以在 Build 和 Plan 之间切换。不用每次都敲 /plan 或 /build,按一下 Tab 就行。

  1. 子代理可以嵌套调用

你可以在任何对话里用 @ 提及子代理。比如在 Build 模式下突然想查个东西,直接 @explore xxx,不用切换模式。

  1. 不确定先用哪个?

问自己一个问题:我想知道,还是我想改?

想知道就用 @explore,想改但不确定怎么改就用 /plan,确定要改就直接 /build。

  1. 把 AGENTS.md 用起来

OpenCode 支持在项目根目录放一个 AGENTS.md 文件,用来固化仓库的规则和上下文。第一次用 @explore 梳理完项目之后,可以把关键信息写进 AGENTS.md,下次再让 OpenCode 干活的时候它自动就有了项目背景,不用每次都重新解释一遍。

总结
三个命令,一张表说清楚:

命令
类型
能改文件吗
什么时候用
@explore
子代理

看不懂项目,想梳理结构、搜代码
/plan
主代理

想改东西,但先要个方案看看
/build
主代理

方案确认了,直接动手干
核心就一句话:陌生代码库,先 Explore 后 Plan 再 Build。别上来就 Build。

这跟写代码的习惯是一样的——需求来了先理解上下文,再设计方案,最后才动手编码。只不过现在这些事可以让 OpenCode 帮你做一部分,你只需要在关键节点上做判断。

下次拿到一个陌生项目,不妨试试这个流程。比你硬啃代码快得多。

推荐学习
把指令、脚本和资源打包成一个标准化的“技能包”。一次教会,终身受用;换个平台,照样生效。

课程内容:

彻底搞懂 Skill、Prompt、MCP 三者的本质区别,从此不再概念混淆
掌握“按需加载”机制,让 AI 只读取当前任务需要的上下文,Token 省着花
手把手封装你的第一个个人专属 AI 技能,现场跑通
进阶用法:用脚本和条件触发,让 AI 自动执行复杂工作流,不再只能“查资料”
掌握开放标准,一次打包,Claude、Cursor 等多平台无缝复用

相关文章
|
3月前
|
人工智能 前端开发 IDE
OpenCode 快速上手:10 分钟在终端里体验 AI 编程助手
本文深度解析OpenCode——GitHub星标超17万的开源AI编程智能体。从现象(AI编码工具爆发与厂商锁定困局)、本质(开发者对模型中立的集体选择),到核心机制(Plan/Build双阶段、主-子Agent协同、75+模型无缝切换),结合实测案例与工程启示,揭示其如何以开放架构重塑AI编程范式。
|
29天前
|
人工智能 IDE 开发工具
OpenCode怎么用?OpenCode从下载到上手图文教程(保姆级,巨详细)
OpenCode 是一款免费开源的终端优先 AI 编程助手,支持命令行、桌面端和 IDE 三端运行。模型中立,兼容 75+ 大模型(含 DeepSeek、Ollama 本地模型),代码与数据默认本地存储,隐私安全。
|
前端开发 Android开发
Electron 中 webview 如何与主进程渲染进程进行事件监听通信
Electron 中 webview 如何与主进程渲染进程进行事件监听通信
|
3月前
|
人工智能 运维 Shell
还在手动敲命令?OpenCode CLI 这 10+ 实用命令让你的开发效率起飞
熟练使用 CLI 命令是高效驾驭 OpenCode 的基础。本文系统讲解 OpenCode CLI 基础命令、核心功能、TUI 自定义命令、快捷键配置及环境变量,帮助开发者全面掌握 OpenCode 使用方法。
1479 1
|
2月前
|
人工智能 缓存 JavaScript
保姆级教程:OpenCode 14 个社区插件 + 6 个实战案例,建议收藏,手把手带你打造最强 AI 编码环境
OpenCode 插件使用保姆级教程:14 个社区插件 + 6 个实战案例,从加载规则到开发实战,手把手带你打造最强 AI 编码环境。建议收藏!
1353 10
|
3月前
|
人工智能 JavaScript 测试技术
从零开始:OpenCode AI 编程助手完整配置指南
本文详解OpenCode——一款终端优先、模型中立、本地优先的AI编程Agent。它不止补全代码,而是理解项目、规划任务、执行修改、生成测试,真正“替你写完代码”。涵盖安装配置、国内模型适配、Plan/Build双模式实战及不同角色提效路径。
|
设计模式 人工智能 缓存
2025架构革命:一文深度揭秘AI四维进化(MoE/GraphRAG/智能体/HyDE)
本文深入解析大模型核心技术与实践原理,涵盖MCP、RAG、Agent、微调等关键技术,结合架构演进与实战技巧,助你构建高性能AI系统,建议点赞收藏。
1833 6
|
10月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
60738 11
|
并行计算 PyTorch 算法框架/工具
Triton入门教程:安装与编写和运行简单Triton内核
Triton是一款开源GPU编程语言与编译器,专为AI和深度学习领域设计,提供高性能GPU代码开发的高效途径。它支持通过Python编写自定义GPU内核,性能接近专家级CUDA代码,但无需掌握底层CUDA知识。本文全面介绍了Triton的核心功能、安装方法、基础应用、高级优化策略,以及与CUDA和PyTorch的技术对比。此外,还探讨了其在实际项目中的应用场景,如加速Transformer模型训练和实现高效的量化计算内核。Triton简化了GPU编程流程,降低了开发门槛,同时保持高性能表现,成为连接高级框架与底层硬件的重要工具。
2169 3
Triton入门教程:安装与编写和运行简单Triton内核