跳转至

UI 模块实施状态

最后更新:2026-04-22 关联里程碑:M2 TypeScript 客户端迁移


1. 模块概览

UI 模块已完成从 Python Flet 到 TypeScript 客户端的迁移:

  • Web 客户端:Next.js 15 + React 18 + Tailwind CSS
  • 桌面客户端:Tauri 2.x(Rust + React)
  • 移动客户端:Expo React Native

源码位置apps/web/, apps/desktop/, apps/mobile/


2. TypeScript 客户端状态

2.1 Web (Next.js)

页面 文件 状态 功能说明
Dashboard app/dashboard/page.tsx ✅ 完成 概览、快速操作
Chat app/chat/page.tsx ✅ 完成 流式消息、中断
Agents app/agents/page.tsx ✅ 完成 Agent列表、详情
Sessions app/sessions/page.tsx ✅ 完成 会话管理
Channels app/channels/page.tsx ✅ 完成 通道状态
Settings app/settings/page.tsx ✅ 完成 配置管理

2.2 Desktop (Tauri)

功能 状态 说明
基础架构 ✅ 完成 Tauri 2.x 配置
系统托盘 📋 待开始 -
原生菜单 📋 待开始 -

2.3 Mobile (Expo)

功能 状态 说明
基础架构 ✅ 完成 Expo SDK 配置
Tab 导航 ✅ 完成 底部 Tab 栏
原生能力 📋 待开始 推送、相机等

3. 共享包状态

3.1 packages/shared

模块 状态 功能说明
类型定义 ✅ 完成 TypeScript 类型
API 客户端 ✅ 完成 Gateway RPC 客户端
Stores ✅ 完成 Zustand 状态管理
工具函数 ✅ 完成 通用工具

3.2 packages/ui

组件 状态 功能说明
基础组件 ✅ 完成 Button, Card, Input 等
复合组件 ✅ 完成 Sidebar, Shell 等
主题 ✅ 完成 Tailwind + CSS 变量

4. 已移除的 Flet UI

Python Flet UI 已从项目中移除(2026-04-22),相关文件:

  • src/pyclaw/ui/ — 已删除
  • flet_app.py — 已删除
  • main.py — 已删除
  • tests/pyclaw/ui/ — 已删除
  • [tool.flet] 配置 — 已删除

5. 关键文件索引

文件 职责
apps/web/app/layout.tsx Web 应用入口
apps/web/components/sidebar.tsx 侧边导航栏
apps/desktop/src-tauri/tauri.conf.json Tauri 配置
apps/mobile/app/_layout.tsx 移动端布局
packages/shared/src/api/ Gateway API 客户端

6. 待办事项

P0 高优先级

  • [ ] 移动端原生能力集成(推送、相机)
  • [ ] 桌面端系统托盘实现

P1 中优先级

  • [ ] 离线缓存策略
  • [ ] 性能监控集成

P2 低优先级

  • [ ] 高级动画效果
  • [ ] 自定义主题编辑器