44e77dcb0e
**重构前**(旧编号 02-11): - docs/02-产品需求/ → 00 产品规划/PRD - docs/03-技术架构/ → 01-05 子目录散落 - docs/04-原型设计/ → 01-02 产品设计(HTML 原型) - docs/05-原型设计/ → screens/ - docs/06-测试素材/ → 02-E2E / 03-功能 / 04-版本测试 - docs/07-项目管理/ → 任务说明书/日报/计划 - docs/08-安全审计/ → 审计报告 - docs/09-堡垒运维/ → toolbox / deploy - docs/10-项目管理/ → 任务说明书(重复) - docs/11-历史归档/ → deploy-nas-archived **重构后**(新编号 00-07,语义化): - docs/00-产品开发流程与文档管理规范.md - docs/00-版本迭代总览.md - docs/01-产品文档/ (PRD/原型/认证/会话/AI 服务/坐席/集成) - docs/02-技术文档/ (技术方案/架构图/重构记录/前端改造/实现配置) - docs/03-测试文档/ (E2E/功能用例/版本报告/缺陷单) - docs/04-运维文档/ (部署运维/运维指南) - docs/05-运营文档/ (品牌推广/用户手册) - docs/06-安全审计/ (审计报告) - docs/07-项目管理/ (任务说明书/日报/计划/看板) **净收益**: - 目录编号与产品文档管理规范对齐(按文档阶段 01-07 编号) - 消除 02-产品需求 与 10-项目管理 的编号重叠 - 子目录按文档类型分组(如 01-产品文档/00-产品规划、01-产品文档/01-认证与登录) - 把运维/安全/项目管理从 0X 散落改为 04/06/07 合计 494 文件 + 78495 行 / - 14076 行
3.6 KiB
3.6 KiB
Dify 工作流 System Prompt 改造指南
改造目标
将 Dify 输出从 action 字段改为 intent 标签,让后端根据 intent 查询资产库生成真正的推荐卡片。
当前输出格式(需改造)
{
"text": "回答文本...",
"action": {
"type": "approval_card",
"title": "软件安装审批",
"description": "申请安装 Adobe 系列软件",
"approval_type": "software_install",
"confidence": 0.95
},
"options": [...],
"diagnosis_stage": "diagnosing"
}
目标输出格式
{
"text": "给用户的回答文本(50-200字)",
"intent": "用户意图标签",
"need_approval": 是否需要审批入口 (true/false),
"need_asset": 是否需要资产推荐 (true/false),
"asset_keywords": ["关键词1", "关键词2"],
"options": [
{"label": "选项文字", "value": "选项值"}
],
"diagnosis_stage": "greeting|diagnosing|resolved|transfer"
}
改造步骤
1. 登录 Dify Console
访问:http://yw-dify.dc.servyou-it.com/console
2. 找到目标应用
找到「智能IT支持-员工咨询」应用(App ID: 8f0f3d62-f63d-4cf3-815e-b10529c66f1d)
3. 进入工作流编辑
- 点击应用名称进入详情
- 点击「编辑」
- 进入「编排」页面
4. 找到 LLM 节点
找到输出 JSON 结构的 LLM 节点(通常在"开始"节点之后的第一个 LLM 节点)
5. 修改 System Prompt
在 LLM 节点的「系统提示词」中添加以下内容(追加到现有 Prompt 末尾):
## 输出格式要求
你是一个 IT 智能助手。请根据用户问题,输出以下 JSON 结构:
{
"text": "给用户的回答文本(50-200字)",
"intent": "用户意图标签",
"need_approval": 是否需要审批入口 (true/false),
"need_asset": 是否需要资产推荐 (true/false),
"asset_keywords": ["关键词1", "关键词2"],
"options": [
{"label": "选项文字", "value": "选项值"}
],
"diagnosis_stage": "greeting|diagnosing|resolved|transfer"
}
## 意图标签说明
intent 字段可选值:
- software_install: 软件安装
- hardware_issue: 硬件问题
- network_vpn: 网络/VPN 问题
- printer: 打印机问题
- account_permission: 账号权限问题
- email_outlook: 邮箱问题
- mobile_device: 移动设备问题
- other: 其他问题
## 资产推荐规则
当用户询问以下内容时,设置 need_asset=true 并指定 asset_keywords:
- VPN 相关 → asset_keywords: ["vpn"]
- 打印机相关 → asset_keywords: ["打印机", "打印机驱动"]
- 软件安装 → asset_keywords: ["软件安装"]
- 邮箱问题 → asset_keywords: ["outlook", "邮箱"]
- 账号权限 → asset_keywords: ["账号", "权限"]
- 网络问题 → asset_keywords: ["网络", "wifi"]
重要:不要在 text 中推荐具体的下载链接或服务器地址,这些信息由系统根据 asset_keywords 智能匹配后推送到右侧栏。
6. 发布工作流
点击右上角「发布」按钮
7. 验证
在「发布」页面点击「运行」测试,验证输出格式是否符合预期。
回滚方案
如果新版本有问题,可以在 Dify Console 的「版本历史」中找到上一个版本,点击「恢复」即可回滚。
后端适配
后端代码 asset_recommend_service.py 已支持处理新的 intent 格式。
当 Dify 返回 need_asset=true + asset_keywords 时,后端会根据关键词查询 assets.yaml 中的资产信息,生成 L1 推荐卡片。
预期效果
用户说"VPN 连不上":
- 中间栏:AI 回复排查步骤
- 右侧栏 L1:VPN 相关信息(客户端下载、服务器地址、申请审批)