• 陈泽健's avatar
    feat(offline): 问题排查助手离线 Q&A 模式和容器化部署 · b94d0230
    陈泽健 提交于
    离线模式:OFFLINE_MODE 环境变量控制,跳过 Claude API 直接返回 TF-IDF 匹配结果
    容器化:Dockerfile + docker-compose.yml + requirements.txt + .dockerignore
    同进程依赖:补 cryptography/paramiko(service_monitor 子包依赖,PRD §4.6)
    
    详细变更:
    - utils/offline_config.py:离线开关读取(env OFFLINE_MODE → bool,进程级缓存)
    - services/ai_service.py:新增 build_offline_response(),兼容原始/格式化两种输入
    - routes/troubleshoot.py:troubleshoot/analyze/analyze_stream/health 四处离线分支
      - 离线流式保留 SSE 协议,单帧推送后 close(前端无需改动)
      - 离线跳过缓存读写(<1s 无需缓存)
      - health 响应新增 offline_mode 字段
    - tests/test_offline_mode.py:22 用例全绿(离线配置/响应构建/路由/回归)
    - Dockerfile:python:3.10-slim,gunicorn 多 worker,WORKDIR /app/web
    - docker-compose.yml:restart always,records/users/config 只读挂载,logs 持久化
    - .dockerignore:排除 搜索向量.json(强制 TF-IDF),排除测试/缓存/临时文件
    - requirements.txt:flask/gunicorn/scikit-learn/scipy/numpy/jieba/werkzeug/requests
      + cryptography/paramiko(同进程 service_monitor 硬依赖)
    - .env.example:补 OFFLINE_MODE 说明
    - PRD v2.2 + 计划执行文档(增加 §4.6 同进程依赖耦合说明 + T8 任务)
    
    测试:新增 22 用例全绿,回归 218 全绿(问题排查助手 167 + service_monitor 51)
    隔离:未改 service_monitor / service_manage 代码,仅补其依赖到 requirements
    Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
    b94d0230
名称
最后提交
最后更新
.claude/skills Loading commit data...
Docs Loading commit data...
config Loading commit data...
deploy Loading commit data...
skill Loading commit data...
.dockerignore Loading commit data...
.env.example Loading commit data...
.gitignore Loading commit data...
ARCHITECTURE.md Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
README.md Loading commit data...
docker-compose.yml Loading commit data...
requirements.txt Loading commit data...