Files
wecom_it_smart_desk/docs/10-项目管理/任务说明书/任务说明书-79-P0-2-DIFY-NATIVE生产配置.md
T

107 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.
# 任务说明书 — P0-2 DIFY_NATIVE_* 生产配置(修复 v2.1 原生直连未上线)
> **版本**: v1.0 | **日期**: 2026-07-17
---
## 📋 基本信息
| 项目 | 内容 |
|------|------|
| **任务名称** | P0-2 DIFY_NATIVE_BASE_URL/API_KEY 生产环境配置,启用 Dify 原生直连 |
| **任务ID** | #79 |
| **优先级** | 🔴 P0 |
| **类型** | 部署优化 / Bug修复 |
| **状态** | 待开始 |
| **负责人** | 宋献 |
| **创建日期** | 2026-07-17 |
| **计划完成日期** | 2026-07-18 |
---
## 📥 输入项来源
### 问题证据
| 来源 | 说明 |
|------|------|
| `backend/app/config.py:121-122` | 有 `dify_native_base_url`/`dify_native_api_key` 字段定义 |
| `docker-compose.yml` backend environment | **未传递这 2 个变量** → 容器内为空 → `_call_dify_native()` 永远返回 None → 永远走有 [object Object] bug 的 dify2openai 代理 |
| `.env.production` / `deploy-server/.env.production` / `backend/.env.example` | 均无此 2 项 |
| `.env.production:59-60` | **错误**:把原生格式(/v1 + 裸 app key)错填进 proxy 变量(DIFY_API_URL/KEY),与 deploy-server 正确 proxy 格式矛盾 |
### 历史事故
- 2026-07-13 两次因环境变量未声明导致 P0 故障([object Object]、扫码登录崩溃)
### 技术文档
| 来源文档 | 说明 |
|----------|------|
| `docs/12-重构记录/01-问题验证清单.md` | C1 |
| `docs/09-部署运维/DEPLOY-GUIDE.md` | §4.3 铁律 2environment 显式声明) |
---
## 📤 输出成果要求
### 交付物清单
| # | 交付物 | 类型 | 说明 |
|---|--------|------|------|
| 1 | `docker-compose.yml` | 配置 | backend environment 新增 `DIFY_NATIVE_BASE_URL=${DIFY_NATIVE_BASE_URL:-}``DIFY_NATIVE_API_KEY=${DIFY_NATIVE_API_KEY:-}` |
| 2 | `.env.production` | 配置 | 填入 `DIFY_NATIVE_BASE_URL=http://yw-dify.dc.servyou-it.com``DIFY_NATIVE_API_KEY=app-7jkRkAzvX4QM9v9SM3P8mMEO`;修正 DIFY_API_URL/KEY 为 proxy 正确格式(与 deploy-server 对齐) |
| 3 | `backend/.env.example`、根 `.env.example` | 配置 | 补 2 项及注释 |
| 4 | 部署验证 | 验证 | 容器内 `env \| grep DIFY_NATIVE` 非空 + 日志走原生 API |
### 部署命令
```bash
# 修改 environment 后必须 up -drestart 不重载 env!)
docker compose up -d backend
```
---
## 🔧 验证方式
| 验证项 | 验证方法 | 预期结果 |
|--------|----------|-----------|
| 容器内变量 | `docker exec wecom_it_backend env \| grep DIFY_NATIVE` | 2 行非空 |
| 调用路径 | 发任意消息,查日志 | 出现「调用 Dify 原生 API」,不再出现「回退到代理路径」 |
| 审批卡片 | 发送"VPN账号申请" | 卡片正常渲染(非 [object Object]、非"AI服务暂时不可用" |
---
## ✅ 完成标准
- [ ] compose environment 已声明 2 项
- [ ] .env.production 已填值且 proxy 变量已修正
- [ ] 容器内变量非空,日志走原生 API
- [ ] 状态看板已更新
---
## 📊 工作分解
| 子任务 | 预估工时 | 状态 |
|--------|----------|------|
| 本地修改 compose + 3 个 env 文件 | 20min | ⬜ |
| 上传服务器 + `up -d backend` + env 验证 | 15min | ⬜ |
| 发消息验证原生 API 路径 + 审批卡片 | 15min | ⬜ |
---
## 📞 依赖与阻塞
| 依赖 | 说明 | 状态 |
|------|------|------|
| 无 | 独立任务 | — |
**风险**:若原生直连返回格式与代理有细微差异,可能触发 v3.1 关键词降级(已有兜底,安全)。回滚=删除 2 个环境变量重启。
---
## 📈 变更记录
| 日期 | 变更内容 | 变更人 |
|------|----------|--------|
| 2026-07-17 | 创建任务 | 宋献 |