Files
smart-support/README.md
Yaojia Wang f93e8baef1 feat: initial project setup with planning docs
Smart Support - AI customer service action layer framework.
Includes design doc, CEO plan, eng review, test plan, and README.
2026-03-29 21:11:36 +02:00

161 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Smart Support
AI 客服行动层框架。粘贴你的 API获得一个能执行真实操作的智能客服。
## 问题
现有客服工具Zendesk、Intercom、Ada擅长回答 FAQ但自动化率卡在 20-30%。剩下 70% 的工单需要人工登录内部系统,手动查订单、取消订单、发优惠券。
Smart Support 是补全这个缺口的「行动层」。它不替代现有客服平台,而是让 AI 能直接调用内部系统完成操作。
## 工作原理
```
客户消息 → Chat UI → FastAPI WebSocket → LangGraph Supervisor → 专业 Agent → MCP Tools → 你的内部系统
↑ ↑
Agent 注册表 interrupt()
(YAML 配置) (人工确认)
PostgresSaver
(会话状态持久化)
```
1. 客户在聊天界面发送消息
2. LangGraph Supervisor 分析意图,路由到对应的专业 Agent
3. Agent 通过 MCP 协议调用你的内部系统(查订单、取消订单、发折扣...
4. 涉及写操作时,自动触发人工确认流程
5. 所有操作全程记录,支持回放和分析
## 核心特性
- **多 Agent 协作** - 不同操作由不同 Agent 处理,各自拥有独立的权限边界和工具集
- **即插即用** - 粘贴 OpenAPI 规范 URL自动生成 MCP 工具和 Agent 配置
- **人工确认** - 所有写操作(取消、退款、修改)需要人工审批,读操作直接执行
- **会话上下文** - 支持多轮对话Agent 能理解「取消那个订单」这样的指代
- **实时流式输出** - WebSocket 双向通信,逐 token 流式返回
- **对话回放** - 逐步查看 Agent 决策过程、工具调用和返回结果
- **数据分析** - 解决率、Agent 使用率、升级率、每次对话成本
- **YAML 驱动配置** - Agent 定义、人设、垂直模板全部通过 YAML 配置
## 技术栈
| 组件 | 技术选型 |
|------|---------|
| 后端 | Python 3.11+, FastAPI |
| Agent 编排 | LangGraph v1.1, langgraph-supervisor |
| 工具集成 | langchain-mcp-adapters, @tool |
| 状态持久化 | PostgreSQL + langgraph-checkpoint-postgres |
| LLM | Claude Sonnet 4.6(可切换 OpenAI、Google 等) |
| 前端 | React |
| 部署 | Docker Compose |
## 项目结构
```
smart-support/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI + WebSocket 入口
│ │ ├── graph.py # LangGraph Supervisor 配置
│ │ ├── agents/ # Agent 定义 + 工具
│ │ ├── registry.py # YAML Agent 注册表加载器
│ │ ├── openapi/ # OpenAPI 解析 + MCP 服务器生成
│ │ ├── replay/ # 对话回放 API
│ │ ├── analytics/ # 数据分析查询 + API
│ │ └── callbacks.py # Token 用量统计
│ ├── agents.yaml # Agent 注册表配置
│ ├── templates/ # 垂直行业模板
│ └── tests/
├── frontend/ # React 聊天 UI + 回放 + 仪表盘
├── docker-compose.yml # PostgreSQL + 应用
└── pyproject.toml
```
## 快速开始
```bash
# 启动 PostgreSQL 和应用
docker compose up
# 访问聊天界面
open http://localhost:8000
```
## Agent 配置示例
```yaml
# agents.yaml
agents:
- name: order_lookup
description: 查询订单状态、物流信息
permission: read
personality:
tone: professional
greeting: "您好,我来帮您查询订单信息。"
tools:
- get_order_status
- get_tracking_info
- name: order_actions
description: 取消订单、修改订单
permission: write # 触发人工确认
personality:
tone: careful
greeting: "我可以帮您处理订单变更,所有操作都会先经过您的确认。"
tools:
- cancel_order
- modify_order
- name: discount
description: 发放优惠券、折扣码
permission: write
tools:
- apply_discount
- generate_coupon
```
## OpenAPI 自动接入
不需要手动写 MCP 连接器。粘贴你的 API 规范 URL
1. 框架解析 OpenAPI 3.0 规范
2. LLM 自动分类每个端点(读/写、客户参数、Agent 分组)
3. 运维人员审核分类结果
4. 自动生成 MCP 服务器 + Agent YAML 配置
5. 新工具立即可用
## 安全设计
- **人工确认** - 所有写操作需要客户或运维人员批准
- **SSRF 防护** - OpenAPI URL 导入时屏蔽内网地址和 DNS 重绑定攻击
- **操作审计** - 每个操作记录 Agent、参数、结果、时间戳
- **权限隔离** - 每个 Agent 只能访问其配置的工具集
- **中断超时** - 30 分钟未确认的操作自动取消,防止过期审批
## 开发阶段
| 阶段 | 周期 | 内容 |
|------|------|------|
| Phase 1 | 第 1-3 周 | 核心框架Chat UI + Supervisor + Agent 注册表 + 中断流程 |
| Phase 2 | 第 3-4 周 | 多 Agent 路由 + Webhook 升级 + 垂直模板 |
| Phase 3 | 第 4-6 周 | OpenAPI 自动发现 + MCP 服务器生成 + SSRF 防护 |
| Phase 4 | 第 6-7 周 | 对话回放 + 数据分析仪表盘 |
## 目标用户
中型电商公司(日均 500-5000 订单5-20 名客服)的客户体验负责人。
他们的痛点:客服需要在 Zendesk 和 Shopify 后台之间反复切换手动执行查询和操作。Smart Support 让 AI 直接完成这些操作,人工只需审批关键步骤。
## 相关文档
- [设计文档](design-doc.md) - 问题定义、约束、方案选择
- [CEO 计划](ceo-plan.md) - 产品愿景、范围决策
- [工程评审计划](eng-review-plan.md) - 架构决策、测试策略、失败模式
- [测试计划](eng-review-test-plan.md) - 测试路径、边界情况、E2E 流程
- [待办事项](TODOS.md) - 延迟到后续阶段的工作
## License
MIT