站点使用方式

先从首页选择章节。当前已完成本轮指定章节和样章;配置系统保留为待补章节, 因为本轮生成顺序没有包含它。

章节列表

01. CLI / 启动入口

学习目标:理解 opencode 命令如何启动、注册子命令,并把 run/serve 等命令导向统一 runtime。

阅读难度:入门
预计阅读时间:30 分钟
对应源码模块:2.1 CLI / 启动入口

02. 用户输入与会话

学习目标:理解 CLI/API 输入如何变成 session、message 和 part,并被后续 agent loop 消费。

阅读难度:中等
预计阅读时间:35 分钟
对应源码模块:2.2 用户输入与会话

03. Agent 核心循环

学习目标:理解 OpenCode 如何在 session 内反复读取消息、选择模型和工具、调用 LLM、处理 tool call,并决定继续或结束。

阅读难度:较难
预计阅读时间:55 分钟
对应源码模块:2.3 Agent 核心循环

04. 模型 Provider / LLM 调用

学习目标:理解内部消息、system prompt、工具 schema 如何被转换成不同 provider 的模型请求。

阅读难度:较难
预计阅读时间:50 分钟
对应源码模块:2.4 模型 Provider / LLM 调用

05. Tool 调用系统

学习目标:理解 Tool 定义、注册、暴露给模型、执行、权限和结果回填的完整机制。

阅读难度:中等
预计阅读时间:45 分钟
对应源码模块:2.5 Tool 调用系统

06. 文件读写与代码修改

学习目标:理解 read/edit/write 工具如何解析路径、申请权限、修改文件、格式化并触发诊断。

阅读难度:中等
预计阅读时间:40 分钟
对应源码模块:2.6 文件读写与代码修改

07. Shell / 命令执行

学习目标:理解 shell tool 如何解析命令、识别路径和命令模式、审批并执行进程。

阅读难度:较难
预计阅读时间:45 分钟
对应源码模块:2.7 Shell / 命令执行

08. LSP / 诊断 / 上下文增强

学习目标:理解 OpenCode 如何启动 LSP client,并把 diagnostics、hover、definition 等反馈给 agent。

阅读难度:较难
预计阅读时间:45 分钟
对应源码模块:2.8 LSP / 诊断 / 上下文增强

09. 权限、审批、安全边界

学习目标:理解 allow/deny/ask ruleset 如何保护读写文件、执行命令和外部目录访问。

阅读难度:中等
预计阅读时间:40 分钟
对应源码模块:2.9 权限、审批、安全边界

10. 配置系统

学习目标:理解全局、项目、环境变量、远程和内联配置如何合并并影响 agent/provider/tool。

阅读难度:较难
预计阅读时间:45 分钟
对应源码模块:2.10 配置系统
状态:待补

11. UI / TUI / Desktop / IDE 相关

学习目标:理解 CLI/TUI、Web app、Desktop 和 VS Code extension 如何复用同一套 runtime。

阅读难度:中等到较难
预计阅读时间:35 分钟
对应源码模块:2.11 UI / TUI / Desktop / IDE 相关

12. SDK / API / 对外扩展点

学习目标:理解 HTTP API、generated SDK、plugin hooks 和扩展点如何让外部程序接入 OpenCode。

阅读难度:中等
预计阅读时间:40 分钟
对应源码模块:2.12 SDK / API / 对外扩展点

13. 测试与工程化

学习目标:理解 monorepo 构建、类型检查、测试任务和开发规范如何支撑大型 agent 项目。

阅读难度:入门
预计阅读时间:25 分钟
对应源码模块:2.13 测试与工程化

14. 从 OpenCode 反推 mini coding agent

学习目标:把 OpenCode 的 CLI、session、LLM、tool、permission 和 processor 源码反推成一个可自己实现的 mini coding agent 闭环。

阅读难度:中等
预计阅读时间:60 分钟
对应源码模块:综合实现路线

推荐学习路线

入门路线

01 CLI / 启动入口 -> 02 用户输入与会话 -> 13 测试与工程化 -> 14 mini agent。

Agent 核心路线

02 用户输入与会话 -> 03 Agent 核心循环 -> 04 模型 Provider / LLM 调用 -> 09 权限、审批、安全边界。

Tool calling 路线

03 Agent 核心循环 -> 05 Tool 调用系统 -> 06 文件读写与代码修改 -> 07 Shell / 命令执行 -> 08 LSP / 诊断。

从 0 实现 mini agent 路线

02 消息模型 -> 03 agent loop -> 05 tool interface -> 04 LLM client -> 09 permission -> 06 文件编辑 -> 14 mini agent。

站点数据

章节元数据在 data/chapters.json, 章节到源码路径的映射在 data/source-map.json, 生成进度在 data/progress.json