新增: u-tabs 初始版本
Go TUI 项目启动器,基于 bubbletea v2 + lipgloss v2。 支持分组 Tab、多选启动、编号跳转、Windows Terminal 集成。
This commit is contained in:
73
docs/00-文档目录.md
Normal file
73
docs/00-文档目录.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# 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 脚本
|
||||
```
|
||||
Reference in New Issue
Block a user