数字员工平台架构设计

多角色、可定制 Skill、多渠道接入的统一运行时智能代理平台

Based on DeerFlow — LangGraph Super Agent 架构

01 用户故事

从不同角色视角出发,描述平台如何为终端用户、业务方和平台管理员提供价值。

💬
作为一名客户,我在网站上遇到了产品使用问题,希望快速获得解答。
  1. 1打开网页客服窗口,系统自动分配「智能客服」数字员工
  2. 2输入问题,数字员工通过 faq-retrieval Skill 检索知识库
  3. 3如问题无法解答,自动调用 ticket-management Skill 创建工单
  4. 4整个过程无需 Sandbox,Memory 记住我的偏好和历史问题
📊
作为一名运营人员,我需要每周从数据库中提取数据并生成可视化报表。
  1. 1在钉钉群中 @数据分析师 并说「帮我出上周 GMV 报表」
  2. 2钉钉 Bot 通过 Webhook 转发到数字员工平台
  3. 3数据分析师启用 Sandbox 执行 SQL 查询 + Python 画图
  4. 4chart-visualization Skill 生成图表,回传到钉钉群
🔧
作为一名SRE,当生产环境触发告警时,希望数字员工自动诊断并通过工具接口执行修复。
  1. 1监控系统检测到 CPU 告警,通过 Webhook 触发运维员工
  2. 2运维员工调用监控诊断工具,通过 API 采集指标分析根因
  3. 3infra-scaling Skill 通过运维平台 API 执行服务扩容/重启
  4. 4处理结果推送到钉钉通知 SRE 确认
🛠️
作为一名业务开发者,我希望为我的团队定制专属的数字员工技能,无需等待平台方开发。
  1. 1在 skills/custom/ 目录下创建 Skill 目录和 SKILL.md
  2. 2编写 scripts/、references/ 和配置 tags/scenes 标签
  3. 3通过管理控制台或 API 启用 Skill 并绑定到目标员工
  4. 4平台热加载,无需重启即可生效
🔌
作为一名业务系统开发者,我希望在自己的应用中直接调用数字员工的能力,而不是跳转到独立页面。
  1. 1通过 Python SDK (DeerFlowClient) 在后端嵌入调用
  2. 2指定 employee_id 选择合适的数字员工角色
  3. 3通过 stream() 获取流式响应,实时推送到业务 UI
  4. 4共享平台的 Sandbox、Memory、Skill 运行时能力
👑
作为平台管理员,我需要创建员工 Profile、审核 Skill、监控运行状态。
  1. 1在管理控制台创建新的员工 Profile (YAML 配置)
  2. 2从 Skill 注册中心选择并绑定技能到员工
  3. 3审核业务方提交的自定义 Skill (代码安全检查)
  4. 4监控各员工的调用量、响应时间、Memory 使用情况

02 多渠道接入

用户可以通过多种渠道接入数字员工平台,统一路由到后端运行时执行。

MULTI-CHANNEL ACCESS — 统一接入架构
用户接入渠道 🌐 Web 前端 Next.js / SSE 💬 钉钉 / 企微 IM Bot Gateway 🔌 REST API OpenAPI / SSE 🐍 Python SDK DeerFlowClient 🪝 Webhook 监控 / CI/CD 触发 🔗 MCP Protocol Claude / Cursor 统一接入网关 Nginx + FastAPI Gateway — 协议适配 + 鉴权 + 限流 employee_id + message Employee Router 按 employee_id 路由到对应 Agent 实例 🎧 智能客服 faq + ticket + sentiment 📊 数据分析师 chart + sql + report 🔧 运维工程师 scaling + monitor + incident ✍️ 内容创作者 writing + image-gen 统一运行时 Sandbox 池 | Memory 三级存储 | Skill 注册中心 | Tool 注册中心 | Subagent 响应回传:SSE Stream / Webhook Callback / SDK Return / IM 消息推送
🌐

Web 前端

Next.js 应用,SSE 流式对话,管理控制台一体化

LangGraph SDK + SSE
💬

IM Bot

钉钉、企业微信群内 @机器人直接对话

Bot Gateway + Webhook
🔌

REST API

标准 OpenAPI 接口,支持同步和流式两种模式

FastAPI + OpenAPI 3.0
🐍

Python SDK

嵌入式客户端,无需 HTTP 直接在进程内调用

DeerFlowClient
🪝

Webhook

监控告警、CI/CD 事件触发自动化任务执行

HTTP POST + Callback
🔗

MCP Protocol

作为 MCP Server 暴露能力给 Claude / Cursor

stdio / SSE / HTTP

03 总体架构全景

平台分为四层:接入层、调度层、运行时层、基础设施层。不同场景的数字员工通过 Profile 定义,绑定不同的 Skill 组合。

PLATFORM OVERVIEW — 四层架构
接入层 — ACCESS LAYER Web 前端 Next.js IM Bot 钉钉/企微 REST API OpenAPI + SSE Python SDK DeerFlowClient Webhook 告警/CI/CD MCP Protocol 管理控制台 CRUD + 监控 调度层 — ORCHESTRATION LAYER Employee Router 按 employee_id 路由 到对应 Agent 实例 Agent Factory 根据 Profile 动态构建 Model + Tools + Prompt Profile Registry YAML 配置发现 + 热加载 employees/*.yaml Middleware Chain 按 Profile 动态组装 11 个可选中间件 运行时层 — RUNTIME LAYER Sandbox 池 Local / Docker / K8s 代码执行 + 文件 I/O 按员工配置策略 Memory 存储 全局 / 员工 / 线程 三级分层记忆 LLM 抽取 + 去抖更新 Skill 注册中心 public / custom 双目录 业务自维护 Skill 按员工/场景过滤加载 Tool 注册中心 Config + MCP 工具 反射加载 use: 路径 按员工分组过滤 Subagent general-purpose bash 自定义子代理 基础设施层 — INFRASTRUCTURE LAYER LangGraph Server Agent 运行时 :2024 ReAct Loop + SSE LLM 模型池 GPT / Claude / DS 动态模型选择 文件存储 .deer-flow/threads/ Workspace + Outputs 配置中心 config.yaml extensions_config.json 容器编排(可选) Docker / K8s / Apple Container Provisioner 按需调度

04 目标架构:多角色数字员工平台

引入 Employee Profile 层,不同数字员工可绑定不同的 Skill 组合,拥有独立 Memory,按需启用 Sandbox。

TARGET — MULTI-ROLE DIGITAL EMPLOYEE PLATFORM
Employee Profile Registry 🎧 智能客服 Skills: faq / ticket / sentiment Tools: web_search, web_fetch Sandbox: OFF | Memory: ON Model: gpt-4 📊 数据分析师 Skills: chart / sql / report Tools: bash, read/write, sql Sandbox: ON | Memory: ON Model: deepseek-v3 🔧 运维工程师 Skills: scaling / monitor / incident Tools: ops_api, web_fetch, read_file Sandbox: OFF | Memory: ON Model: claude-3.5 ✍️ 内容创作者 Skills: writing / image-gen Tools: web, image_search Sandbox: ON | Memory: ON Model: gpt-4 Agent Factory make_employee_agent(config) → 动态构建 Agent 统一运行时 — UNIFIED RUNTIME Sandbox 池 Local / Docker / K8s 按员工配置启用/限制 bash / read / write / ls Memory 三级存储 全局 Memory 员工 Memory 线程 Memory Skill 注册中心 public + custom 双目录 业务自维护 + 热加载 按 employee_id 过滤 Tool + Subagent Config + MCP 工具注册 general-purpose / bash 子代理 按 Profile 过滤 核心理念:Profile 定义角色边界 → Runtime 提供统一能力 → Skill 实现业务定制 NEW 新增 ENHANCED 增强 REUSED 复用

05 Skill 自维护体系

业务方可以自主创建、维护、发布 Skill,通过 API 或管理控制台绑定到目标数字员工,平台热加载无需重启。

SKILL LIFECYCLE — 业务自维护全流程
1. 创建 Skill 业务开发者在 skills/custom/ 下创建目录: skills/custom/my-skill/ SKILL.md # 元数据 + 使用说明 scripts/ # 执行脚本 references/ # 参考文档 templates/ # 模板资源 也可通过 skill-creator Skill 让 AI 辅助生成 2. 配置元数据 编写 SKILL.md frontmatter: --- name: my-custom-skill description: 我的自定义技能 tags: [customer-service, ops] scenes: [customer-service] dependency: {python: ">=3.10"} --- 3. 发布上线 三种发布方式: a. 直接放入 skills/custom/ 目录 b. POST /api/skills/install (.skill ZIP) c. 管理控制台上传并审核 平台自动发现,热加载无需重启 4. 绑定到数字员工 + 启用 方式 A: 在 employees/*.yaml 的 skills 列表中添加 Skill 名称 方式 B: 调用 API: PUT /api/employees/{id}/skills 方式 C: 在管理控制台可视化拖拽绑定 5. 运维 & 迭代 监控 Skill 调用次数 / 成功率 / 响应时间 | 查看 Memory 中的知识积累 更新 SKILL.md / scripts / references → 热加载自动生效 | 版本回退

平台方 (public Skills)

PLATFORM-MANAGED
  • 内置通用技能,所有员工可使用
  • skills/public/ 目录,随代码发布
  • chart-visualization / image-gen / find-skills
  • 平台团队维护,质量和安全有保障
  • 默认 enabled,可通过配置关闭

业务方 (custom Skills)

BUSINESS-MANAGED
  • 业务团队自主开发和维护
  • skills/custom/ 目录,.gitignore 隔离
  • ticket-management / sql-query / infra-scaling
  • 通过 tags/scenes 控制适用范围
  • API 安装 / 管理控制台上传 / CLI 创建

06 Skill 系统扩展

在现有 SKILL.md 元数据基础上增加 tags 和 scenes 字段,实现按员工角色过滤加载。

SKILL REGISTRY — ENHANCED WITH TAGS, SCENES AND FILTERING
skills/public/ (平台内置) faq-retrieval 客服 运营 scene: customer chart-viz 分析 报告 scene: data-analyst image-gen 创作 设计 scene: creator ... skills/custom/ (业务自定义) ticket-mgmt 客服 运维 scene: customer, devops infra-scaling 运维 scene: devops sql-query 分析 scene: data-analyst ... Skill 加载 & 过滤流程 1. load_skills()扫描 public/ + custom/ 目录,解析 SKILL.md 2. is_skill_enabled()检查 extensions_config.json 启用状态 3. filter_by_employee()按 employee.skills 列表过滤,只注入绑定的 Skill

07 运行时层详解

Sandbox 和 Memory 作为平台级运行时能力,支持按员工配置策略。

Sandbox 运行时

CODE EXECUTION ENVIRONMENT
  • Provider 抽象: Local / Docker / K8s
  • 虚拟路径映射: /mnt/user-data 双向映射
  • 按员工配置: enabled / provider / timeout
  • 客服类员工关闭 Sandbox 降低风险
  • 运维类员工通过 API 工具调用运维接口
  • 资源限制: timeout / memory / 命令白名单
  • 工具集: bash / ls / read / write / str_replace

Memory 三级存储

LAYERED MEMORY SYSTEM
  • 全局 Memory: 平台级知识,所有员工共享
  • 员工 Memory: 角色专属知识和偏好
  • 线程 Memory: 单次会话上下文(已有)
  • LLM 抽取 + 去抖队列 + 原子写入
  • 分层注入: 全局+员工合并到 Prompt
  • 存储: .deer-flow/employees/{id}/memory.json
  • Token 限额: max_injection_tokens 按层分配

08 端到端数据流

一个完整请求从用户选择数字员工到获得响应的全流程。

END-TO-END DATA FLOW — 多渠道请求到响应
1

用户通过任意渠道发起请求

Web 前端 / 钉钉 Bot / REST API / Python SDK / Webhook / MCP,携带 employee_id + message

2

统一接入网关协议适配

Nginx 反向代理 + FastAPI Gateway 完成鉴权、限流、协议转换,统一为内部 employee_id + message 格式

3

Employee Router 路由分发

config.configurable.employee_id 提取员工 ID,调用 make_employee_agent(config)

4

Agent Factory 动态构建

加载 Profile → 筛选绑定的 Skills → 过滤允许的 Tools → 组装 Middleware → 构建角色系统提示词 → 创建 Agent 实例

5

Middleware 链执行 (before_agent)

ThreadData → Uploads → Sandbox(按 Profile 决定是否启用)→ Memory 注入(全局 + 员工级合并)

6

ReAct Loop 执行

LLM 推理 → 调用 Tools → Skill 渐进式加载 (read_file SKILL.md) → Sandbox 代码执行 → 循环直到任务完成

7

Middleware 链执行 (after_agent)

Title 生成 → Memory 异步更新(去抖 30s,更新到员工级 employees/{id}/memory.json

8

响应回传到原渠道

SSE Stream → Web/API | Webhook Callback → 钉钉 | SDK Return → 业务系统 | MCP Response → Cursor/Claude

09 数字员工示例

不同场景的数字员工,绑定不同的 Skill 组合和运行时配置。

🎧

智能客服

customer-service
faq-retrieval ticket-mgmt sentiment
Sandbox: OFF  |  Memory: ON
Model: gpt-4
📊

数据分析师

data-analyst
chart-viz sql-query report-gen
Sandbox: Local  |  Memory: ON
Model: deepseek-v3
🔧

运维工程师

devops
infra-scaling monitoring incident
Sandbox: OFF  |  Memory: ON
Model: claude-3.5
✍️

内容创作者

content-creator
writing image-gen design
Sandbox: Local  |  Memory: ON
Model: gpt-4
💼

HR 助手

hr-assistant
resume-screen interview onboarding
Sandbox: OFF  |  Memory: ON
Model: gpt-4

自定义员工

your-custom-employee
自定义 Skill...
创建 YAML 配置即可
热加载,无需重启