# Dify 仪表板控制工作流配置指南

## 概述

本文档指导如何配置 Dify 工作流，使 AI 能够通过自然语言控制店长视窗的组件显示、布局切换。

## 系统架构

```
用户输入 → Dify Workflow → 生成 DASHBOARD_ACTION → 前端解析执行 → UI 更新
```

---

## 仪表板动作类型

### 1. configure_widgets - 配置组件显示

```json
[DASHBOARD_ACTION]
{
  "kind": "dashboard_action",
  "type": "configure_widgets",
  "params": {
    "show": ["sales_trend", "stats_cards"],
    "hide": ["category_stats"]
  }
}
[/DASHBOARD_ACTION]
```

### 2. focus_widget - 聚焦单个组件

```json
[DASHBOARD_ACTION]
{
  "kind": "dashboard_action",
  "type": "focus_widget",
  "params": { "widget": "pending_approvals" }
}
[/DASHBOARD_ACTION]
```

### 3. set_layout - 切换布局模式

```json
[DASHBOARD_ACTION]
{
  "kind": "dashboard_action",
  "type": "set_layout",
  "params": { "layout": "analytics" }
}
[/DASHBOARD_ACTION]
```

### 4. refresh_widget - 刷新组件数据

```json
[DASHBOARD_ACTION]
{
  "kind": "dashboard_action",
  "type": "refresh_widget",
  "params": { "widgets": ["insight_feed", "stats_cards"] }
}
[/DASHBOARD_ACTION]
```

### 5. set_time_range - 设置数据时间范围

```json
[DASHBOARD_ACTION]
{
  "kind": "dashboard_action",
  "type": "set_time_range",
  "params": { "timeRange": "month" }
}
[/DASHBOARD_ACTION]
```

---

## 可用组件 ID

| ID | 中文名称 | 类型 |
|----|----------|------|
| `agent_status` | Agent状态栏 | status |
| `store_goal` | 经营目标卡片 | goal |
| `quick_actions` | 快捷操作 | actions |
| `pending_approvals` | 待审批列表 | list |
| `sales_trend` | 销售趋势图 | chart |
| `order_status` | 订单状态分布 | chart |
| `category_stats` | 类目统计 | chart |
| `user_growth` | 用户增长 | chart |
| `insight_feed` | AI洞察流 | feed |
| `stats_cards` | 统计卡片 | stats |

## 预设布局

| layout | 名称 | 包含组件 |
|--------|------|----------|
| `default` | 默认布局 | 全部10个组件 |
| `compact` | 紧凑布局 | agent_status, stats_cards, pending_approvals, insight_feed |
| `analytics` | 数据分析 | stats_cards, sales_trend, order_status, category_stats, user_growth |
| `approvals` | 审批视图 | agent_status, store_goal, pending_approvals, insight_feed |

## 时间范围

| timeRange | 中文 |
|-----------|------|
| `today` | 今日 |
| `week` | 本周 |
| `month` | 本月 |
| `quarter` | 本季度 |
| `year` | 本年 |

---

## Dify System Prompt 示例

```markdown
# 你是商城管理助手

你可以通过生成结构化动作来控制店长工作台界面。

## 仪表板控制动作格式

当需要调整界面显示时，在回复中包含：

[DASHBOARD_ACTION]
{
  "kind": "dashboard_action",
  "type": "动作类型",
  "params": { 参数 }
}
[/DASHBOARD_ACTION]

## 示例

### 用户说"只显示销售数据"
好的，我来为您调整显示内容。

[DASHBOARD_ACTION]
{"kind":"dashboard_action","type":"configure_widgets","params":{"show":["sales_trend","stats_cards","order_status"]}}
[/DASHBOARD_ACTION]

已为您显示销售相关组件。

### 用户说"切换到数据分析视图"
好的，正在切换布局。

[DASHBOARD_ACTION]
{"kind":"dashboard_action","type":"set_layout","params":{"layout":"analytics"}}
[/DASHBOARD_ACTION]

已切换到数据分析视图。

### 用户说"看一下待审批"
好的，我来聚焦待审批列表。

[DASHBOARD_ACTION]
{"kind":"dashboard_action","type":"focus_widget","params":{"widget":"pending_approvals"}}
[/DASHBOARD_ACTION]

已聚焦到待审批列表。
```

---

## 自然语言映射示例

| 用户输入 | 生成的动作 |
|----------|-----------|
| "只显示图表" | `configure_widgets` → show: charts |
| "隐藏洞察流" | `configure_widgets` → hide: insight_feed |
| "切换紧凑视图" | `set_layout` → compact |
| "看本月数据" | `set_time_range` → month |
| "刷新洞察" | `refresh_widget` → insight_feed |
| "聚焦销售趋势" | `focus_widget` → sales_trend |
