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 优化
- 虚拟滚动
- 增量更新
- 内存管理
📖 学习路径
初学者
开发者
贡献者
- 完整阅读所有文档
- 熟悉代码结构和设计模式
- 参考贡献指南
🔗 相关资源
💡 使用提示
常用快捷键
| 快捷键 | 功能 |
|---|---|
| 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 了解最新更新。
🤝 获取帮助
如果遇到问题:
- 查看 常见问题
- 搜索 GitHub Issues
- 创建新的 Issue
Happy Coding with OpenCode! 🚀