File size: 1,358 Bytes
a9fb7e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Ling & Ring Playground - Development TODO

## 任务: 实现代码生成 Tab (`tab_code.py`)

### 1. UI 构建
- [ ] 在 `tab_code.py` 中创建 `create_code_tab` 函数。
- [ ] 添加 `gr.Radio` 组件,提供 "静态页面" 和 "Gradio 应用" 选项。
- [ ] 添加 `gr.Textbox` 作为用户 Prompt 输入框。
- [ ] 添加 `gr.Button` 用于触发生成。
- [ ] 添加 `gr.Code` 组件用于显示生成的源代码。
- [ ] 添加 `gr.HTML` 组件用于实时预览。

### 2. 后端逻辑
- [ ] 为 "静态页面" 编写 System Prompt。
- [ ] 为 "Gradio 应用" 编写 System Prompt。
- [ ] 实现按钮点击事件的处理函数。
- [ ] **静态页面逻辑**:
    - [ ] 调用 Ring 模型生成 HTML。
    - [ ] 将返回的 HTML 字符串直接更新到 `gr.HTML` 组件。
- [ ] **Gradio 应用逻辑**:
    - [ ] 调用 Ring 模型生成 Python 代码。
    - [ ] 将代码保存到临时文件。
    - [ ] 使用 `subprocess` 在后台启动独立的 Gradio 应用。
    - [ ] 捕获子进程输出,解析出本地 URL。
    - [ ] 将 URL 加载到 `gr.HTML``<iframe>` 中。
    - [ ] 实现子进程管理(启动/终止)。

### 3. 应用整合
- [ ] 在 `app.py` 中导入 `create_code_tab`- [ ] 在 `gr.Blocks` 中添加一个新的 `gr.Tab("代码生成")`- [ ] 在新 Tab 中调用 `create_code_tab()`