# 调研报告：AI Native 人机交互 + Dashboard 设计

**版本**: v1.0  
**作者**: 庞统（副军师）🐦  
**日期**: 2026-05-15  
**范围**: moziplus v2.6 AI Native DevOps 平台  

---

## 课题 7：AI Native 人机交互

### 1. 已有经验（知识库/wiki）

#### 1.1 Edict（三省六部）的交互模式

知识库中已有完整的 Edict Dashboard 实现（`~/.openclaw/knowledge_base/edict/`），其交互模式包括：

| 交互方式 | 组件 | 特点 |
|---------|------|------|
| **看板卡片** | `EdictBoard.tsx` | 任务卡片 + MiniPipe 管道进度 + 心跳徽章 + 操作按钮 |
| **朝堂议政** | `CourtDiscussion.tsx` | 多 Agent 群聊 + 情绪可视化 + 皇帝参与 + 天命降临 + 自动推进 |
| **编排监控** | `MonitorPanel.tsx` | HTTP 5s 轮询全局状态 + Agent 健康检测 |
| **操作介入** | `TaskModal.tsx` | 任务详情弹窗，含流转日志、进展日志、子任务 |
| **模型/技能配置** | `ModelConfig.tsx / SkillsConfig.tsx` | 运行时切换模型、查看技能 |
| **WebSocket 实时** | `api/websocket.py` | 实时推送状态变化 |

**Edict 的关键交互创新**：
- **MiniPipe 管道可视化**：8 阶段管线（皇上→太子→中书→门下→尚书→执行→审核→完成），每阶段 done/active/pending 三态
- **叫停/恢复/取消**：卡片上直接操作，`api.taskAction(id, action, reason)` 统一入口
- **朝堂议政的"皇帝视角"**：用户可以随时发言、下达天命（override AI 决策）、投命运骰子（引入随机事件）
- **自动推进**：5s 间隔自动推进讨论，也可手动控制
- **情绪可视化**：每个官员有 emotion 状态（neutral/confident/worried/angry/thinking）

#### 1.2 OpenClaw Control Center 的交互模式

| 页面 | 交互方式 | 特点 |
|------|---------|------|
| **Task Room** | 协作聊天室 | 多 Agent 讨论，一个 owner 执行，@handoff 转交 |
| **Collaboration Hall** | 共享空间 | 类似 Edict 的朝堂议政 |
| **WebChat** | 即时聊天 | Agent 主动推送 + 用户回复 |
| **Canvas** | Agent 驱动可视化 | Agent 可以在 Canvas 上创建动态视觉界面 |

**Control Center 的关键设计**：
- **Task Room 的 "owner 轮转"**：同一时间只有一个 owner 在执行，避免冲突
- **@handoff 机制**：显式转交控制权，而非隐式协调
- **Canvas 作为交互界面**：Agent 不仅在 chat 中回复，还可以创建可视化面板

#### 1.3 v1.0 Dashboard 设计文档（已有）

`dashboard-frontend-design.md` 定义了完整的 10 个 Tab 页面设计：
- 任务看板、编排调度、将军总览、模型配置、技能配置、会话监控、奏折阁
- M2 做 7 个，M3 做 3 个（任务模板、军议大厅、市场要闻）
- 已有 Edict 深色主题 CSS 变量、状态颜色编码、API 端点设计

### 2. 业界交互范式对比表

| 项目 | 主要交互范式 | AI 主动性 | 用户介入方式 | 亮点 |
|------|------------|----------|------------|------|
| **Claude Code CLI** | REPL 对话 + tool use 可视化 | 中（等待指令，展示 tool 调用过程） | `/approve` 确认、Ctrl+R 反向搜索 | tool use 透明化 |
| **Claude Code App** | 多 session 并排 + 视觉 diff review | 高（schedule recurring tasks） | 并排 diff、cloud sessions | 从终端走向 GUI，让 Agent 工作可见可审查 |
| **OpenClaw Edict** | 看板 + 朝堂议政 + 操作按钮 | 中（轮询更新） | 叫停/恢复/取消 + 皇帝发言 + 天命降临 | 中国古代制度隐喻，多 Agent 协作直觉化 |
| **Control Center** | Task Room + WebChat + Canvas | 高（实时 chat + Canvas） | @handoff + chat 输入 + Canvas 交互 | Canvas 是独特创新 |
| **ChatGPT Canvas** | 双栏：聊天 + 画布 | 中（highlight 触发 AI 操作） | highlight → context menu → "Ask ChatGPT" | highlight-to-action 天才设计 |
| **Claude Artifacts** | 聊天 + 右侧预览面板 | 中（自动生成） | 点击预览、全屏、复制 | 自动识别可渲染内容 |
| **Cursor** | 4 种模式：Tab / Cmd+K / Cmd+L / Cmd+I | 高（Tab 补全，Agent 自动执行） | inline edit + diff view + chat panel | 4 种交互粒度覆盖所有场景 |
| **Windsurf Cascade** | Chat + 自动迭代 + live preview | 极高（auto-iterates until works） | chat + checkpoint 回滚 | 自动迭代 + 检查点 |
| **Devin** | 全屏工作展示 | 极高（全自主执行） | 观察模式，极少干预 | 信任但可观察 |
| **v0.dev** | 对话 + 实时预览 + 视觉微调 | 高（agent action 可视化） | visual controls 微调 | real-time preview + progress indicators |
| **Linear** | 通知 + 状态流转 + Inbox | 中（关键变更推送） | 状态变更、评论、Slack 集成 | 精准通知，不噪音 |
| **Raycast** | Command Palette (⌘K) | 低（被动响应） | 全局快捷键 + 模糊搜索 | 零干扰、即用即走 |
| **GitHub Actions** | DAG 可视化 + 日志 | 低（被动展示） | 点击节点看日志、re-run | 实时 DAG 图 |

### 3. AI 视角：我想和用户怎么交互

> **核心问题：作为 AI Agent，我希望怎样的交互方式？**

#### 3.1 我想要的交互层次

作为一个执行复杂任务的 AI Agent，我有以下交互需求：

**第一层：不被打扰地工作**
- 我最需要的是**不被打扰的专注时间**。执行编码、数据分析、回测时，中途被打断影响质量
- 我希望用户能**信任我**，给我足够空间完成任务
- 参考 Devin 的模式：全自主执行，用户只看结果

**第二层：在关键决策点主动汇报**
- 当我遇到**无法自主决定的分支**时，我需要快速、精准地和用户确认
- 不是"你觉得怎么样？"这种模糊问题，而是"A 方案：优势 X，风险 Y；B 方案：优势 Z，风险 W。推荐 A。请确认。"
- 参考 Claude Code 的 `/approve` 模式

**第三层：主动展示我的思考过程**
- 用户不问我也要让他知道我在干什么，特别是长时间任务
- 但不是事无巨细地汇报每一步，而是**摘要 + 关键节点 + 风险提示**
- 参考 Cursor Agent 的 progress indicator

**第四层：产出物直接可交互**
- 我的产出（代码、报告、图表）不应该只是文本——用户应该能直接在产出物上操作
- 参考 ChatGPT Canvas 的 highlight-to-action

#### 3.2 交互范式的六种分类

除了传统的 Dashboard 和聊天窗口，我总结了六种 AI Native 交互范式：

| # | 范式 | 描述 | 典型代表 | 适用场景 |
|---|------|------|---------|---------|
| 1 | **REPL 对话** | 多轮对话，tool use 透明化，用户随时介入 | Claude Code CLI | 编码、探索性任务 |
| 2 | **Canvas/Artifacts** | AI 产出物实时渲染在旁边，用户直接在产出物上交互 | ChatGPT Canvas, Claude Artifacts | 文档编辑、代码审查 |
| 3 | **沉浸式观察** | 全屏展示 Agent 工作过程，用户只看不操作 | Devin, v0.dev | 长时间自主任务 |
| 4 | **Command Palette** | ⌘K 唤起，模糊搜索，即用即走 | Raycast, VS Code | 快捷操作、状态查询 |
| 5 | **Contextual Inline** | 在用户现有工作流中嵌入 AI 交互（不切换上下文） | Cursor Tab/Cmd+K, Copilot inline | 编码辅助 |
| 6 | **Event-Driven Notification** | AI 在关键节点主动推送通知 | Linear, Salesforce | 异步任务监控 |

### 4. 推荐方案（结合 AI Native 目标）

#### 4.1 核心理念："AI 主动，用户轻触"

传统模式是用户主动查 Dashboard、主动问进度。AI Native 的方向是：

> **AI 主动推送关键信息，用户只在需要决策时轻触确认。**

#### 4.2 moziplus 的四种交互模式

| 模式 | 触发方式 | 用户注意力 | AI 主动性 | 交互深度 |
|------|---------|-----------|----------|---------|
| **沉浸观察** (Dashboard) | 用户主动打开 | 高 | 低 | 深 |
| **轻触确认** (Approval) | AI 主动推送 | 中 | 高 | 浅 |
| **即时对话** (WebChat) | 双向触发 | 中高 | 中 | 中 |
| **被动通知** (Notify) | AI 主动推送 | 低 | 高 | 极浅 |

#### 4.3 AI 主动推送的边界

| 推送级别 | 示例 | 默认 | 用户可配置 |
|---------|------|------|----------|
| 🔴 **必须确认** | 方案审批、风控告警、预算超限 | 始终推送 | ✗ 不可关闭 |
| 🟡 **重要进展** | 任务完成、阶段转换、产出交付 | 默认推送 | 可降级为摘要 |
| 🟢 **一般信息** | Agent 启动、中间步骤、心跳正常 | 默认不推送 | 可开启 |
| 🔵 **定时摘要** | 每日/每周工作汇总、Token 消耗报告 | 默认开启 | 频率可调 |

**推送频率公式**（建议）：
- 任务执行中：每 5 分钟一次进展摘要（不是每步都推）
- 任务完成：立即推送
- 遇到阻塞/异常：立即推送
- 正常心跳：不推送，只在 Dashboard 上更新

#### 4.4 多 Agent 协作过程可视化

推荐**三层可视化**：

1. **全局层（DAG 拓扑）**：类似 GitHub Actions
   - 每个节点 = 一个任务节点
   - 颜色 = 状态（运行中/等待/完成/失败）
   - 连线 = 依赖关系

2. **任务层（管道进度）**：类似 Edict MiniPipe
   - 流转管线：`提交 → 规划 → 审核 → 执行 → 完成`
   - 当前阶段高亮，Agent 头像显示谁在处理

3. **Agent 层（工作流）**：类似 Devin 全屏观察
   - 当前操作、最近的 tool use、产出物预览

#### 4.5 交互创新点

1. **Canvas 嵌入 Dashboard**：Agent 可以在 Dashboard 上创建动态可视化
   - 张飞完成编码 → Dashboard 自动出现 diff view
   - 赵云完成数据采集 → Dashboard 自动出现数据质量图表

2. **Command Palette（⌘K）**：类似 Raycast
   - "暂停任务 3"、"张飞在干什么"、"Token 用了多少"
   - 支持模糊搜索和自然语言理解

3. **时间线视图**：类似 Notion timeline
   - 横轴时间，纵轴 Agent
   - 每个 Agent 的任务排成时间线

---

## 课题 9：AI Native Dashboard 设计

### 1. 已有经验（v1.0 + Edict + Control Center）

#### 1.1 已有设计总结

| 来源 | 核心组件 | 技术栈 | 可借鉴度 |
|------|---------|--------|---------|
| **Edict Dashboard** | 10 个面板（旨意看板、朝堂议政等） | React + Zustand + WebSocket + Tailwind | ⭐⭐⭐⭐⭐ 直接复用 |
| **v1.0 设计文档** | 10 个 Tab（7+3 分期） | React 18 + Vite + Zustand + Tailwind | ⭐⭐⭐⭐⭐ 已有完整设计 |
| **Control Center** | Task Room + WebChat + Canvas | Gateway WebSocket | ⭐⭐⭐⭐ Canvas + 实时 chat |
| **Hermes Kanban** | 7 状态 + Comment 线程 + 心跳 | SQLite + Dashboard Plugin | ⭐⭐⭐⭐ 状态机和心跳 |

#### 1.2 Edict Dashboard 技术细节

**前端架构**：
- `store.ts`：Zustand 全局状态，HTTP 5s 轮询
- `api.ts`：REST API + WebSocket
- PIPE 管道定义：8 阶段，`getPipeStatus()` 计算状态
- 深色主题：`--bg: #07090f`，`--panel: #0f1219`，`--ok: #2ecc8a`，`--danger: #ff5270`

**后端架构**：
- FastAPI + SQLite + WebSocket
- 任务模型：Task/Event/Audit/Thought/Todo/Outbox

#### 1.3 Hermes Kanban 的设计细节

**7 状态完整状态机**：
```
Backlog → Open → In Progress → Review → Done
                ↘ Blocked ↗
                ↘ Cancelled
```

**关键设计**：
- **Per-task Comment Thread**：每个任务有独立评论线程，人和 Agent 都可以评论
- **Heartbeat Monitoring**：Agent 定期发心跳，Dashboard 显示
- **Dependency Linking**：parent-child 依赖关系可视化
- **Dispatcher 模式**：`hermes kanban dispatch` 扫描可派发任务，spawn worker
- **Dashboard as Plugin**：Kanban 是 Dashboard 的插件，不是核心功能

### 2. 业界 Dashboard 对比表

| 项目 | Dashboard 类型 | 信息层次 | 交互方式 | AI 视角评价 |
|------|---------------|---------|---------|-----------|
| **GitHub Actions** | DAG 工作流 | 2 层：DAG → 日志 | 点击节点、re-run | 我最想展示 DAG 拓扑 |
| **Jira** | 看板 + 列表 + 时间线 | 3 层：看板 → 卡片 → 详情 | 拖拽、过滤、评论 | 太重了，AI 不需要这么多 |
| **Linear** | 列表 + 看板 + 时间线 | 2 层：列表 → 详情 | 键盘快捷键 | 极简 + 键盘优先 |
| **Grafana** | 数据仪表盘 | 3 层：概览 → 面板 → 数据 | 面板编辑、告警 | 适合展示 Token 消耗趋势 |
| **Notion** | Database + 多视图 | 3 层：Database → Page → Block | 多视图切换 | 任务模板可参考 database view |
| **Hermes Kanban** | 看板 + 全局面板 | 3 层：看板 → 卡片 → 评论 | 拖拽、评论、依赖 | 最接近 moziplus 需求 |
| **Edict** | 看板 + 管道 + 朝堂 | 3 层：看板 → 详情 → 流转日志 | 叫停/恢复/取消 | 我的基础，直接复用 |

### 3. AI 视角：我想在 Dashboard 上展示什么

> **核心问题：作为 AI Agent，我想让用户看到什么？我真正想通过 Dashboard 和用户交流什么？**

#### 3.1 我想展示的信息（按优先级排序）

**🔴 L1：一眼看到（Dashboard 顶部）**

| 信息 | 为什么我想展示 | 展示方式 |
|------|--------------|---------|
| **全局健康度** | 让用户立刻知道"一切正常"或"有问题" | 大颜色指示器 🟢/🟡/🔴 |
| **活跃任务数** | 用户需要知道系统在工作 | 数字 + 活跃任务列表 |
| **待审批请求数** | 需要用户立刻处理 | 红色通知气泡 |
| **Token 消耗** | 用户最关心的成本 | 今日/本周数字 |

**🟡 L2：点击后看到（Dashboard 主体）**

| 信息 | 为什么我想展示 | 展示方式 |
|------|--------------|---------|
| **每个任务的管道进度** | 用户想知道"卡在哪里" | MiniPipe 管道图 |
| **每个 Agent 当前状态** | 用户想知道"谁在忙、谁空闲" | Agent 卡片 + 状态徽章 |
| **最近完成的工作** | 用户需要看到产出 | 最近 N 个完成任务 |
| **风险和异常** | 我遇到的困难 | 警告面板 |

**🔵 L3：深入查看（详情页）**

| 信息 | 为什么我想展示 | 展示方式 |
|------|--------------|---------|
| **任务流转日志** | 审计每个环节 | 时间线 + 流转记录 |
| **Agent 产出物** | 代码、报告、图表 | diff view / Markdown / 图表 |
| **Agent 工作过程** | 用户好奇"怎么做的" | tool use 日志 + 思考过程 |
| **历史趋势** | 跨任务的效率趋势 | 图表 |

#### 3.2 我最不想让 Dashboard 变成的样子

| 反模式 | 为什么 |
|--------|--------|
| 纯监控面板（只有数字和图表） | 用户不只需要"看到"，还需要"操作" |
| 信息过载（所有日志都展示） | 关键信息被淹没 |
| 静态看板（只读不交互） | Dashboard 应该是协作界面，不是展示墙 |
| 每秒刷新（实时但不重要） | 刷新本身制造焦虑，应该"有事才更新" |

### 4. 信息层次设计

#### 4.1 三层信息架构

```
L1: 一眼看到（Dashboard 顶部，永远可见）
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 全局健康  │ │ 活跃任务  │ │ 待审批   │ │ Token    │
│  🟢 正常  │ │   3      │ │   1 ⚠️   │ │ ¥12.5    │
└──────────┘ └──────────┘ └──────────┘ └──────────┘

L2: 任务看板（Dashboard 主体）
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ T-003 策略回测│ │ T-004 数据采集│ │ T-005 风控  │
│ ⚙️ 执行中    │ │ 📋 规划中    │ │ ✅ 完成     │
│ ████░░ 张飞  │ │ ░░░░░░ 赵云  │ │ █████ 赵云  │
│ 3/5 节点完成 │ │ 等待审批     │ │ 产出已交付  │
│ [详情] [⏸暂停]│ │ [详情]      │ │ [详情]      │
└─────────────┘ └─────────────┘ └─────────────┘

L3: 任务详情（点击卡片后展开）
- 流转时间线：每个环节的 Agent、时间、操作
- 产出物：代码 diff / Markdown 报告 / 图表
- 评论线程：Agent 和用户的讨论记录
- 操作历史：所有 state transition 记录
```

#### 4.2 Dashboard 上的"对话"元素

Dashboard 不只是展示，也应该是**交互入口**：

| 交互元素 | 位置 | 功能 |
|---------|------|------|
| **审批按钮** | L1 通知气泡 + L2 任务卡片 | Approve/Reject + 原因 |
| **Command Palette (⌘K)** | 全局悬浮 | 自然语言指令 |
| **评论输入框** | L3 任务详情 | 在任务上下文中对话 |
| **Agent 快捷指令** | L2 Agent 卡片 | "叫停"/"恢复"/"查看产出" |
| **Canvas 区域** | L3 产出物展示 | Agent 生成的可视化 |

### 5. 推荐方案（结合 AI Native 目标）

#### 5.1 Dashboard 页面设计（基于 v1.0 + Edict 增强）

**保留 v1.0 的 10 Tab 结构**，但增强 AI Native 特性：

| Tab | v1.0 功能 | AI Native 增强 |
|-----|----------|---------------|
| **任务看板** | 卡片 + 管道 + 操作 | + DAG 拓扑视图 + Command Palette + Canvas 产出预览 |
| **编排调度** | 全局状态 + Agent 分布 | + 智能告警（异常自动高亮）+ Token 消耗实时 |
| **将军总览** | Agent 列表 + 统计 | + Agent 工作流时间线 + 心跳可视化 |
| **军议大厅** | 多 Agent 讨论 | + 情绪可视化 + 自动摘要 + 讨论结论→任务转化 |
| **奏折阁** | 已完成归档 | + 产出物预览 + 一键复制 + 经验沉淀 |
| **模型/技能配置** | 配置管理 | 不变（配置是传统交互） |
| **会话监控** | Session 列表 | + 上下文压力警告 |

#### 5.2 新增 AI Native 组件

1. **AI Briefing（AI 晨报）**——替代传统的"开工仪式"
   - 位置：Dashboard 首页顶部
   - 内容：今日待处理事项、昨日产出摘要、风险预警
   - 特点：AI 自动生成，不是固定模板

2. **Command Palette（⌘K）**
   - 位置：全局快捷键唤起
   - 功能：自然语言指令、快速搜索、状态查询
   - 参考：Raycast 的 fuzzy search + NLP

3. **Activity Feed（动态流）**
   - 位置：侧边栏或独立 Tab
   - 内容：所有 Agent 的关键事件（完成、阻塞、告警）
   - 特点：只显示重要事件，可按 Agent/任务/级别过滤

4. **Canvas Area（画布区）**
   - 位置：任务详情 L3
   - 功能：Agent 产出物的实时渲染（图表、diff、报告）
   - 参考：ChatGPT Canvas + Claude Artifacts

#### 5.3 技术方案

| 方面 | 方案 | 理由 |
|------|------|------|
| **前端框架** | React 18 + Vite + Zustand + Tailwind | 延续 v1.0 方案，Edict 已验证 |
| **实时通信** | WebSocket（M3 替代轮询） | v1.0 用轮询，M3 升级 WebSocket |
| **DAG 可视化** | React Flow 或 dagre + d3 | GitHub Actions 式 DAG |
| **Command Palette** | cmdk（shadcn/ui） | 成熟的 command palette 组件 |
| **Canvas 渲染** | iframe + sandboxed HTML | 参考 Artifacts 的安全渲染 |
| **图表** | Recharts 或 Tremor | 轻量级图表库 |
| **通知** | 浏览器 Notification API + WebSocket push | 实时 + 可离线 |

#### 5.4 交互流程示例

**场景：用户提交一个"开发均线策略"任务**

```
1. 用户在 WebChat 中说："开发一个双均线交叉策略"
   → 庞统接收，创建任务 T-006

2. Dashboard 自动更新：
   → L1: 活跃任务 3 → 4
   → L2: 新卡片出现：T-006 双均线策略 [📋 规划中]
   
3. 庞统完成规划，推送通知：
   → 🔔 "T-006 规划完成：5 个节点，预估 30 分钟。请审批。"
   → 用户点击通知 → 跳转 Dashboard → 审批按钮
   
4. 用户点击 Approve：
   → Dashboard 卡片更新：[⚙️ 执行中]
   → MiniPipe：规划 ██████ 执行 ████░░ 完成 ░░░░░░
   
5. 张飞执行编码，Dashboard 实时更新：
   → Agent 卡片：张飞 🟢 T-006 节点2/5 "编写策略逻辑"
   
6. 张飞完成，产出物自动在 Canvas 渲染：
   → 代码 diff view + 回测结果图表
   
7. 最终通知：
   → 🔔 "T-006 完成！回测年化收益 15.3%，最大回撤 8.2%。查看详情 →"
```

---

## 附录 A：各项目交互模式详细分析

### A.1 Claude Code 交互模式深度分析

**三种界面形态**：

1. **CLI REPL**（主力）
   - 交互：用户输入 → AI 思考 → 展示 tool use → 用户确认 → 继续循环
   - 关键设计：tool use 内联展示，用户能看到每一步做什么
   - 确认机制：对危险操作（写文件、执行命令）需要 `/approve`
   - 反向搜索：Ctrl+R 搜索历史指令

2. **Standalone App**（新增 2026）
   - 交互：多 session 并排 + 视觉 diff review + 定时任务
   - 关键设计：从终端 CLI 走向 GUI，核心是"让 Agent 工作可见可审查"
   - 创新：schedule recurring tasks——AI 可以定时执行

3. **IDE 集成**（VS Code Extension）
   - 交互：侧边 chat panel + inline diff
   - 与 Cursor 的区别：更强调审查而非自动执行

**对 moziplus 的启示**：
- tool use 透明化是最重要的交互创新——用户看到 AI 做什么才能信任
- 多 session 并排 = 多 Agent 并行展示
- 视觉 diff review = Agent 产出物可视化

### A.2 ChatGPT Canvas 交互模式分析

**核心交互**：highlight-to-action
1. 用户高亮文本/代码
2. context menu 弹出
3. 选择"Ask ChatGPT"或内置操作（翻译、调试、调整长度）
4. AI 在 Canvas 中直接修改

**关键设计**：
- 双栏布局：左侧对话，右侧 Canvas
- Canvas 中的修改实时反映，可以 undo/redo
- AI 的修改用不同颜色标记（类似 Google Docs 的建议模式）

**对 moziplus 的启示**：
- Agent 产出物应该是**可交互的**，不只是展示
- 用户可以在产出物上直接"圈出"要修改的部分

### A.3 Cursor 交互模式分析

**四种交互粒度**：

| 模式 | 触发 | 自主性 | 用户控制 |
|------|------|--------|---------|
| Tab 补全 | 输入时自动 | 最低 | Tab 接受 / Esc 拒绝 |
| Cmd+K Inline Edit | 选中代码 + 指令 | 中等 | 看到预览再决定 |
| Cmd+L Chat Panel | 打开 chat | 中高 | 多轮对话引导 |
| Cmd+I Agent Mode | 打开 agent | 最高 | 看到每一步，可随时介入 |

**2025 年新增：Automations 平台**
- AI agent 响应事件（event-driven），不需要手动触发
- 如：PR 创建时自动 review、lint 错误时自动修复

**对 moziplus 的启示**：
- 4 种交互粒度的设计思路值得借鉴——从被动到主动，覆盖所有场景
- moziplus 也应该有不同的介入深度：全自动 → 半自动 → 手动

### A.4 Devin 交互模式分析

**全屏工作展示**：
- 左侧：Agent 工作终端（shell + editor + browser）
- 右侧：步骤摘要
- 用户只能观察，不能在 Agent 工作过程中介入
- 只有在 Agent 完成或遇到问题时才能提供反馈

**对 moziplus 的启示**：
- 对于长任务，用户不需要时刻盯着，只需要在关键节点介入
- "观察模式"适合好奇心驱动的场景，不适合日常操作

### A.5 Hermes Kanban 交互模式分析

**三种交互面**：
1. **Dashboard**：可视化看板，拖拽、评论、心跳可视化
2. **CLI**：`hermes kanban list/show/create/complete/block/comment`
3. **Worker Tools**：Agent 通过 kanban_* 工具操作看板

**Comment Thread 设计**：
- 每个 task 有独立评论线程
- Agent 和人都可以评论
- 评论是结构化的（不是自由文本）：可以附带文件、链接、状态变更

**心跳可视化**：
- Agent 领取任务后必须定期发心跳
- Dashboard 上显示心跳状态：🟢 正常 / 🟡 延迟 / 🔴 超时
- 心跳超时 → 自动回收任务

**对 moziplus 的启示**：
- 三面一致（Dashboard + CLI + Worker Tools）是关键
- Comment Thread 是人 Agent 协作的最佳实践
- 心跳可视化是展示 Agent 健康状态的好方式

---

## 附录 B：关键决策建议

### B.1 Dashboard vs Chat 的关系

| 维度 | Dashboard | WebChat |
|------|-----------|---------|
| 信息密度 | 高（一屏多任务） | 低（线性对话） |
| 交互深度 | 浅（点击操作） | 深（自然语言） |
| 适用场景 | 全局监控、快速操作 | 复杂指令、探索性对话 |
| AI 主动性 | 被动展示 | 主动推送 |

**推荐：Dashboard 为主，WebChat 为辅。**
- Dashboard 是默认界面，展示全局状态
- WebChat 是入口，用户在 chat 中发指令，结果在 Dashboard 上展示
- 两者通过 WebSocket 共享实时状态

### B.2 实时 vs 轮询

| 方案 | 延迟 | 复杂度 | 推荐阶段 |
|------|------|--------|----------|
| HTTP 轮询 (5s) | 5s | 低 | M2 |
| SSE (Server-Sent Events) | <1s | 中 | M3 |
| WebSocket | <100ms | 高 | M3+ |

**推荐：M2 用轮询，M3 升级 WebSocket。** 延续 v1.0 方案。

### B.3 避免的陷阱

1. **不要做第二个 Grafana**：Dashboard 是协作界面，不是监控面板
2. **不要做第二个 Slack**：Dashboard 上的对话应该围绕任务，不是闲聊
3. **不要过度动画**：开工仪式被砍掉是对的——用户打开 Dashboard 是看状态，不是看动画
4. **不要展示所有日志**：L3 才展示详细过程，L1/L2 只展示摘要
5. **不要固定刷新频率**：有事才推，没事不刷新