1. 23 7月, 2026 1 次提交
    • 陈泽健's avatar
      feat(service-monitor): P3级检测模块补全 + 巡检防重复触发 + 移动端响应式优化 · dfe01cae
      陈泽健 提交于
      检测项丰富化移植(阶段五):
      - 新增 56_fastdfs_check.sh FastDFS功能验证检测(重构版,仅状态检测)
      - 新增 57_android_check.sh Android设备检测
      - 新增 59_log_export_check.sh 配置日志导出检测
      - 新增 60_repair_capability_check.sh 修复能力检测
      - check_modules.py 注册 4 个新模块,移除 58_data_backup_check
      - display_names.py 追加 85 个 KEY 映射
      - parser.py 追加 7 个状态词映射
      
      巡检防重复触发优化(阶段六):
      - runner_service.py 新增 get_running_for_target() 查询运行中巡检
      - routes.py 新增 /api/service-monitor/run/status/<id> 端点
      - routes.py SSE 流接口增加 409 防重检查
      - run.html 前端检查运行状态,阻止重复触发
      - index.html 巡检按钮增加预检查逻辑
      
      移动端响应式优化(阶段七):
      - 9 个页面全面优化移动端布局
      - base.html: 顶部栏/侧边栏紧凑化,用户名溢出省略
      - index.html: 目标卡片/按钮布局优化
      - report.html: 报告头纵向排列,状态文字防竖向换行
      - reports/schedule/targets: 筛选栏纵向,表格卡片化
      - run.html: 巡检卡片紧凑化,取消按钮全宽
      - statistics.html: 概览卡片缩小,趋势筛选纵向
      
      验证:218 个单元测试全绿,5.44 full 套件实测通过
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      dfe01cae
  2. 22 7月, 2026 6 次提交
    • 陈泽健's avatar
      docs(service-monitor): 更新 HANDOFF 文档至阶段四完成状态 · d50d0709
      陈泽健 提交于
      检测项丰富化移植全部完成(阶段一至四,共 10 个新模块):
      - full 套件模块数 30 → 36
      - display_names.py 672 条映射
      - 218 个单元测试全绿
      - 已部署到 5.60
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      d50d0709
    • 陈泽健's avatar
      feat(service-monitor): P3级检测模块移植-文件权限检测/定时任务预期检测 · 664d318d
      陈泽健 提交于
      新增 2 个检测模块(阶段四):
      - 54_file_permission_check.sh:文件权限检测(检查关键文件可执行权限)
      - 55_cron_expected.sh:定时任务预期检测(检查预期crontab条目存在)
      
      配套更新:
      - check_modules.py 追加 2 个模块注册
      - display_names.py 追加 10 个 KEY 映射
      
      文档:PRD_需求文档_P3级移植.md + PRD_计划执行_P3级移植.md
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      664d318d
    • 陈泽健's avatar
      feat(service-monitor): P2级检测模块移植-系统类型识别/平台服务检测/配置IP检测/Console配置检测 · dc42cffe
      陈泽健 提交于
      新增 4 个检测模块(阶段三):
      - 50_system_profile.sh:系统类型识别(平台/容器/ujava变体)
      - 51_service_check.sh:平台服务检测(服务进程+端口监听)
      - 52_config_ip_check.sh:配置IP检测(未授权IP扫描)
      - 53_config_console_check.sh:Console配置检测(只检测不修复)
      
      配套更新:
      - check_modules.py 追加 4 个模块注册
      - display_names.py 追加 35 个 KEY 映射
      - parser.py 追加 2 个状态词映射
      - config.sh.template 追加服务匹配模式+端口列表配置
      
      文档:PRD_需求文档_P2级移植.md + PRD_计划执行_P2级移植.md + HANDOFF更新
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      dc42cffe
    • 陈泽健's avatar
      docs(service-monitor): 更新 HANDOFF 文档补充 Git 提交记录 · 5400a91f
      陈泽健 提交于
      新增第 6 节「Git 提交记录」,记录:
      - c0200115: 新增安全合规/中间件检测模块并修复状态等级误判
      - 3f48af4c: 报告免登访问 + 监测统计模块 + 多项修复
      
      包含完整 commit message 和分支状态说明
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      5400a91f
    • 陈泽健's avatar
      feat(service-monitor): 新增安全合规/中间件检测模块并修复状态等级误判 · c0200115
      陈泽健 提交于
      检测项丰富化移植(阶段二):
      - 新增 39_middleware_conn.sh 中间件连接检测(Redis/MySQL/EMQX/FastDFS)
      - 新增 46_security_deep.sh 安全合规深度检测(9类:弱密码/基线/可疑文件等)
      - check_modules.py 注册 2 个新模块
      - display_names.py 追加 36 个 KEY 映射
      - thresholds.py 追加 6 个安全阈值
      - config.sh.template 追加安全白名单 + EMQX 端口配置
      
      状态等级误判修复:
      - 39/46 脚本 LEVEL KEY 对齐为 <值KEY>_LEVEL 格式(与 _resolve_status 约定一致)
      - 23_mysql_depth / 25_redis_depth 重构为 output_result 格式
      - parser.py _VALUE_STATUS_MAP 补充 11 个异常状态词映射(兜底)
      
      中间件端口检测逻辑重构:
      - 改用服务自带工具 ping 优先(redis-cli/mysqladmin/curl API)
      - 避免容器内无 ss/netstat 导致误判"端口未监听"
      
      服务管理模块(附带):
      - routes/service_manage.py 新增授权/升级/信息页面路由
      - templates/service_manage/ 新增 4 个模板
      
      文档:更新 HANDOFF_服务监测.md 记录修复全过程 + 检测项丰富化 PRD
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c0200115
    • 陈泽健's avatar
      feat(service-monitor): 报告免登访问 + 监测统计模块 + 多项修复 · 3f48af4c
      陈泽健 提交于
      - 报告免登访问:通知链接携带 token,免登录直接查看报告
      - 操作鉴权:访客模式下点击其他模块跳转登录
      - 监测统计模块:新增统计页面,ECharts 可视化图表
      - 检测项趋势修复:状态类检测项显示友好提示
      - 登录回跳:next 参数支持登录后回到原始页面
      - 新增 8 个 PRD 文档:需求/计划执行/问题处理
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3f48af4c
  3. 21 7月, 2026 16 次提交
  4. 20 7月, 2026 7 次提交
  5. 17 7月, 2026 2 次提交
  6. 16 7月, 2026 2 次提交
    • 陈泽健's avatar
      feat(service-monitor): 落地服务监测模块(自包含子包,核心子集) · c552a6b3
      陈泽健 提交于
      新增 service_monitor/ 自包含子包(与问题排查助手代码物理隔离):
      - routes/services/utils 三层 + 7 个 bash 检测模块(system 01-04 + docker/mysql/redis basic)
      - 本机 subprocess / 远程 paramiko SSH 双模式执行器
      - SSE 实时进度 + 取消 + 报告异常置顶分模块折叠 + MD/JSON 导出
      - Fernet 加密 SSH 凭据,容器名模糊匹配,快速/全量两套件
      - 角色控制:普通用户仅查看,管理员可操作
      - 4 个前端模板(index/targets/run/report),移动端适配
      - 55 个私有测试,全套 218 绿,未破坏现有测试
      
      配套变更:
      - deploy/upload_to_server.py: 新增递归目录上传(service_monitor 多层子目录)
      - requirements.txt: +paramiko +cryptography
      - pytest.ini: testpaths 追加 web/service_monitor/tests
      - .gitignore: 忽略运行时数据(targets.json/reports)
      - CLAUDE.md: 更新项目结构说明
      
      文档:Docs/需求文档/服务监测/(PRD + 计划执行 + HANDOFF)+ 项目根 HANDOFF.md
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c552a6b3
    • 陈泽健'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
  7. 15 7月, 2026 1 次提交
    • 陈泽健's avatar
      docs: PRD 文档按模块归档到子目录 · c6287b3b
      陈泽健 提交于
      - Docs/需求文档/问题处理助手/ — 排查助手全部 PRD + 技术文档(29 个)
      - Docs/需求文档/服务管理/ — 平台化改造 + 返回首页改造 PRD(4 个)
      - Docs/需求文档/服务监测/ — 预留,后续服务监测相关文档归入
      - Docs/离线部署方案/ — 离线部署 PRD 文档(2 个)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c6287b3b
  8. 14 7月, 2026 5 次提交
    • 陈泽健's avatar
      feat(platform): 新增服务管理/服务监测占位模块 + 导航栏改造 · d3468c4b
      陈泽健 提交于
      - 新增服务管理模块占位(service-manage Blueprint + 静态页面)
      - 新增服务监测模块占位(service-monitor Blueprint + 静态页面)
      - modules.py 声明 service-manage(管理员)+ service-monitor(所有用户)
      - index.html 返回首页改为顶部导航栏 + 🏠 返回首页按钮
      - deploy 上传清单补 users.json
      - 新增离线部署方案 PRD 文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      d3468c4b
    • 陈泽健's avatar
      feat(platform): 平台化改造 + 用户密码更新 · 9c733eba
      陈泽健 提交于
      - 新增平台首页路由 /(platform Blueprint),平台名称改为"运行维护平台"
      - 新增 modules.py 声明式模块清单 + get_modules(role) 按角色过滤
      - 新增 platform.html 平台首页模板(卡片网格 + 响应式布局)
      - 原 / 路由从 auth.py 迁移至 platform.py,troubleshoot 独立为 /troubleshoot
      - index.html 加"返回首页"导航链接
      - test_routes_auth.py TestIndex 适配平台首页断言
      - users.json 更新 admin/user 密码哈希
      - 新增 ARCHITECTURE.md 技术架构文档
      - deploy 注释更新
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      9c733eba
    • 陈泽健's avatar
      feat(p2): 语义搜索升级 + 移动端适配 + 项目名称权限限制 · b4fad0c1
      陈泽健 提交于
      P2-1 语义搜索升级(暂关闭 embedding_enabled=false):
      - search_engine.py 加向量加载/查询/降级,公开接口零变更
      - 新增 vector_builder.py 预计算脚本
      - config.json 新增 embedding 配置项
      - /api/health 暴露搜索模式,版本升至 1.3.0
      
      P2-2 移动端响应式适配:
      - index.html/login.html 三档断点 + 触控热区 + 弹窗 + SSE 滚动
      
      安全:普通用户项目名称输入限制:
      - /api/projects 角色鉴权,普通用户返回空列表防泄露
      
      测试:145 用例全绿(+12 向量 +2 项目鉴权)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b4fad0c1
    • 陈泽健's avatar
      chore(deploy): upload 脚本补 templates 目录到上传清单 · 912bb57f
      陈泽健 提交于
      P1 收尾三项前端改了 index.html/login.html(加 errMsg 兼容函数),
      需同步上传到生产环境,否则新错误响应对象格式会让前端显示 [object Object]。
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      912bb57f
    • 陈泽健's avatar
      refactor(p1): 统一 API 错误响应 + 路由层测试 + submit/export 鉴权 · c7a05bc8
      陈泽健 提交于
      收尾三项(P1 收尾):
      - 统一错误响应:routes 与 decorators 的错误 jsonify 全部接入 error_response
        ({success,error:{code,message}}),补 4 个错误码(UNAUTHORIZED/FORBIDDEN/
        EXPORT_ERROR/RECORD_SUBMIT_ERROR);成功响应与 SSE 流格式不变
      - 前端兼容:login.html + index.html 加 errMsg() 工具函数,6 处 data.error
        读取兼容字符串/对象两种格式,避免显示 [object Object]
      - 安全修复:submit/export 路由加 @login_required(原任何人可调用)
      - 路由层测试:新增 5 个 test_routes_*.py(37 用例),conftest 补
        app/client/auth_client/admin_client fixture,mock AI 调用/缓存/文件写入
      - 全量 131 用例通过(原 94 + 新增 37),无回归
      - 文档:优化方向文档 P1 状态同步;新增 P1 收尾三项需求/计划文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c7a05bc8