Files
wecom_it_smart_desk/docs/04-运维文档/运维指南/Dify-Prompt-改造指南.md
T
Simon facc04aa65 chore: docs 结构整改 + compose 双目录对齐(合并重建提交)
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
2026-08-07 22:31:32 +08:00

129 lines
3.6 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.
# Dify 工作流 System Prompt 改造指南
## 改造目标
将 Dify 输出从 `action` 字段改为 `intent` 标签,让后端根据 intent 查询资产库生成真正的推荐卡片。
## 当前输出格式(需改造)
```json
{
"text": "回答文本...",
"action": {
"type": "approval_card",
"title": "软件安装审批",
"description": "申请安装 Adobe 系列软件",
"approval_type": "software_install",
"confidence": 0.95
},
"options": [...],
"diagnosis_stage": "diagnosing"
}
```
## 目标输出格式
```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"
}
```
## 改造步骤
### 1. 登录 Dify Console
访问:`http://yw-dify.dc.servyou-it.com/console`
### 2. 找到目标应用
找到「智能IT支持-员工咨询」应用(App ID: `8f0f3d62-f63d-4cf3-815e-b10529c66f1d`
### 3. 进入工作流编辑
1. 点击应用名称进入详情
2. 点击「编辑」
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 相关信息(客户端下载、服务器地址、申请审批)