74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
# u-tabs 文档索引
|
||
|
||
> 最后更新:2026-05-15 | 项目状态:活跃
|
||
|
||
## 文档列表
|
||
|
||
| 文档 | 说明 |
|
||
|------|------|
|
||
| [架构设计](./02-技术文档/架构设计.md) | 项目架构、数据模型、UI布局、交互设计、启动逻辑 |
|
||
|
||
## 快速开始
|
||
|
||
```bash
|
||
cd u-tabs && go run main.go
|
||
```
|
||
|
||
## 配置
|
||
|
||
工作空间数据从 YAML 配置加载,不硬编码。
|
||
|
||
```
|
||
优先级: ~/.u-tabs/config.yaml > exe同目录/config.yaml > 内置默认值(workspace.go)
|
||
```
|
||
|
||
示例文件:`config.example.yaml`
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
u-tabs/
|
||
├── main.go # 入口: tea.NewProgram → p.Run()
|
||
├── go.mod # Go 1.26, Bubbletea v2
|
||
├── config.example.yaml # 配置示例
|
||
├── internal/
|
||
│ ├── app.go # 主 Model: 渲染 + 键盘交互 + 启动逻辑
|
||
│ ├── config.go # YAML 配置加载 + Config→内部结构转换
|
||
│ ├── workspace.go # Workspace/Group 数据结构 + 内置默认值 + wsByNum 索引
|
||
│ └── style/
|
||
│ └── style.go # Tokyo Night 主题 + GroupStyles
|
||
└── docs/
|
||
├── 00-文档目录.md # 本文件
|
||
└── 02-技术文档/
|
||
└── 架构设计.md # 完整架构文档
|
||
```
|
||
|
||
## 核心依赖
|
||
|
||
| 依赖 | 版本 | 用途 |
|
||
|------|------|------|
|
||
| charm.land/bubbletea/v2 | v2.0.2 | TUI 框架 (Elm 架构) |
|
||
| charm.land/lipgloss/v2 | v2.0.2 | 终端样式/布局 |
|
||
| gopkg.in/yaml.v3 | v3.0.1 | 配置文件解析 |
|
||
|
||
## 交互
|
||
|
||
| 按键 | 功能 |
|
||
|------|------|
|
||
| j/k / ↑↓ | 当前分组内移动光标 |
|
||
| Tab / ←→ | 切换分组 |
|
||
| 1-4 | 快速跳转分组 |
|
||
| Enter | 启动选中项(wt.exe 新标签页) |
|
||
| Space | 切换多选标记,再 Enter 批量启动 |
|
||
| 数字键 | 追加到输入缓冲,按编号启动 |
|
||
| c | 复制启动命令到剪贴板 |
|
||
| q / Ctrl+C | 退出 |
|
||
|
||
## 启动机制
|
||
|
||
```
|
||
u-tabs → wt.exe → pwsh -NoExit -EncodedCommand → claude --name xxx (交互模式)
|
||
↑ ↑
|
||
Windows Terminal UTF-16LE → Base64 编码的 PS 脚本
|
||
```
|