OpenCode src 目录完全指南
什么是 OpenCode?
终端 AI 编程助手 OpenCode 的定位与核心特性
OpenCode 客户端消息流有序输出
OpenCode UI 是如何保证流式消息顺序的
OpenCode 配置与 1M 上下文模型
用 OpenCode 接入超长上下文模型的完整配置
OpenCode 文件引用与 Shell 调用
OpenCode 中 @file、!shell 两种核心引用语法
OpenCode 常用命令速查
日常开发最高频的 OpenCode CLI 命令合集
OpenCode Sub-Agent 跳转
用 Leader Key 在 Sub-Agent 间快速切换的技巧
OpenCode/ClaudeCode/Codex 的 Skills 目录兼容
三套主流 Agent 工具的 Skills 目录结构对比
本文档为终端 AI 工具开发新手准备 ,用生动的比喻和实例帮你理解 OpenCode 整个
src目录的架构与代码组织。
什么是 OpenCode?
OpenCode 是一个终端 AI 编程助手。想象你有一个聪明的程序员朋友,ta 可以:
- 阅读你的代码(Read 工具)
- 帮你写代码(Edit/Write 工具)
- 运行命令(Bash 工具)
- 搜索文件(Glob/Grep 工具)
- 回答编程问题
而 OpenCode 就是在终端里实现这一切的程序。和 Claude Code 相比,OpenCode 的特别之处在于完全开源、Provider 无关、入口丰富,是非常好的学习 Agent Harness 工程的样本。
核心概念速览(先懂这些再看代码)
1. Session(会话)—— 你和 AI 的一次对话
用户: "帮我写一个排序函数"
↓
AI: "好的,我来写..."(调用 Write 工具)
↓
用户: "改成从大到小排序"
↓
AI: "好的,我修改一下..."(调用 Edit 工具)
这整个对话过程就是一个 Session。Session 会记住:
- 你说过的话(消息历史)
- AI 用过的工具(工具调用记录)
- 文件的改动(快照和补丁)
2. Tool(工具)—— AI 的"手"
AI 模型本身只能"思考"和"说话",但不能真正操作你的电脑。工具就是 AI 的"手":
| 工具名 | 做什么 | 现实比喻 |
|---|---|---|
read | 读取文件内容 | 打开文件看一眼 |
write | 创建新文件 | 新建一个文档 |
edit | 修改文件 | 用橡皮擦掉一部分,写上新内容 |
bash | 运行命令 | 在终端里敲命令 |
glob | 搜索文件名 | 在文件夹里找 *.js 文件 |
grep | 搜索文件内容 | 全文搜索"TODO" |
3. Provider(提供者)—— AI 大脑的来源
OpenCode 可以连接不同的 AI 模型,比如:
- Anthropic Claude:Anthropic 公司的模型
- OpenAI GPT:OpenAI 公司的模型
- Google Gemini:Google 公司的模型
每个 Provider 就像不同品牌的"大脑",你可以选择用哪个。
4. Agent(代理)—— AI 的"人设"
Agent 定义了 AI 的行为模式:
- build:写代码模式,可以读写文件
- plan:规划模式,只规划不执行
- explore:探索模式,快速浏览代码库
就像同一个人可以是"认真工作"或"头脑风暴"不同状态。