OpenCode 学习指南

OpenCode 是一个开源的 AI 编程助手,类似 Claude Code,但不绑定任何特定 AI 提供商。

本指南帮助你快速理解项目结构、核心模块和关键设计思路。


目录

  1. 项目概览
  2. 技术栈
  3. [Monorepo 结构](#Monorepo 结构)
  4. 核心包详解:packages/opencode
  5. [Provider 系统(多模型支持)](#Provider 系统(多模型支持))
  6. [Tool 系统(工具注册与执行)](#Tool 系统(工具注册与执行))
  7. [Session 系统(会话管理)](#Session 系统(会话管理))
  8. [Agent 系统(智能体)](#Agent 系统(智能体))
  9. [Permission 系统(权限控制)](#Permission 系统(权限控制))
  10. [TUI 终端界面](#TUI 终端界面)
  11. [Web App 与 Desktop App](#Web App 与 Desktop App)
  12. [Server 与 API](#Server 与 API)
  13. 数据库与存储
  14. 配置系统
  15. 插件与扩展
  16. 基础设施与部署
  17. 开发指南
  18. 代码风格约定
  19. 推荐学习路径

1. 项目概览

OpenCode 是一个 客户端/服务端架构 的 AI 编程工具:

复制代码
┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   TUI 终端   │    │   Web App   │    │  Desktop App │
│  (SolidJS)  │    │  (SolidJS)  │    │   (Tauri)   │
└──────┬──────┘    └──────┬──────┘    └──────┬──────┘
       │                  │                  │
       └──────────┬───────┴──────────────────┘
                  │  HTTP / WebSocket
           ┌──────▼──────┐
           │  Hono Server │
           │  (API 层)    │
           └──────┬──────┘
                  │
     ┌────────────┼────────────┐
     │            │            │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ Session │ │ Provider│ │  Tool   │
│ 管理    │ │ 多模型  │ │  系统   │
└─────────┘ └─────────┘ └─────────┘
                  │
           ┌──────▼──────┐
           │   SQLite DB  │
           │  (Drizzle)   │
           └─────────────┘

核心特点:

  • 100% 开源,不绑定任何 AI 提供商
  • 支持 20+ AI 模型提供商(Anthropic、OpenAI、Google、本地模型等)
  • 客户端/服务端分离:TUI 只是前端之一,也可用 Web/Desktop/移动端驱动
  • 内置 LSP 支持、MCP 协议支持
  • 精细的权限控制系统

2. 技术栈

类别 技术
运行时 Bun 1.3.10
语言 TypeScript 5.8
Monorepo Bun Workspaces + Turborepo
AI SDK Vercel AI SDK (ai@5.x)
Web 框架 Hono(服务端)、SolidJS(前端)
桌面框架 Tauri 2.x
数据库 SQLite + Drizzle ORM
TUI 渲染 @opentui/solid(SolidJS 的终端渲染)
代码解析 Tree-sitter
配置格式 JSONC(JSON with Comments)
函数式编程 Effect 库
Schema 验证 Zod 4.x
CSS Tailwind CSS 4.x
部署 SST + Cloudflare Workers

3. Monorepo 结构

复制代码
opencode/
├── packages/
│   ├── opencode/          ⭐ 核心引擎(CLI + Server + Agent 逻辑)
│   ├── app/               🌐 Web 前端(SolidJS + SolidStart)
│   ├── desktop/           🖥️ 桌面客户端(Tauri 封装 app)
│   ├── desktop-electron/  🖥️ 旧版 Electron 桌面端
│   ├── ui/                🎨 共享 UI 组件库(SolidJS)
│   ├── web/               📄 文档站(Astro)
│   ├── plugin/            🔌 插件 SDK(@opencode-ai/plugin)
│   ├── sdk/js/            📦 JavaScript SDK(供第三方集成)
│   ├── console/           ☁️ SaaS 控制台(后台管理)
│   │   ├── app/           - 控制台前端
│   │   ├── core/          - 控制台后端
│   │   ├── function/      - Serverless 函数
│   │   ├── mail/          - 邮件服务
│   │   └── resource/      - 资源管理
│   ├── enterprise/        🏢 企业版功能
│   ├── containers/        🐳 容器配置
│   ├── extensions/        🧩 扩展
│   ├── function/          ⚡ Serverless 函数
│   ├── identity/          🔐 身份认证服务
│   ├── storybook/         📖 组件文档
│   ├── util/              🛠️ 通用工具
│   ├── script/            📜 构建脚本
│   ├── slack/             💬 Slack 集成
│   └── web/               🌍 官网(Astro)
├── infra/                 🏗️ 基础设施定义(SST)
├── specs/                 📋 规格说明
├── sdks/                  📦 其他 SDK
├── nix/                   ❄️ Nix 构建
├── sst.config.ts          ☁️ SST 部署配置
├── turbo.json             🔄 Turborepo 配置
└── package.json           📦 根配置

包之间的依赖关系:

复制代码
desktop ──→ app ──→ ui
                ──→ sdk/js
opencode(核心)──→ plugin
              ──→ util
app ──→ sdk/js(通过 API 通信)
console ──→ sdk/js

4. 核心包详解:packages/opencode

这是整个项目的心脏,包含 AI Agent 引擎、CLI、Server、工具系统等核心逻辑。

源码目录结构

复制代码
packages/opencode/src/
├── agent/           🤖 Agent 定义与编排
├── provider/        🔗 AI 模型提供商抽象层
├── session/         💬 会话(对话)管理
├── tool/            🔧 工具系统(bash、read、edit、grep 等)
├── permission/      🔒 权限控制
├── server/          🌐 HTTP API 服务(Hono)
│   └── routes/      - API 路由定义
├── cli/             ⌨️ CLI 入口
│   └── cmd/
│       ├── tui/     - 终端 UI(SolidJS in Terminal)
│       ├── run.ts   - run 命令
│       ├── serve.ts - 启动 API Server
│       └── ...
├── config/          ⚙️ 配置加载与合并
├── storage/         💾 数据库层(SQLite + Drizzle)
│   └── migration/   - 数据库迁移
├── mcp/             🔌 Model Context Protocol
├── lsp/             📝 Language Server Protocol
├── project/         📁 项目管理
├── plugin/          🧩 插件加载
├── skill/           🎯 Skill 注册
├── command/         📋 自定义命令
├── bus/             📡 事件总线
├── auth/            🔐 OAuth 认证
├── file/            📄 文件操作
├── filesystem/      📂 文件系统工具
├── format/          🎨 输出格式化
├── global/          🌍 全局路径(XDG)
├── id/              🆔 ID 生成
├── ide/             💻 IDE 集成
├── patch/           🩹 Git patch 操作
├── pty/             🖥️ 伪终端
├── share/           📤 会话分享
├── shell/           🐚 Shell 操作
├── snapshot/        📸 会话快照
├── worktree/        🌳 Git worktree
├── env/             🌍 环境变量
├── flag/            🚩 Feature flags
├── control-plane/   🎛️ 工作区管理
├── acp/             🔄 Adaptive Control Plane
└── installation/    📦 安装管理

模块间的数据流

复制代码
用户输入
  │
  ▼
CLI/TUI ──→ Session(创建/恢复会话)
               │
               ▼
           Agent(选择 agent: build/plan)
               │
               ├──→ Provider(调用 AI 模型)
               │       │
               │       ▼
               │    AI 返回 tool_call
               │       │
               │       ▼
               ├──→ Tool(执行工具: bash/read/edit...)
               │       │
               │       ▼
               │    Permission(检查权限)
               │       │
               │       ▼
               │    执行结果返回给 AI
               │
               ▼
           Storage(持久化到 SQLite)
               │
               ▼
           Server(通过 API 推送到前端)

5. Provider 系统(多模型支持)

核心文件: packages/opencode/src/provider/provider.ts

支持的提供商

类别 提供商
直接集成 Anthropic、OpenAI、Google、Azure、Mistral、Groq、Cohere、DeepInfra
通过 SDK AWS Bedrock、X.AI、Together AI、Perplexity、OpenRouter、GitLab
特殊 GitHub Copilot(OpenAI 兼容 API)、自定义 OpenAI 兼容端点

工作原理

typescript 复制代码
// 1. Provider 注册 ------ 每个提供商声明自己的 ID、名称、认证方式
// 2. Model 发现 ------ 从 models.dev API 获取模型元数据,或从本地快照加载
// 3. SDK 创建 ------ 根据 providerID 动态创建对应的 AI SDK 实例
// 4. 调用 ------ 统一通过 Vercel AI SDK 的 streamText/generateText 接口

关键设计

  • 模型快照 :构建时从 models.dev 拉取模型列表,打包为 models-snapshot.ts,运行时不需联网
  • 动态发现:也支持运行时从 API 获取最新模型列表
  • Token 计费 :使用 Decimal.js 精确追踪 token 使用量
  • 插件扩展:可通过插件注册自定义 Provider

6. Tool 系统(工具注册与执行)

核心目录: packages/opencode/src/tool/

内置工具

工具 文件 功能
bash bash.ts 执行 shell 命令,支持 tree-sitter 解析输出
read read.ts 读取文件(支持行号偏移)
edit edit.ts 编辑文件(字符串替换,21KB 的复杂实现)
write write.ts 创建/覆盖文件
glob glob.ts 文件模式匹配搜索
grep grep.ts 文件内容搜索
webfetch webfetch.ts HTTP 请求
websearch websearch.ts 网页搜索(Exa 集成)
codesearch codesearch.ts 代码搜索
task task.ts 子任务管理
todowrite todowrite.ts Todo 列表
apply_patch apply_patch.ts 应用 Git patch
skill skill.ts 调用 Skill
lsp lsp.ts LSP 代码操作(实验性)

工具注册机制

typescript 复制代码
// registry.ts ------ 工具注册表
// 1. 加载内置工具
// 2. 加载自定义工具(~/.config/opencode/tool/*.ts)
// 3. 加载 MCP 工具(通过 MCP 协议发现)
// 4. 加载插件工具
// 5. 根据模型能力过滤(有些模型不支持某些工具)

自定义工具

放置在 ~/.opencode/tool/~/.config/opencode/tool/ 目录下的 .ts 文件会被自动加载。


7. Session 系统(会话管理)

核心目录: packages/opencode/src/session/

数据模型

复制代码
Session(会话)
├── id, projectID, title, directory
├── parentID(子会话支持)
├── version(乐观锁)
├── time { created, updated, compacting, archived }
├── summary { additions, deletions, files, diffs }
└── share { url }

Message(消息)
├── id, sessionID
├── role: 'user' | 'assistant'
└── parts: Part[]

Part(消息部件)
├── type: 'text' | 'tool_call' | 'tool_result'
└── content: JSON

关键功能

  • 多轮对话:消息持久化到 SQLite,支持断点恢复
  • 消息压缩(Compaction):长对话自动摘要压缩,避免超出上下文窗口
  • 会话归档:支持归档旧会话
  • 会话快照与分享:序列化会话用于分享
  • Prompt 模板:预设的提示词模板系统
  • 子会话:Agent 可以创建子会话进行独立工作

8. Agent 系统(智能体)

核心文件: packages/opencode/src/agent/agent.ts

内置 Agent

Agent 模式 用途
build primary 默认 Agent,拥有完整权限,用于开发工作
plan subagent 只读 Agent,用于分析和代码探索,不允许编辑文件
sandbox subagent 受限权限 Agent

Agent 配置结构

typescript 复制代码
{
  name: string              // Agent 名称
  description?: string      // 描述
  mode: 'subagent' | 'primary' | 'all'  // 运行模式
  model?: { modelID, providerID }        // 绑定模型
  permission: Ruleset       // 权限规则集
  temperature?: number      // 温度参数
  steps?: number            // 最大步骤数
  options: Record<string, any>  // 额外选项
}

工作流程

复制代码
用户消息 → Agent 接收
  → 构建 System Prompt(含工具描述、权限规则、项目上下文)
  → 调用 Provider(流式输出)
  → 解析 AI 响应(文本 / tool_call)
  → 若是 tool_call → 权限检查 → 执行工具 → 结果返回 AI
  → 循环直到 AI 返回最终文本响应

9. Permission 系统(权限控制)

核心文件: packages/opencode/src/permission/service.ts

设计理念

每个工具调用都经过权限检查,确保 AI 不会执行未授权的操作。

权限模型

typescript 复制代码
{
  permission: string   // 权限名称(如 "bash:*", "edit:*.ts")
  patterns: string[]   // 匹配模式
  action: 'allow' | 'deny' | 'ask'  // 行为
}
  • allow:自动允许
  • deny:自动拒绝
  • ask:弹出确认框询问用户

权限来源

  1. Agent 定义中的默认权限
  2. 项目配置 (opencode.json)
  3. 全局配置
  4. 运行时用户选择(记忆到当前 session)

10. TUI 终端界面

核心目录: packages/opencode/src/cli/cmd/tui/

技术亮点

  • 使用 @opentui/solid ------ 将 SolidJS 的响应式系统渲染到终端
  • 组件化开发,和写 Web 前端一样的体验
  • 支持鼠标交互、键盘快捷键、剪贴板

TUI 组件结构

复制代码
tui/
├── app.tsx              - 应用入口
├── routes/
│   ├── home.tsx         - 首页(session 列表)
│   └── session.tsx      - 会话界面
├── components/
│   ├── dialog.tsx       - 对话框系统
│   ├── model-picker.tsx - 模型选择器
│   └── ...
├── context/
│   ├── theme.tsx        - 主题(dark/light)
│   └── ...
└── hooks/               - 自定义 hooks

按键绑定

  • Tab:在 build/plan Agent 之间切换
  • @general:在消息中调用子 Agent
  • 其他快捷键在 TUI 中可见

11. Web App 与 Desktop App

Web App (packages/app)

  • 框架:SolidJS + SolidStart + Vite
  • 通信:通过 WebSocket 连接到 OpenCode Server
  • UI 库 :自研 @opencode-ai/ui(基于 Kobalte 无头组件)

Provider 层级(嵌套的 Context):

复制代码
Router → Settings → Permission → Layout → Notification
  → Models → Command → Highlights → Language
  → Server → Terminal → File → Prompt → Permissions
  → Comments → GlobalSDK → GlobalSync

Desktop App (packages/desktop)

  • 框架:Tauri 2.x(Rust 后端 + Web 前端)
  • 本质 :将 packages/app 打包为原生桌面应用
  • 额外能力:剪贴板、文件对话框、Shell 访问、自动更新

12. Server 与 API

核心目录: packages/opencode/src/server/

框架

使用 Hono 轻量 HTTP 框架,特点:

  • 极小的运行时开销
  • 中间件生态丰富
  • 支持 OpenAPI spec 自动生成

主要路由

路径 功能
/session/* 会话 CRUD、消息发送
/project/* 项目管理
/provider/* 模型提供商管理
/permission/* 权限请求处理
/config/* 配置读写
/file/* 文件操作
/pty/* 伪终端流
/mcp/* MCP 服务器管理

通信方式

  • REST API:常规请求
  • WebSocket:实时推送(消息流、状态变更)
  • SSE:Server-Sent Events(某些流式场景)

13. 数据库与存储

核心目录: packages/opencode/src/storage/

技术选型

  • 数据库:SQLite(Bun 原生支持,零外部依赖)
  • ORM:Drizzle ORM(类型安全、轻量级)
  • 迁移:时间戳命名的迁移文件

数据库位置

平台 路径
macOS/Linux ~/.local/share/opencode/opencode.db
Windows %APPDATA%/opencode/opencode.db
自定义 OPENCODE_DB 环境变量

核心表

sql 复制代码
session     -- 会话
message     -- 消息
part        -- 消息部件(文本/工具调用/工具结果)
project     -- 项目
workspace   -- 工作区(关联 Git 分支)
account     -- 用户账户
permission  -- 权限规则
command     -- 自定义命令

Schema 风格(Drizzle)

typescript 复制代码
// 使用 snake_case,避免手动映射列名
const table = sqliteTable("session", {
  id: text().primaryKey(),
  project_id: text().notNull(),
  created_at: integer().notNull(),
})

14. 配置系统

核心目录: packages/opencode/src/config/

配置优先级(低 → 高)

复制代码
1. 远程 .well-known/opencode(组织默认配置)
2. 全局配置  ~/.config/opencode/opencode.json(c)
3. 环境变量  OPENCODE_CONFIG 指定的文件
4. 项目配置  ./opencode.json(c)
5. 本地配置  ./.opencode/opencode.json(c)
6. 内联配置  OPENCODE_CONFIG_CONTENT 环境变量
7. 托管配置  企业级管理配置(最高优先级)

配置示例

jsonc 复制代码
// opencode.jsonc
{
  // AI 模型配置
  "provider": {
    "anthropic": {
      "apiKey": "sk-..."
    }
  },

  // 默认模型
  "model": {
    "modelID": "claude-sonnet-4-20250514",
    "providerID": "anthropic"
  },

  // MCP 服务器
  "mcp": {
    "my-server": {
      "type": "stdio",
      "command": "node",
      "args": ["./mcp-server.js"]
    }
  },

  // 自定义指令
  "instructions": "You are a helpful coding assistant.",

  // 权限规则
  "permissions": [
    { "permission": "bash:*", "action": "ask" },
    { "permission": "edit:*.ts", "action": "allow" }
  ]
}

15. 插件与扩展

扩展点

扩展类型 位置 说明
自定义工具 ~/.opencode/tool/*.ts TypeScript 工具定义
自定义命令 ~/.opencode/commands/ 命令模板
自定义 Skill ~/.opencode/skills/ 技能定义
MCP 服务器 opencode.json 中配置 通过 MCP 协议扩展工具
插件包 ~/.opencode/plugins/ npm 包形式的插件

Plugin SDK

typescript 复制代码
// @opencode-ai/plugin
import { defineTool } from "@opencode-ai/plugin"

export default defineTool({
  name: "my-tool",
  description: "A custom tool",
  parameters: z.object({ query: z.string() }),
  execute: async ({ query }) => {
    return { result: `Processed: ${query}` }
  }
})

16. 基础设施与部署

SST 配置 (sst.config.ts)

  • 云平台:Cloudflare Workers + D1 Database
  • 阶段:dev / production
  • 保护:production 阶段受保护,防止意外删除

基础设施模块

复制代码
infra/
├── app.ts         - Web 应用部署
├── console.ts     - SaaS 控制台后端
└── enterprise.ts  - 企业版功能

第三方服务

  • Stripe:计费
  • PlanetScale:MySQL 数据库(Console 使用)

17. 开发指南

环境准备

bash 复制代码
# 要求 Bun 1.3+
bun install

常用命令

bash 复制代码
# 开发模式(启动 TUI)
bun dev

# 指定目录运行
bun dev <directory>
bun dev .                    # 在 opencode 仓库根目录运行

# 启动 API Server(无头模式)
bun dev serve

# 启动 Web 界面
bun dev web

# 桌面应用开发
bun dev:desktop

# Web 前端开发
bun dev:web

# 控制台开发
bun dev:console

# 类型检查(必须从包目录运行)
cd packages/opencode && bun typecheck

# 测试(不能从根目录运行)
cd packages/opencode && bun test

# 构建独立可执行文件
./packages/opencode/script/build.ts --single

注意事项

  • 测试 不能 从仓库根目录运行(有 guard)
  • 类型检查用 bun typecheck,不要直接用 tsc
  • 构建会从 models.dev API 拉取模型列表

18. 代码风格约定

详见 AGENTS.md

命名

  • 优先单词命名cfg, err, opts, dir, root 而不是 configObject, errorMessage
  • 避免不必要的驼峰复合词

变量

  • 优先 const,用三元替代 let + 赋值
  • 只用一次的值直接内联,不要声明变量

控制流

  • 避免 else,用 early return
  • 避免 try/catch(除非必要)
  • 优先函数式方法(map, filter, flatMap)而非 for 循环

解构

  • 避免不必要的解构,用点号访问保持上下文

数据库 Schema

  • 字段用 snake_case,避免手动映射

其他

  • 避免 any 类型
  • 依赖类型推断,减少显式类型标注
  • 使用 Bun API(如 Bun.file()

19. 推荐学习路径

第一阶段:理解全局

  1. 阅读本指南,建立整体印象
  2. 阅读 README.mdCONTRIBUTING.md
  3. 阅读 AGENTS.md 了解代码风格

第二阶段:核心引擎

按以下顺序阅读 packages/opencode/src/

  1. config/ → 理解配置加载机制
  2. storage/ → 理解数据模型和数据库 schema
  3. provider/provider.ts → 理解多模型抽象层(最大单文件,~54KB)
  4. tool/ → 理解工具注册和执行,从 registry.ts 入手
  5. session/ → 理解会话生命周期
  6. agent/agent.ts → 理解 Agent 编排逻辑
  7. permission/ → 理解权限控制
  8. server/ → 理解 API 层

第三阶段:前端

  1. packages/ui/ → 共享组件库
  2. packages/app/src/app.tsx → Web 应用入口,理解 Provider 层级
  3. cli/cmd/tui/ → TUI 实现,理解终端渲染

第四阶段:扩展系统

  1. mcp/ → MCP 协议集成
  2. lsp/ → LSP 集成
  3. plugin/ → 插件系统
  4. skill/ → Skill 系统

第五阶段:基础设施

  1. sst.config.ts → 部署配置
  2. infra/ → 基础设施定义
  3. packages/console/ → SaaS 后台

附录:关键文件速查

要了解 去看
项目入口 packages/opencode/src/index.ts
CLI 命令定义 packages/opencode/src/cli/cmd/
AI 调用逻辑 packages/opencode/src/provider/provider.ts
工具定义 packages/opencode/src/tool/*.ts
会话管理 packages/opencode/src/session/
Agent 配置 packages/opencode/src/agent/agent.ts
数据库 Schema packages/opencode/src/storage/
API 路由 packages/opencode/src/server/routes/
Web 前端入口 packages/app/src/app.tsx
TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx
配置加载 packages/opencode/src/config/
权限系统 packages/opencode/src/permission/service.ts
MCP 集成 packages/opencode/src/mcp/
插件 SDK packages/plugin/
部署配置 sst.config.ts + infra/
#### 这里写自定义目录标题 * * [目录](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [1. 项目概览](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [2. 技术栈](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [3. Monorepo 结构](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [4. 核心包详解:packages/opencode](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [源码目录结构](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [模块间的数据流](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [5. Provider 系统(多模型支持)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [支持的提供商](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [工作原理](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [关键设计](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [6. Tool 系统(工具注册与执行)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [内置工具](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [工具注册机制](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [自定义工具](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [7. Session 系统(会话管理)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [数据模型](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [关键功能](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [8. Agent 系统(智能体)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [内置 Agent](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [Agent 配置结构](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [工作流程](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [9. Permission 系统(权限控制)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [设计理念](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [权限模型](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [权限来源](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [10. TUI 终端界面](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [技术亮点](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [TUI 组件结构](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [按键绑定](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [11. Web App 与 Desktop App](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [Web App (`packages/app`)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [Desktop App (`packages/desktop`)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [12. Server 与 API](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [框架](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [主要路由](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [通信方式](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [13. 数据库与存储](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [技术选型](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [数据库位置](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [核心表](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [Schema 风格(Drizzle)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [14. 配置系统](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [配置优先级(低 → 高)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [配置示例](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [15. 插件与扩展](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [扩展点](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [Plugin SDK](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [16. 基础设施与部署](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [SST 配置 (`sst.config.ts`)](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [基础设施模块](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [第三方服务](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [17. 开发指南](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [环境准备](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [常用命令](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [注意事项](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [18. 代码风格约定](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [命名](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [变量](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [控制流](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [解构](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [数据库 Schema](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [其他](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [19. 推荐学习路径](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [第一阶段:理解全局](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [第二阶段:核心引擎](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [第三阶段:前端](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [第四阶段:扩展系统](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [第五阶段:基础设施](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [附录:关键文件速查](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [欢迎使用Markdown编辑器](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [新的改变](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [功能快捷键](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [合理的创建标题,有助于目录的生成](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [如何改变文本的样式](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [插入链接与图片](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [如何插入一段漂亮的代码片](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [生成一个适合你的列表](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [创建一个表格](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [设定内容居中、居左、居右](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [SmartyPants](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [创建一个自定义列表](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [如何创建一个注脚](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [注释也是必不可少的](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [KaTeX数学公式](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [新的甘特图功能,丰富你的文章](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [UML 图表](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [FLowchart流程图](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [导出与导入](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * * [导出](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入) * [导入](#要了解 去看 项目入口 packages/opencode/src/index.ts CLI 命令定义 packages/opencode/src/cli/cmd/ AI 调用逻辑 packages/opencode/src/provider/provider.ts 工具定义 packages/opencode/src/tool/*.ts 会话管理 packages/opencode/src/session/ Agent 配置 packages/opencode/src/agent/agent.ts 数据库 Schema packages/opencode/src/storage/ API 路由 packages/opencode/src/server/routes/ Web 前端入口 packages/app/src/app.tsx TUI 入口 packages/opencode/src/cli/cmd/tui/app.tsx 配置加载 packages/opencode/src/config/ 权限系统 packages/opencode/src/permission/service.ts MCP 集成 packages/opencode/src/mcp/ 插件 SDK packages/plugin/ 部署配置 sst.config.ts + infra/ 这里写自定义目录标题 目录 1. 项目概览 2. 技术栈 3. Monorepo 结构 4. 核心包详解:packages/opencode 源码目录结构 模块间的数据流 5. Provider 系统(多模型支持) 支持的提供商 工作原理 关键设计 6. Tool 系统(工具注册与执行) 内置工具 工具注册机制 自定义工具 7. Session 系统(会话管理) 数据模型 关键功能 8. Agent 系统(智能体) 内置 Agent Agent 配置结构 工作流程 9. Permission 系统(权限控制) 设计理念 权限模型 权限来源 10. TUI 终端界面 技术亮点 TUI 组件结构 按键绑定 11. Web App 与 Desktop App Web App (packages/app) Desktop App (packages/desktop) 12. Server 与 API 框架 主要路由 通信方式 13. 数据库与存储 技术选型 数据库位置 核心表 Schema 风格(Drizzle) 14. 配置系统 配置优先级(低 → 高) 配置示例 15. 插件与扩展 扩展点 Plugin SDK 16. 基础设施与部署 SST 配置 (sst.config.ts) 基础设施模块 第三方服务 17. 开发指南 环境准备 常用命令 注意事项 18. 代码风格约定 命名 变量 控制流 解构 数据库 Schema 其他 19. 推荐学习路径 第一阶段:理解全局 第二阶段:核心引擎 第三阶段:前端 第四阶段:扩展系统 第五阶段:基础设施 附录:关键文件速查 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入)

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法[1](#甘特图的mermaid语法1) 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z

重做:Ctrl/Command + Y

加粗:Ctrl/Command + B

斜体:Ctrl/Command + I

标题:Ctrl/Command + Shift + H

无序列表:Ctrl/Command + Shift + U

有序列表:Ctrl/Command + Shift + O

检查列表:Ctrl/Command + Shift + C

插入代码:Ctrl/Command + Shift + K

插入链接:Ctrl/Command + Shift + L

插入图片:Ctrl/Command + Shift + G

查找:Ctrl/Command + F

替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。

输入2次#,并按下space后,将生成2级标题。

以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

带尺寸的图片:

居中的图片:

居中并且带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

javascript 复制代码
// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中

使用:----------居左

使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为"智能"印刷标点HTML实体。例如:

TYPE ASCII
Single backticks 'Isn't this fun?' 'Isn't this fun?'
Quotes "Isn't this fun?" "Isn't this fun?"
Dashes -- is en-dash, --- is em-dash -- is en-dash, --- is em-dash

创建一个自定义列表

:
Text-to- conversion tool
:
John
:
Luke

如何创建一个注脚

一个具有注脚的文本。[2](#2)

注释也是必不可少的

Markdown将文本转换为 。

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

2014-01-07 2014-01-09 2014-01-11 2014-01-13 2014-01-15 2014-01-17 2014-01-19 2014-01-21 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid

  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
王五 李四 张三 王五 李四 张三 李四想了很长时间, 文字太长了 不适合放在一行. 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 打量着王五... 很好... 王五, 你怎么样?

这将产生一个流程图。:
链接
长方形

圆角长方形
菱形

  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:
Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no

  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,

继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

*[HTML]: 超文本标记语言

相关推荐
藦卡机器人1 小时前
中国工业机器人发展现状
大数据·人工智能·机器人
破阵子443281 小时前
小米AI新模型全面解析:从MiMo-V2系列到使用指南
人工智能
无羡仙2 小时前
实测 Claude 多 Agent 开发:项目经理开局摸鱼,我成了救火队员
架构
ARM+FPGA+AI工业主板定制专家2 小时前
基于ARM+FPGA+AI的船舶状态智能监测系统(二)软硬件设计,模拟量,温度等采集与分析
arm开发·人工智能·目标检测·fpga开发
星空下的月光影子2 小时前
一维CNN在工业过程信号处理与故障预警中的应用
人工智能·机器学习
牛老师讲GIS2 小时前
技术与责任:AI时代GIS开发中的数据隐私、算法偏见与伦理挑战
人工智能·gis数据·gis数据隐私
Simon_lca2 小时前
突破合规瓶颈:ZDHC Supplier to Zero(工厂零排放 - 进阶型)体系全攻略
大数据·网络·人工智能·分类·数据挖掘·数据分析·零售
卧蚕土豆3 小时前
【有啥问啥】Claude Code 安装与使用教程
人工智能
刀法如飞3 小时前
AI编程时代,为什么35岁以上程序员会更吃香?
人工智能·后端·ai编程