## ADDED Requirements

### Requirement: 内容创作 Tab 的 UI 代码迁移至独立模块
`ui/tab_create.py` SHALL 包含原 `main.py` 中「内容创作 Tab」的全部 Gradio 组件定义和事件绑定，并导出 `build_tab() -> None` 函数，该函数接受一个 `gr.Blocks` 上下文，在其中构建 Tab 内容。`main.py` SHALL 通过 `from ui.tab_create import build_tab` 调用该函数，不在主文件中保留重复的组件代码。

#### Scenario: main.py 正常启动并显示内容创作 Tab
- **WHEN** 运行 `python main.py` 启动 Gradio 应用
- **THEN** 内容创作 Tab 正常显示，所有组件与迁移前功能一致

#### Scenario: tab_create 模块可独立导入
- **WHEN** 在 Python 中执行 `from ui.tab_create import build_tab`
- **THEN** 不抛出任何导入错误，`build_tab` 为可调用对象

### Requirement: ui/ 目录结构规范
`ui/` 目录 SHALL 包含 `__init__.py`，每个 Tab 模块文件命名约定为 `tab_<name>.py`，不在 Tab 模块中直接调用全局服务初始化代码（如 `ConfigManager()`、`LLMService()` 等单例初始化应由 `main.py` 完成并通过参数或模块级引用传入）。

#### Scenario: 新增 Tab 模块的标准结构
- **WHEN** 开发者创建新的 `ui/tab_*.py` 文件
- **THEN** 该文件导出 `build_tab(...)` 函数，且顶层不包含副作用代码（不在 import 时触发服务连接）
