- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
5.6 KiB
Dify API Keys 配置更新总结
📅 更新时间
2025年10月16日
🎯 更新目的
统一管理所有 Dify 工作流的 API Keys,将硬编码的 API Keys 迁移到配置文件中,提高系统的可维护性和安全性。
✅ 完成的工作
1. 配置文件更新 (app/core/config.py)
新增的配置项:
-
DIFY_ANSWER_JUDGE_API_KEY: 答案判断器工作流- API Key:
app-FvMdrvbRBz547DVZEorgO1WT
- API Key:
-
DIFY_EXAM_GENERATOR_API_KEY: 试题生成器工作流- API Key:
app-tDlrmXyS9NtWCShsOx5FH49L
- API Key:
已有配置项(已确认):
-
DIFY_API_KEY: 上传知识库工作流- API Key:
app-LZhZcMO6CiriLMOLB2PwUGHx
- API Key:
-
DIFY_PRACTICE_API_KEY: 陪练场景提取工作流- API Key:
app-rYP6LNM4iPmNjIHns12zFeJp
- API Key:
-
DIFY_PRACTICE_ANALYSIS_API_KEY: 陪练分析报告工作流- API Key:
app-9MWaCEiRegpYGQLov4S9oQjh
- API Key:
-
DIFY_COURSE_CHAT_API_KEY: 与课程对话工作流- API Key:
app-lJzD6COkL8z7Eez8t6ZrYoJS
- API Key:
-
DIFY_YANJI_ANALYSIS_API_KEY: 智能工牌能力分析与课程推荐工作流- API Key:
app-g0I5UT8lBB0fvuxGDOqrG8Zj
- API Key:
2. 代码重构 (app/api/v1/exam.py)
修改内容:
-
第304行: 将硬编码的试题生成器 API Key 替换为
settings.DIFY_EXAM_GENERATOR_API_KEY# 修改前 "Authorization": "Bearer app-tDlrmXyS9NtWCShsOx5FH49L" # 修改后 "Authorization": f"Bearer {settings.DIFY_EXAM_GENERATOR_API_KEY}" -
第473行: 将硬编码的答案判断器 API Key 替换为
settings.DIFY_ANSWER_JUDGE_API_KEY# 修改前 "Authorization": "Bearer app-FvMdrvbRBz547DVZEorgO1WT" # 修改后 "Authorization": f"Bearer {settings.DIFY_ANSWER_JUDGE_API_KEY}"
3. 文档创建
新建文档:
-
docs/dify_api_keys.md: 完整的 Dify API Keys 配置说明文档- 包含所有工作流的配置表格
- API 调用示例
- 故障排查指南
- 相关代码文件索引
-
verify_dify_config.py: 配置验证脚本- 自动验证所有 Dify 配置项
- 显示配置状态
- 适用于部署前检查
-
DIFY_API_KEYS_UPDATE_SUMMARY.md: 本更新总结文档
🔍 验证结果
运行验证脚本 python verify_dify_config.py,结果显示:
✅ 所有 Dify 配置验证通过!
所有 7 个工作流 API Keys + API Base URL + 回调认证Token 均配置正确。
📊 配置清单
| 序号 | 工作流名称 | 配置变量 | API Key | 状态 |
|---|---|---|---|---|
| 1 | 上传知识库 | DIFY_API_KEY |
app-LZhZcMO6CiriLMOLB2PwUGHx |
✅ |
| 2 | 试题生成器 | DIFY_EXAM_GENERATOR_API_KEY |
app-tDlrmXyS9NtWCShsOx5FH49L |
✅ |
| 3 | 答案判断器 | DIFY_ANSWER_JUDGE_API_KEY |
app-FvMdrvbRBz547DVZEorgO1WT |
✅ |
| 4 | 陪练场景提取 | DIFY_PRACTICE_API_KEY |
app-rYP6LNM4iPmNjIHns12zFeJp |
✅ |
| 5 | 陪练分析报告 | DIFY_PRACTICE_ANALYSIS_API_KEY |
app-9MWaCEiRegpYGQLov4S9oQjh |
✅ |
| 6 | 与课程对话 | DIFY_COURSE_CHAT_API_KEY |
app-lJzD6COkL8z7Eez8t6ZrYoJS |
✅ |
| 7 | 智能工牌能力分析 | DIFY_YANJI_ANALYSIS_API_KEY |
app-g0I5UT8lBB0fvuxGDOqrG8Zj |
✅ |
🎯 改进点
优势:
- 集中管理: 所有 API Keys 在一处配置,便于维护
- 环境灵活性: 支持通过
.env文件覆盖配置 - 安全性提升: 避免代码中硬编码敏感信息
- 可追溯性: 通过版本控制管理配置变更
- 易于测试: 可以快速切换不同环境的配置
最佳实践:
- ✅ 所有 API Keys 统一使用
settings.*访问 - ✅ 敏感信息不提交到版本控制
- ✅ 提供配置验证脚本
- ✅ 文档完整记录所有配置项
📝 后续建议
1. 环境变量管理
建议为不同环境创建不同的配置文件:
.env.development- 开发环境.env.staging- 测试环境.env.production- 生产环境
2. CI/CD 集成
在部署流程中添加配置验证步骤:
python verify_dify_config.py || exit 1
3. 监控和日志
建议添加 API 调用监控:
- API 调用次数统计
- 失败率监控
- 响应时间追踪
🔗 相关文件
修改的文件:
/root/aiedu/kaopeilian-backend/app/core/config.py/root/aiedu/kaopeilian-backend/app/api/v1/exam.py
新建的文件:
/root/aiedu/kaopeilian-backend/docs/dify_api_keys.md/root/aiedu/kaopeilian-backend/verify_dify_config.py/root/aiedu/DIFY_API_KEYS_UPDATE_SUMMARY.md
相关代码文件(使用 Dify API Keys 的模块):
app/api/v1/exam.py- 考试管理app/api/v1/practice.py- 陪练管理app/api/v1/course_chat.py- 课程对话app/services/dify_practice_service.py- 陪练服务app/services/ability_assessment_service.py- 能力评估服务
📚 参考文档
✅ 检查清单
- 配置文件更新完成
- 代码重构完成(移除硬编码)
- 配置验证通过
- 文档编写完成
- Linter 检查通过
- 创建验证脚本
- 更新联调经验文档(待执行)
- 更新团队规范文档(待执行)
🎉 总结
本次更新成功将所有 Dify 工作流的 API Keys 统一管理到配置文件中,消除了代码中的硬编码问题。所有配置项均已验证通过,系统可以正常使用。
配置管理的标准化将为后续的开发和维护工作带来便利,也符合软件工程的最佳实践。