9.3 KiB
9.3 KiB
Fischer AgentKit GUI 重构需求文档
日期: 2026-06-13 状态: Active 范围: Deep — Feature
1. 问题陈述
当前 Fischer AgentKit GUI 处于"功能可用但视觉粗糙"状态,存在以下核心问题:
- 布局范式落后 — SideNav 多页面布局无法同时展示 Agent 的对话、代码修改、终端执行和预览结果,用户需要频繁切换页面才能理解 Agent 在做什么
- 设计系统缺失 — 无 Design Token,颜色(
#1677ff/#1890ff混用)、间距、圆角、字体大小全部硬编码散落在 30+ 组件中 - 视觉质量低 — 无过渡动画、空状态单调、加载态粗糙、信息层级平铺
- 响应式完全缺失 — 所有面板宽度固定,小屏幕下内容被严重挤压
竞品(Devin、Cursor、Trae、v0.dev)已普遍采用 Agent-First 全屏布局 + 统一设计系统,Fischer AgentKit 需要对齐这一标准。
2. 目标用户
主要用户: 使用 Fischer AgentKit 执行自动化任务的开发者和运维工程师。他们提交任务后需要实时观察 Agent 执行过程,并在必要时干预。
核心场景: 用户提交一个多步任务(如"部署新版本到测试环境"),Agent 自主执行,用户在四象限界面中实时观察对话推理、代码修改、终端执行和结果预览,随时可以点击干预。
3. 设计方向
3.1 布局范式:Agent-First 全屏
采用类似 Devin 的四象限布局,Agent 执行过程全屏实时展示:
┌──────────────────────────────────────────────────────┐
│ 顶部导航栏 (48px) — Logo / 任务选择 / 状态 / 设置 │
├──────────────────────┬───────────────────────────────┤
│ │ │
│ 对话面板 │ 代码/预览面板 │
│ (Chat + Agent │ (代码 Diff / 文件树 / │
│ 推理过程) │ 工作流画布 / 知识库) │
│ │ │
│ │ │
├──────────────────────┼───────────────────────────────┤
│ │ │
│ 终端面板 │ 状态/监控面板 │
│ (实时终端输出 │ (执行进度 / 节点状态 / │
│ + 命令确认) │ 指标图表 / 日志) │
│ │ │
└──────────────────────┴───────────────────────────────┘
四象限可独立缩放和折叠,象限之间的分隔线可拖拽调整比例。
3.2 视觉风格:浅色极简
- 主背景: 白色 / 极浅灰(
#fafafa) - 强调色: 紫黑渐变(类似 v0.dev 的 Vercel 品牌色)
- 代码/终端区域: 深色背景(One Dark Pro 配色),与浅色主界面形成对比
- 设计语言: 大量留白、细线条、柔和阴影、圆角 8px
- 字体: 系统字体栈(UI)+ 等宽字体栈(代码/终端)
3.3 交互模式
- 任务提交: 顶部输入栏或对话面板底部输入
- 实时观察: 四象限同步更新,WebSocket 推送
- 干预机制: 每个象限内的操作可暂停/审批/接管
- 模式切换: 对话模式(Chat-First)↔ 代理模式(Agent-First)一键切换
4. 功能需求
R1: Design Token 体系
建立统一的设计令牌系统,替代当前硬编码散落的样式值。
完成标准:
- 创建
src/styles/tokens.css,定义所有 Design Token(颜色、间距、圆角、字体、阴影) - Ant Design Vue 主题通过 ConfigProvider 注入 Token 值
- 所有组件引用 Token 变量,不再硬编码颜色/间距值
- 主色统一为一种(消除
#1677ff/#1890ff混用)
R2: Agent-First 全屏布局
将 SideNav 多页面布局重构为四象限全屏布局。
完成标准:
- 顶部导航栏(48px):Logo、任务选择器、Agent 状态指示、模式切换、设置入口
- 四象限可拖拽调整比例,每个象限可折叠
- 象限内容根据当前任务动态切换(对话/代码/终端/状态)
- 保留 Vue Router,但页面切换变为象限内容切换而非整页跳转
- 侧边导航改为顶部极简导航 + 下拉菜单
R3: 对话面板重构
将 ChatView 重构为对话面板,作为四象限的左上象限。
完成标准:
- 支持 Markdown 渲染(替代当前
v-html) - 流式输出 + 打字机效果
- 工具调用指示器(类似 Claude Code 的
[Read]/[Edit]/[Bash]彩色标签) - 上下文胶囊(Context Pills):显示当前关联的文件、技能
- 对话历史侧栏可折叠
R4: 代码/预览面板
新增代码 Diff 查看和文件预览能力,作为右上象限。
完成标准:
- 代码 Diff 查看器:逐行 diff 高亮,支持 Accept/Reject
- 文件树浏览器:展示 Agent 修改的文件列表
- 工作流画布:当前 FlowCanvas 集成为此象限的一个 Tab
- 知识库管理:当前 KnowledgeBaseView 集成为此象限的一个 Tab
- Tab 切换:代码 / 工作流 / 知识库
R5: 终端面板重构
将 TerminalView 重构为终端面板,作为左下象限。
完成标准:
- 暗色背景终端(One Dark Pro 配色)
- 命令确认弹窗使用 Ant Design Modal(替代当前原生 HTML)
- 命令历史可折叠侧栏
- ANSI 颜色完整支持
R6: 状态/监控面板
将 EvolutionView 精简后集成为右下象限。
完成标准:
- 进化面板从 6 个精简为 2-3 个核心面板:概览+指标、经验+坑点、用量
- 执行进度条:顶部显示当前任务完成度估算
- 节点状态动画:运行中节点脉冲动画
- 技能卡片网格:当前 SkillsView 集成为此象限的一个 Tab
- 设置页:当前 SettingsView 集成为此象限的一个 Tab(分组化)
- Tab 切换:监控 / 技能 / 设置
R7: 工作流单页化
将工作流列表和编辑合并为单页 Tab 切换。
完成标准:
- 列表和编辑在同一象限内通过 Tab 切换,无需整页跳转
- 编辑模式:NodePalette + FlowCanvas + PropertyPanel 保留
- 执行历史面板可折叠
R8: 设置分组化
将设置页从平铺长表单拆分为 Tab 分组。
完成标准:
- 4 个分组 Tab:LLM 配置、技能管理、知识库设置、系统设置
- 每组最大宽度 600px,居中布局
- 保存按钮每组独立
R9: 过渡动画与微交互
为所有交互添加过渡动画。
完成标准:
- 象限折叠/展开:平滑过渡(200ms ease)
- Tab 切换:淡入淡出(150ms)
- 列表项加载:交错渐入(stagger 50ms)
- 空状态:品牌化插图 + 引导文案
- 加载态:骨架屏替代
<a-spin>
R10: 响应式断点
支持 1280px+ 桌面端断点。
完成标准:
- ≥1440px:四象限完整展示
- 1280-1440px:右下象限自动折叠为 Tab 栏
- <1280px:显示提示"请使用更大屏幕"
- 象限比例记忆:localStorage 保存用户调整的比例
5. 范围边界
在范围内
- Design Token 体系建立
- 四象限全屏布局重构
- 所有现有功能的迁移(对话、工作流、知识库、技能、终端、进化、设置)
- 浅色极简视觉风格实现
- 过渡动画和微交互
- 1280px+ 响应式断点
延迟到后续迭代
- 暗色模式(需 Design Token 暗色变体)
- 移动端适配
- Computer Use 功能实现(保留路由,显示"即将推出")
- Cmd+K 内联编辑(类似 Cursor)
- @-mention 上下文引用
- 代码 Diff 的 Accept/Reject 实际回滚功能
不在本产品身份内
- 多用户协作/实时协同编辑
- 插件市场
- 代码编辑器(只读预览,不提供编辑能力)
6. 成功标准
- 视觉一致性 — 零硬编码颜色值,所有样式通过 Design Token 引用
- 信息密度 — 四象限同时展示 Agent 全部活动,无需切换页面
- 交互流畅度 — 所有过渡动画 ≤200ms,无卡顿
- 响应式 — 1280px+ 屏幕正常使用,象限比例可调
- 渐进式交付 — 分 2-3 个迭代完成,每个迭代可独立部署
7. 依赖与假设
- 假设 Vue Flow 和 ECharts 可在象限内正常渲染(需验证尺寸变化时的 resize)
- 假设 Ant Design Vue 4.x 的 ConfigProvider 主题注入满足 Design Token 需求
- 依赖 后端 WebSocket 推送已就绪(上一轮已实现)
- 依赖 后端 API 路径不变,前端仅重构 UI 层
8. 竞品参考
| 参考工具 | 借鉴要素 |
|---|---|
| Devin | 四象限布局、Action Timeline、Intervention Button |
| v0.dev | 浅色极简风格、紫黑渐变强调色、Preview-First |
| Cursor | Cmd+K 交互理念(后续迭代)、Chat Panel 设计 |
| Claude Code | Tool Use Indicators、Permission Prompts |
| Trae Solo | Chat-First 全屏布局、Agent Mode Toggle |