• 陈泽健'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
名称
最后提交
最后更新
..
__init__.py Loading commit data...
conftest.py Loading commit data...
test_cache_manager.py Loading commit data...
test_offline_mode.py Loading commit data...
test_routes_auth.py Loading commit data...
test_routes_cache.py Loading commit data...
test_routes_export.py Loading commit data...
test_routes_submit.py Loading commit data...
test_routes_troubleshoot.py Loading commit data...
test_safety_filter.py Loading commit data...
test_search_engine.py Loading commit data...