> For the complete documentation index, see [llms.txt](https://proinsight.gitbook.io/crewmeld/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://proinsight.gitbook.io/crewmeld/v-1.0.0-cn/crewmeld-yong-hu-shou-ce.md).

# CrewMeld用户手册

> 版本 1.0.0

***

## 0. 系统初始化

> 此章节仅用于全新部署。系统初始化完成后，本页面会自动重定向到登录页，再次访问 `/setup` 也会被重定向到 `/dashboard`。

首次部署 CrewMeld 后，访问平台根地址会进入初始化向导（路径 `/setup`），在创建首个超级管理员账号和工作区前不能登录。系统会调用 `/api/system/setup/status` 自动判断是否已初始化。

{% stepper %}
{% step %}

### 第一步：管理员账号

| 字段        | 必填 | 说明            |
| --------- | -- | ------------- |
| **管理员姓名** | 是  | 用于显示在导航栏和审计日志 |
| **管理员邮箱** | 是  | 校验邮箱格式        |
| **登录密码**  | 是  | 至少 8 位        |
| **确认密码**  | 是  | 必须与登录密码一致     |

校验通过后点击 **「下一步」** 进入组织配置。
{% endstep %}

{% step %}

### 第二步：组织配置

| 字段            | 必填 | 说明       |
| ------------- | -- | -------- |
| **组织名称**      | 否  | 留空则使用默认值 |
| {% endstep %} |    |          |

{% step %}

### 第三步：系统检查

向导自动检查数据库、Redis 及关键依赖的连通性，并展示检查结果。点击 **「完成」** 时调用 `/api/system/setup` 提交初始化。
{% endstep %}
{% endstepper %}

### 0.2 初始化完成后

* 系统创建超级管理员账号和默认工作区。
* 自动跳转到 `/login` 页面，使用刚才填写的管理员邮箱和密码登录。
* 该首个账号自动获得 **超级管理员** 角色，绕过所有权限检查。

> **注意**：初始化是一次性操作，提交后无法重复触发。再次部署需要重置数据库才能再次进入向导。

***

## 1. 登录与注册

![登录页面](/files/ce099b0d9cb07ea2bdd79f4a08cc96f6ef1d25a0)

### 1.1 登录

打开平台地址后进入登录页，页面左侧展示平台核心特性（企业级安全、智能自动化、灵活编排），右侧为登录表单。

**操作步骤：**

1. 在 **邮箱** 输入框中输入注册邮箱地址。
2. 在 **密码** 输入框中输入密码（点击右侧眼睛图标可切换密码明文/密文显示）。
3. 点击 **「登录」** 按钮。
4. 登录成功后自动跳转至总览仪表盘。

### 1.2 注册新账号

注册流程拆分为多个独立页面：

{% stepper %}
{% step %}

### 填写注册表单（`/signup`）

1. 在登录页点击下方 **「立即注册」** 链接，进入注册页 `/signup`。
2. 填写以下字段：

| 字段       | 必填 | 说明                           |
| -------- | -- | ---------------------------- |
| **昵称**   | 是  | 用于显示在导航栏和对话中                 |
| **邮箱**   | 是  | 必须符合管理员配置的注册策略（见 §14.5 注册设置） |
| **密码**   | 是  | 至少 8 位                       |
| **确认密码** | 是  | 必须与密码一致                      |

3. 点击 **「注册」** 按钮提交。
4. 提交成功后根据管理员配置自动跳转：
   * 启用邮箱验证 → 跳转到验证邮件等待页
   * 启用注册审批 → 跳转到 `/pending-approval` 等待审批页
   * 直接放行 → 自动登录并跳转到总览页
     {% endstep %}

{% step %}

### 邮箱验证（`/verify`）

如果管理员启用了邮箱验证：

1. 系统向注册邮箱发送验证邮件。
2. 在邮件中点击验证链接，链接会指向 `/verify?token=...`。
3. 页面自动校验 token，校验通过后提示验证成功；失败时给出错误原因和重发按钮。
   {% endstep %}

{% step %}

### 等待审批（`/pending-approval`）

如果管理员启用了注册审批：

* 注册提交后进入此页面，提示「您的账号正在等待管理员审批，请稍后再试」。
* 管理员在 **系统设置 → 用户管理** 审批通过后，您可以使用注册时的邮箱密码登录。
* 审批被拒绝时显示「审批未通过」并附带备注（如有）。
  {% endstep %}
  {% endstepper %}

### 1.3 找回密码（`/reset-password`）

1. 点击密码输入框上方的 **「忘记密码？」** 链接。
2. 输入注册邮箱，点击 **「发送重置链接」**。
3. 系统将发送密码重置链接到该邮箱，链接指向 `/reset-password?token=...`。
4. 在重置页面输入新密码并确认，提交后自动跳转回登录页。

> **注意**：重置链接有有效期限制，过期后需重新发起请求。

***

## 2. 总览仪表盘

![总览仪表盘](/files/b06bcc680da089d6c36d5fa56bb218bc6253a316)

登录后默认进入总览页面，提供平台运行状态的全局视图。

### 2.1 核心指标

页面顶部展示四个核心指标卡片：

| 指标        | 说明                          |
| --------- | --------------------------- |
| **工作中员工** | 当前处于运行状态的数字员工数量，下方显示待命数     |
| **本月任务量** | 当月执行任务总数，红色/绿色箭头表示较上月的变化百分比 |
| **处理成功率** | 当月任务成功率，低于阈值时以红色标记          |
| **待处理事项** | 需要人工审批或干预的事项数，包括 SOP 审批等    |

### 2.2 资产概览

三张卡片分别展示已配置的资产情况：

* **工具** — 已部署和已绑定的工具数量
* **知识库** — 知识库总数及已绑定数
* **系统连接** — 已配置的外部系统连接数

### 2.3 SOP 执行统计

展示本月 SOP 执行汇总：SOP 定义数、已完成数、执行中数、失败数、待审批数。待审批项以红色高亮提示。

### 2.4 对话统计

展示本月对话总数、消息总数、活跃渠道数，并按渠道类型（Discord、Telegram、Web 等）分别标注。

### 2.5 7日任务趋势

折线图展示近 7 天每日任务执行量的变化趋势，鼠标悬停可查看具体数值。

### 2.6 员工效能排名

以表格形式按任务数和成功率排列数字员工，快速定位高效员工。

### 2.7 系统状态

以卡片形式展示系统运行状态，包含：

* **版本号** — 当前系统版本
* **数据库** — 连接状态和响应延迟
* **Redis** — 连接状态和响应延迟
* 其他基础组件的健康状态

***

## 3. 数字员工

![数字员工列表](/files/0d788a1b83024bb148ef64fc83c5c9a798020be9)

数字员工是平台的核心概念，每个数字员工是一个可独立运行的 AI 智能体，绑定特定的模型、知识库和工具。

### 3.1 查看员工列表

进入 **数字员工** 页面后，以卡片网格形式展示所有数字员工，每张卡片包含：

| 信息项        | 说明                     |
| ---------- | ---------------------- |
| **员工名称**   | 员工名称，点击可进入详情页          |
| **功能描述**   | 该员工的职责说明               |
| **今日任务数**  | 实时统计当日工作成果             |
| **成功率**    | 任务成功率百分比               |
| **绑定模型**   | 当前使用的 LLM 模型名称（有绑定时显示） |
| **知识库绑定数** | 已关联的知识库数量（大于 0 时显示）    |

### 3.2 搜索

* **搜索框** — 输入关键词按名称实时模糊搜索

### 3.3 创建数字员工（五步向导）

点击右上角 **「+ 上岗新员工」** 按钮，进入五步创建向导：

![创建员工 - 基本设置](/files/eb362196eefffdd68379139e3131136f33f7e04e)

{% stepper %}
{% step %}

### 第一步：基本设置

| 字段       | 必填 | 说明                                                                  |
| -------- | -- | ------------------------------------------------------------------- |
| **头像**   | 否  | 提供 8 个快捷表情按钮，点击「更多」打开完整表情选择器（8 个分类：人物、机器人、商务、数据、工具、创意、通讯、其他，共数百个表情） |
| **员工名称** | 是  | 最多 50 个字符                                                           |
| **描述**   | 否  | 最多 200 个字符                                                          |
| **人格**   | 否  | 多行文本，定义员工的角色定位、人格特征和回复风格                                            |
| **角色选择** | 否  | 点击按钮打开角色选择对话框，可从内置角色中选择或创建自定义角色                                     |

**角色选择对话框：**

* 以卡片列表展示所有角色，按分类分组显示：销售、数据、客服 + 自定义
* 每张卡片显示角色图标、名称、描述
* 内置角色不可删除；自定义角色鼠标悬停时显示删除按钮
* 点击 **「创建角色」** 按钮可新建自定义角色（需填写名称、描述和人格）
* 选中某个角色后，**员工名称、描述、人格** 会被自动填充为该角色的默认值（仅当用户尚未手动修改这些字段时）

**内置角色清单（共 15 个）：**

| 分类          | 角色                                  |
| ----------- | ----------------------------------- |
| **销售（5 个）** | 线索研究员、SDR（销售开发代表）、评分员、CRM 录入员、销售教练  |
| **数据（4 个）** | 查询分析师、图表生成师、报表撰写师、异常检测师             |
| **客服（6 个）** | 接待分流员、售前咨询专员、售后处理专员、质检员、转人工协调员、问答助手 |

> **提示**：内置角色 ID 以 `builtin-` 前缀标识，存储于前端静态数据，不写入数据库；删除内置角色会被服务端拒绝。
> {% endstep %}

{% step %}

### 第二步：配置工具

* 以 3 列卡片网格展示所有已部署的工具实例，每页 9 个
* 每张工具卡片显示：图标、名称、描述、来源模板
* 点击卡片进行多选/取消选择，选中项显示蓝色边框和勾选标记
* 底部显示已选数量
* 支持翻页浏览
  {% endstep %}

{% step %}

### 第三步：配置知识库

* 以 2 列卡片网格展示所有可用知识库
* 每张卡片显示：复选框、名称、描述、文档数、切片数
* 蓝色提示框说明知识库为可选配置
* 勾选复选框进行多选/取消选择
  {% endstep %}

{% step %}

### 第四步：绑定模型

* 提供搜索框，可按模型显示名称、提供商名称或模型名称筛选
* 以列表展示所有已激活的模型配置
* 每项显示：提供商图标、显示名称、提供商名称、模型名称
* 通过单选按钮选择一个模型（单选）
* 蓝色提示框说明模型为可选配置
  {% endstep %}

{% step %}

### 第五步：试运行

* 点击 **「运行测试」** 按钮执行一次空输入测试
* 成功时显示绿色勾选标记和返回消息
* 失败时显示红色叉号和错误信息
* 可点击 **「重新运行」** 按钮重复测试
* 如有执行日志可展开查看
  {% endstep %}
  {% endstepper %}

### 3.4 查看员工详情

点击员工卡片名称进入详情页，包含以下部分：

![员工详情页](/files/4303647e6cda209d84b9d2625d1602872df5aac7)

#### 页面头部

* 员工头像、名称
* 员工 ID（显示前 8 位，点击复制完整 ID）
* 在岗天数、描述

**操作按钮：**

* **删除** — 红色垃圾桶图标，点击后弹出确认对话框

#### 标签页

**（1）概览标签**

统计卡片展示（支持按月/周/日切换统计周期）：

| 指标     | 说明           |
| ------ | ------------ |
| 已完成任务数 | 选定周期内完成的任务总数 |
| 成功率    | 百分比显示        |
| 平均耗时   | 格式化显示        |
| 待审批数   | 大于 0 时高亮告警   |
| 错误次数   | 大于 0 时高亮告警   |
| 知识库绑定数 | 已绑定的知识库数量    |
| 绑定模型   | 当前绑定的模型名称    |

下方展示最近活动日志列表，每条日志显示时间戳、类型标签（操作/决策/工具调用/LLM调用/错误）和消息内容。

**（2）工作日志标签**

* **日期筛选** — 全部 / 今天 / 本周 / 本月
* **类型筛选** — 全部 / 操作 / 工具调用 / LLM 调用 / 错误
* 日志按任务 ID 分组显示，每个任务可展开/折叠
* 每个任务组头部显示：触发类型、状态标签、耗时、错误标记、输入摘要
* 展开后查看该任务下的每条日志：时间戳、类型标签、消息内容
* 每条日志可点击展开查看元数据 JSON
* 超过 50 条日志时支持翻页
* 右上角 **「刷新」** 按钮可手动更新

**（3）工具绑定标签**

**已绑定实例区域：**

* 显示标题和已绑定数量
* 每个已绑定工具显示：名称、来源模板、状态（已部署）、端点地址
* 每个工具右侧有 **「解绑」** 按钮（红色）

**添加工具：**

1. 点击 **「添加工具」** 按钮
2. 展开可用实例列表，每个实例右侧有 **「绑定」** 按钮（蓝色）
3. 点击绑定后自动加入已绑定列表

**（4）知识库标签**

> **前提条件**：需先在 **系统连接** 中配置 RAGFlow 知识库连接。未配置时显示提示信息和 **「前往配置知识库连接」** 按钮，点击跳转到系统连接页面的 RAGFlow 标签。

**已绑定知识库区域：**

* 以 3 列卡片网格展示
* 每张卡片显示：图标、名称、描述、文档数、切片数
* 鼠标悬停时显示 **「解绑」** 按钮（垃圾桶图标）

**绑定知识库：**

1. 点击 **「绑定」** 按钮
2. 弹出知识库选择对话框，展示可用知识库列表
3. 每个知识库右侧有 **「绑定」** 按钮
4. 点击绑定后自动加入已绑定列表
5. 当所有知识库都已绑定时显示「全部已绑定」

**（5）连接管理标签**

分两个区域管理员工的外部连接：

**LLM 模型绑定：**

* 已绑定时：显示模型卡片（提供商图标、显示名称、提供商、模型名、状态），提供 **「编辑」** 和 **「解绑」** 按钮
* 未绑定时：显示空状态，点击 **「绑定模型」** 按钮打开模型选择对话框
* 模型选择对话框提供搜索框和模型列表，支持按名称筛选

**消息渠道：**

* 已绑定渠道以蓝色边框列表展示，每个渠道可 **「解绑」**
* 可用渠道以白色边框列表展示，每个渠道可 **「绑定」**

每个渠道项显示：图标、名称、类型、状态指示灯（绿色=已连接、红色=异常、灰色=未连接）、描述。

**（6）人格设定标签**

编辑员工人格设定，定义角色定位、人格特征和回复风格。

* **文本编辑区** — 多行文本输入，支持自由编辑人格描述
* **快捷模板** — 提供四个预设模板按钮：客服专员、数据分析师、销售助手、通用助手，点击可快速填充
* **预览/编辑切换** — 支持在编辑模式和 Markdown 预览模式之间切换
* **Token 估算** — 实时显示当前人格描述的 Token 消耗估算（预算 1000 Token）
* **字符统计** — 显示当前输入字符数
* **保存按钮** — 点击保存修改，成功后显示勾选标记

### 3.5 删除数字员工

**从列表删除：**

1. 点击卡片右上角的 **垃圾桶图标**
2. 确认对话框中点击 **「确认删除」**

**从详情页删除：**

1. 点击详情页头部的红色 **垃圾桶图标**
2. 确认对话框中点击 **「确认删除」**

> **注意**：删除操作不可恢复。

***

## 4. 任务中心

![任务中心](/files/82b3e318def0b413ec8a20bf23024e45df8d84ba)

任务中心集中管理所有 SOP 执行任务的全生命周期。侧边栏中任务中心图标右侧的红色角标（如 99+）表示待处理任务数。

### 4.1 进行中标签页

显示当前正在执行或等待审批的任务，页面顶部有绿色「自动刷新中」提示，任务状态实时更新。

**任务列表字段：**

| 列名         | 说明                             |
| ---------- | ------------------------------ |
| **SOP 名称** | 触发该任务的 SOP 名称及版本号（如「采购设备 v28」） |
| **状态**     | 当前状态标签：待处理、运行中、人工审批中（蓝色）等      |
| **节点进度**   | 已完成节点数/总节点数（如 1/2）             |
| **当前节点**   | 正在执行或等待的节点名称                   |
| **触发人**    | 触发该任务的用户或系统                    |
| **耗时**     | 从开始到当前的累计耗时                    |
| **时间**     | 任务创建的相对时间（如「14 小时前」）           |

**查看任务详情：**

点击任意任务行，右侧弹出任务详情抽屉（520px 宽），包含：

1. **基本信息**（两列网格）：
   * SOP 名称 + 版本号
   * 触发人
   * 创建时间、开始时间、完成时间
   * 耗时（带时钟图标）
   * 节点进度（已完成/总数）
   * 重试次数（大于 0 时显示）
2. **错误信息**（红色区域）：仅在任务出错时显示，展示完整错误文本
3. **节点执行时间线**：
   * 按垂直时间线展示每个节点的执行状态
   * 每个节点显示：状态图标（待处理/运行中/已完成/已跳过/错误）、节点名称、类型标签、开始时间、耗时
   * 失败节点显示红色错误信息
4. **触发数据**：JSON 格式展示触发时的输入数据

### 4.2 定时任务标签页

![定时任务](/files/4ae0701e6c75dee4499321d58440475b174cedb3)

管理通过 Cron 定时触发的计划任务。

**定时任务列表字段：**

| 列名         | 说明                   |
| ---------- | -------------------- |
| **任务名称**   | 定时任务名称               |
| **SOP 名称** | 关联的 SOP 名称           |
| **执行计划**   | Cron 表达式（等宽字体显示）     |
| **下次运行**   | 距下次运行的相对时间（如「3 小时后」） |
| **状态**     | 已启用（绿色）/ 已停用（灰色）     |
| **操作**     | 编辑、立即执行、启用/停用、删除     |

#### 创建定时任务

点击 **「+ 新建定时任务」** 按钮，弹出表单对话框（520px 宽）：

| 字段         | 必填 | 说明                                                   |
| ---------- | -- | ---------------------------------------------------- |
| **任务名称**   | 是  | 文本输入                                                 |
| **选择 SOP** | 是  | 下拉选择已有的 SOP                                          |
| **执行时间**   | 是  | 预设方案下拉 + 自定义 Cron 输入                                 |
| **时区**     | 是  | 默认 Asia/Shanghai，可选 Asia/Tokyo、UTC、America/New\_York |

**预设执行计划：**

* 每天 9:00
* 每天 18:00
* 工作日 9:00
* 每周一 9:00
* 每月 1 日 9:00
* 每小时
* 每 30 分钟
* 自定义（输入 Cron 表达式）

填写完成后点击 **「保存」** 创建定时任务。

#### 编辑定时任务

点击任务行操作列的 **铅笔图标**，弹出与创建相同的表单对话框，预填当前配置，修改后点击 **「保存」**。

#### 立即执行

点击任务行操作列的 **播放图标**，立即触发一次该定时任务的 SOP 执行，无需等待下次计划时间。

#### 启用/停用定时任务

点击任务行操作列的 **暂停/播放图标**，切换定时任务的启用/停用状态。停用后不再按计划自动执行。

#### 删除定时任务

点击任务行操作列的 **垃圾桶图标**，确认对话框中点击 **「确认删除」** 永久删除该定时任务。

#### 查看执行记录

点击定时任务行，右侧弹出执行记录抽屉（480px 宽），显示：

* 任务名称和关联 SOP 信息
* 历史执行记录列表：每条显示状态图标（运行中带动画）、状态文字、耗时、时间戳

### 4.3 历史记录标签页

![历史记录](/files/891d6bcfd628a3c9d9b12bbae69baa7190e5f7f9)

展示已完成、已失败、超时、已取消的历史任务。

**筛选条件：**

| 筛选项        | 说明                       |
| ---------- | ------------------------ |
| **状态多选**   | 复选框下拉：已完成、已失败、异常、已超时、已取消 |
| **SOP 下拉** | 全部 SOP 或选择指定 SOP         |
| **开始日期**   | 日期选择器                    |
| **结束日期**   | 日期选择器                    |

任务列表字段与进行中标签页相同，支持翻页浏览（每页 20 条）。

### 4.4 沙盒记录标签页

展示在沙箱环境中的测试运行记录。沙盒环境与生产任务隔离，**不会真正调用工具**，所有外部调用（HTTP、数据库写入等）会被拦截并记录，方便用户在不影响真实数据的前提下验证 SOP 流程。

**触发沙盒运行：**

* **从 SOP 编辑器**：在编辑器顶部点击「沙盒试运行」按钮（位于「执行」按钮旁），系统将当前未保存的 SOP 定义提交到 `/api/sandbox/sop-run` 接口，运行结果直接写入沙盒记录列表
* **从工具调试**：工具的对话测试和单步调用也会进入沙盒记录

**列表字段：**

| 列名       | 说明                 |
| -------- | ------------------ |
| **运行类型** | 标签显示：SOP 运行 / 工具调用 |
| **状态**   | 彩色状态标签             |
| **节点数**  | 涉及的节点数量            |
| **拦截数**  | 被沙盒拦截的外部调用次数       |
| **耗时**   | 执行耗时               |
| **时间**   | 相对时间戳              |

点击行可打开沙盒运行详情抽屉，查看节点执行结果、被拦截的外部调用清单（含请求方法、URL、参数）、执行路径和 Token 消耗统计。

> **提示**：沙盒运行不会触发真实通知（飞书/钉钉/邮件等审批消息），也不会写入工作日志。如需端到端测试，请通过 SOP 编辑器的「执行」按钮发起真实运行。

### 4.5 待审批任务

在进行中标签页中，人工审批中的任务以蓝色标签高亮显示。

**审批紧急程度：**

| 等级 | 颜色 | 等待时间     |
| -- | -- | -------- |
| 紧急 | 红色 | ≥ 120 分钟 |
| 高  | 橙色 | ≥ 60 分钟  |
| 中  | 黄色 | ≥ 30 分钟  |
| 普通 | 绿色 | < 30 分钟  |

待审批列表每 10 秒自动刷新，等待时间每 60 秒更新显示。

#### 审批操作

点击待审批任务的 **「审批」** 按钮打开审批详情对话框（560px 宽）：

1. **信息区域**：SOP 名称 + 版本、等待节点名称、触发人、创建时间、过期时间（如有，橙色显示）
2. **操作区域**：

**通过审批：**

1. 点击蓝色 **「通过」** 按钮
2. 可选填写备注（最多 500 字）
3. 点击 **「确认通过」** 提交

**驳回审批：**

1. 点击红色 **「驳回」** 按钮
2. 必须填写驳回原因（最多 1000 字，红色星号标记必填）
3. 点击 **「确认驳回」** 提交

两种操作均可点击 **「取消」** 链接返回初始状态。

***

## 5. 对话

![对话页面](/files/eceb48b13e8ef0a5f6ccb441fc19629cc7aab6bb)

对话功能支持用户与数字员工进行实时交互，用于测试员工能力或日常沟通。支持文本消息、文件附件、知识库引用展示和工具调用过程可视化。

### 5.1 选择员工

进入 **对话** 页面后，以卡片网格展示所有数字员工（移动端单列，平板双列，桌面三列），提示「选择一个数字员工开始对话」。

**每张员工卡片显示：**

| 信息项       | 说明                    |
| --------- | --------------------- |
| **头像**    | 蓝色圆形背景，显示员工名称首字或自定义头像 |
| **名称**    | 员工名称（单行截断）            |
| **状态指示灯** | 绿色圆点 = 运行中，灰色圆点 = 未激活 |
| **功能描述**  | 最多两行，无描述时显示占位文字       |
| **绑定模型**  | 紫色文字显示当前模型名称          |

**每张卡片右侧两个操作按钮：**

* **对话按钮**（💬 图标）— 点击进入与该员工的聊天界面
* **历史按钮**（🕐 图标）— 点击进入该员工的全部对话历史页面

> **提示**：未激活的员工卡片以半透明状态展示，不可发起对话。

**加载状态**：页面加载时显示 6 个骨架卡片动画。\
**空状态**：无员工时显示提示图标和「暂无员工」说明文字。

### 5.2 聊天界面

点击员工卡片的对话按钮后进入聊天界面，页面布局如下：

![聊天界面](/files/5ea89577f5a0df3d36c10770d4595bc8cdb31e58)

* **顶部导航栏** — 返回按钮、员工头像和名称
* **左侧边栏**（仅桌面端可见，占 64% 宽度）— 对话历史列表
* **右侧主区域** — 聊天面板

#### 5.2.1 对话历史侧边栏

左侧边栏展示当前员工的所有历史对话会话：

**每条会话显示：**

* 💬 图标
* 会话标题（自动取首条消息前 50 个字符，单行截断）
* 消息数量标签
* 相对时间（如「2 小时前」）

**操作：**

* **点击会话** — 切换到该对话，加载历史消息
* **「+」按钮** — 创建新对话会话
* **删除按钮**（悬停时显示，移动端始终显示）— 点击后弹出确认对话框，确认后永久删除该对话及所有消息

**筛选规则**：仅显示有消息的对话，以及当前正在进行的活跃对话。

> **提示**：移动端不显示侧边栏，聊天面板占满全屏。

#### 5.2.2 发送消息

1. 在底部输入框输入消息内容。
2. 按 **Enter** 键发送消息（按 **Shift+Enter** 换行）。
3. 或点击右侧蓝色 **发送按钮** 发送。

**输入框特性：**

* 自动伸缩高度（最小 1 行，最大约 120px）
* 最大输入 10,000 个字符（服务端校验）
* 流式回复进行中或文件上传中时输入框被禁用

**首次发送行为：**

* 如果当前没有活跃对话，发送第一条消息时系统自动创建新对话会话
* 对话标题自动设置为首条消息的前 50 个字符

#### 5.2.3 发送文件附件

1. 点击输入框左侧的 **📎 附件按钮**。
2. 在弹出的文件选择器中选择一个或多个文件（单文件最大 50MB）。
3. 选中的文件显示在输入框下方的待发送区域，每个文件显示：
   * 📄 文件图标
   * 文件名（最多显示 150px 宽度，超出截断）
   * 文件大小（自动格式化为 B/KB/MB）
   * **✕ 移除按钮** — 点击取消该文件的发送
4. 输入消息文本（可选）后点击发送，文件随消息一起发送。

> **提示**：流式回复进行中或文件上传中时，附件按钮被禁用。

#### 5.2.4 消息气泡显示

聊天界面中的消息以气泡形式展示，不同角色的消息样式不同：

**用户消息（右对齐）：**

* 蓝色背景、白色文字
* 最大宽度 85%
* 保留空白和换行格式
* 鼠标悬停时显示 **复制按钮**，点击后显示绿色勾选表示已复制

**助手消息（左对齐）：**

* 灰色背景、深色文字
* 最大宽度 85%
* 内容以 Markdown 格式渲染，支持：
  * **代码块** — 深灰色背景，右上角显示语言标签，可横向滚动
  * **行内代码** — 粉色文字、灰色背景
  * **表格** — 带边框、灰色表头
  * **链接** — 蓝色带下划线，点击在新标签页打开
  * **引用** — 左侧蓝色竖线、斜体文字
  * **列表** — 标准有序/无序列表
* 流式回复时末尾显示 **闪烁光标** 动画
* 鼠标悬停时显示 **复制按钮**（流式进行中不显示）

**系统消息（居中）：**

* 浅黄色背景、深黄色文字
* 最大宽度 600px
* 用于显示错误提示和系统通知

**工具消息：**

* 灰色背景
* 前缀显示工具名称（中等灰色）
* 内容最多显示 3 行

#### 5.2.5 文件附件展示

消息中的文件附件显示在消息气泡下方：

**图片文件：**

* 直接以缩略图展示（最大高度 192px）
* 圆角边框
* 点击图片在新标签页打开完整大图
* 支持懒加载

**非图片文件：**

* 显示为文件条目：📄 文件图标 + 文件名 + 文件大小 + ⬇ 下载图标
* 用户消息中的文件为蓝色调背景
* 助手消息中的文件为白色背景灰色边框
* 点击可下载文件

#### 5.2.6 工具调用过程展示

当数字员工在回复过程中调用工具时，消息之间会显示工具执行指示条：

* **执行中** — 蓝色背景条，显示旋转加载图标 + 「正在执行 {工具名称}」
* **执行完成** — 蓝色背景条，显示「已执行 {工具名称}」
* SOP 类型执行显示「标准操作流程」标签

执行过程中还可能显示琥珀色进度消息条，展示引擎处理进度。

#### 5.2.7 知识库引用展示

当助手回复引用了知识库内容时，消息下方显示可展开的 **「引用来源」** 按钮：

1. 点击按钮展开引用面板，显示引用的文档数和切片数。
2. 引用按文档分组，每个文档显示：
   * 📄 图标 + 文档名称
   * 切片数量标签
   * 匹配度百分比标签
3. 点击文档展开/折叠该文档下的所有切片。
4. 每个切片显示：
   * 文档名称（截断）
   * 切片索引号
   * 相似度百分比标签
   * 内容预览（最多 3 行）

#### 5.2.8 流式回复与加载状态

* **等待回复**：助手正在思考时，显示灰色圆角气泡 + 「思考中...」文字和旋转图标
* **流式输出**：助手回复以流式方式逐字展示，末尾带闪烁光标
* **消息轮询**：非流式状态下每 5 秒自动轮询新消息（检测 SOP 完成、审批结果等异步消息）

#### 5.2.9 自动滚动行为

* 当视口在距底部 80px 以内时，新消息自动滚动到底部
* 当用户正在阅读历史消息（滚动位置远离底部）时，不自动滚动，避免打断阅读

### 5.3 创建新对话

有两种方式创建新对话：

1. **自动创建** — 在聊天界面向尚无活跃对话的员工发送第一条消息时，系统自动创建新对话
2. **手动创建** — 在左侧对话历史侧边栏中点击 **「+」** 按钮创建新的空白对话会话

### 5.4 删除对话

1. 在左侧对话历史侧边栏中，鼠标悬停在目标对话上，点击出现的 **垃圾桶图标**。
2. 弹出确认对话框，显示提示信息。
3. 点击 **「删除」**（红色按钮）确认删除，或点击 **「取消」** 放弃。

> **注意**：删除对话将永久移除该对话及其所有消息记录，不可恢复。

### 5.5 对话历史页面

点击员工选择页面中卡片的 **历史按钮**（🕐 图标），进入该员工的完整对话历史页面。

#### 页面布局

* **顶部**：返回按钮、员工信息、渠道筛选下拉
* **左侧列表**（桌面端 320px 宽）：对话会话列表
* **右侧详情**（桌面端占剩余宽度）：选中对话的消息详情

> **移动端**：列表和详情以切换方式展示，选中对话后进入详情视图，可返回列表。

#### 渠道筛选

顶部提供渠道筛选下拉，可按来源渠道过滤对话：

| 渠道       | 图标     | 颜色  |
| -------- | ------ | --- |
| 全部渠道     | —      | —   |
| Web      | 🌐 地球  | 蓝色  |
| 飞书       | ✈ 发送   | 紫色  |
| 钉钉       | 📱 电话  | 天蓝色 |
| 企业微信     | 💬 消息  | 绿色  |
| Telegram | ✈ 发送   | 青色  |
| Discord  | 💬 消息圈 | 靛蓝色 |
| 邮件       | ✉ 邮件   | 橙色  |
| 微信公众号    | 💬 消息  | 翠绿色 |

切换渠道时自动清除当前选中的对话。

#### 渠道统计徽章栏

顶部下方展示各渠道的对话数量统计，以彩色小徽章形式排列。

#### 对话列表

每条对话显示：

* **渠道图标**（对应颜色的圆形背景）
* **对话标题** 或默认标题
* **渠道标签**
* **发送人名称**（如有，来自外部渠道的用户名）
* **消息预览**（截断显示）
* **消息数量** + 相对时间
* **删除按钮**（垃圾桶图标）

#### 查看对话消息

点击左侧列表中的对话，右侧详情区域显示：

**信息头部：**

* 渠道标签
* 发送人名称
* 消息数量
* 创建日期

**消息列表：**

* 以消息气泡形式展示所有用户和助手消息（工具和系统消息已过滤隐藏）
* 消息按时间顺序排列
* 如消息较多，顶部显示 **「加载更多」** 按钮（每次加载 50 条，基于游标分页）

**未选择对话时**：显示大图标 + 「请选择一个对话查看」提示文字。

#### 删除历史对话

点击对话列表中的 **垃圾桶图标**，确认后永久删除该对话记录。

操作成功/失败时页面顶部显示绿色/红色 Toast 提示（3 秒后自动消失）。

### 5.6 快捷键一览

| 快捷键               | 功能   |
| ----------------- | ---- |
| **Enter**         | 发送消息 |
| **Shift + Enter** | 输入换行 |

***

## 6. 运营报表

![运营报表](/files/8db0857bd3c2163681aada7a746d407b9f6f7a82)

运营报表提供多维度的数据分析视图，帮助管理者了解平台运行效率。

### 6.1 时间范围选择

页面右上方提供：

* 快捷选择：**近 7 天**（默认）/ **近 30 天** / **近 90 天**
* 自定义日期区间选择器

### 6.2 效能概览

**效能概览** 标签下包含五个分析子标签：

**（1）核心指标**

四个统计卡片：

| 指标       | 说明                   |
| -------- | -------------------- |
| **任务总量** | 选定时间范围内的任务总数         |
| **成功率**  | 任务成功率百分比             |
| **异常率**  | 异常任务占比               |
| **活跃员工** | 有任务执行记录的员工数（以「人」为单位） |

**（2）任务量趋势**

折线图展示任务量按日变化趋势：

* X 轴：日期
* Y 轴：任务数量
* 鼠标悬停显示每日总数及各员工明细

**（3）成功率趋势**

折线图展示成功率按日变化趋势：

* Y 轴范围：0-100%
* 鼠标悬停显示成功率、任务数、员工明细

**（4）异常分布**

柱状图展示每日失败任务数量：

* 鼠标悬停显示失败员工明细

**（5）员工对比**

表格形式对比不同数字员工的工作效能，支持按列排序。

### 6.3 调用成本

![调用成本](/files/34d8fdf4837724cb157cb7a2148bd27f7f4ac70d)

**调用成本** 标签展示 LLM 模型调用次数和 Token 消耗的详细分析。

### 6.4 导出报告

点击右上角 **「导出报告」** 按钮，弹出导出配置对话框：

| 配置项      | 说明                            |
| -------- | ----------------------------- |
| **报告类型** | 上月报告 / 上季度报告 / 自定义            |
| **日期范围** | 选择「自定义」时可指定起止日期，选择上月/上季度时自动计算 |
| **格式**   | PDF                           |

点击 **「生成」** 按钮导出报告文件。

***

## 7. 知识库

![知识库](/files/47bcb6f9b4ef93a3b8062d00864c0be19668a2de)

知识库用于存储和管理数字员工在执行任务和对话时可检索的知识文档。当前版本采用 **RAGFlow 直连模式**：知识库列表和文档管理直接调用 RAGFlow 服务接口，不再使用平台中间层。

> **前置条件**：使用知识库前必须在 **系统连接 → 知识库（RAGFlow）** 中配置 RAGFlow 服务连接（每工作区限 1 个）。未配置时知识库列表会显示空状态和「前往配置」按钮。

### 7.1 查看知识库列表

入口路径 `/knowledge`，以卡片网格形式展示当前 RAGFlow 服务下的所有数据集，每张卡片显示：

* **知识库名称** — 点击进入详情页 `/knowledge/datasets/{id}`
* **描述信息** — 最多显示两行
* **文档数量** — 包含的文档数
* **创建日期**

支持通过顶部搜索框按名称/描述模糊搜索。

### 7.2 创建知识库

1. 点击右上角 **「+ 添加知识库」** 按钮，弹出创建对话框。
2. 填写字段：

| 字段        | 必填 | 说明      |
| --------- | -- | ------- |
| **知识库名称** | 是  | 知识库名称   |
| **描述**    | 否  | 知识库用途说明 |

3. 点击 **「确认」** 创建，请求直接转发到 RAGFlow 创建对应的数据集。

### 7.3 查看知识库详情

点击知识库卡片进入详情页（路径 `/knowledge/datasets/{id}`），页面包含：

![知识库详情](/files/a0941044b4552249498713c77a6176f19b35f31f)

**头部信息：**

* 知识库名称和描述
* 文档总数
* 总存储大小（自动格式化为 GB/MB/KB/B）
* 使用的嵌入模型

**文档列表（表格形式）：**

| 列名       | 说明                   |
| -------- | -------------------- |
| **复选框**  | 全选/单选，用于批量操作         |
| **文件名**  | 点击进入文档详情查看           |
| **文件大小** | 格式化显示                |
| **切片数**  | 文档解析后的切片数量           |
| **上传时间** | 点击列头可排序（升序/降序/默认）    |
| **启用状态** | 开关控件，直接切换            |
| **解析状态** | 未开始/运行中（带进度条）/已完成/失败 |
| **操作**   | 菜单按钮                 |

**筛选功能：**

* 文件名搜索（文本输入，400ms 防抖）
* 文件扩展名下拉筛选

{% stepper %}
{% step %}

### 上传文档

1. 在知识库详情页点击 **「上传」** 按钮，弹出上传对话框。
2. 将文件拖拽到上传区域，或点击区域浏览选择文件。

**上传限制：**

* 每次最多 32 个文件
* 每次总大小不超过 1 GB
* 支持格式：`.pdf`、`.doc`、`.docx`、`.xls`、`.xlsx`、`.ppt`、`.pptx`、`.txt`、`.md`、`.csv`、`.html`、`.htm`、`.json`、`.png`、`.jpg`、`.jpeg`

3. 可选开关：**「上传时解析」**（默认开启）— 上传后自动开始解析文档。
4. 文件列表显示已选文件，每个文件右侧有移除按钮。
5. 点击 **「上传」** 开始上传。
   {% endstep %}
   {% endstepper %}

### 7.5 管理文档

#### 查看文档详情

点击文件名进入文档详情页，左右分栏布局：

* **左侧面板**：文件预览
  * 文本文件：原文显示
  * Markdown：渲染预览
  * PDF：内嵌 PDF 查看器
  * Excel：多 Sheet 标签 + 表格显示
  * 其他格式：提示不支持预览
* **右侧面板**：文档切片列表
  * 每页最多 100 个切片
  * 搜索框按关键词检索切片（400ms 防抖）
  * 全览/紧凑视图切换

#### 重命名文档

点击文档操作列的 **铅笔图标**，弹出重命名对话框，修改文件名后保存。

#### 切换文档启用状态

在文档列表的「启用状态」列，直接点击开关切换。启用的文档参与知识检索，停用的文档不参与。

#### 重新解析文档

* **单个解析**：点击文档操作列的 **播放图标** 或「解析」按钮
* **批量解析**：勾选多个文档后，点击批量操作栏的 **「解析」** 按钮
* 解析过程中列表自动刷新（运行中 1 秒间隔，完成后 10 秒间隔）

#### 批量操作

勾选一个或多个文档后，顶部显示批量操作栏：

* **「启用」** — 批量启用所有选中文档
* **「停用」** — 批量停用所有选中文档
* **「解析」** — 批量重新解析所有选中文档
* **「删除」** — 批量删除所有选中文档（需确认）

#### 下载文档

点击文档操作列的 **下载图标**，下载原始文件到本地。

#### 删除文档

* **单个删除**：点击文档操作列的 **垃圾桶图标**，确认后删除
* **批量删除**：勾选多个文档后，点击批量操作栏的 **「删除」** 按钮，确认后删除

### 7.6 删除知识库

在知识库列表页，点击知识库卡片右上角的 **删除图标**，确认后删除整个知识库及其所有文档。

> **注意**：删除知识库后，所有关联的文档和切片数据将永久丢失，不可恢复。

***

## 8. 系统连接

![系统连接](/files/8e8edcf8a7d867c7230d61d0aa7048c4b7f8d6b7)

系统连接管理平台与外部系统和 LLM 模型的集成配置。

### 8.1 标签页结构

页面顶部按连接类型动态生成标签页，当前版本固定为以下 4 个标签：

| 标签页              | 说明                                                                |
| ---------------- | ----------------------------------------------------------------- |
| **数据库**          | 管理数据库连接（PostgreSQL、MySQL、MariaDB、SQL Server、Oracle、MongoDB、Redis） |
| **知识库（RAGFlow）** | 管理 RAGFlow 知识库服务连接（每个工作区仅限一个，单例类型）                                |
| **自定义 API**      | 管理自定义 API 连接（支持 Postman 风格的 Header / Query / Body / 鉴权配置）         |
| **模型配置**         | 配置 LLM 大语言模型的 API 密钥和参数                                           |

> **注意**：旧版本中的 CRM、OpenClaw、Dify、n8n 等连接类型已移除，不再可用。如有遗留数据，请改用「自定义 API」连接重新接入。

### 8.2 查看连接列表

以卡片网格展示所有连接，每张卡片显示：

* **图标和名称** — 类型子标签
* **描述** — 最多两行
* **状态指示灯** — 绿色「已连接」/ 灰色「未连接」/ 红色「异常」/ 黄色闪烁「检测中」
* **上次健康检查时间**
* **错误信息** — 异常时显示
* **操作按钮** — 「编辑」和「立即检查」

**筛选：**

* 按 **状态** 筛选（全部、已连接、未连接、异常）

{% stepper %}
{% step %}

### 第一步：选择类型

选择连接类型，数据库类型可进一步选择子类型（PostgreSQL、MySQL、MongoDB 等）。
{% endstep %}

{% step %}

### 第二步：填写配置

| 字段        | 必填    | 说明                                                 |
| --------- | ----- | -------------------------------------------------- |
| **连接名称**  | 是     | 最多 100 个字符                                         |
| **描述**    | 否     | 最多 500 个字符                                         |
| **动态配置项** | 视类型而定 | 根据连接类型不同，动态展示对应的配置字段（主机、端口、用户名、密码、Token、API Key 等） |

密码类字段以密文形式展示，编辑时显示「已配置」标记。
{% endstep %}

{% step %}

### 第三步：测试连接并保存

* 点击 **「测试连接」** 按钮验证配置
* 测试结果显示延迟指标和成功/失败状态
* 测试通过后点击 **「保存」** 完成创建
* 创建完成后自动执行一次健康检查

> **注意**：部分连接类型为单例类型（如知识库 RAGFlow 连接），每个工作区只能配置一个。尝试重复创建时系统会弹出提示。
> {% endstep %}
> {% endstepper %}

### 8.4 编辑连接

1. 点击连接卡片上的 **「编辑」** 按钮，弹出编辑对话框。
2. 表单预填当前配置，密码字段显示「已配置」标记。
3. 如不修改密码，保存时自动保留原密码。
4. 修改完成后点击 **「保存」**。

### 8.5 健康检查

点击连接卡片上的 **「立即检查」** 按钮：

* 状态灯切换为黄色闪烁（检测中）
* 检测完成后更新状态和时间戳
* 异常时在卡片上显示错误信息

### 8.6 删除连接

1. 点击连接卡片操作菜单中的 **「删除」**。
2. 确认对话框中点击 **「确认删除」**。

> **注意**：删除连接前请确保没有数字员工正在使用该连接。

### 8.7 模型配置

#### 查看模型列表

切换到 **「模型配置」** 标签页，查看已配置的所有 LLM 模型。

![模型配置](/files/750de9c6617e85412f4afee96a6cf5904f09cd2d)

{% stepper %}
{% step %}

### 第一步：选择提供商

提供商按分组展示：

* **国产** — 阿里云通义千问、DeepSeek、百度文心、腾讯混元、月之暗面（Moonshot）、智谱 AI、豆包（字节跳动）、MiniMax
* **国际** — OpenAI、Anthropic、Google（Gemini）
* **本地部署** — Ollama、vLLM 等本地/私有化部署

每个提供商卡片显示已配置的模型数量。
{% endstep %}

{% step %}

### 第二步：填写配置

| 字段           | 必填    | 说明                                |
| ------------ | ----- | --------------------------------- |
| **显示名称**     | 是     | 用于在平台中显示的名称                       |
| **模型名称**     | 否     | 模型 ID（如 qwen-turbo、deepseek-chat） |
| **API Key**  | 大部分必填 | Ollama 等本地模型可选                    |
| **API 端点**   | 否     | 自定义接口地址                           |
| **温度**       | 否     | 0-2，默认 0.7                        |
| **最大 Token** | 否     | 默认 4096                           |

> **特殊说明**：
>
> * **豆包（字节跳动）** — 模型名称字段需填写火山方舟平台的 Endpoint ID（格式如 `ep-2024xxxxxx-xxxxx`），而非模型名称。
> * **vLLM** — 支持动态模型发现，连接后自动从 `/v1/models` 接口获取可用模型列表，模型名自动添加 `vllm/` 前缀。
>   {% endstep %}
>   {% endstepper %}

#### 编辑模型

点击模型卡片的 **「编辑」** 按钮，弹出与第二步相同的编辑对话框，修改后保存。对话框内包含 **「测试连接」** 按钮可验证配置有效性。

#### 对话测试

每个模型配置卡片上有 **「对话」** 按钮，点击打开对话测试窗口。可直接与模型进行交互测试，验证配置是否正确、模型响应是否符合预期。支持查看消息历史和清除历史记录。

#### 测试模型

点击 **「测试连接」** 按钮，显示：

* 延迟指标（毫秒）
* 响应预览（前两行）
* 成功/失败状态

***

## 9. 消息渠道

![消息渠道](/files/6da3fce6a294b6a45dabd2441298ca82456df4ca)

消息渠道管理数字员工与外部通信平台的接入配置。

### 9.1 查看渠道列表

以卡片网格展示所有渠道，每张卡片显示：

* **图标和渠道名称** — 类型子标签
* **描述** — 最多两行
* **状态指示灯** — 绿色「已连接」/ 灰色「未连接」/ 红色「异常」/ 黄色闪烁「检测中」
* **上次健康检查时间**
* **通知机器人标记** — 绿色标记（如已设为通知机器人）
* **错误信息** — 异常时显示

**筛选：**

* 搜索框按名称实时搜索（带清除按钮）
* 按 **类型** 下拉筛选
* 按 **状态** 下拉筛选
* 支持分页浏览

### 9.2 支持的渠道类型

| 渠道       | 说明                                |
| -------- | --------------------------------- |
| 飞书       | 对接飞书机器人，支持接收和回复消息、互动卡片            |
| 企业微信     | 对接企业微信自建应用，支持消息收发和模板卡片            |
| 钉钉       | 对接钉钉自建应用机器人，支持消息收发和 ActionCard    |
| 微信公众号    | 对接微信公众号（服务号/订阅号），支持文本和图片消息        |
| Telegram | 对接 Telegram Bot，支持文本、图片、文件和内联键盘卡片 |
| Discord  | 对接 Discord Bot，支持私信、频道消息、线程和附件    |
| 邮件       | 通过 SMTP/IMAP 收发邮件                 |

{% stepper %}
{% step %}

### 第一步：选择渠道类型

![添加渠道 - 选择类型](/files/470208823d75d136b1d8a69068d05f07e40c2939)

选择目标渠道类型。
{% endstep %}

{% step %}

### 第二步：填写配置

| 字段       | 必填    | 说明                   |
| -------- | ----- | -------------------- |
| **渠道名称** | 是     | 最多 100 个字符           |
| **描述**   | 否     | 最多 500 个字符           |
| **认证信息** | 视类型而定 | 根据渠道类型不同，动态展示对应的配置字段 |

各渠道类型的具体认证字段详见下方渠道接入教程。
{% endstep %}

{% step %}

### 第三步：测试连接并保存

系统自动验证配置是否正确，测试通过后保存。保存后系统自动生成 Webhook 回调地址，需将其配置到对应平台的事件订阅中，完成双向通信。
{% endstep %}
{% endstepper %}

### 9.4 编辑渠道

点击渠道卡片的 **「编辑」** 按钮，弹出编辑对话框，预填当前配置。密码类字段显示「已配置」标记。修改后点击 **「保存」**。

### 9.5 测试渠道连接

点击渠道卡片上的 **「测试」** 按钮，实时检测渠道连接的可用性并更新状态。

### 9.6 设为通知机器人

平台支持将以下 5 种渠道类型设为通知机器人，用于 SOP 审批提醒、任务异常告警等系统通知的推送：**飞书、企业微信、钉钉、邮件、Telegram**。

* Discord 和微信公众号目前 **不支持** 作为通知机器人。
* 每种渠道类型只能有一个活跃通知机器人；设置新通知机器人会自动取消同类型旧机器人。
* 点击渠道卡片操作菜单中的 **「设为通知机器人」**，请求 `/api/employee/channels/notification-bot`。
* 设置成功后卡片上显示绿色通知标记。

### 9.7 删除渠道

1. 点击渠道卡片操作菜单中的 **「删除」**。
2. 确认对话框中点击 **「确认删除」**。

### 9.8 渠道绑定与消息流转

渠道创建完成后，需要将渠道与数字员工绑定：

1. 在渠道添加向导的配置步骤中，选择要绑定的数字员工。
2. 或在数字员工详情页 → 连接标签 → 消息渠道区域中绑定。

**消息流转流程**：外部用户发送消息 → 平台 Webhook 接收 → 签名验证/消息解密 → 路由到绑定的数字员工 → 员工处理后自动回复。

***

### 9.9 飞书渠道接入教程

{% stepper %}
{% step %}

### 第一步：在飞书开放平台创建自建应用

1. 访问 [飞书开放平台](https://open.feishu.cn/)，登录企业管理员账号。
2. 进入 **「开发者后台」**，点击 **「创建企业自建应用」**。
3. 填写应用名称（如「CrewMeld 数字员工」）和描述，点击创建。
4. 创建完成后进入应用详情页。
   {% endstep %}

{% step %}

### 第二步：获取应用凭证

在应用详情页的 **「凭证与基础信息」** 中获取：

* **App ID** — 应用唯一标识
* **App Secret** — 应用密钥（点击「查看」获取）
  {% endstep %}

{% step %}

### 第三步：配置机器人能力

1. 在左侧菜单选择 **「应用能力」→「机器人」**，点击 **「启用机器人」**。
2. 机器人启用后，用户即可在飞书中搜索并与该机器人对话。
   {% endstep %}

{% step %}

### 第四步：配置事件订阅

1. 在左侧菜单选择 **「事件与回调」→「事件配置」**。
2. 请求地址配置为 CrewMeld 的飞书 Webhook 地址：

   ```
   https://<你的域名>/api/channels/feishu/webhook
   ```

   或带员工 ID 的地址：

   ```
   https://<你的域名>/api/channels/feishu/webhook/<employeeId>
   ```
3. 记录页面中的 **Encrypt Key**（加密密钥）和 **Verification Token**（验证令牌），稍后在 CrewMeld 中填写。
4. 添加以下事件订阅：
   * `im.message.receive_v1` — 接收消息
   * `card.action.trigger`（如需互动卡片回调）
     {% endstep %}

{% step %}

### 第五步：配置权限

在 **「权限管理」** 中申请以下权限：

* `im:message` — 获取与发送消息
* `im:message:send_as_bot` — 以机器人身份发送消息
* `contact:user.base:readonly` — 获取用户基本信息（可选）
  {% endstep %}

{% step %}

### 第六步：发布应用

1. 在 **「版本管理与发布」** 中提交审核。
2. 企业管理员在飞书管理后台审批通过后，应用生效。
   {% endstep %}

{% step %}

### 第七步：在 CrewMeld 中添加渠道

回到 CrewMeld 平台，消息渠道 → 「+ 添加渠道」→ 选择「飞书」，填写以下配置：

| 字段                 | 说明                | 是否必填 |
| ------------------ | ----------------- | ---- |
| App ID             | 飞书自建应用 App ID     | 必填   |
| App Secret         | 飞书自建应用 App Secret | 必填   |
| Encrypt Key        | 事件订阅加密密钥          | 选填   |
| Verification Token | 事件订阅验证令牌          | 选填   |

点击「测试连接」验证通过后保存。

> **参考文档**：[飞书开放平台 - 企业自建应用开发指南](https://open.feishu.cn/document/home/introduction-to-custom-app-development/self-built-application-development-process)
> {% endstep %}
> {% endstepper %}

### 9.10 钉钉渠道接入教程

{% stepper %}
{% step %}

### 第一步：在钉钉开放平台创建应用

1. 访问 [钉钉开放平台](https://open-dev.dingtalk.com/)，使用管理员账号登录。
2. 进入 **「应用开发」→「企业内部开发」**，点击 **「创建应用」**。
3. 填写应用名称（如「CrewMeld 数字员工」）和描述，点击创建。
   {% endstep %}

{% step %}

### 第二步：获取应用凭证

在应用的 **「基础信息」→「应用信息」** 页面获取：

* **AppKey** — 应用标识
* **AppSecret** — 应用密钥
  {% endstep %}

{% step %}

### 第三步：配置机器人

1. 在左侧菜单选择 **「应用能力」→「机器人」**，点击 **「启用」**。
2. 记录 **机器人编码（robotCode）**，如不填则默认使用 AppKey。
3. 消息接收地址配置为 CrewMeld 的钉钉 Webhook 地址：

   ```
   https://<你的域名>/api/channels/dingtalk/webhook
   ```

   或带员工 ID 的地址：

   ```
   https://<你的域名>/api/channels/dingtalk/webhook/<employeeId>
   ```

{% endstep %}

{% step %}

### 第四步：配置事件订阅（可选）

如需接收更多事件（如审批回调），在 **「事件与回调」** 中：

1. 配置回调地址（同上 Webhook 地址）。
2. 记录页面中的 **加密 aes\_key** 和 **签名 Token**。
3. 订阅所需事件。
   {% endstep %}

{% step %}

### 第五步：配置权限

在 **「权限管理」** 中申请所需接口权限：

* 企业内机器人发送消息
* 通讯录部门/成员信息读取（如需要）
* 日程管理（如需要）
  {% endstep %}

{% step %}

### 第六步：发布应用

提交发布后，管理员审批通过即可使用。
{% endstep %}

{% step %}

### 第七步：在 CrewMeld 中添加渠道

回到 CrewMeld 平台，消息渠道 → 「+ 添加渠道」→ 选择「钉钉」，填写以下配置：

| 字段            | 说明                      | 是否必填 |
| ------------- | ----------------------- | ---- |
| App Key       | 应用 AppKey               | 必填   |
| App Secret    | 应用 AppSecret            | 必填   |
| 机器人编码         | robotCode，不填默认使用 AppKey | 选填   |
| 机器人加签密钥       | 不填则默认使用 AppSecret 验签    | 选填   |
| 事件订阅 aes\_key | 事件订阅的加密 aes\_key        | 选填   |
| 事件订阅 Token    | 事件订阅的签名 Token           | 选填   |

点击「测试连接」验证通过后保存。

> **参考文档**：[钉钉开放平台 - 企业内部应用开发指南](https://open.dingtalk.com/document/orgapp/overview-of-development-process)
> {% endstep %}
> {% endstepper %}

### 9.11 企业微信渠道接入教程

{% stepper %}
{% step %}

### 第一步：在企业微信管理后台创建自建应用

1. 访问 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame)，使用管理员账号登录。
2. 进入 **「应用管理」→「自建」**，点击 **「创建应用」**。
3. 填写应用名称（如「CrewMeld 数字员工」）、Logo 和可见范围，点击创建。
   {% endstep %}

{% step %}

### 第二步：获取企业和应用凭证

获取以下信息：

* **Corp ID**（企业 ID）：在 **「我的企业」→「企业信息」** 页面底部查看。
* **Agent ID**（应用 ID）：在自建应用详情页查看。
* **Corp Secret**（应用密钥）：在自建应用详情页点击「查看」获取。
  {% endstep %}

{% step %}

### 第三步：配置接收消息

1. 在自建应用详情页，找到 **「接收消息」→「设置 API 接收」**。
2. URL 配置为 CrewMeld 的企微 Webhook 地址：

   ```
   https://<你的域名>/api/channels/wecom/webhook
   ```

   或带员工 ID 的地址：

   ```
   https://<你的域名>/api/channels/wecom/webhook/<employeeId>
   ```
3. 系统自动生成的 **Token** 和 **EncodingAESKey** 请记录保存，稍后在 CrewMeld 中填写。
   {% endstep %}

{% step %}

### 第四步：配置可信域名

在应用详情页配置 **「网页授权及 JS-SDK」** 的可信域名，填写 CrewMeld 平台所使用的域名。
{% endstep %}

{% step %}

### 第五步：在 CrewMeld 中添加渠道

回到 CrewMeld 平台，消息渠道 → 「+ 添加渠道」→ 选择「企业微信」，填写以下配置：

| 字段             | 说明              | 是否必填 |
| -------------- | --------------- | ---- |
| Corp ID        | 企业 ID           | 必填   |
| Corp Secret    | 自建应用密钥          | 必填   |
| Agent ID       | 自建应用 ID         | 必填   |
| 回调 Token       | API 接收消息的 Token | 必填   |
| EncodingAESKey | 43 位消息加解密密钥     | 必填   |

点击「测试连接」验证通过后保存。

> **注意**：企业微信所有 5 个字段均为必填项，请确保全部正确填写。

> **参考文档**：[企业微信开发者中心 - 自建应用开发指南](https://developer.work.weixin.qq.com/document/path/90556)
> {% endstep %}
> {% endstepper %}

### 9.12 Telegram 渠道接入教程

{% stepper %}
{% step %}

### 第一步：通过 BotFather 创建 Bot

1. 在 Telegram 中搜索 [@BotFather](https://t.me/BotFather) 并打开对话。
2. 发送 `/newbot`，按提示依次输入：
   * Bot 显示名称（如 `CrewMeld 数字员工`）
   * Bot 用户名（需以 `bot` 结尾，如 `crewmeld_employee_bot`）
3. 创建成功后，BotFather 会返回 **Bot Token**（格式如 `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`），请妥善保存。
   {% endstep %}

{% step %}

### 第二步：配置 Bot 权限（可选）

继续在 BotFather 中发送以下命令按需配置：

* `/setdescription` — 设置 Bot 描述
* `/setuserpic` — 设置 Bot 头像
* `/setcommands` — 设置 Bot 命令菜单
* `/setprivacy` — 如需让 Bot 读取群组中所有消息，设为 `Disable`
  {% endstep %}

{% step %}

### 第三步：在 CrewMeld 中添加渠道

消息渠道 → 「+ 添加渠道」→ 选择「Telegram」，填写以下配置：

| 字段             | 说明                         | 是否必填 |
| -------------- | -------------------------- | ---- |
| Bot Token      | 从 @BotFather 获取的 Bot Token | 必填   |
| Webhook Secret | 用于验证回调请求的密钥                | 选填   |

点击「测试连接」验证通过后保存。保存后系统自动向 Telegram 注册 Webhook 地址：

```
https://<你的域名>/api/channels/telegram/webhook
```

也支持按连接 ID 或员工 ID 路由：

```
https://<你的域名>/api/channels/telegram/webhook/c/<connectionId>
https://<你的域名>/api/channels/telegram/webhook/<employeeId>
```

> **参考文档**：[Telegram Bot API](https://core.telegram.org/bots/api)
> {% endstep %}
> {% endstepper %}

### 9.13 Discord 渠道接入教程

{% stepper %}
{% step %}

### 第一步：在 Discord 开发者门户创建应用

1. 访问 [Discord Developer Portal](https://discord.com/developers/applications)，登录账号。
2. 点击 **「New Application」**，输入应用名称（如 `CrewMeld`），点击创建。
   {% endstep %}

{% step %}

### 第二步：创建 Bot 并获取 Token

1. 在应用页面左侧选择 **「Bot」**，点击 **「Add Bot」**。
2. 点击 **「Reset Token」** 生成 Bot Token，复制并妥善保存。
3. 在 **Privileged Gateway Intents** 下启用：
   * **MESSAGE CONTENT INTENT** — 允许读取消息内容
   * **SERVER MEMBERS INTENT** — 允许获取成员信息（可选）
     {% endstep %}

{% step %}

### 第三步：邀请 Bot 加入服务器

1. 在左侧选择 **「OAuth2」→「URL Generator」**。
2. 在 **Scopes** 中勾选 `bot`。
3. 在 **Bot Permissions** 中勾选：
   * Send Messages
   * Read Message History
   * Attach Files
   * Add Reactions（可选）
   * Manage Threads（可选）
4. 复制生成的邀请链接，在浏览器中打开，选择目标服务器并授权。
   {% endstep %}

{% step %}

### 第四步：获取服务器和频道 ID（可选）

如需限制 Bot 只监听特定服务器或频道：

1. 在 Discord 中开启 **开发者模式**（用户设置 → 高级 → 开发者模式）。
2. 右键点击服务器名称 → 「复制服务器 ID」。
3. 右键点击频道名称 → 「复制频道 ID」。
   {% endstep %}

{% step %}

### 第五步：在 CrewMeld 中添加渠道

消息渠道 → 「+ 添加渠道」→ 选择「Discord」，填写以下配置：

| 字段        | 说明                | 是否必填 |
| --------- | ----------------- | ---- |
| Bot Token | Discord Bot Token | 必填   |
| 服务器 ID    | 限定监听的服务器，留空监听所有   | 选填   |
| 频道 ID     | 限定监听的频道，留空监听所有    | 选填   |

点击「测试连接」验证通过后保存。

> **说明**：Discord Bot 通过 WebSocket Gateway 接收消息，无需手动配置 Webhook 地址，系统会自动建立 Gateway 连接。

> **参考文档**：[Discord Developer Documentation](https://discord.com/developers/docs/intro)
> {% endstep %}
> {% endstepper %}

### 9.14 微信公众号渠道接入教程

{% stepper %}
{% step %}

### 第一步：注册微信公众号

1. 访问 [微信公众平台](https://mp.weixin.qq.com/)，注册并完成认证。
2. 公众号类型建议选择 **服务号**（支持客服消息接口，可主动向用户推送消息）。订阅号仅支持被动回复，功能受限。
   {% endstep %}

{% step %}

### 第二步：获取应用凭证

登录微信公众平台，在 **「设置与开发」→「基本配置」** 页面获取：

* **AppID（应用ID）** — 公众号唯一标识
* **AppSecret（应用密钥）** — 点击「重置」获取（请妥善保存，页面关闭后不再显示）
  {% endstep %}

{% step %}

### 第三步：配置服务器

1. 在 **「设置与开发」→「基本配置」→「服务器配置」** 中点击 **「修改配置」**。
2. 填写以下信息：

| 字段                          | 填写内容                                                                                                 |
| --------------------------- | ---------------------------------------------------------------------------------------------------- |
| **服务器地址（URL）**              | `https://<你的域名>/api/channels/wxoa/webhook` 或 `https://<你的域名>/api/channels/wxoa/webhook/<employeeId>` |
| **令牌（Token）**               | 自定义一个验证令牌（稍后在 CrewMeld 中填写相同的值）                                                                      |
| **消息加解密密钥（EncodingAESKey）** | 点击「随机生成」获取（可选，用于消息加密模式）                                                                              |
| **消息加解密方式**                 | 推荐选择「安全模式」（消息加密），也可选「明文模式」                                                                           |

3. 点击 **「提交」** 完成验证。

> **注意**：提交前需先在 CrewMeld 中添加渠道并填写相同的 Token，否则验证将失败。
> {% endstep %}

{% step %}

### 第四步：在 CrewMeld 中添加渠道

回到 CrewMeld 平台，消息渠道 → 「+ 添加渠道」→ 选择「微信公众号」，填写以下配置：

| 字段             | 说明                    | 是否必填 |
| -------------- | --------------------- | ---- |
| AppID          | 微信公众号 AppID           | 必填   |
| AppSecret      | 微信公众号 AppSecret       | 必填   |
| Token          | 服务器配置中的验证令牌（需与微信后台一致） | 必填   |
| EncodingAESKey | 消息加解密密钥（安全模式时填写）      | 选填   |
| 账号类型           | 服务号 / 订阅号             | 选填   |

点击「测试连接」验证通过后保存。
{% endstep %}

{% step %}

### 第五步：启用服务器配置

返回微信公众平台，确认服务器配置已启用。启用后，用户发送给公众号的消息将转发到 CrewMeld 平台处理。

**微信公众号支持的消息类型：**

| 消息类型    | 接收（用户→公众号）         | 发送（公众号→用户）              |
| ------- | ------------------ | ----------------------- |
| 文本消息    | 支持                 | 支持（单条最多 2048 字符，超长自动分段） |
| 图片消息    | 支持（获取图片 URL）       | 支持（通过 media\_id）        |
| 语音消息    | 支持（如开启语音识别则获取识别文本） | 不支持                     |
| 视频/小视频  | 提示用户发送文本           | 不支持                     |
| 位置/链接   | 提示用户发送文本           | 不支持                     |
| 事件：关注   | 自动发送欢迎消息           | —                       |
| 事件：取关   | 记录但不回复             | —                       |
| 事件：菜单点击 | 获取菜单 EventKey      | —                       |

> **注意**：微信公众号消息回复需在 5 秒内响应。平台采用异步处理机制：先返回空响应确保不超时，再通过客服消息接口推送回复。服务号可正常使用客服消息接口，订阅号功能受限。

> **参考文档**：[微信公众平台 - 开发者文档](https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html)
> {% endstep %}
> {% endstepper %}

***

## 10. 协作人员

![协作人员](/files/301ba09212a85626e0c766e6f660d1c4b124fb49)

协作人员管理参与 SOP 流程的人类协作者信息，主要用于人工审批和通知环节。

### 10.1 查看人员列表

以表格形式展示所有协作人员：

| 列名       | 说明                                                    |
| -------- | ----------------------------------------------------- |
| **姓名**   | 协作人员姓名                                                |
| **职位**   | 职位信息                                                  |
| **部门**   | 所属部门（如 RD）                                            |
| **联系方式** | 配置的通知渠道标签（邮箱、钉钉、企微、飞书、telegram、discord 等），可用渠道以绿色圆点标示 |
| **创建时间** | 添加时间                                                  |
| **操作**   | 编辑（铅笔图标）和删除（垃圾桶图标）                                    |

**搜索：** 搜索框支持按姓名、职位、部门实时模糊搜索。

支持分页浏览，底部显示总条数和页码。

### 10.2 新增协作人员

1. 点击右上角 **「新增」** 按钮（UserPlus 图标），弹出创建对话框。
2. 填写以下字段：

| 字段       | 必填 | 说明               |
| -------- | -- | ---------------- |
| **姓名**   | 是  | 最多 50 个字符        |
| **职位**   | 是  | 如「经理」、「工程师」      |
| **部门**   | 否  | 所属部门             |
| **联系方式** | 否  | 可配置多个联系渠道（见下方说明） |

**联系方式配置：**

* 点击 **「添加联系方式」** 按钮新增一条
* 每条联系方式包含：
  * **类型选择** — 邮箱、短信、企业微信、钉钉、飞书、Discord、Telegram
  * **值输入** — 对应的联系地址/ID
* 每条联系方式右侧有 **移除** 按钮
* 可添加多条不同类型的联系方式
* 已配置且渠道可用的联系方式显示绿色可用指示

3. 点击 **「保存」** 完成创建。

### 10.3 编辑协作人员

1. 点击人员行操作列的 **铅笔图标**。
2. 弹出编辑对话框（标题显示「编辑协作人员」），预填当前信息。
3. 修改所需字段后点击 **「保存」**。

### 10.4 删除协作人员

1. 点击人员行操作列的 **垃圾桶图标**。
2. 确认对话框中显示人员姓名，点击 **「确认删除」**。

> **注意**：删除前请确保该人员未被任何运行中的 SOP 审批节点引用。

***

## 11. SOP 管理

![SOP 管理](/files/680b5c02ef055981a2a18b7dc3200d9ba5c71155)

SOP（标准操作流程）定义数字员工的自动化执行流程，是驱动任务执行的核心配置。

### 11.1 查看 SOP 列表

以卡片形式展示所有 SOP 定义，每张卡片包含：

| 信息项        | 说明                 |
| ---------- | ------------------ |
| **SOP 名称** | 点击进入编辑器            |
| **状态标签**   | 启用（绿色）/ 停用（灰色）     |
| **描述**     | SOP 功能说明           |
| **触发方式**   | 手动触发 / 定时触发 / 事件触发 |
| **版本号**    | 如 v39、v7           |
| **更新日期**   | 最后修改时间             |

**搜索：** 顶部搜索框按 SOP 名称模糊搜索（300ms 防抖）。

### 11.2 创建 SOP

1. 点击右上角 **「+ 新建 SOP」** 按钮，进入创建页面。
2. 填写字段：

| 字段         | 必填 | 说明            |
| ---------- | -- | ------------- |
| **SOP 名称** | 是  | 流程名称          |
| **描述**     | 否  | 流程说明（3 行文本区域） |

3. 点击 **「创建并编辑」** 按钮，系统以默认配置创建 SOP（手动触发、超时 1440 分钟、最大驳回循环 3 次、空节点和连线），创建成功后自动跳转到 SOP 编辑器。

### 11.3 SOP 编辑器

SOP 编辑器是配置执行流程的核心界面，包含以下区域：

![SOP 编辑器](/files/77dcf19c838f04d94a525fd0cd0feb187339b0c5)

#### 顶部控制栏

* **返回按钮** — 返回 SOP 列表
* **SOP 名称输入框** — 可直接编辑名称
* **版本号** — 只读显示当前版本
* **未保存指示** — 有修改未保存时显示琥珀色提示
* **保存按钮** — 保存当前配置（无修改时禁用）
* **执行按钮** — 立即执行当前 SOP

#### 触发配置栏

| 配置项              | 说明                        |
| ---------------- | ------------------------- |
| **SOP 超时时间（分钟）** | 数字输入，最小值 1，默认 1440（24 小时） |
| **最大驳回循环次数**     | 数字输入，最小 1 最大 10，默认 3      |

#### 画布区域

可视化流程编辑区域：

* **拖放节点** — 从工具栏拖入各类节点到画布
* **连接节点** — 从节点的输出连接点拖拽到下一个节点的输入连接点
* **缩放和平移** — 支持画布缩放、平移操作
* **选中节点** — 点击节点选中并在右侧显示配置面板
* **删除节点** — 选中后按 Delete 键或通过菜单删除
* **删除连线** — 点击连线后删除

#### 四种节点类型

**（1）数字员工节点**（蓝色，齿轮图标）

| 配置项      | 说明                                          |
| -------- | ------------------------------------------- |
| **节点名称** | 文本输入                                        |
| **节点描述** | 文本区域（2 行）                                   |
| **指派员工** | 下拉选择已有数字员工                                  |
| **关联工具** | 多选下拉，选择已部署的工具实例（选中员工后才可用），已选工具以标签形式展示，可逐个移除 |

**（2）协作人员节点**（灰色，用户图标）

| 配置项          | 说明                                                       |
| ------------ | -------------------------------------------------------- |
| **节点名称**     | 文本输入                                                     |
| **节点描述**     | 文本区域                                                     |
| **指派人员**     | 下拉选择已有协作人员                                               |
| **通知方式**     | 复选框组，显示所选人员的所有联系方式（邮箱/飞书/企微/钉钉/短信），每种显示图标和联系值，至少保留一种通知方式 |
| **超时时间（分钟）** | 数字输入，最小 1，默认 60                                          |

**（3）人工确认节点**（紫色，盾牌图标）

| 配置项          | 说明                                       |
| ------------ | ---------------------------------------- |
| **节点名称**     | 文本输入                                     |
| **节点描述**     | 文本区域                                     |
| **超时时间（分钟）** | 数字输入                                     |
| **出口配置**     | 只读显示三个出口方向：通过 → 目标节点、驳回 → 目标节点、超时 → 目标节点 |

**（4）多路分支节点**（橙色，路由图标）

| 配置项      | 说明                             |
| -------- | ------------------------------ |
| **节点名称** | 文本输入                           |
| **节点描述** | 文本区域                           |
| **分支条件** | 最多 10 个分支，每个分支为条件值输入框，可添加/移除分支 |
| **默认分支** | 提示文字说明不匹配任何条件时走默认分支            |

所有节点类型还会显示节点 ID 和节点类型（只读）。

### 11.4 保存 SOP

在编辑器中修改后，点击顶部 **「保存」** 按钮。系统将节点和连线序列化后提交更新，保存成功后版本号自动递增。

### 11.5 执行 SOP

**从编辑器执行：**

1. 点击编辑器顶部的 **「执行」** 按钮。
2. 如有验证错误（如节点配置不完整），系统以 Toast 提示错误详情，列出每个有问题的节点名称和错误信息。
3. 执行成功后自动跳转到执行详情页。

**从列表执行：** 点击 SOP 卡片菜单中的相关选项执行。

### 11.6 查看执行记录

1. 点击 SOP 卡片右上角 **「...」** 菜单 → **「查看执行记录」**，或在编辑器中通过导航进入。
2. 进入执行列表页面：

**筛选条件：**

* 状态下拉：全部 / 运行中 / 等待审批 / 已完成 / 异常 / 已超时 / 已取消

**列表字段：**

* 状态标签（彩色）
* 执行 ID（前 12 位，可点击进入详情）
* 创建时间

支持分页浏览（每页 20 条）。

#### 执行详情页

点击执行记录进入详情页，包含：

1. **状态标签** — 实时更新，显示绿色圆点表示实时连接
2. **错误信息区域** — 红色区域显示完整错误文本，附带 **「复制错误」** 按钮
3. **取消按钮** — 仅在非终态（待处理、运行中、等待人工审批）时可用
4. **节点执行时间线** — 按时间线展示每个节点：
   * 状态图标（待处理/运行中/已完成/异常/已跳过）
   * 节点名称 + 类型标签
   * 开始时间 + 耗时
   * 失败节点显示红色错误信息（附复制按钮）
5. **触发数据** — JSON 格式展示
6. **节点状态** — JSON 格式展示

### 11.7 启用/停用 SOP

点击 SOP 卡片右上角 **「...」** 菜单 → **「启用」** 或 **「停用」**，切换 SOP 的激活状态。停用后的 SOP 不可被触发执行。

### 11.8 删除 SOP

1. 点击 SOP 卡片右上角 **「...」** 菜单 → **「删除」**。
2. 确认对话框中显示 SOP 名称，点击 **「确认删除」**。

> **注意**：删除 SOP 后，其历史执行记录仍保留在任务中心的历史记录中。

### 11.9 SOP 执行生命周期

1. **触发** — 用户手动触发、系统按 Cron 定时触发、或由事件触发。
2. **节点执行** — 按定义顺序依次执行各节点。
3. **人工审批** — 遇到人工确认节点时暂停，通过配置的渠道通知对应协作人员审批。
4. **多路分支** — 遇到多路分支节点时根据条件值选择执行路径。
5. **完成/失败** — 所有节点执行完毕标记为已完成；节点执行失败或超时则标记对应状态。

***

## 12. 日志审计

![日志审计中心](/files/fd33cb9cb06a8911924ecc5d56a94a75cde034e4)

日志审计中心记录平台上所有的操作行为，满足企业合规和问题追溯需求。

### 12.1 两个标签页

| 标签页      | 说明          |
| -------- | ----------- |
| **操作日志** | 记录所有用户和系统操作 |
| **合规审计** | 面向合规场景的审计日志 |

### 12.2 查看操作日志

以表格形式展示操作记录：

| 列名      | 说明                                |
| ------- | --------------------------------- |
| **时间**  | 操作发生的精确时间（如 2026/04/02 14:23:49）  |
| **操作人** | 执行操作的用户（头像 + 名称），系统操作显示「系统」       |
| **操作**  | 操作类型，以蓝色标签显示（如「创建工具」「删除技能」「创建员工」） |
| **资源**  | 操作涉及的资源名称和类型（双行展示）                |
| **描述**  | 操作的简要说明（支持国际化）                    |

每页显示 10 条，底部显示总条数和页码。点击行可打开详情抽屉查看完整信息。

### 12.3 筛选日志

提供四维度筛选，支持组合使用：

| 筛选项       | 选项                                                |
| --------- | ------------------------------------------------- |
| **模块**    | 全部模块、数字员工、任务、对话、知识库、连接器、渠道、协作人员、SOP、工具/技能、系统      |
| **资源类型**  | 全部资源、数字员工、任务/定时任务、对话、知识库、连接器、渠道、协作人员、SOP、工具/技能、系统 |
| **时间范围**  | 最近 24 小时、最近 7 天、最近 30 天                           |
| **关键词搜索** | 实时搜索描述、资源名称、操作人（带防抖）                              |

当有筛选条件激活时，显示 **「清除筛选」** 按钮可一键重置所有筛选。

### 12.4 合规审计

![合规审计](/files/dd3607395024b5269f95866d437e561eca6544a7)

切换到 **「合规审计」** 标签页，用于导出合规审计数据。

**导出配置：**

| 配置项      | 说明               |
| -------- | ---------------- |
| **开始日期** | 日期选择器，设置导出的起始日期  |
| **结束日期** | 日期选择器，设置导出的截止日期  |
| **分类**   | 全部 / 仅安全类 / 仅操作类 |

**预览区域：**

* 显示符合筛选条件的记录总数
* 按资源类型分类展示各类别的记录数量
* 筛选条件变更时实时更新预览

**导出操作：**

* 点击 **「导出」** 按钮，将审计数据导出为 CSV 格式文件
* 无数据或加载中时导出按钮被禁用

***

## 13. 工具管理

![工具管理](/files/8c72b25af567de5b9d55ba6bcaf7a7f75b89a60e)

工具管理页面用于管理数字员工可调用的外部工具和技能包。工具采用模板-实例两级架构：先创建工具模板（定义代码和参数），再从模板创建实例（配置具体参数和连接），部署后供数字员工调用。

### 13.1 查看工具列表

以卡片网格形式展示所有已安装的工具模板，每张卡片包含：

| 信息项        | 说明                         |
| ---------- | -------------------------- |
| **工具名称**   | 可点击编辑名称                    |
| **版本号和大小** | 如「V1.0.20260318 · 12.5 KB」 |
| **描述**     | 工具功能说明（2-3 行）              |
| **实例数**    | 已创建的实例数量                   |
| **已部署数**   | 已部署的实例数量                   |
| **升级标记**   | 如有新版本可用则显示                 |
| **操作按钮**   | 安装/卸载/升级/导出                |

### 13.2 顶部操作栏

* **已安装的工具** — 当前唯一启用的标签页，展示工作区内所有已安装的工具模板
* **导入工具** — 从外部导入工具包（支持 `.zip`、`.md`、`.txt` 格式）
* **配置** — 全局 API Key 管理
* **「+ 新增工具」** — 创建新工具

> **说明**：当前版本暂未上线官方工具市场，「官方工具」标签页在代码中保留但默认隐藏。

### 13.3 创建工具（AI 辅助生成）

点击 **「+ 新增工具」** 按钮，打开 AI 工具生成对话框：

**对话式创建界面：**

* 以多轮对话方式与 AI 协作定义工具
* 顶部可选择使用的 LLM 模型
* 输入区域支持文本输入和文件附件
* AI 回复中的思考过程可折叠查看

**创建流程：**

1. **描述需求** — 向 AI 描述工具功能需求
2. **AI 生成代码** — AI 自动生成工具代码（JavaScript 或 Python）和参数定义
3. **安全检查** — 系统自动检测文件系统访问、网络调用、危险库等安全风险
4. **手动确认** — 如有风险操作需用户确认
5. **自动测试** — 系统自动执行代码并显示测试结果或错误
6. **迭代修改** — 如测试失败可继续对话修改
7. **保存** — 测试通过后保存为工具模板

**AI 生成的工具定义包含：**

* 工具名称和描述
* 参数模式（类型、描述、是否必填、是否密钥）
* 代码实现（JavaScript 或 Python）
* 测试参数
* API 文档（Markdown）
* 连接器类型依赖（可选）

**可选的连接选择：**

* 如工具需要数据库或外部系统访问，可选择已配置的系统连接
* 系统自动注入 `CONN_*` 环境变量

**导入上下文支持：**

* GitHub 项目 ZIP（自动检测语言、提取 README 和依赖信息）
* Markdown/TXT 文档
* CrewMeld 工具包 ZIP（含 manifest.json）

### 13.4 导入工具

点击 **「导入工具」** 按钮：

* 支持 `.zip` 文件：提取 manifest.json + 代码文件，在 AI 生成器中打开供修改
* 支持 `.md`、`.txt` 文件：提取内容作为项目上下文，在 AI 生成器中打开

### 13.5 导出工具

点击工具模板卡片的 **「导出」** 按钮，自动下载 ZIP 文件，包含：

* `manifest.json` — 元数据（名称、描述、版本、参数等）
* `tool.js` 或 `tool.py` — 源代码

### 13.6 配置全局 API Key

点击顶部 **「配置」** 按钮（钥匙图标），打开 API Key 管理对话框：

| 操作     | 说明                        |
| ------ | ------------------------- |
| **查看** | 展示已配置的 API Key 列表（值以密文显示） |
| **新增** | 点击「添加」按钮，填写名称和值           |
| **修改** | 直接编辑名称或值                  |
| **删除** | 点击条目右侧的垃圾桶图标移除            |
| **保存** | 点击「保存」按钮持久化所有变更           |

### 13.7 管理工具实例

点击工具模板卡片进入实例列表视图。

#### 创建实例

1. 点击 **「创建实例」** 按钮。
2. 系统从模板创建实例。
3. 如模板需要连接器类型，自动打开编辑器提示配置连接。

#### 查看实例

每个实例卡片显示：

* **实例名称** — 可点击编辑
* **模板来源**
* **部署状态** — 部署中 / 已部署 / 失败
* **部署端点** — 已部署时显示 curl 命令（可复制）
* **错误信息** — 部署失败时显示

#### 编辑实例

点击实例卡片的 **「编辑工具」** 按钮，打开工具编辑器：

* **预设参数** — 覆盖模板默认值
* **环境变量** — 包含系统连接注入的 `CONN_*` 变量
* **连接选择** — 如模板需要连接器，可选择/更换系统连接

#### 部署实例

1. 点击实例卡片的 **「部署」** 按钮。
2. 系统验证所有必填环境变量已填写。
3. 部署过程中显示「部署中...」状态和加载动画。
4. 成功后显示部署端点地址和 curl 命令（可一键复制）。

#### 取消部署

点击已部署实例的 **「取消部署」** 按钮，显示「取消部署中...」状态，完成后实例回到未部署状态。

#### 重命名实例

点击实例名称进入编辑模式，修改后按回车或失去焦点自动保存。

#### 删除实例

1. 点击实例卡片的 **「删除工具」** 按钮。
2. 确认对话框中点击 **「确认删除」**。

### 13.8 卸载工具模板

1. 点击工具模板卡片的 **「卸载」** 按钮。
2. 确认对话框提示「确定要卸载 {名称} 吗？所有实例也将被移除。」
3. 点击 **「确认卸载」**。

> **注意**：卸载模板将同时删除该模板下的所有实例。

### 13.9 绑定工具到数字员工

工具实例部署后，需在数字员工详情页 → 工具绑定标签中绑定，使员工在任务执行和对话时可调用该工具。

***

## 14. 系统设置

![系统设置 - 用户设置](/files/ee6346e2d78fbbde45430b55fb8bf94ed794c63a)

系统设置提供平台级的管理和配置功能。不同标签页根据用户权限动态显示。

### 14.1 标签页结构

系统设置由 5 个独立子路由组成，访问 `/settings` 会自动重定向到 `/settings/preferences`：

| 标签页      | 路径                       | 说明          | 可见条件       |
| -------- | ------------------------ | ----------- | ---------- |
| **用户设置** | `/settings/preferences`  | 个人账号信息和偏好设置 | 所有用户可见     |
| **用户管理** | `/settings/users`        | 用户账号和审批管理   | 需要用户管理相关权限 |
| **角色权限** | `/settings/roles`        | 角色与权限矩阵配置   | 需要角色管理相关权限 |
| **注册设置** | `/settings/registration` | 用户注册策略配置    | 需要注册设置相关权限 |
| **系统信息** | `/settings/system`       | 平台运行参数和版本信息 | 需要系统查看相关权限 |

> **提示**：普通成员可能仅看到「用户设置」标签页，其他标签页根据权限动态显示或隐藏。

### 14.2 用户设置（`/settings/preferences`）

所有用户均可访问，用于管理个人账号信息和偏好。

#### 账号安全

| 操作       | 说明                                                |
| -------- | ------------------------------------------------- |
| **修改昵称** | 点击「修改」按钮，弹出对话框输入新昵称后保存。昵称将显示在导航栏、对话和日志审计中         |
| **修改密码** | 点击「修改密码」按钮，输入当前密码和新密码后保存。仅密码登录用户可见，SSO 登录用户不显示此选项 |

#### 通用设置

| 设置项      | 说明                        |
| -------- | ------------------------- |
| **系统语言** | 下拉切换平台界面语言：简体中文 / English |

### 14.3 用户管理（`/settings/users`）

![用户管理](/files/b98fa2e21b310173042f8969426a38f3e78b0033)

以表格展示所有用户：

| 列名         | 说明                            |
| ---------- | ----------------------------- |
| **用户**     | 用户昵称和头像                       |
| **邮箱**     | 注册邮箱                          |
| **角色**     | 超级管理员（红色标签）/ 管理员 / 普通用户（灰色标签） |
| **SSO 来源** | SSO 单点登录来源                    |
| **最后登录**   | 上次登录时间                        |
| **审批状态**   | 已通过（绿色）/ 待审批（琥珀色）/ 已拒绝（红色）    |
| **状态**     | 开关控制用户是否可登录                   |

#### 修改用户角色

1. 点击用户的角色标签。
2. 弹出角色变更对话框。
3. 选择新角色：超级管理员 / 管理员 / 成员。
4. 确认变更。

#### 审批用户

* **待审批** 状态的用户行显示两个按钮：
  * **「通过」** — 批准用户注册
  * **「拒绝」** — 拒绝用户注册
* **已拒绝** 状态的用户行显示 **「通过」** 按钮可重新批准

#### 启用/停用用户

点击用户行的状态开关，切换用户是否可登录系统。停用后用户无法登录但账号信息保留。

### 14.4 角色权限（`/settings/roles`）

![角色权限](/files/3c2596868abad54432c443594019abccd13fba4a)

以权限矩阵形式展示各角色的权限分配情况。矩阵中行为权限项、列为角色，管理员可通过勾选/取消勾选来调整各角色的权限。

### 14.5 注册设置（`/settings/registration`）

![注册设置](/files/868f0ddaeb3233364ec9927976cc23d2ce5fbc69)

配置用户注册策略：

| 设置项       | 说明                  |
| --------- | ------------------- |
| **注册开关**  | 启用或停用新用户注册功能        |
| **审批开关**  | 启用后新注册用户需管理员审批才能使用  |
| **邮箱白名单** | 限制只有指定邮箱地址可注册（逗号分隔） |
| **域名白名单** | 限制只有指定邮箱域名可注册（逗号分隔） |

### 14.6 系统信息（`/settings/system`）

![系统信息](/files/5dffd029e7c67a1f20b7c96769ea49c74fa37d5a)

展示平台运行状态信息：

| 卡片       | 内容                                                 |
| -------- | -------------------------------------------------- |
| **版本信息** | 当前版本号、构建号、发布日期                                     |
| **许可证**  | 许可证状态和有效期                                          |
| **健康检查** | 各服务组件的健康状态（健康/异常/超时/未配置），带延迟指标。点击 **「刷新」** 按钮可手动检测 |
| **系统统计** | 内存、CPU、磁盘使用率                                       |

### 14.7 权限对功能可见性的影响

平台根据用户角色和权限动态控制界面元素的显示：

| 功能区域               | 权限控制                                        |
| ------------------ | ------------------------------------------- |
| **系统连接 → 添加连接**    | 需要 `connector:create` 权限，无权限时按钮隐藏           |
| **系统连接 → 编辑/删除**   | 需要 `connector:edit` / `connector:delete` 权限 |
| **系统连接 → 模型配置**    | 需要 `model:create` 权限，无权限时标签页隐藏              |
| **工具管理 → 部署/取消部署** | 需要 `skill:deploy` 权限                        |
| **工具管理 → 删除实例**    | 需要 `skill:delete` 权限                        |
| **SOP → 执行**       | 需要 `sop:edit` 权限                            |
| **系统设置 → 各管理标签页**  | 根据对应模块权限动态显示或隐藏                             |

> **提示**：无权限的按钮和标签页直接从界面中隐藏，用户不会看到「权限不足」的提示。

***

## 15. 安全机制

CrewMeld 平台内置多层安全防护体系，确保企业数据安全、操作合规、权限可控。本章汇总平台各项安全机制，帮助管理员和用户了解平台的安全边界。

### 15.1 资源绑定隔离（核心安全原则）

平台实行严格的 **「绑定才能使用」** 原则，数字员工只能访问明确绑定给它的资源：

#### 工具绑定隔离

* 数字员工在 SOP 执行和对话中 **只能调用已绑定的工具实例**
* 未绑定的工具即使已部署也无法被该员工使用
* 工具实例必须处于 **「已部署」** 状态且具有有效端点才能被调用
* 每个员工与每个工具实例之间只能存在一条绑定关系（数据库唯一约束）
* SOP 节点执行时实时验证工具绑定状态 — 如果工具在 SOP 运行期间被解绑或取消部署，该节点将执行失败

> **实际影响**：在 SOP 编辑器中为数字员工节点配置「关联工具」时，下拉列表仅显示该员工已绑定且已部署的工具实例。未绑定的工具不会出现在可选列表中。

#### 知识库绑定隔离

* 数字员工在 RAG 检索时 **只能搜索已绑定的知识库**
* 查询函数在执行前先获取员工的绑定知识库 ID 列表，仅在这些知识库范围内进行向量检索
* 未绑定的知识库中的文档对该员工完全不可见
* 每个员工与每个知识库之间只能存在一条绑定关系（数据库唯一约束）

> **实际影响**：在对话中向数字员工提问时，员工只能引用其已绑定知识库中的内容。如果员工未绑定任何知识库，则不会进行知识检索。

#### 模型绑定隔离

* 数字员工在执行任务和对话时 **优先使用已绑定的 LLM 模型**
* 模型解析优先级链：① 员工绑定模型 → ② 员工配置模型 → ③ 系统默认模型
* 员工不会跨员工访问其他员工的绑定模型

> **实际影响**：为不同员工绑定不同模型（如为文本处理员工绑定 Qwen、为代码分析员工绑定 DeepSeek），可确保每个员工使用最适合其职责的模型，且互不干扰。

### 15.2 用户认证与会话安全

#### 会话管理

| 配置项           | 值     | 说明                  |
| ------------- | ----- | ------------------- |
| **会话有效期**     | 30 天  | 超过后需重新登录            |
| **Cookie 缓存** | 24 小时 | 减少频繁的会话验证开销         |
| **会话刷新周期**    | 24 小时 | 自动延续活跃会话            |
| **鲜活周期**      | 1 小时  | 关键操作要求会话在 1 小时内被验证过 |

#### API Key 认证

* 支持 API Key 方式进行编程访问
* API Key 采用高强度加密算法存储，同时保证数据机密性和完整性
* 每次使用自动更新最后使用时间
* 支持新旧两种 Key 格式的向后兼容

#### 首用户自动升级

* 系统的第一个注册用户自动晋升为 **超级管理员**
* 后续注册用户根据管理员配置的注册策略，可能需要审批后才能使用

### 15.3 角色与权限控制（RBAC）

#### 平台角色体系

| 角色        | 权限级别 | 说明                    |
| --------- | ---- | --------------------- |
| **超级管理员** | 最高权限 | 拥有所有操作权限，绕过所有权限检查     |
| **管理员**   | 高级权限 | 可管理用户、配置系统，部分高危操作受限   |
| **成员**    | 标准权限 | 可使用平台核心功能，不可管理用户和系统配置 |

#### 权限编码规则

权限以「模块:操作」格式定义（如 `sop:edit`、`employee:create`），系统在每次操作时自动校验调用者是否持有对应权限。权限不足时拒绝操作。

#### 工作区级权限

在工作区层面实行三级权限模型：

| 权限级别          | 说明            |
| ------------- | ------------- |
| **读取（read）**  | 可查看工作区内的资源    |
| **写入（write）** | 可创建和修改资源      |
| **管理（admin）** | 可管理工作区设置和成员权限 |

工作区所有者自动拥有管理权限。所有实体（数字员工、知识库、SOP、工具等）均按工作区隔离，不可跨工作区访问。

### 15.4 数据隔离

#### 用户数据隔离

* 所有数据查询自动按用户和工作区过滤
* 用户只能看到自己创建的对话和消息
* 对话、任务、日志等数据按用户和工作区双重隔离
* 所有数据库操作均采用安全的参数化查询，防止 SQL 注入

#### 文件访问授权

平台对文件访问实行多层授权验证，依据文件来源类型采用不同的验证策略：

| 文件类型      | 访问条件              |
| --------- | ----------------- |
| **工作区文件** | 用户必须是工作区成员且拥有对应权限 |
| **执行文件**  | 用户必须拥有工作区访问权限     |
| **知识库文件** | 用户必须是工作区成员        |
| **对话文件**  | 用户必须是工作区成员        |
| **个人文件**  | 仅文件所有者可访问         |
| **头像图片**  | 公开访问              |

文件访问验证采用 **安全失败** 原则 — 验证过程中发生任何错误均拒绝访问。

### 15.5 凭证与密钥安全

#### 加密存储

* 所有系统连接的配置信息（数据库密码、API Key、Token 等）采用高强度加密算法存储
* 每条密文使用独立的随机密钥材料，确保安全性
* 仅在运行时需要时解密，解密后仅存于内存中

#### 敏感字段脱敏

API 接口返回连接和渠道配置信息时，自动对以下字段进行脱敏处理：

| 脱敏字段                                                                   |
| ---------------------------------------------------------------------- |
| `corpSecret`、`appSecret`、`appKey`、`apiKey`                             |
| `password`、`gatewayToken`、`secretKey`                                  |
| `accessKeySecret`、`accessKeyId`                                        |
| `encodingAESKey`、`token`                                               |
| `telegramBotToken`、`telegramWebhookSecret`、`n8nApiKey` <sup>(遗留)</sup> |

> **说明**：`n8nApiKey` 仅为脱敏已废弃的 n8n 连接器类型（见 §8.1）的历史数据而保留。新部署不会再存储该字段。

脱敏规则：

* 长度 ≤ 8 位：显示为 `****`
* 长度 > 8 位：显示前 4 位 + `****` + 后 4 位

编辑配置时，如未修改密码字段，系统自动保留原值，无需重新输入。

#### 工具执行环境隔离

工具代码在隔离环境中执行，仅注入必要的环境变量，防止系统级密钥泄露。所有执行日志不记录密钥内容，仅记录用户 ID 和执行时长。

#### 内网请求防护

工具执行时自动屏蔽对云平台内部服务地址的访问，防止通过工具非法获取服务器元数据信息。已覆盖 AWS、Google Cloud、阿里云、腾讯云等主流云平台。

### 15.6 审批流程安全

#### 审批令牌机制

* 每个人工审批节点生成一次性审批令牌（不可预测的随机字符串）
* 令牌有效期 **24 小时**，过期自动失效
* 令牌仅在审批状态为「等待中」时有效
* 审批完成后令牌立即失效，不可重复使用

#### 防重复审批

* 系统确保同一审批只能被处理一次
* 第一个审批人的操作生效后，状态变为「已决定」
* 后续审批人尝试操作时提示「该审批已被其他人处理」
* 支持两种审批方式：令牌链接审批（邮件/消息通知）和 Web 登录审批

#### 审批页面语言隔离

* 邮件中的审批令牌链接（路径 `/approval/[pauseId]`）会附带 `?lang=` 参数，用于按收件人偏好渲染审批页文案
* 此 locale override **仅作用于审批页本页**，不会影响审批人后续访问平台其他页面时的语言设置（避免邮件触发的语言切换污染常规会话）

### 15.7 渠道通信安全

各外部渠道的 Webhook 通信均实施签名验证和消息加解密：

| 渠道           | 签名验证              | 消息加密         |
| ------------ | ----------------- | ------------ |
| **飞书**       | Token 验证          | 支持加密传输       |
| **企业微信**     | 签名验证              | 加密传输（双向加解密）  |
| **钉钉**       | 应用密钥验签            | 支持加密密钥       |
| **微信公众号**    | 签名验证（支持明文模式和安全模式） | 安全模式下加密传输    |
| **Telegram** | Webhook Secret 验证 | Bot Token 认证 |

**安全特性：**

* 所有 Webhook 请求先验证签名/令牌，验证失败直接拒绝
* 支持多凭证匹配（同一渠道类型可配置多个应用）
* 加密消息仅在验证配置密钥后才尝试解密
* 未配置密钥时安全拒绝（返回空响应，不泄露内部信息）

### 15.8 输入验证与防注入

#### 路径安全

* 文件路径段验证：阻止 `..`、`./`、URL 编码变体（`%2e%2e`）、空字节
* 仅允许字母数字、连字符、下划线字符
* 路径长度限制 255 字符

#### ID 验证

* 字母数字 ID 验证：仅允许字母、数字、连字符、下划线
* 数值 ID 验证：带最小/最大值约束

#### 消息渠道输出净化

向外部渠道发送消息前，针对各平台特性进行内容净化：

* **钉钉**：移除不支持的 Markdown 语法
* **飞书**：格式特定净化
* **Telegram**：移除不支持的 HTML/Markdown 标签
* 所有渠道：内容分块以遵守各平台消息长度限制

#### 文件上传安全

| 安全措施          | 说明                |
| ------------- | ----------------- |
| **单文件大小限制**   | 最大 50MB           |
| **每条消息附件数**   | 最多 10 个           |
| **路径遍历防护**    | 文件 Key 中禁止包含 `..` |
| **文件名长度限制**   | 最大 255 字符         |
| **MIME 类型记录** | 保留原始 MIME 类型供后续处理 |

#### SQL 注入防护

* 所有数据库操作均采用安全的参数化查询，杜绝 SQL 注入风险
* 用户输入在使用前均通过格式验证

### 15.9 网络安全

#### 跨域访问控制

* 采用白名单机制，仅允许配置的源站域名访问平台接口
* 文件下载端点设置严格的安全策略，防止下载文件中的脚本执行

#### 速率限制

* 基于订阅计划的 API 调用速率限制（免费 / Pro / 团队 / 企业版额度不同）
* 以 60 秒为周期统计调用次数
* 超出限制时提示稍后重试，并告知等待时间
* 采用 **安全失败** 原则 — 速率限制检查出错时拒绝请求

### 15.10 审计与合规

#### 全面操作审计

* 平台记录 **150+ 种操作类型**，覆盖所有资源的增删改查
* 系统自动记录每次操作，无需手动配置
* 每条审计记录包含：操作人、操作类型、资源类型、资源 ID、操作结果、时间戳

**已审计的操作范围：**

| 模块      | 审计操作示例                    |
| ------- | ------------------------- |
| 数字员工    | 创建、修改、删除、状态变更、绑定/解绑工具和知识库 |
| SOP     | 创建、修改、删除、执行、取消、启用/停用      |
| 任务      | 执行、审批通过、审批驳回、取消、超时        |
| 工具      | 安装、卸载、创建实例、部署、取消部署、删除     |
| 知识库     | 创建、删除、上传文档、删除文档           |
| 系统连接    | 创建、修改、删除、健康检查             |
| 消息渠道    | 创建、修改、删除、测试连接             |
| 协作人员    | 创建、修改、删除                  |
| 用户管理    | 角色变更、审批、启用/停用             |
| API Key | 创建、更新、撤销                  |

* 跳过非敏感路径（健康检查、搜索、分析接口）以减少日志噪声
* 审计日志支持按模块、资源类型、时间范围和关键词筛选

### 15.11 安全使用建议

以下是平台管理员和用户在日常使用中应遵循的安全最佳实践：

| 建议               | 说明                               |
| ---------------- | -------------------------------- |
| **最小权限绑定**       | 仅为数字员工绑定其工作必需的工具和知识库，避免过度授权      |
| **定期检查绑定**       | 周期性检查员工的工具和知识库绑定，及时解绑不再需要的资源     |
| **及时处理审批**       | 审批令牌 24 小时后过期，请在有效期内完成审批操作       |
| **保护 API Key**   | 不在代码或日志中明文记录 API Key，使用平台的加密存储功能 |
| **定期轮换密钥**       | 定期更新系统连接和渠道的认证密钥                 |
| **审计日志巡检**       | 定期查看日志审计中心，关注异常操作和未授权访问尝试        |
| **用户审批管控**       | 开启注册审批功能，确保只有授权人员可以使用平台          |
| **角色分配审慎**       | 超级管理员和管理员角色仅分配给必要人员              |
| **Webhook 配置加密** | 为所有渠道配置加密密钥和验证令牌，不留空可选的安全字段      |
| **停用闲置员工**       | 不使用的数字员工应设为待命或暂停，避免不必要的资源访问      |

***

## 附录

### 导航菜单一览

左侧导航栏包含以下菜单项（从上到下）：

| 菜单     | 路径                 | 说明             |
| ------ | ------------------ | -------------- |
| 总览     | `/dashboard`       | 运行状态总览仪表盘      |
| 数字员工   | `/employees`       | 数字员工创建与管理      |
| 任务中心   | `/tasks`           | SOP 任务执行管理     |
| 对话     | `/conversations`   | 与数字员工实时对话      |
| 运营报表   | `/stats`           | 效能和成本分析报表      |
| 知识库    | `/knowledge`       | 知识文档管理         |
| 系统连接   | `/connections`     | 外部系统和 LLM 模型配置 |
| 消息渠道   | `/channels`        | 通信渠道接入管理       |
| 协作人员   | `/human-employees` | 人类协作者信息管理      |
| SOP 管理 | `/sops`            | 自动化流程定义        |
| 日志审计   | `/logs`            | 操作日志和合规审计      |
| 工具管理   | `/skills`          | 工具和技能包管理       |
| 系统设置   | `/settings`        | 用户、权限和系统配置     |

### 支持的 LLM 模型

| 厂商        | 模型                                                                                                                           |
| --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| 阿里云       | 通义千问 Qwen2.5 / Qwen3                                                                                                         |
| DeepSeek  | DeepSeek-V3 / DeepSeek-R1                                                                                                    |
| 百度        | 文心一言 ERNIE-4.0                                                                                                               |
| 腾讯        | 混元 Hunyuan-Turbo                                                                                                             |
| 智谱 AI     | GLM-4-Plus / GLM-4-Air / GLM-4-Flash / GLM-4-Long                                                                            |
| 月之暗面      | Moonshot-v1-8k / Moonshot-v1-32k / Moonshot-v1-128k                                                                          |
| MiniMax   | abab6.5s-chat / abab6.5-chat / MiniMax-Text-01                                                                               |
| 字节跳动      | 豆包（Doubao）系列（通过火山方舟 Endpoint ID 配置）                                                                                          |
| Google    | Gemini 3 Pro Preview / Gemini 3 Flash Preview / Gemini 2.5 Pro / Gemini 2.5 Flash / Gemini 2.5 Flash Lite / Gemini 2.0 Flash |
| OpenAI    | GPT-4o / GPT-4o-mini 等                                                                                                       |
| Anthropic | Claude 系列                                                                                                                    |
| Ollama    | 支持任意 Ollama 部署的本地模型                                                                                                          |
| vLLM      | 支持任意 vLLM 部署的开源模型（动态发现）                                                                                                      |

### 常见操作快速指引

| 我想要...           | 操作路径                         |
| ---------------- | ---------------------------- |
| 创建一个新的数字员工       | 数字员工 → 「+ 上岗新员工」→ 五步向导       |
| 编辑员工配置           | 数字员工 → 点击员工名称 → 各标签页编辑       |
| 给员工绑定工具          | 数字员工 → 员工详情 → 工具绑定 → 添加工具    |
| 给员工绑定知识库         | 数字员工 → 员工详情 → 知识库 → 绑定       |
| 给员工绑定模型          | 数字员工 → 员工详情 → 连接 → 绑定模型      |
| 创建新 SOP          | SOP 管理 → 「+ 新建 SOP」→ 编辑器配置节点 |
| 手动执行 SOP         | SOP 编辑器 → 「执行」按钮             |
| 设置定时执行 SOP       | 任务中心 → 定时任务 → 「+ 新建定时任务」     |
| 审批待处理任务          | 任务中心 → 进行中 → 点击待审批任务 → 审批    |
| 与数字员工对话测试        | 对话 → 选择员工卡片                  |
| 创建知识库            | 知识库 → 「+ 添加知识库」              |
| 上传知识文档           | 知识库 → 选择知识库 → 上传文档           |
| 配置新的 LLM 模型      | 系统连接 → 模型配置 → 添加模型           |
| 添加外部系统连接         | 系统连接 → 「+ 添加连接」→ 三步向导        |
| 接入飞书/企微/钉钉/微信公众号 | 消息渠道 → 「+ 添加渠道」→ 选择渠道类型      |
| 添加人工审批人          | 协作人员 → 「新增」                  |
| 创建新工具            | 工具管理 → 「+ 新增工具」→ AI 对话生成     |
| 导入已有工具           | 工具管理 → 「导入工具」→ 选择文件          |
| 部署工具实例           | 工具管理 → 工具模板 → 创建实例 → 部署      |
| 查看谁做了什么操作        | 日志审计 → 操作日志                  |
| 管理用户权限           | 系统设置 → 用户管理                  |
| 配置角色权限           | 系统设置 → 角色权限                  |
| 修改个人昵称           | 系统设置 → 用户设置 → 修改昵称           |
| 切换界面语言           | 系统设置 → 用户设置 → 系统语言           |

### 浏览器兼容性

| 浏览器            | 最低版本 |
| -------------- | ---- |
| Google Chrome  | 90+  |
| Microsoft Edge | 90+  |
| Firefox        | 90+  |
| Safari         | 15+  |

***

*本手册基于 CrewMeld dev0.0.1 版本编写，最后更新 2026-04-27。*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://proinsight.gitbook.io/crewmeld/v-1.0.0-cn/crewmeld-yong-hu-shou-ce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
