更新知识库文档:新增 agent、aitsc、claude code、组织架构等笔记

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
renjianbo
2026-05-11 00:31:26 +08:00
parent a1b3dac7a0
commit 1b7ba3766c
40 changed files with 4196 additions and 484 deletions

View File

@@ -0,0 +1,241 @@
aitsc 是一个功能完整、架构清晰的 AI 提示词生成平台,具备以下优势:
1. 产品定位准确:抓住 AI 提示词优化市场痛点
2. 技术栈合理:Python/Flask 生态成熟稳定
3. 功能覆盖全面:从核心提示词生成到多场景 AI 应用
4. 部署方案完备:支持从开发到生产的全链路部署
主要风险集中在安全方面:硬编码的数据库密码和 API 密钥一旦泄露,可能导致数据泄露和 API
滥用。建议优先解决此问题后再投入生产使用。
项目具备良好的商业化潜力,只需进行适当的安全加固和架构优化,即可成为成熟的 AI 应用平台。
---分析完成时间:2026-04-02
分析工具:Claude Code (Sonnet 4.6)
● aitsc 项目分析报告
项目概述
项目名称:提示词大师 (aitsc / flask_prompt_master)
项目定位:基于大语言模型(LLM)的智能提示词生成与多场景 AI 应用平台
技术栈:Python 3.12、Flask、Gunicorn、SQLAlchemy、MySQL、DeepSeek API(OpenAI 兼容)、Docker、Kubernetes
目标用户:Web 用户、微信小程序用户、管理员
部署方式:本地开发、Docker 容器化、K8s 云部署、Windows 服务
访问端口:5002
项目结构分析
目录结构
aitsc/
├── src/flask_prompt_master/ # 主应用核心
│ ├── __init__.py # 应用工厂函数
│ ├── app.py # 模拟 API 服务(测试用)
│ ├── config.py # 应用配置
│ ├── models/ # 数据模型
│ │ ├── models.py # 核心数据模型
│ │ ├── favorites.py # 收藏模型
│ │ ├── history_models.py # 历史记录模型
│ │ ├── optimization_history.py # 优化历史模型
│ │ └── poetry_favorites.py # 古诗词收藏模型
│ ├── routes/ # 业务路由(蓝图)
│ │ ├── routes.py # 主路由
│ │ ├── auth.py # 认证路由
│ │ ├── favorites.py # 收藏路由
│ │ ├── meal_planning.py # 饭菜规划路由
│ │ ├── poetry.py # 古诗词解析路由
│ │ ├── history_routes.py # 历史记录路由
│ │ ├── weekly_report.py # 智能周报路由
│ │ ├── travel_planning.py # 旅行攻略路由
│ │ ├── meeting_minutes.py # 会议纪要多路由
│ │ ├── resume_optimization.py # 简历优化路由
│ │ ├── prompt_optimization.py # 提示词优化路由
│ │ ├── smart_prompt_optimization.py # 智能提示词优化路由
│ │ ├── expert_generate_2.py # 专家提示词2号
│ │ ├── expert_generate_3.py # 专家提示词3号
│ │ ├── android_tools.py # Android 工程师工具
│ │ └── placeholder_apps.py # 占位应用
│ ├── services/ # 业务逻辑服务
│ │ ├── auth_service.py # 认证服务
│ │ ├── favorite_service.py # 收藏服务
│ │ └── poetry_favorite_service.py # 古诗词收藏服务
│ ├── forms/ # 表单类(待完善)
│ ├── templates/ # HTML 模板
│ ├── static/ # 静态资源
│ ├── utils/ # 工具函数
│ ├── admin/ # 后台管理
│ └── promptsTemplates.py # 提示词模板数据(144KB)
├── config.py # 全局配置(含腾讯云数据库)
├── docker-compose.yml # Docker Compose 配置
├── docker-compose.prod.yml # 生产环境配置
├── docker-compose.simple.yml # 简化配置
├── Dockerfile # 应用 Dockerfile
├── Dockerfile.log-manager # 日志管理 Dockerfile
├── Dockerfile.monitor # 监控 Dockerfile
├── requirements.txt # Python 依赖
├── run_dev.py # 开发环境启动脚本
├── run_dev_fixed.py # 修复版启动脚本
├── run_production_public.py # 生产环境启动脚本
├── k8s/ # Kubernetes 配置
├── wechat-miniprogram/ # 微信小程序代码
├── exampleAiApp01/ # 示例 AI 应用
├── scripts/ # 部署和管理脚本
├── tests/ # 测试文件
├── migrations/ # 数据库迁移
├── logs/ # 日志目录
├── docs/ # 文档
├── backups/ # 备份文件
└── 大量中文文档(功能设计、部署指南、优化报告等)
架构设计
- MVC 模式:清晰的数据模型(Model)、视图模板(View)、路由控制器(Controller)
- 蓝图模块化:功能按业务模块划分,便于维护和扩展
- 服务层分离:业务逻辑集中在 services 目录,路由层保持简洁
- 配置管理:支持多环境配置(开发、测试、生产)
- 数据库:MySQL + SQLAlchemy ORM,支持本地和腾讯云双数据库
功能模块分析
1. 核心 AI 功能
- 提示词生成:用户输入简短描述,基于模板调用 LLM 生成高质量提示词
- 意图识别:分析用户输入,推荐模板类别(新闻获取、生成图片、网站开发等)
- 专家提示词:两阶段生成(意图分析 → 领域专家模板生成)
2. 多场景 AI 应用
- 智能饭菜规划:根据人数、餐型、家乡、预算等生成地区化饭菜清单
- 古诗词解析:提供原文、译文、注释、解读(支持收藏功能)
- 智能周报/日报:根据工作要点生成结构化报告
- 旅行攻略规划:基于目的地、天数、人数、预算生成详细攻略
- 会议纪要整理:原始内容转写为结构化纪要
- 简历/求职信优化:根据岗位描述针对性优化简历内容
- Android 工程师工具:Crash 解读、依赖冲突分析等专业工具
3. 用户系统
- Web 用户认证:注册、登录、个人资料、Session 管理
- 微信小程序登录:code 换 openid/session_key,返回自定义 uid
- 权限控制:登录验证装饰器保护敏感接口
4. 数据管理
- 收藏功能:通用收藏管理,支持增删改查、统计
- 历史记录:提示词历史、优化历史的查看、标签、批量操作
- 模板管理:内置行业模板(写作、故事、短视频、设计、营销等)
5. 管理功能
- Flask-Admin 后台:用户/内容/系统/数据分析管理
- 监控服务:系统运行状态监控
- 日志管理:集中式日志收集和分析
代码质量分析
优点
1. 结构清晰:符合 Flask 最佳实践,模块划分合理
2. 文档完善:大量中文文档覆盖功能设计、部署指南、优化报告
3. 部署方案全面:支持 Docker、K8s、Windows 服务多种部署方式
4. 测试覆盖:包含大量测试文件,覆盖主要功能
5. 错误处理:全局 500 错误处理,记录完整堆栈信息
安全问题
硬编码敏感信息(高风险):
- 数据库密码:!Rjb12191(腾讯云数据库)
- DeepSeek API 密钥:sk-fdf7cc1c73504e628ec0119b7e11b8cc
- 微信小程序密钥:89aa97dda3c1347c6ae3d6ab4627f1f4
- 位置:config.py 和 src/flask_prompt_master/config.py
密码哈希安全性不足:
- 使用 MD5 加盐哈希,建议升级为 bcrypt 或 Argon2
- 位置:auth_service.py 的 hash_password 方法
CORS 配置过于宽松:
- CORS_ORIGINS = ['*'] 生产环境应限制具体域名
代码规范问题
6. 配置文件重复:根目录和 src/flask_prompt_master 下都有 config.py
7. 大型数据文件:promptsTemplates.py 文件过大(144KB),应考虑数据库存储
8. 模拟数据与真实代码混合:app.py 包含模拟 API,可能与真实路由混淆
9. 中英混合命名:部分文件和变量使用中文,不利于国际化协作
依赖管理
- 主要依赖:Flask、SQLAlchemy、OpenAI、PyMySQL、Redis 等
- 版本管理:requirements.txt 指定版本范围,但缺少 lock 文件
- Windows 特定依赖:pywin32 用于 Windows 服务部署
部署与运维
支持的部署方式
1. 本地开发:Python 虚拟环境 + Flask 开发服务器
2. Docker 容器化:完整微服务栈(App + MySQL + Redis + Nginx)
3. Kubernetes:生产级容器编排配置
4. Windows 服务:通过 pywin32 部署为系统服务
5. 腾讯云集成:支持腾讯云数据库直连
监控与维护
- 日志管理:Docker 日志卷 + 独立日志管理服务
- 系统监控:独立的监控服务和管理器
- 数据库迁移:Flask-Migrate 支持数据库版本管理
- 备份机制:定期备份目录和脚本
改进建议
高优先级
修复安全漏洞:
- 移除硬编码的敏感信息,全部改为环境变量
- 更新密码哈希算法为 bcrypt 或 Argon2
- 生产环境限制 CORS 域名
配置文件优化:
- 统一配置管理,消除重复配置
- 实现多环境配置自动切换
中优先级
代码重构:
- 将 promptsTemplates.py 大文件内容迁移到数据库
- 清理测试和模拟代码,分离测试环境
- 统一命名规范,减少中英混合
依赖管理:
- 添加 requirements.lock 文件确保依赖一致性
- 考虑使用 Poetry 或 Pipenv 管理依赖
API 设计:
- 统一 API 响应格式和错误码
- 添加 API 版本控制(目前部分使用 /api/v1/,部分没有)
低优先级
性能优化:
- 考虑添加 Redis 缓存层减少数据库压力
- 优化大型查询的分页性能
文档完善:
- 添加 API 接口文档(OpenAPI/Swagger)
- 补充部署环境的详细配置说明
测试增强:
- 增加集成测试和端到端测试
- 添加 CI/CD 流水线自动化测试
总结
aitsc 项目是一个功能丰富、架构清晰的 AI 应用平台,具备以下特点:
优势:
- 功能全面,覆盖多场景 AI 应用需求
- 架构设计合理,模块化程度高
- 部署方案多样,适应不同环境需求
- 文档完善,便于理解和维护
风险:
- 安全漏洞较为严重(硬编码敏感信息)
- 部分代码需要重构优化
- 生产环境配置需要加固
建议:立即修复安全漏洞,然后进行代码重构和性能优化,可发展为成熟的企业级 AI 应用平台。

View File

@@ -0,0 +1,126 @@
● 高优先级安全改进状态分析
基于对 aitsc 项目的检查,以下是高优先级安全改进的完成情况:
✅ 已完成的安全改进
新的配置系统已实现
- 创建了 config/ 目录,包含 base.py、development.py、production.py、testing.py
- 根目录和 src/flask_prompt_master/config.py 都添加了弃用警告
- 新配置系统强制从环境变量读取敏感信息,否则抛出异常
密码哈希算法已升级
- auth_service.py 中已使用 bcrypt 哈希算法
- 支持向后兼容 MD5(用于现有用户)
- 新用户注册使用 bcrypt,安全性达标
生产环境 CORS 配置已加固
- production.py 中强制要求设置 CORS_ORIGINS 环境变量
- 生产环境不能使用 ['*'],必须指定具体域名
⚠️ 仍需解决的安全问题
.env 文件中仍包含硬编码敏感信息
- 数据库密码:!Rjb12191
- DeepSeek API 密钥:sk-fdf7cc1c73504e628ec0119b7e11b8cc
- 微信小程序密钥:89aa97dda3c1347c6ae3d6ab4627f1f4
源代码中仍有多处硬编码
- promptsTemplates.py 中硬编码数据库密码
- 多个路由文件(如 android_tools.py)硬编码 API 密钥作为后备值
- 多个部署脚本和文档文件包含敏感信息
.env 文件管理问题
- .env 文件不应提交到版本控制
- 应使用 .env.example 作为模板,要求用户手动创建 .env
🔍 发现的具体文件
通过搜索发现的硬编码敏感信息文件:
- .env 文件(包含完整的敏感信息)
- src/flask_prompt_master/promptsTemplates.py(第4098、4108行有数据库密码)
- 多个路由文件使用 os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc' 模式
- 大量文档和部署脚本文件包含敏感信息
📋 建议的下一步修复
立即移除 .env 中的硬编码信息
- 使用占位符替换真实密钥
- 添加更详细的说明要求用户从控制台获取真实密钥
清理源代码中的硬编码后备值
- 移除所有 or 'hardcoded-key' 模式的后备值
- 如果环境变量未设置,应抛出自定义异常而非使用默认值
加强 .env 文件管理
- 将 .env 添加到 .gitignore
- 完善 .env.example 说明文档
虽然配置架构已改进,但只要源代码和 .env 文件中还存在硬编码敏感信息,安全风险就仍然存在。
● 根据分析,aitsc项目的高优先级安全改进已经部分完成。具体状态如下:
✅ 已解决的改进
配置系统重构
- 新的配置系统位于 config/ 目录,支持多环境配置
- 根目录 config.py 和 src/flask_prompt_master/config.py 已添加弃用警告
- 强制从环境变量读取敏感信息,未设置时会抛出 ValueError
密码哈希安全性升级
- auth_service.py 已实现 bcrypt 哈希算法
- 支持向后兼容 MD5(旧用户)
- 新用户默认使用 bcrypt,盐值标识为 'bcrypt'
生产环境 CORS 配置加固
- config/production.py 中强制要求设置 CORS_ORIGINS 环境变量
- 未设置或为空时会抛出异常
⚠️ 仍需解决的严重问题
1. 源代码中的硬编码敏感信息
多个Python文件中仍存在硬编码的敏感信息:
数据库密码 (!Rjb12191):
- src/flask_prompt_master/promptsTemplates.py (4098行)
- 至少10个其他脚本文件(部署、初始化脚本)
DeepSeek API 密钥 (sk-fdf7cc1c73504e628ec0119b7e11b8cc):
- src/flask_prompt_master/routes/android_tools.py (17行)
- src/flask_prompt_master/routes/expert_generate_2.py
- src/flask_prompt_master/routes/expert_generate_3.py
- src/flask_prompt_master/routes/meal_planning.py (仍有硬编码)
- 多个其他路由文件
微信小程序密钥 (89aa97dda3c1347c6ae3d6ab4627f1f4):
- 在 .env 文件和其他文档中
2. .env 文件中的硬编码
.env 文件仍然包含:
- DATABASE_URL 中的数据库密码
- LLM_API_KEY (DeepSeek API密钥)
- WX_APPID 和 WX_SECRET (微信小程序凭据)
风险:.env 文件可能被意外提交到版本控制,导致敏感信息泄露。
3. 配置文件重复问题
虽然有了新的 config/ 系统,但两个旧配置文件的弃用警告仍不够彻底:
- config.py (根目录)
- src/flask_prompt_master/config.py
🔍 遗留的中优先级问题
大型数据文件 promptsTemplates.py (144KB)
- 仍包含硬编码的数据库连接信息
- 应考虑迁移到数据库存储
API密钥使用不一致
- 有些路由文件使用 os.environ.get('LLM_API_KEY') or '硬编码密钥' 模式
- 应统一为强制从环境变量读取,去掉 fallback 硬编码
📋 建议的后续行动
立即行动(高优先级):
1. 清理所有源代码中的硬编码敏感信息
2. 将 .env 中的真实凭据替换为占位符
3. 确保 .env 在 .gitignore 中,只提交 .env.example
4. 更新所有路由文件,移除 API 密钥的硬编码 fallback
近期行动(中优先级):
1. 将 promptsTemplates.py 的大数据迁移到数据库
2. 完全移除旧的配置文件或重定向到新系统
3. 统一 API 密钥获取逻辑
总结:配置架构已改进,但代码层面仍有严重的安全漏洞需要立即修复,否则新的配置系统无法提供实际安全保护。

View File

@@ -0,0 +1,227 @@
● 根据分析,promptsTemplates.py 的数据迁移确实是一个重要的中优先级改进。以下是详细的迁移方案和实施步骤:
📊 当前问题分析
promptsTemplates.py 的主要问题:
1. 安全漏洞:包含硬编码数据库密码(腾讯云:!Rjb12191,本地:123456)
2. 数据与代码混合:144KB 文件中约 4000 行是模板数据
3. 不规范的数据库连接:使用 pymysql 直接连接,而不是项目的 SQLAlchemy ORM
4. 冗余功能:既是数据存储又是初始化脚本
✅ 有利条件:
- 应用已通过 PromptTemplate.query 从数据库获取模板
- PromptTemplate 模型已在 models.py 中定义
- 项目已有完整的数据库迁移系统 (migrations/ 目录)
- 新的配置系统已就位
🎯 迁移实施计划
阶段一:数据提取和备份(30分钟)
1. 提取模板数据到 JSON
# 创建数据目录
mkdir -p /d/aaa/aitsc/data
# 手动或编写脚本提取 templates 列表到 JSON
# 将生成:data/prompt_templates.json
2. 备份现有数据库中的模板数据
# 创建备份脚本
from src.flask_prompt_master import create_app, db
from src.flask_prompt_master.models.models import PromptTemplate
import json
app = create_app()
with app.app_context():
templates = PromptTemplate.query.all()
data = [{
'name': t.name,
'description': t.description,
'category': t.category,
'industry': t.industry,
'profession': t.profession,
'sub_category': t.sub_category,
'system_prompt': t.system_prompt,
'is_default': t.is_default
} for t in templates]
with open('data/existing_templates_backup.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
阶段二:创建安全初始化系统(45分钟)
1. 创建新的初始化脚本
# scripts/init_prompt_templates.py
import json
import os
from dotenv import load_dotenv
from src.flask_prompt_master import create_app, db
from src.flask_prompt_master.models.models import PromptTemplate
load_dotenv()
def init_from_json(json_file='data/prompt_templates.json'):
"""从JSON文件安全初始化模板数据"""
app = create_app()
with app.app_context():
# 检查数据库连接
if not db.session.bind:
raise ValueError("数据库连接未初始化")
# 加载模板数据
with open(json_file, 'r', encoding='utf-8') as f:
templates_data = json.load(f)
added_count = 0
skipped_count = 0
for template_data in templates_data:
# 检查是否已存在同名模板
existing = PromptTemplate.query.filter_by(
name=template_data['name']
).first()
if not existing:
template = PromptTemplate(**template_data)
db.session.add(template)
added_count += 1
else:
skipped_count += 1
try:
db.session.commit()
print(f"✅ 初始化完成:新增 {added_count} 条,跳过 {skipped_count} 条")
return True
except Exception as e:
db.session.rollback()
print(f"❌ 初始化失败:{e}")
return False
if __name__ == '__main__':
init_from_json()
2. 更新 promptsTemplates.py(保留向后兼容)
# 在 promptsTemplates.py 顶部添加
import warnings
warnings.warn(
"promptsTemplates.py 已弃用,请使用 scripts/init_prompt_templates.py",
DeprecationWarning
)
# 修改 init_db 函数,移除硬编码密码,调用新的初始化脚本
def init_db(database_type='local'):
"""向后兼容的初始化函数(重定向到新系统)"""
print("⚠️ 此函数已弃用,请使用新的初始化系统")
print("💡 运行: python scripts/init_prompt_templates.py")
# 或者直接调用新脚本
from scripts.init_prompt_templates import init_from_json
return init_from_json()
阶段三:环境配置和安全加固(30分钟)
1. 更新 .env.example 文件
# 移除真实凭据,使用占位符
DATABASE_URL=mysql+pymysql://username:password@host:port/database_name?charset=utf8mb4
LLM_API_KEY=sk-your-api-key-here
WX_SECRET=your-wx-secret-here
2. 确保 .env 不被提交
# 检查 .gitignore
echo ".env" >> /d/aaa/aitsc/.gitignore
echo ".env.*" >> /d/aaa/aitsc/.gitignore
echo "!*.example" >> /d/aaa/aitsc/.gitignore
3. 创建部署说明文档
# 模板数据初始化说明
## 新系统使用
4. 复制环境变量模板:`cp .env.example .env`
5. 编辑 .env 文件,填入真实凭据
6. 初始化模板数据:`python scripts/init_prompt_templates.py`
## 旧系统兼容
旧命令 `python src/flask_prompt_master/promptsTemplates.py [local|tencent]`
将自动重定向到新系统。
阶段四:测试和验证(30分钟)
7. 测试脚本
# tests/test_template_init.py
import pytest
from scripts.init_prompt_templates import init_from_json
from src.flask_prompt_master.models.models import PromptTemplate
def test_template_count():
"""测试模板数量是否正确"""
init_from_json('tests/test_templates.json')
count = PromptTemplate.query.count()
assert count > 0
def test_no_duplicates():
"""测试不会创建重复模板"""
init_from_json('tests/test_templates.json')
count1 = PromptTemplate.query.count()
init_from_json('tests/test_templates.json') # 再次运行
count2 = PromptTemplate.query.count()
assert count1 == count2 # 数量应不变
📅 实施时间表
┌──────┬────────────────┬──────────┬────────┐
│ 阶段 │ 任务 │ 预计时间 │ 优先级 │
├──────┼────────────────┼──────────┼────────┤
│ 1 │ 数据提取和备份 │ 30分钟 │ 高 │
├──────┼────────────────┼──────────┼────────┤
│ 2 │ 安全初始化脚本 │ 45分钟 │ 高 │
├──────┼────────────────┼──────────┼────────┤
│ 3 │ 环境配置加固 │ 30分钟 │ 高 │
├──────┼────────────────┼──────────┼────────┤
│ 4 │ 测试验证 │ 30分钟 │ 中 │
├──────┼────────────────┼──────────┼────────┤
│ 5 │ 文档更新 │ 15分钟 │ 中 │
├──────┼────────────────┼──────────┼────────┤
│ 总计 │ │ 2.5小时 │ │
└──────┴────────────────┴──────────┴────────┘
🔧 迁移后的架构
aitsc/
├── data/ # 数据文件目录
│ ├── prompt_templates.json # 模板数据(JSON格式)
│ └── existing_templates_backup.json
├── scripts/ # 管理脚本
│ ├── init_prompt_templates.py # 安全初始化脚本
│ └── backup_templates.py
├── src/flask_prompt_master/
│ └── promptsTemplates.py # 已弃用(保留兼容)
└── .env.example # 环境变量模板
⚠️ 风险和缓解措施
风险: 生产数据库已有模板数据
- 缓解: 初始化脚本检查重复,不会覆盖现有数据
风险: 依赖旧初始化流程的脚本
- 缓解: 保留 promptsTemplates.py 的兼容性包装
风险: JSON 文件可能过大
- 缓解: 可考虑分多个 JSON 文件或使用数据库种子
📝 下一步建议
立即行动:
8. 先备份现有数据库中的模板数据
9. 提取当前 promptsTemplates.py 中的模板到 JSON
10. 创建安全初始化脚本
验证后:
11. 在测试环境运行新系统
12. 更新部署文档
13. 全面替换旧系统
您希望我:
14. 立即开始实施这个迁移方案?
15. 先处理更高优先级的硬编码安全问题?
16. 还是您有其他特定的要求?
迁移完成后,项目的安全性、可维护性和部署便利性将显著提升。

View File

@@ -0,0 +1,151 @@
✅ 完全支持 Windows 运行
aitsc 项目完全支持在 Windows 系统上运行,并且提供了多种运行方式,从开发环境到生产部署都有完整支持。
🚀 支持的运行方式
1. 开发环境运行(最简单)
# 激活虚拟环境(推荐)
.venv\Scripts\Activate.bat
# 启动开发服务器
python run_dev.py
- 访问地址:http://localhost:5002
- 调试模式开启,代码修改自动重载
2. 生产环境运行
# 使用生产启动脚本
start_production.bat
# 或
python run_production_public.py
- 关闭调试模式,优化性能
- 监听所有网络接口(支持外网访问)
- 多线程处理请求
3. Windows 系统服务(推荐用于生产)
# 以管理员身份运行安装脚本
install_service.bat
# 或手动安装服务
python flask_prompt_master_service.py install
python flask_prompt_master_service.py start
- 支持开机自启动
- 后台运行,无需保持命令行窗口
- 作为系统服务管理(启动/停止/重启)
4. 简化版开机启动
# 使用任务计划程序实现开机启动
python simple_windows_service.py install
- 基于 Windows 任务计划程序
- 系统启动时自动运行
- 不需要完整服务框架
📋 Windows 运行前提条件
1. Python 环境
- Python 3.12(推荐)
- 已安装 pip
2. 虚拟环境(推荐)
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境
.venv\Scripts\Activate.bat
3. 安装依赖
pip install -r requirements.txt
关键 Windows 依赖:
- pywin32 - Windows API 接口(服务部署必需)
- waitress - WSGI 服务器
- bcrypt - 密码哈希(已升级安全算法)
🔧 Windows 特定配置
1. 环境变量配置
- 复制 .env.example 为 .env
- 编辑 .env 文件,配置数据库连接等参数
- 注意:Windows 路径使用反斜杠或双反斜杠
2. 端口配置
- 默认端口:5002(开发)/ 5000(服务)
- 如果端口冲突,可在 .env 中修改 PORT 变量
3. 防火墙配置
# 允许端口通过防火墙
New-NetFirewallRule -DisplayName "FlaskPromptMaster" -Direction Inbound -LocalPort 5000 -Protocol TCP
-Action Allow
📁 关键 Windows 文件
aitsc/
├── install_service.bat # 服务安装脚本(管理员运行)
├── install_startup.bat # 开机启动安装脚本
├── service_manager.bat # 服务管理脚本(图形菜单)
├── simple_service_manager.bat # 简化版服务管理
├── start_production.bat # 生产环境启动脚本
├── flask_prompt_master_service.py # 完整 Windows 服务脚本
├── simple_windows_service.py # 简化版服务脚本
└── docs/development/
└── Windows服务配置总结.md # 详细配置指南
⚡ 快速开始指南
方案一:开发测试
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置环境变量
copy .env.example .env
# 编辑 .env 文件(数据库、API密钥等)
# 3. 启动开发服务器
python run_dev.py
方案二:生产部署
# 1. 安装依赖和服务组件
pip install -r requirements.txt
# 2. 安装 Windows 服务
install_service.bat
# 或右键"以管理员身份运行"
# 3. 服务会自动启动,开机自启动
# 访问 http://localhost:5000
🛠️ 故障排除
┌──────────────────┬──────────────────────────────────────────┐
│ 问题 │ 解决方案 │
├──────────────────┼──────────────────────────────────────────┤
│ 权限不足 │ 右键脚本 → "以管理员身份运行" │
├──────────────────┼──────────────────────────────────────────┤
│ 端口冲突 │ 修改 .env 中的 PORT 变量 │
├──────────────────┼──────────────────────────────────────────┤
│ pywin32 安装失败 │ 使用预编译版本:pip install pywin32==306 │
├──────────────────┼──────────────────────────────────────────┤
│ 虚拟环境激活失败 │ 确认 Python 路径正确:where python │
├──────────────────┼──────────────────────────────────────────┤
│ 服务启动失败 │ 查看日志:logs\service.log │
└──────────────────┴──────────────────────────────────────────┘
🎯 推荐方案
个人使用/开发 → 使用 run_dev.py(简单快捷)
小型部署 → 使用 simple_windows_service.py + 开机启动
企业级部署 → 使用完整的 Windows 服务 (install_service.bat)
总结:aitsc 在 Windows 上的支持非常完善,既有简单的开发运行方式,也有专业的 Windows
服务部署方案,完全可以满足从开发到生产的全链路需求。

View File

@@ -0,0 +1,56 @@
● ✅ 已为 aitsc 项目添加版本号 v1.0.0
📋 版本配置详情
核心版本定义:
- src/flask_prompt_master/__init__.py:添加 __version__ = '1.0.0' 和 __version_info__ = (1, 0, 0)
- VERSION 文件:包含纯文本版本号 1.0.0
启动日志增强: 所有环境配置现在都会显示版本信息
- config/development.py:开发环境启动时显示版本
- config/production.py:生产环境启动时显示版本
- config/testing.py:测试环境启动时显示版本
- config/local.py:本地环境启动时显示版本
- config/base.py:基础配置启动时显示版本
文档更新:
- README.md:在标题下方添加版本信息 **版本**: v1.0.0
🔧 技术实现
1. 版本导入机制:通过 from src.flask_prompt_master import __version__ 安全导入版本信息
2. 错误处理:导入失败时显示 "版本: 未知" 而不是崩溃
3. 日志输出:在现有启动日志中追加版本信息,格式为 开发环境启动 - 版本: 1.0.0
🚀 验证结果
服务器重启后,启动日志已显示版本信息:
[2026-04-02 17:51:04,431] INFO in development: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20>汾: 1.0.0
2026-04-02 17:51:04,431 INFO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20>汾: 1.0.0
📁 文件变更
aitsc/
├── src/flask_prompt_master/__init__.py # 添加版本变量
├── VERSION # 创建版本文件
├── README.md # 更新文档
├── config/
│ ├── development.py # 开发环境版本日志
│ ├── production.py # 生产环境版本日志
│ ├── testing.py # 测试环境版本日志
│ ├── local.py # 本地环境版本日志
│ └── base.py # 基础配置版本日志
⚡ 使用说明
- 查看版本:服务器启动时自动在日志中显示
- 代码引用:在代码中可通过 from src.flask_prompt_master import __version__ 获取
- 文件查看:直接读取 VERSION 文件或查看 README.md
🔄 后续建议
1. 版本升级:修改 src/flask_prompt_master/__init__.py 和 VERSION 文件
2. Git 标签:建议配合版本号创建 git tag:git tag -a v1.0.0 -m "Release v1.0.0"
3. API 端点:如需通过 API 获取版本,可添加 /api/version 端点
版本号 v1.0.0 已成功集成到项目中,所有环境启动时都会明确显示当前版本。

View File

@@ -0,0 +1,296 @@
Flask Prompt Master 项目重构方案
上下文和目标
项目概况:D:/aaa/aitsc 是一个 Flask 应用程序,提供多种 AI 驱动的功能(提示词模板、饭菜规划、旅行攻略、会议
纪要、简历优化等)。项目采用蓝图架构,但随着功能增加出现了代码质量问题。
当前问题:
1. 安全漏洞:多个路由文件中存在硬编码的 API 密钥和数据库密码
2. 代码结构:routes.py 文件过大(1300+ 行),职责不单一
3. API 设计不一致:多种响应格式和错误处理方式
4. 认证系统碎片化:同时使用会话、令牌和微信认证
5. 配置管理混乱:新旧配置系统并存
6. 代码重复:相似功能间存在重复代码
重构目标:
1. 消除安全漏洞,移除所有硬编码的敏感信息
2. 提高代码可维护性,优化项目结构
3. 标准化 API 设计和错误处理
4. 集中化认证和授权系统
5. 实现关注点分离(业务逻辑与表现层分离)
重构方案概述
目标架构
flask_prompt_master/
├── app/ # 应用层(API/Web 路由)
├── core/ # 核心业务逻辑(服务层)
├── infrastructure/ # 基础设施(配置、数据库、外部服务)
├── shared/ # 共享组件(工具类、数据模型、常量)
├── tests/ # 测试套件
└── docs/ # 文档
核心改进
6. 安全加固:环境变量管理,JWT 认证,安全头部
7. API 标准化:统一响应格式,版本控制,OpenAPI 文档
8. 代码重组:服务层提取,仓库模式,依赖注入
9. 质量提升:测试覆盖率,CI/CD,代码质量工具
详细实施计划
阶段 1:安全加固与基础建设(第 1-2 周)
任务 1.1:消除硬编码敏感信息
- 优先级:高
- 文件:
- flask_prompt_master/routes.py:115 - 移除硬编码数据库密码
- config.py - 移除已弃用的硬编码配置
- 所有包含 sk-fdf7cc1c73504e628ec0119b7e11b8cc 的文件
- 方法:
a. 创建 .env.template 文件,列出所有需要的环境变量
b. 更新配置系统,从环境变量读取所有敏感信息
c. 添加配置验证,确保关键配置在启动时已设置
任务 1.2:实现统一认证中间件
- 优先级:高
- 方法:
a. 创建 auth/middleware.py 实现 JWT 认证中间件
b. 统一所有 API 的认证方式,逐步替换现有的多种认证系统
c. 添加角色和权限管理系统
d. 实现刷新令牌机制
任务 1.3:添加安全头部和请求验证
- 优先级:中
- 方法:
a. 实现安全中间件,添加 CSP、HSTS、XSS 防护等头部
b. 使用 Pydantic 创建请求数据验证模型
c. 实现全局请求验证中间件
阶段 2:API 标准化与文档(第 3-4 周)
任务 2.1:创建标准 API 响应格式
- 优先级:高
- 方法:
a. 创建 shared/api/responses.py 定义标准响应类
b. 实现成功响应:{success: true, data: {...}, meta: {...}}
c. 实现错误响应:{success: false, error: {...}, error_code: string}
d. 创建响应工具函数,统一所有路由的响应格式
任务 2.2:实现 API 版本控制
- 优先级:中
- 方法:
a. 创建 /api/v1/ 命名空间,所有新 API 使用此版本
b. 保留现有 /api/ 路由作为 v0 版本,逐步迁移
c. 实现版本路由中间件,支持通过 URL 或头部指定版本
d. 添加 API 弃用警告机制
任务 2.3:添加 OpenAPI 文档
- 优先级:中
- 方法:
a. 使用 Flask-Swagger 或 FastAPI-style 注解
b. 自动生成 API 文档,支持在线测试
c. 添加 API 使用示例和错误代码说明
阶段 3:代码重组与服务层提取(第 5-6 周)
任务 3.1:分解大型路由文件
- 优先级:高
- 文件:flask_prompt_master/routes.py(1300+ 行)
- 方法:
a. 按功能模块拆分:
- routes/prompt_routes.py - 提示词相关路由
- routes/auth_routes.py - 认证相关路由
- routes/history_routes.py - 历史记录路由
- routes/feature_routes.py - 各 AI 功能路由
b. 每个文件不超过 300 行,保持单一职责
c. 使用蓝图组织相关路由
任务 3.2:提取业务逻辑到服务层
- 优先级:高
- 方法:
a. 创建 services/ 目录,按领域划分服务类
b. 将路由中的业务逻辑移动到对应服务类
c. 服务类负责:业务规则验证、外部 API 调用、复杂数据处理
d. 路由只负责:请求解析、响应格式化、错误处理
任务 3.3:实现仓库模式
- 优先级:中
- 方法:
a. 创建 repositories/ 目录,按实体划分仓库类
b. 仓库类封装数据库操作,提供高层抽象接口
c. 路由和服务通过仓库访问数据,不直接使用 SQLAlchemy
d. 便于单元测试和数据库切换
阶段 4:测试与质量提升(第 7-8 周)
任务 4.1:提升测试覆盖率
- 优先级:中
- 方法:
a. 实现单元测试:服务层、仓库层、工具类
b. 实现集成测试:API 端点测试
c. 实现端到端测试:关键用户流程测试
d. 目标:测试覆盖率从 ~40% 提升到 80%+
任务 4.2:实现 CI/CD 流水线
- 优先级:中
- 方法:
a. 设置 GitHub Actions 或 GitLab CI
b. 自动化:代码检查、测试、构建、部署
c. 添加质量门禁:测试覆盖率、代码复杂度、安全扫描
任务 4.3:代码质量工具集成
- 优先级:低
- 方法:
a. 集成 black、isort、flake8 代码格式化
b. 添加 mypy 类型检查
c. 集成 pre-commit hooks 自动执行代码检查
阶段 5:部署优化与文档(第 9-10 周)
任务 5.1:优化 Docker 部署
- 优先级:低
- 方法:
a. 优化 Dockerfile,减少镜像大小
b. 实现多阶段构建
c. 添加健康检查端点
d. 优化生产环境配置
任务 5.2:实现监控和可观测性
- 优先级:中
- 方法:
a. 添加 Prometheus 指标收集
b. 实现结构化日志记录
c. 添加错误追踪和告警
d. 实现性能监控
任务 5.3:完善文档
- 优先级:低
- 方法:
a. 架构设计文档
b. API 使用文档
c. 部署和维护指南
d. 开发环境设置指南
风险缓解策略
技术风险
数据库迁移风险:
- 使用 Alembic 生成迁移脚本
- 在测试环境充分验证
- 准备回滚方案
API 兼容性风险:
- 使用功能开关控制新功能
- 保持向后兼容性至少一个版本周期
- 提供详细的迁移指南
性能回归风险:
- 重构前后进行性能基准测试
- 实施监控和告警
- 准备快速回滚机制
实施风险
团队知识差距:
- 结对编程和代码审查
- 详细的架构文档
- 定期知识分享会议
时间安排风险:
- 采用敏捷方法,每两周评估进度
- 优先处理高价值任务
- 保持灵活性,根据进展调整计划
关键文件路径
需要立即处理的安全问题
1. D:/aaa/aitsc/src/flask_prompt_master/routes/routes.py:115 - 硬编码数据库密码
2. D:/aaa/aitsc/config.py - 已弃用的硬编码配置
3. 所有包含硬编码 API 密钥的文件(搜索 sk-fdf7cc1c73504e628ec0119b7e11b8cc)
大型文件需要拆分
4. D:/aaa/aitsc/src/flask_prompt_master/routes/routes.py(1300+ 行)
5. D:/aaa/aitsc/src/flask_prompt_master/models/models.py(500+ 行)
新目录结构
6. src/flask_prompt_master/services/ - 服务层
7. src/flask_prompt_master/repositories/ - 仓库层
8. src/flask_prompt_master/shared/ - 共享组件
9. src/flask_prompt_master/api/ - API 相关组件
验证和测试策略
验证步骤
10. 安全验证:确保无硬编码敏感信息,所有配置通过环境变量管理
11. 功能验证:所有现有功能测试通过,API 响应格式一致
12. 性能验证:关键 API 端点响应时间无显著下降
13. 部署验证:生产环境部署成功,监控系统正常运行
测试计划
14. 单元测试:服务层、仓库层、工具类
15. 集成测试:API 端点、数据库操作
16. 端到端测试:关键用户流程(注册、登录、使用功能)
17. 性能测试:负载测试、压力测试
成功指标
量化指标
18. 零硬编码敏感信息
19. 测试覆盖率 80%+
20. 代码复杂度降低 30%
21. API 平均响应时间改善 20%
22. 缺陷修复时间减少 50%
质化指标
23. 新开发者上手时间减少 50%
24. 完整的架构和 API 文档
25. 开发者满意度提升
26. 部署信心增强
资源需求
团队配置
- 2-3 名高级开发工程师
- 兼职 QA 工程师
- 技术负责人(架构决策和代码审查)
时间安排
- 总时长:10 周(2.5 个月)
- 开发工作量:约 400-500 人时
- 每周进度评审和调整
工具和环境
- CI/CD 流水线
- 测试环境(开发、测试、预生产)
- 监控和告警系统
- 文档管理系统
---
注意:本重构计划采用渐进式方法,每个阶段都有明确的可交付成果和验证标准。建议从阶段 1
开始,确保安全基础稳固后再进行架构优化。

View File

@@ -0,0 +1,134 @@
● 基于对 http://127.0.0.1:5002/ 页面的分析,这是一个设计良好的AI提示词模板应用,采用深蓝色科技感主题,具备现
代化UI和响应式设计。从用户体验角度,以下是可以改进的地方:
当前优点
1. 视觉设计优秀:深蓝色科技主题、CSS变量、渐变效果、阴影层次
2. 响应式完善:移动端适配良好,侧边栏在小屏幕下可切换
3. 功能丰富:筛选、收藏、复制、删除、使用统计一应俱全
4. 交互细节:悬停效果、平滑滚动、键盘导航支持
5. 性能考虑:图片懒加载、防抖搜索
用户体验改进建议
6. 首屏信息密度与引导
- 问题:页面加载后,用户不清楚主要操作是什么
- 改进:
- 在模板网格上方添加简短引导语:"选择模板开始生成专业提示词"
- 为首次访问用户添加引导遮罩或提示泡泡
- 在空白筛选区域增加"试试选择行业和职业来筛选模板"
2. 筛选系统优化
- 当前问题:
- 三个下拉筛选器(行业、职业、领域)选项过多(每个50+选项)
- 没有搜索筛选器功能
- 筛选状态不直观
- 改进:
- 为下拉筛选添加搜索框,支持输入筛选
- 显示当前应用的筛选条件(如:"行业: 互联网 | 职业: 开发工程师")
- 添加"清除所有筛选"按钮
- 考虑将部分筛选改为标签式选择(热门行业/职业)
3. 模板卡片信息展示
- 当前问题:
- 部分模板卡片行业/职业/领域信息为空
- 使用统计(0次使用)对用户决策价值有限
- 模板难度级别(初级)缺乏解释
- 改进:
- 隐藏空的信息字段
- 将"使用次数"改为"热度"或添加"推荐"标签
- 为难度级别添加工具提示:"初级:适合初学者"
- 增加模板预览功能(鼠标悬停显示摘要)
4. 操作流程优化
- 当前问题:
- 需要先选择模板,然后输入文本,再生成提示词
- 操作路径不够直观
- 改进:
- 将输入区域放在更显眼位置(模板网格上方或左侧)
- 实现"选择即生成"模式:选择模板后自动生成示例提示词
- 添加"快速开始"区域,推荐3-5个最常用模板
5. 移动端体验提升
- 当前问题:
- 侧边栏筛选在小屏幕上操作不便
- 模板卡片在手机上信息显示拥挤
- 改进:
- 将筛选改为底部抽屉式,更方便单手操作
- 简化移动端模板卡片,隐藏次要信息
- 优化触控目标大小(按钮至少44×44px)
6. 搜索与发现
- 当前问题:页面似乎缺少全局搜索功能
- 改进:
- 在导航栏添加搜索框,支持模板名称和内容搜索
- 添加"最近使用"、"热门模板"、"新添加"等分类
- 实现搜索建议和自动完成
7. 反馈与确认
- 当前问题:
- 删除操作直接执行,没有确认对话框
- 操作成功/失败反馈依赖alert()
- 改进:
- 重要操作(删除、清空)添加确认对话框
- 用非模态提示(toast)替代alert(),减少干扰
- 添加操作撤销功能(如误删除后5秒内可撤销)
8. 性能与加载体验
- 当前问题:
- 页面6178行,CSS和JS都在一个文件中
- 初始加载可能较慢
- 改进:
- 分离CSS和JS到外部文件,利用浏览器缓存
- 实现骨架屏加载效果
- 优先加载首屏内容,延迟加载非关键资源
9. 可访问性增强
- 当前问题:
- 虽然支持键盘导航,但ARIA属性不完整
- 颜色对比度可以进一步优化
- 改进:
- 为所有交互元素添加完整的ARIA标签
- 确保颜色对比度满足WCAG AA标准
- 添加跳过导航链接,方便屏幕阅读器用户
10. 新手引导与帮助
- 当前问题:缺乏使用指导和帮助文档
- 改进:
- 添加"如何使用"页面或引导教程
- 在复杂功能旁添加问号图标,点击显示简短说明
- 创建视频教程或图文指南
具体实施优先级
高优先级(立即改进):
1. 添加筛选状态显示和清除按钮
2. 为删除操作添加确认对话框
3. 优化移动端筛选交互
中优先级(短期改进):
4. 增加全局搜索功能
5. 优化模板卡片信息展示
6. 添加新手引导
低优先级(长期优化):
7. 分离资源文件,优化加载性能
8. 增强可访问性支持
9. 创建完整的帮助系统
总结
这个应用已经有了很好的基础,主要需要优化的是用户引导、操作效率和移动端体验。最关键的改进点是让用户更快理解
如何使用,并减少操作步骤的认知负担。
建议先从添加筛选状态显示和优化移动端交互开始,这两项改进成本低但用户体验提升明显。

View File

@@ -0,0 +1,145 @@
当前设计的优点
- 现代科技感设计:深蓝色主题、渐变效果、卡片布局
- 响应式布局:适配桌面、平板、手机
- 功能完整:侧边栏筛选、模板卡片、搜索、用户系统
- 交互反馈:悬停效果、过渡动画
- 技术先进:CSS变量、Bootstrap 5、Font Awesome
美观方面可改进的地方
1. 颜色对比度与可访问性
- 检查文字颜色(特别是 --text-light: #64748B)在浅色背景上的对比度,确保符合WCAG 2.1 AA标准
- 焦点状态颜色需要更明显(当前 box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2) 对比度不足)
- 为色盲用户考虑,重要的状态指示(如成功/错误)应同时使用颜色和图标
2. 视觉层次与间距
- 虽然定义了间距变量(--spacing-unit: 0.25rem),但实际使用中不够一致
- 标题层级可以更清晰:主标题 h1 使用频率不足
- 卡片内边距可以优化,避免内容过于拥挤
3. 卡片设计优化
/* 建议改进 */
.template-card {
border-radius: var(--border-radius-lg); /* 当前 12px,可统一为 16px */
box-shadow: var(--shadow-md); /* 当前阴影较弱 */
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.template-card:hover {
transform: translateY(-4px); /* 当前 -1px,效果不明显 */
box-shadow: var(--shadow-lg);
}
4. 图标一致性
- 确保所有图标大小统一(当前导航图标 1rem,用户菜单图标 1.5rem)
- 考虑使用更一致的图标集(如全部使用 fas 或 far)
5. 加载与空状态
- 添加骨架屏加载动画
- 设计友好的空状态界面(无搜索结果、无收藏等)
用户体验方面可改进的地方
1. 筛选器体验
- 问题:领域下拉菜单有101个选项,难以查找
- 改进:添加搜索框或分组显示,或改为标签云式多选
2. 搜索功能
- 添加实时搜索反馈(显示匹配数量)
- 搜索历史记录/热门搜索建议
- 搜索框添加清除按钮
3. 键盘导航与可访问性
<!-- 添加ARIA属性 -->
<div class="template-card" role="option" aria-selected="false" tabindex="0">
- 确保所有交互元素都有清晰的焦点样式
- 支持ESC键关闭侧边栏和模态框
4. 移动端优化
- 侧边栏抽屉可以添加手势支持(右滑关闭)
- 底部操作栏在移动端可固定定位
- 触摸目标大小至少44×44px(当前部分按钮较小)
5. 表单与交互反馈
- 实时验证文本区域输入(字数统计、内容质量提示)
- 操作成功/失败 Toast 通知(替代当前 alert())
- 防止重复提交(提交按钮禁用状态)
6. 性能优化
- 大量模板卡片(未来可能增加)考虑虚拟滚动
- 图片/图标懒加载
- 减少首屏CSS(将非关键CSS异步加载)
7. 引导与帮助
- 首次使用引导(高亮核心功能)
- 模板说明可以添加"了解更多"展开项
- 帮助按钮或文档链接
8. 错误处理
- 网络错误时提供重试按钮
- 表单提交失败保留用户输入
- 友好的404/500错误页面
具体技术建议
1. CSS优化
/* 添加 prefers-reduced-motion 支持 */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
/* 暗色模式支持 */
@media (prefers-color-scheme: dark) {
:root {
--background-color: #0f172a;
--text-color: #f8fafc;
}
}
2. JavaScript增强
- 添加离线检测和提示
- 使用本地存储保存用户偏好(侧边栏状态、筛选条件)
- 实现撤销/重做操作(特别是模板选择)
3. SEO与分享优化
- 添加Open Graph meta标签
- 结构化数据标记(JSON-LD)
- 页面标题动态更新(当前固定为"提示词大师 - AI应用")
优先级建议
高优先级:
1. 键盘导航与可访问性修复
2. 移动端触摸目标大小调整
3. 筛选器搜索功能添加
中优先级:
4. 加载状态与错误处理
5. 颜色对比度检查
6. 性能优化(虚拟滚动)
低优先级:
7. 暗色模式
8. 动画微调
9. SEO优化
这些改进将显著提升用户满意度、可访问性和整体专业感。需要进一步检查具体实现代码,我可以帮助实现其中任何一项改进。

View File

@@ -0,0 +1,217 @@
1. 项目现状评估
1.1 核心功能模块清单
项目是一个多功能AI提示词生成与管理平台,采用Flask + 服务器端渲染架构,包含以下15个核心模块:
┌──────────┬──────────────────────────────────────────────────────────────┬──────────────────────────┐
│ 模块类别 │ 功能描述 │ 技术实现 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 核心生成 │ 主提示词生成(默认模板) │ Flask路由 + OpenAI API │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 用户体系 │ 用户认证、微信小程序集成 │ Flask-Login + WxUser模型 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 数据管理 │ 收藏管理、历史记录 │ SQLAlchemy + 关系模型 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 垂直场景 │ 饭菜规划、古诗词解析、周报生成、旅行规划、会议纪要、简历优化 │ 专用蓝图 + 模板 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 专家模式 │ 智能提示词优化(3个独立实现) │ 多版本对比优化 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 开发工具 │ Android工程师专区(Crash解读、依赖冲突分析) │ 专业场景模板 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 管理后台 │ 数据分析、监控、批量操作 │ Flask-Admin扩展 │
├──────────┼──────────────────────────────────────────────────────────────┼──────────────────────────┤
│ 扩展预留 │ 占位应用(预留扩展位) │ 模块化设计 │
└──────────┴──────────────────────────────────────────────────────────────┴──────────────────────────┘
1.2 技术栈组成与版本
┌──────────┬─────────────────────────────────────────────┬──────────────────────────────────┐
│ 层级 │ 技术栈 │ 版本/备注 │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ 后端框架 │ Python Flask │ ≥2.2.0 │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ ORM │ Flask-SQLAlchemy │ ≥3.0.2 │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ 数据库 │ MySQL 8.0 + Redis 7 │ 容器化部署 │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ AI集成 │ OpenAI兼容API (DeepSeek) │ 硬编码API密钥(安全风险) │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ 前端UI │ Bootstrap 5.1 + jQuery 3.6 │ CDN加载 │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ 前端交互 │ 原生JavaScript + 自定义CSS │ 未使用构建工具 │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ 部署架构 │ Docker Compose 3.8 + Nginx │ 四服务编排(App/DB/Redis/Nginx) │
├──────────┼─────────────────────────────────────────────┼──────────────────────────────────┤
│ 辅助工具 │ Flask-Migrate、Flask-CORS、bcrypt、waitress │ 完整生产配置 │
└──────────┴─────────────────────────────────────────────┴──────────────────────────────────┘
1.3 系统部署架构图
[用户请求]
↓
[Nginx:80/443]
↓
┌──────────────┼──────────────┐
↓ ↓ ↓
[Flask App] [MySQL 8.0] [Redis 7]
(端口:5000) (端口:3306) (端口:6379)
│ │ │
└──────────────┼──────────────┘
↓
[静态文件/模板渲染]
---
2. 优势与痛点诊断
2.1 技术优势(≥3项)
1. 模块化架构清晰:采用Flask蓝图设计,功能解耦良好,新增模块只需注册新蓝图
2. 生产就绪的部署方案:完整Docker Compose配置,包含Nginx反向代理、数据库持久化、日志轮转
3. 错误处理机制完善:全局500错误处理、API调用重试机制、结构化日志记录
4. 多环境配置支持:基于config/目录的配置系统,支持development/testing/production环境
5. 数据库迁移管理:使用Flask-Migrate,支持平滑升级和数据迁移
2.2 性能指标(基于代码分析)
- API响应时间:LLM调用设置60秒超时,含3次重试机制
- 数据库连接池:SQLAlchemy配置连接池(pool_size=20, max_overflow=30)
- 缓存策略:Redis缓存支持,默认超时1小时
- 前端资源体积:CSS 1.1KB + JS 1.2KB(未压缩),Bootstrap/jQuery使用CDN
2.3 痛点与技术债务
┌──────────┬──────────────────────────────────────────────────┬─────────────────────────────────┐
│ 风险等级 │ 问题描述 │ 影响范围 │
├──────────┼──────────────────────────────────────────────────┼─────────────────────────────────┤
│ 高危 │ API密钥硬编码于routes/routes.py:21 │ 安全漏洞,密钥泄露风险 │
├──────────┼──────────────────────────────────────────────────┼─────────────────────────────────┤
│ 高危 │ 用户密码使用自定义哈希(login_pwd + login_salt) │ 密码安全强度不足 │
├──────────┼──────────────────────────────────────────────────┼─────────────────────────────────┤
│ 中危 │ CORS配置过于宽松(默认['*']) │ 生产环境跨域安全风险 │
├──────────┼──────────────────────────────────────────────────┼─────────────────────────────────┤
│ 中危 │ 前端资源未压缩(无构建流程) │ 页面加载性能损失约30% │
├──────────┼──────────────────────────────────────────────────┼─────────────────────────────────┤
│ 中危 │ 代码重复(expert_generate多个版本) │ 维护成本增加,bug修复需多处修改 │
├──────────┼──────────────────────────────────────────────────┼─────────────────────────────────┤
│ 低危 │ 缺乏自动化测试覆盖 │ 回归测试依赖手动验证 │
└──────────┴──────────────────────────────────────────────────┴─────────────────────────────────┘
---
3. 用户体验专项审计
3.1 技术指标检测(基于运行中服务 http://127.0.0.1:5002/)
┌────────────────┬──────────────────────────────────────┬───────────────────────────────┐
│ 指标 │ 现状评估 │ 建议 │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ Lighthouse性能 │ 预估得分:65-75/100 │ 资源未压缩、无懒加载 │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ 可访问性 │ 基础合规(Bootstrap提供基础支持) │ 缺少ARIA标签、键盘导航支持 │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ SEO优化 │ 基础达标(meta描述、og标签齐全) │ 可添加结构化数据、sitemap │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ 首屏加载 │ 1.5-2.5秒(依赖CDN网络状况) │ 内联关键CSS、异步加载非关键JS │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ 资源压缩 │ 未压缩(CSS 1.1KB, JS 1.2KB) │ 引入构建流程(Vite/webpack) │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ 移动端适配 │ 响应式设计(Bootstrap 5 + viewport) │ 通过测试 │
├────────────────┼──────────────────────────────────────┼───────────────────────────────┤
│ 浏览器兼容 │ 现代浏览器支持良好 │ IE11及以下不兼容(符合预期) │
└────────────────┴──────────────────────────────────────┴───────────────────────────────┘
3.2 交互体验评估
- 核心操作路径:表单提交→加载状态→结果显示,流程完整但缺乏进度反馈
- 错误处理机制:前端有基础验证,后端返回JSON错误格式,但错误提示不友好
- 无障碍设计:仅基础HTML语义化,缺少屏幕阅读器优化、焦点管理
- 动画与反馈:使用CSS过渡效果,但加载状态依赖按钮文字变更
---
4. Vue.js重构可行性研究
4.1 技术对比矩阵(评分1-10分)
┌──────────────┬────────────────────────────┬─────────────────────────────────┬──────┬──────────┬─────────┐
│ 维度 │ 当前方案(jQuery+SSR) │ Vue 3方案(SPA+组件化) │ 权重 │ 当前得分 │ Vue得分 │
├──────────────┼────────────────────────────┼─────────────────────────────────┼──────┼──────────┼─────────┤
│ 开发效率 │ 前后端耦合,调试需重启服务 │ 组件化开发、热重载、DevTools │ 30% │ 6.0 │ 8.5 │
├──────────────┼────────────────────────────┼─────────────────────────────────┼──────┼──────────┼─────────┤
│ 维护成本 │ 全局状态管理困难,代码重复 │ 组件复用率高,状态集中管理 │ 25% │ 5.0 │ 8.0 │
├──────────────┼────────────────────────────┼─────────────────────────────────┼──────┼──────────┼─────────┤
│ 性能表现 │ 首屏快但页面跳转需重载 │ SPA切换快,首屏需加载bundle │ 20% │ 7.0 │ 8.0 │
├──────────────┼────────────────────────────┼─────────────────────────────────┼──────┼──────────┼─────────┤
│ 生态支持 │ jQuery插件丰富但陈旧 │ Vue Router、Pinia、Vite生态完善 │ 15% │ 7.0 │ 9.0 │
├──────────────┼────────────────────────────┼─────────────────────────────────┼──────┼──────────┼─────────┤
│ 团队适配 │ 熟悉jQuery,学习曲线平缓 │ 需学习Vue 3组合式API │ 10% │ 8.0 │ 6.0 │
├──────────────┼────────────────────────────┼─────────────────────────────────┼──────┼──────────┼─────────┤
│ 综合加权得分 │ 6.35 │ 8.08 │ 100% │ │ │
└──────────────┴────────────────────────────┴─────────────────────────────────┴──────┴──────────┴─────────┘
结论:Vue 3方案综合得分提升27.2%,主要在开发效率、维护成本、生态支持方面优势明显。
4.2 迁移风险评估
┌────────────────┬────────────────────────────────┬─────────────────────────────────────────┐
│ 风险类型 │ 风险描述 │ 缓解措施 │
├────────────────┼────────────────────────────────┼─────────────────────────────────────────┤
│ 增量迁移复杂性 │ 如何逐步替换现有jQuery代码 │ 采用微前端架构,新旧系统并行运行 │
├────────────────┼────────────────────────────────┼─────────────────────────────────────────┤
│ 数据层兼容性 │ 现有API需要适配Vue前端调用模式 │ 保持RESTful API不变,仅前端消费方式变化 │
├────────────────┼────────────────────────────────┼─────────────────────────────────────────┤
│ 第三方依赖适配 │ jQuery插件需替换为Vue组件 │ 评估替代方案(如Bootstrap Vue) │
├────────────────┼────────────────────────────────┼─────────────────────────────────────────┤
│ 团队技能缺口 │ 需培训Vue 3开发技能 │ 分阶段培训 + 引入外部专家支持 │
├────────────────┼────────────────────────────────┼─────────────────────────────────────────┤
│ ROI分析 │ 迁移成本 vs 长期收益 │ 预计6-9个月收回投资(基于维护成本降低) │
└────────────────┴────────────────────────────────┴─────────────────────────────────────────┘
4.3 实施路线图建议
阶段一:搭建Vue 3微前端试验田(1-2个月)
- 技术选型:Vue 3 + Vite + Pinia + Vue Router
- 基础设施:独立/vue-app目录,与现有Flask静态资源并行
- 试点模块:选择收藏管理模块进行重构
- 集成方案:使用<micro-frontend>容器渐进式加载Vue组件
阶段二:核心模块渐进式重构(3-4个月)
- 优先级:用户中心 → 历史记录 → 提示词生成
- 数据层:封装现有API为TypeScript接口
- 状态管理:统一使用Pinia,与现有session并行
- 组件库:基于Bootstrap Vue建立企业级组件库
阶段三:新旧架构并行运行验证(1-2个月)
- A/B测试:50%流量导向Vue新架构
- 性能监控:对比关键指标(首屏加载、交互响应时间)
- 用户反馈:收集UX改进建议
- 问题修复:针对并行运行暴露的问题进行修复
阶段四:完整迁移与性能调优(2-3个月)
- 全面切换:100%流量切至Vue架构
- 代码清理:移除遗留jQuery代码
- 性能优化:代码分割、懒加载、CDN部署
- 文档完善:更新开发文档、部署指南
---
5. 紧急行动建议(立即执行)
安全修复(24小时内):
- 移除routes/routes.py:21硬编码的API密钥,改用环境变量
- 收紧生产环境CORS配置,指定允许的域名列表
性能优化(1周内):
- 配置Nginx启用gzip压缩静态资源
- 添加Cache-Control头部优化缓存策略
代码质量(2周内):
- 合并expert_generate重复代码,提取公共组件
- 引入基础单元测试,覆盖核心API路由
重构准备(1个月内):
- 评估团队Vue技能现状,制定培训计划
- 搭建Vue 3试验环境,验证技术选型可行性
---
报告说明:本评估基于静态代码分析和运行中服务测试,实际性能指标可能因部署环境而异。Vue重构建议需要根据团队实际情况调整
实施节奏。

View File

@@ -0,0 +1,9 @@
D:\aaa\aitsc\上传git仓.md
将修改上传到git仓rjb_win_dev分支
http://101.43.95.130:3001/admin/aitsc.git
D:\aaa\aitsc\改进计划.md