Files
u-tabs/docs/00-文档目录.md
绝尘 a027fe1703 新增: u-tabs 初始版本
Go TUI 项目启动器,基于 bubbletea v2 + lipgloss v2。
支持分组 Tab、多选启动、编号跳转、Windows Terminal 集成。
2026-05-16 21:01:03 +08:00

2.1 KiB
Raw Blame History

u-tabs 文档索引

最后更新2026-05-15 | 项目状态:活跃

文档列表

文档 说明
架构设计 项目架构、数据模型、UI布局、交互设计、启动逻辑

快速开始

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 脚本