Files
wecom_it_smart_desk/docs/07-项目管理/任务说明书/任务说明书-79-P0-2-DIFY-NATIVE生产配置.md
T
Simon 44e77dcb0e chore(docs): docs/ 目录全面重新编号 + 重组
**重构前**(旧编号 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 行
2026-08-03 18:46:55 +08:00

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/02-技术文档/重构记录/01-问题验证清单.md` | C1 |
| `docs/04-运维文档/部署运维/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 | 创建任务 | 宋献 |