---
date: "2026-06-13"
topic: "agentkit-platform-experience-upgrade"
---

## Summary

Fischer AgentKit 平台体验全面升级——布局重构为左对话+右双栏、对话体验深化（首 Token 即渲染+消息格式增强+@-mention 四类引用）、响应速度核心优化（启发式路由+合并 LLM 调用）、暗色主题与交互增强、Computer Use MVP——分三个冲击波迭代交付。

## Problem Frame

当前 AgentKit 处于"后端能力丰富、前端体验粗糙"的失衡状态。后端已实现 ReAct 推理、Skill 系统、Pipeline 编排、三层记忆、自进化、多 Agent 市场等完整能力，但 GUI 仍停留在功能可用层面：四象限等分布局让对话空间被压缩到 1/4 屏幕；消息仅支持纯文本渲染，代码块无高亮、工具调用无可视化；用户输入后需等待 5-10 秒才看到首个响应 Token；无暗色主题、无过渡动画、无操作反馈；Computer Use 前后端均为占位状态。

竞品（Devin、Cursor、v0.dev）已普遍采用 Agent-First 布局 + 统一设计系统 + 流式渲染 + 视觉操作能力。AgentKit 需要对齐这一标准，将"能用"升级为"好用"。

## Key Decisions

**冲击波迭代策略。** 三个迭代各聚焦一个体验质变：迭代 1 解决对话"快且宽敞"（布局+速度+格式），迭代 2 解决"丰富且精准"（双主题+@-mention+交互），迭代 3 解决"专业且全能"（Computer Use+剩余优化）。每个迭代交付后用户都能感受到明确的体验提升。

**四线并行。** GUI 产品化、Chat 体验深化、响应速度优化、Computer Use 四条线并行推进，每个迭代从每条线各取一部分，交叉组合为端到端可交付的体验升级。

**Computer Use MVP 先截屏后容器。** 先实现截屏查看+简单点击操作的前后端闭环，Docker 容器化隔离延后。MVP 让用户能通过对话让 Agent"看到"屏幕并执行简单操作，验证价值后再投入容器化成本。

**@-mention 四类全覆盖。** 支持 @文件、@技能、@工作流、@Agent 四类引用，在对话输入框中通过 autocomplete 下拉选择，选中后作为上下文注入 Agent 推理。

**Cmd+K 内联编辑延后。** AgentKit 当前没有代码编辑器，Cmd+K 的场景定义不清，延后到代码预览集成完成后再评估。

## Actors

- A1. **开发者/运维工程师** — 通过对话面板与 Agent 交互，使用 @-mention 引用上下文，通过 Computer Use 让 Agent 操作远程环境
- A2. **Agent** — 接收用户消息，执行推理和工具调用，流式返回结果，响应 @-mention 注入的上下文

## Requirements

### 迭代 1：对话体验质变

#### 布局重构

R1. 左对话 + 右双栏布局 — AgentLayout 从四象限等分布局重构为左半屏对话面板 + 右半屏上下双栏（上：代码/工作流/知识库，下：监控/技能/设置），左右分割默认 55:45，右侧上下分割默认 60:40，分割比例保存到 localStorage

R2. 面板折叠为 Tab 栏 — 每个面板可独立折叠为约 38px 的 Tab 栏，折叠状态保存到 localStorage，折叠/展开有 200ms ease 过渡动画

R3. 侧边导航精简为图标模式 — 32px 宽图标导航栏，点击图标切换右侧面板 Tab 并展开，当前激活图标高亮，导航栏可通过 TopNav 按钮折叠/展开

R4. 小屏幕适配 — <1024px 显示提示，1024-1280px 右下面板默认折叠，≥1280px 完整展示

#### 响应速度核心

R5. 启发式分类器替代 LLM quick_classify — 用零成本的本地启发式规则（消息长度、关键词密度、工具提示检测）替代 `CostAwareRouter.quick_classify()` 的 LLM 调用，通过配置开关可回退到 LLM 模式

R6. 合并路由 LLM 调用 — 当启发式不确定需要 LLM 路由时，将复杂度评分和意图分类合并为单次 LLM 调用，而非两次串行调用

R7. 首 Token 即渲染 — 前端 WebSocket 接收到首个流式 Token 即开始渲染，不等完整块；后端 ReActEngine 流式输出与前端渲染对齐

#### 消息格式增强

R8. 代码块语法高亮 — 消息中的代码块自动识别语言并语法高亮，支持复制按钮

R9. 工具调用可视化 — 工具调用显示为可折叠的步骤卡片，展示工具名称、参数摘要、执行状态、结果预览，替代当前的纯文本标签

R10. 图片和文件预览 — 消息中的图片内联显示缩略图，文件显示为可下载卡片（文件名+大小+类型图标）

### 迭代 2：专业感 + 精准度

#### 设计系统

R11. 暗色主题 — 在浅色 Token 基础上新增暗色主题 Token 变体，TopNav 增加主题切换按钮，偏好保存到 localStorage，暗色配色为深色背景+荧光强调色+终端原生感

R12. 组件样式统一 — 所有组件统一引用 Design Token，消除硬编码值，Ant Design 全局覆盖通过 Token 驱动

#### @-mention 上下文引用

R13. @-mention Autocomplete — 对话输入框中输入 `@` 触发下拉选择器，支持 @文件（知识库文档）、@技能（已注册技能）、@工作流（已有工作流）、@Agent（已配置 Agent），支持模糊搜索

R14. @-mention 上下文注入 — 选中的引用项作为结构化上下文注入 Agent 推理，后端解析引用类型和 ID，将对应内容（文档片段、技能描述、工作流定义、Agent 配置）加入对话上下文

R15. @-mention 引用标签 — 输入框中已选引用显示为可删除的标签（类似 ContextPill），发送后消息中显示为可点击的引用链接

#### 交互增强

R16. 过渡动画 — 面板折叠/展开 200ms ease、Tab 切换 150ms 淡入淡出、列表项交错渐入 stagger 50ms、路由切换 200ms 淡入淡出

R17. 操作反馈 — 按钮点击波纹/缩放反馈、加载状态骨架屏替代 `a-spin`、成功/失败 Toast 提示、WebSocket 断连顶部横幅

R18. 空状态设计 — 对话/工作流/监控/知识库/技能空状态各有品牌化插图和引导文案

### 迭代 3：能力扩展

#### Computer Use MVP

R19. 截屏查看 — Agent 可对目标环境执行截屏操作，截图实时显示在 Computer Use 面板中，支持缩放和滚动

R20. 简单点击操作 — Agent 可在截屏上执行点击操作（指定坐标），操作结果通过新的截屏反馈

R21. Computer Use 面板 — 右上面板新增 Computer Use Tab，展示截屏画面和操作历史，支持手动截屏触发

#### 响应速度剩余优化

R22. 并行工具执行 — ReActEngine 中多个独立 tool_calls 使用 `asyncio.gather()` 并行执行，结果按 tool_call_id 顺序追加，通过配置开关可回退串行模式

R23. 异步会话写入 — SessionManager 的 `append_message()` 改为非阻塞，使用写前缓冲区防止消息丢失，优雅关闭时 flush

#### 拖拽交互增强

R24. 分割线拖拽增强 — 拖拽时高亮分割线，显示当前比例百分比

R25. 面板折叠缩略预览 — 面板折叠时显示缩略内容预览

## Key Flows

- F1. 对话为主的工作流
  - **Trigger:** 用户打开 AgentKit
  - **Steps:** 左侧对话面板占满左半屏 → 用户输入消息 → 启发式分类器即时判断复杂度 → ReActEngine 流式推理 → 首 Token 即渲染 → 工具调用显示为步骤卡片 → 代码块语法高亮 → 右侧按需展示辅助信息
  - **Covered by:** R1, R5, R7, R8, R9

- F2. @-mention 上下文引用
  - **Trigger:** 用户在对话输入框输入 `@`
  - **Steps:** 下拉选择器弹出 → 用户输入关键词模糊搜索 → 选择引用项 → 引用显示为标签 → 发送消息 → 后端解析引用 → 对应内容注入 Agent 上下文 → Agent 基于引用内容推理
  - **Covered by:** R13, R14, R15

- F3. Computer Use 操作
  - **Trigger:** 用户让 Agent 执行视觉操作（如"帮我点击屏幕上的保存按钮"）
  - **Steps:** Agent 调用截屏工具 → 截图显示在 Computer Use 面板 → Agent 分析截图定位目标 → 执行点击操作 → 新截屏反馈操作结果 → 用户可在面板中查看操作历史
  - **Covered by:** R19, R20, R21

- F4. 主题切换
  - **Trigger:** 用户点击 TopNav 主题切换按钮
  - **Steps:** 点击月亮/太阳图标 → 所有 Token 变量切换 → 界面平滑过渡 → 偏好保存到 localStorage
  - **Covered by:** R11

## Scope Boundaries

**在范围内：**
- 布局重构（左对话 + 右双栏）
- Design Token 体系 + 双主题
- 组件样式统一
- 首 Token 即渲染
- 消息格式增强（代码高亮、工具调用卡片、图片/文件预览）
- @-mention 四类引用（文件、技能、工作流、Agent）
- 响应速度优化（启发式路由、合并调用、并行工具、异步写入）
- Computer Use MVP（截屏+点击，不含 Docker 容器化）
- 过渡动画、操作反馈、空状态、拖拽增强
- 侧边导航精简
- 小屏幕适配

**延迟到后续迭代：**
- Cmd+K 内联编辑
- Computer Use Docker 容器化隔离
- 代码 Diff 查看器实现（右上「代码」Tab 仍为占位）
- 代码 Diff 的 Accept/Reject 实际回滚功能
- 响应式移动端适配
- httpx 连接池配置优化
- A/B 测试框架和性能基准 CI

**不在本产品身份内：**
- 多用户协作/实时协同编辑
- 插件市场
- 代码编辑器（只读预览，不提供编辑能力）

## Success Criteria

1. **布局合理** — 对话面板占左半屏，右侧辅助信息可按需折叠
2. **首 Token <1s** — 简单对话（问候、Q&A）首 Token 延迟低于 1 秒
3. **消息丰富** — 代码块有语法高亮，工具调用有可视化卡片，图片/文件有预览
4. **@-mention 可用** — 四类引用均可 autocomplete 选择并注入上下文
5. **双主题可用** — 浅色/暗色一键切换，所有组件在两种主题下正常显示
6. **Computer Use MVP** — Agent 能截屏查看并执行点击操作
7. **交互流畅** — 所有过渡动画 ≤200ms，操作有即时反馈
8. **渐进交付** — 分 3 个迭代完成，每个迭代可独立部署

## Dependencies / Assumptions

- 现有 SplitPane 和 QuadrantPanel 组件支持水平和垂直分割，可直接复用
- Ant Design Vue 4.x 的 ConfigProvider 支持 CSS 变量主题注入
- ChatView 的 ChatSidebar 默认折叠，不影响左侧对话面板的空间利用
- Vue 3 的 `<Transition>` 和 `<TransitionGroup>` 可满足过渡动画需求
- `CostAwareRouter` 已有 `_tokenize_content()` 和 `_match_layer0()` 规则基础，启发式分类器可复用
- `IntentRouter._classify_with_llm()` 的 prompt 结构可扩展为同时返回复杂度评分
- Computer Use MVP 不依赖 Docker，可直接在宿主环境执行截屏和点击
- 现有 `tools/computer_use_session.py` 的 TODO 占位需要替换为实际实现
- 响应速度优化已有详细实施计划（docs/plans/2026-06-12-021-feat-chat-response-speed-optimization-plan.md），U1-U6 可直接沿用

## Outstanding Questions

**Resolved:**
- Computer Use MVP 的截屏实现方式：使用 OpenCLI

**Deferred to Planning:**
- @-mention 后端解析的具体协议：引用项如何在 WebSocket 消息中编码，与现有 `chat` 消息类型如何兼容
- 工具调用步骤卡片的折叠/展开交互细节
- 骨架屏的具体形状和占位内容
