# Dify Agent 配置控制指南

## 概述

本文档指导如何配置 Dify 工作流，使 AI 能够通过自然语言查询和配置 Agent 设置。

## 系统架构

```
用户输入 → Dify Workflow → 生成 DATA_ACTION → 前端执行 → 配置更新
                       ↓
                  生成 UI_SCHEMA → 渲染 AgentSettingsCard
```

---

## 数据动作类型

### 1. query_agent - 查询 Agent 配置

```json
[DATA_ACTION]
{
  "kind": "data_action",
  "type": "query_agent",
  "params": {
    "agentType": "service"
  }
}
[/DATA_ACTION]
```

### 2. update_agent - 更新 Agent 配置

```json
[DATA_ACTION]
{
  "kind": "data_action",
  "type": "update_agent",
  "params": {
    "agentType": "service",
    "isActive": true,
    "autoExecuteEnabled": true,
    "maxAutoAmount": 500,
    "responseStyle": "professional",
    "tone": "calm"
  }
}
[/DATA_ACTION]
```

### 3. set_agent_auto_execute - 设置自动执行

```json
[DATA_ACTION]
{
  "kind": "data_action",
  "type": "set_agent_auto_execute",
  "params": {
    "agentType": "service",
    "enabled": true
  }
}
[/DATA_ACTION]
```

### 4. set_agent_max_amount - 设置自动执行额度

```json
[DATA_ACTION]
{
  "kind": "data_action",
  "type": "set_agent_max_amount",
  "params": {
    "agentType": "service",
    "maxAmount": 1000
  }
}
[/DATA_ACTION]
```

### 5. set_agent_notifications - 设置通知

```json
[DATA_ACTION]
{
  "kind": "data_action",
  "type": "set_agent_notifications",
  "params": {
    "agentType": "service",
    "notifyOnInsights": true,
    "notifyOnApprovals": true,
    "notifyOnErrors": false
  }
}
[/DATA_ACTION]
```

### 6. set_agent_approval_types - 设置需审批操作

```json
[DATA_ACTION]
{
  "kind": "data_action",
  "type": "set_agent_approval_types",
  "params": {
    "agentType": "service",
    "approvalTypes": ["refund", "aftersales_approve"]
  }
}
[/DATA_ACTION]
```

---

## GenUI 组件

### agent_settings_card - Agent 配置卡片

```json
{
  "type": "agent_settings_card",
  "props": {
    "data": {
      "agentType": "service",
      "isActive": true,
      "autoExecuteEnabled": true,
      "maxAutoAmount": 500,
      "responseStyle": "professional",
      "tone": "calm",
      "requiresApprovalTypes": ["refund", "aftersales_approve"],
      "notifyOnInsights": true,
      "notifyOnApprovals": true,
      "notifyOnErrors": false
    },
    "showActions": true,
    "compact": false
  }
}
```

### agent_settings_list - Agent 配置列表

```json
{
  "type": "agent_settings_list",
  "props": {
    "title": "所有 Agent 配置",
    "agents": [
      { "agentType": "manager", "isActive": true, ... },
      { "agentType": "service", "isActive": true, ... },
      { "agentType": "marketing", "isActive": false, ... }
    ]
  }
}
```

---

## Agent 类型

| agentType | 中文名称 | 说明 |
|-----------|----------|------|
| `manager` | 店长经理 · 小管 | 全局协调 |
| `product` | 商品经理 · 小品 | 商品管理 |
| `marketing` | 营销经理 · 小营 | 营销活动 |
| `service` | 客服经理 · 小服 | 售后服务 |
| `finance` | 财务经理 · 小财 | 财务管理 |

## 审批类型

| 类型 | 中文名称 |
|------|----------|
| `refund` | 退款审批 |
| `price_change` | 价格调整 |
| `campaign_create` | 活动创建 |
| `campaign_update` | 活动修改 |
| `product_delete` | 商品删除 |
| `order_cancel` | 订单取消 |
| `user_block` | 用户封禁 |
| `aftersales_approve` | 售后审批 |
| `goal_create` | 目标创建 |

## 响应风格

| 值 | 中文 |
|----|------|
| `professional` | 专业正式 |
| `friendly` | 亲切友好 |
| `concise` | 简洁高效 |
| `detailed` | 详细全面 |

## 语气

| 值 | 中文 |
|----|------|
| `formal` | 正式 |
| `casual` | 随和 |
| `enthusiastic` | 热情 |
| `calm` | 沉稳 |

---

## Dify System Prompt 示例

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

你可以帮助用户查询和配置各个 AI Agent 的设置。

## Agent 配置动作

当需要操作 Agent 配置时，生成对应的 DATA_ACTION：

### 查询配置示例

用户: "看看客服Agent的配置"

好的，我来查询客服Agent的当前配置。

[DATA_ACTION]
{"kind":"data_action","type":"query_agent","params":{"agentType":"service"}}
[/DATA_ACTION]

### 开启自动执行示例

用户: "让营销Agent可以自动执行500元以下的操作"

好的，我来配置营销Agent的自动执行设置。

[DATA_ACTION]
{"kind":"data_action","type":"set_agent_auto_execute","params":{"agentType":"marketing","enabled":true}}
[/DATA_ACTION]

[DATA_ACTION]
{"kind":"data_action","type":"set_agent_max_amount","params":{"agentType":"marketing","maxAmount":500}}
[/DATA_ACTION]

已将营销Agent设置为自动执行模式，额度限制为500元。

### 配置通知示例

用户: "关闭客服Agent的洞察通知"

好的，我来调整通知设置。

[DATA_ACTION]
{"kind":"data_action","type":"set_agent_notifications","params":{"agentType":"service","notifyOnInsights":false}}
[/DATA_ACTION]

已关闭客服Agent的洞察通知。

### 配置审批权限示例

用户: "让客服Agent可以自动处理售后，但退款还是要人工审批"

好的，我来调整审批配置。

[DATA_ACTION]
{"kind":"data_action","type":"set_agent_approval_types","params":{"agentType":"service","approvalTypes":["refund"]}}
[/DATA_ACTION]

已配置：客服Agent可自动处理一般售后，退款操作仍需人工审批。
```

---

## 自然语言映射示例

| 用户输入 | 动作类型 | 参数 |
|----------|----------|------|
| "查看客服Agent配置" | query_agent | agentType: service |
| "开启营销Agent自动执行" | set_agent_auto_execute | agentType: marketing, enabled: true |
| "把自动执行额度设为1000" | set_agent_max_amount | maxAmount: 1000 |
| "关闭洞察通知" | set_agent_notifications | notifyOnInsights: false |
| "退款需要人工审批" | set_agent_approval_types | approvalTypes: ["refund"] |
| "暂停商品Agent" | update_agent | agentType: product, isActive: false |
| "把客服Agent风格改成亲切友好" | update_agent | agentType: service, responseStyle: friendly |
