Claude Code vs Opencode 模块划分与对比分析
2026/4/27大约 2 分钟
Claude Code vs Opencode 模块划分与对比分析
参考架构图
基于 <https://www.waylandz.com/diagrams/claude-code-architecture.html> 的 Claude Code 架构图,我们将对比分析拆分为以下核心模块:
模块划分
1. Query Loop (查询循环层)
- 定义: 对话核心循环,处理用户输入 → API 调用 → Tool 执行 → 结果回填的完整流程
- Claude Code:
QueryEngine.ts,query.ts,System Prompt组装 - Opencode: 对应的 session processor, LLM 调用层
2. Tool Runtime (工具运行时)
- 定义: 工具注册、调度、执行、权限控制的完整子系统
- Claude Code:
tools.ts,toolOrchestration.ts,toolExecution.ts,StreamingToolExecutor - Opencode:
tool/registry.ts,tool/tool.ts, 各工具实现
3. Permission & Security (权限与安全)
- 定义: 权限模式、规则引擎、竞争解析、安全边界
- Claude Code:
PermissionMode(default/plan/auto/bypass), 4路竞争解析, Bash Classifier - Opencode:
permission/index.ts,permission/evaluate.ts
4. Context & State Management (上下文与状态管理)
- 定义: 上下文压缩、会话状态、持久化
- Claude Code: 5层压缩 (snip/micro/collapse/auto/reactivePTL), sessionStorage, compact boundary
- Opencode:
session/compaction.ts,session/summary.ts, storage 层
5. Agent/Subagent System (代理子系统)
- 定义: 子代理、任务协调、团队协作
- Claude Code:
AgentTool,Task,SendMessageTool, worktree/remote 隔离 - Opencode:
acp/agent.ts,acp/session.ts
6. Extension System (扩展系统)
- 定义: MCP、Skills、Plugins、Commands 的注册与调度
- Claude Code: MCP Client (stdio/SSE/HTTP/WS), Skills, Plugins, 80+ built-in commands
- Opencode: skill 系统, MCP 相关模块
7. UI/REPL Layer (UI 层)
- 定义: 交互式终端 UI、Headless、Remote Control
- Claude Code: React/Ink, Interactive REPL, Headless (
--print/stream-json), Remote/CCR - Opencode: CLI UI 层, 可能是其他框架
8. Persistence & State (持久化层)
- 定义: 会话生命周期、本地存储、分析
- Claude Code:
~/.claude/,bootstrap/state.ts,AppStateStore, analytics/OTel - Opencode:
storage/,project/,account/模块
分析文档清单
| # | 模块 | 文档名 |
|---|---|---|
| 1 | 模块划分与概述 | 00-modules.md |
| 2 | Query Loop 对比 | 01-query-loop.md |
| 3 | Tool Runtime 对比 | 02-tool-runtime.md |
| 4 | Permission & Security 对比 | 03-permission.md |
| 5 | Context & State 对比 | 04-context-state.md |
| 6 | Agent System 对比 | 05-agent-system.md |
| 7 | Extension System 对比 | 06-extension-system.md |
| 8 | UI/REPL Layer 对比 | 07-ui-repl.md |
| 9 | 综合对比总结 | 08-summary.md |
数据来源
- Claude Code:
/Users/util6/fork-code/claude-code-rev/(源码重构版本 v2.1.88) - Opencode:
/Users/util6/fork-code/opencode/(monorepo 结构) - 架构图: <https://www.waylandz.com/diagrams/claude-code-architecture.html>
更新日志
- 2025-04-02: 初始创建模块划分文档