Code Reader
首页
帮助
设计文档
首页
帮助
设计文档
  • OpenCode TUI 文档

OpenCode TUI 文档

欢迎来到 OpenCode TUI (Terminal User Interface) 文档中心。

📚 文档目录

文档说明
概述TUI 的快速介绍和核心特性
架构设计深入了解 TUI 的整体架构
核心组件详细的组件说明和 API
状态管理数据流和状态同步机制
交互设计用户交互和快捷键系统

🚀 快速开始

安装

# 克隆仓库
git clone https://github.com/anomalyco/opencode.git
cd opencode

# 安装依赖
bun install

运行

# 启动 TUI
bun dev

# 在特定目录运行
bun dev /path/to/project

# 带初始提示
bun dev --prompt "help me fix tests"

🏗️ 核心概念

Provider 系统

TUI 使用 12 个 Context Provider 管理应用状态:

数据流

路由系统

TUI 采用简单的基于类型路由:

type Route =
  | { type: "home"; initialPrompt?: PromptInfo }
  | { type: "session"; sessionID: string; initialPrompt?: PromptInfo }

🎨 主要特性

流式渲染

  • 60 FPS 高帧率渲染
  • 实时流式文本显示
  • 智能滚动和分页

智能交互

  • 命令面板(Ctrl+X)
  • 斜杠命令(/)
  • 自动补全
  • 历史记录导航
  • 快捷键系统

主题系统

  • 自动检测终端背景色
  • 支持深色/浅色模式
  • 可自定义主题

性能优化

  • Binary Search 优化
  • 虚拟滚动
  • 增量更新
  • 内存管理

📖 学习路径

初学者

  1. 阅读 概述 了解 TUI 的基本概念
  2. 查看 快速开始 运行你的第一个会话
  3. 学习 交互设计 掌握基本操作

开发者

  1. 阅读 架构设计 理解整体架构
  2. 学习 状态管理 了解数据流
  3. 研究 核心组件 了解组件实现
  4. 查看 交互设计 学习交互机制

贡献者

  1. 完整阅读所有文档
  2. 熟悉代码结构和设计模式
  3. 参考贡献指南

🔗 相关资源

  • OpenCode 主仓库
  • OpenCode 官网
  • OpenCode 文档
  • SolidJS 文档
  • opentui 文档

💡 使用提示

常用快捷键

快捷键功能
Ctrl+X打开命令面板
Ctrl+C退出
Ctrl+N新建会话
Ctrl+M选择模型
Ctrl+A切换 Agent
Ctrl+B切换侧边栏
Ctrl+T切换主题
Ctrl+V粘贴
ESC中断/取消

斜杠命令

/sessions      # 切换会话
/new           # 新建会话
/models        # 选择模型
/agents        # 选择 Agent
/themes        # 切换主题
/help          # 显示帮助
/status        # 查看状态
/export        # 导出会话
/copy          # 复制会话

Prompt 特性

特性用法
文件引用粘贴文件路径
图像粘贴粘贴图像
URL 链接输入 http://
Agent 选择输入 @agent
Shell 模式输入 !command
多行输入Shift+Enter

🐛 常见问题

Q: 如何切换主题?

A: 按 Ctrl+T 或输入 /themes 选择主题。

Q: 如何分享会话?

A: 按 Ctrl+S 或输入 /share 获取分享链接。

Q: 如何导出会话?

A: 按 /export 导出会话为 Markdown 文件。

Q: 如何切换模型?

A: 按 Ctrl+M 或输入 /models 选择模型。

Q: 如何查看帮助?

A: 输入 /help 或按 Ctrl+X 然后输入 help。

Q: 如何退出?

A: 按 Ctrl+C 或输入 /exit。

📝 更新日志

查看 CHANGELOG.md 了解最新更新。

🤝 获取帮助

如果遇到问题:

  1. 查看 常见问题
  2. 搜索 GitHub Issues
  3. 创建新的 Issue

Happy Coding with OpenCode! 🚀