OpenCode 内部模块深入分析

本目录包含对 packages/opencode/src 内部关键子模块的深入分析。

模块索引

核心业务模块

模块描述文档
agentAgent 定义 - 内置和自定义 Agent 配置详情
permission权限系统 - 工具执行前的用户授权机制详情
snapshot快照系统 - 基于 Git 的文件变更追踪和回滚详情
skill技能系统 - 可复用的指令模板加载详情
share分享功能 - 会话的云端同步和分享链接详情
pty终端模拟器 - 伪终端管理和 WebSocket 连接详情

架构基础模块

模块描述文档
bus事件总线 - 发布/订阅解耦通信详情
config配置系统 - 多层级配置加载和合并详情
project项目上下文 - 项目识别和实例状态隔离详情

辅助基础设施

模块类别包含模块文档
工具集合file, global, id, env, flag, format, shell, auth, bun, installation, ide, command, patch详情

模块关系图


模块深度统计

模块源码行数复杂度阅读优先级
agent~250⭐⭐⭐⭐⭐
config~1100⭐⭐⭐⭐
permission~210⭐⭐⭐⭐
bus~100⭐⭐⭐
snapshot~200⭐⭐⭐
project~80⭐⭐⭐
pty~230⭐⭐⭐
skill~125⭐⭐
share~90⭐⭐
utilities各~50-200

推荐阅读顺序

  1. 理解架构基础: projectbusconfig
  2. 掌握 Agent 系统: agentpermissionskill
  3. 了解状态管理: snapshotshare
  4. 探索 I/O 系统: ptyutilities