1. 20 7月, 2026 5 次提交
  2. 17 7月, 2026 2 次提交
  3. 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
  4. 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
  5. 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
  6. 13 7月, 2026 5 次提交
    • 陈泽健's avatar
      docs: 更新 README 与 CLAUDE.md 反映 P1 三层架构 · b7d51dd1
      陈泽健 提交于
      - README.md:重写功能概述、完整目录结构(routes/services/utils + container)、
        三层架构图、快速开始、部署流程、环境变量表、技能清单、本地开发注意、
        P0/P1 重构记录
      - CLAUDE.md:重写为 Claude Code 项目指令,含目录结构、分层约定
        (单例走 container、路径走 utils/paths)、勿改接口模块、异常规范、
        常用命令、6 条避坑、当前 P1 完成状态
      - 两份文档均从过时的旧结构更新到 P1-3 重构后的真实架构
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b7d51dd1
    • 陈泽健's avatar
      chore(deploy): upload 脚本补齐 routes/services 目录与 decorators/container 文件 · 3caf6a0a
      陈泽健 提交于
      P1-3 架构重构后新增了 routes/、services/ 目录与 container.py、decorators.py 改动,
      upload_to_server.py 需同步更新上传清单,否则部署到 5.60 会缺失文件导致服务起不来。
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3caf6a0a
    • 陈泽健's avatar
      refactor(p1-3): server.py 拆分为 routes/services/utils 三层架构 · c2698352
      陈泽健 提交于
      - server.py 从 1443 行精简到 146 行,改为 create_app() 应用工厂模式
      - 新增 container.py 依赖容器:集中单例与 config,解决跨模块全局副作用
        (rebuild_search_index 的单例重置改用 container.reset_search_engine)
      - 新增 utils/paths.py:路径常量集中(SCRIPT_DIR/PROJECT_ROOT/RECORDS_DIR 等)
      - 新增 utils/audit.py:log_audit 迁入
      - 新增 utils/record_utils.py:5 个入库纯函数迁入
      - 新增 services/ai_service.py:build_prompt/call_claude_api 等迁入
      - 新增 services/record_service.py:rebuild_search_index 迁入
      - 新增 routes/ 5 个 Blueprint(auth/troubleshoot/cache/export/submit)
      - decorators.py:url_for('login') 适配为 url_for('auth.login')
      - API 路径与响应格式严格不变(15 端点验证通过)
      - 94 单元测试回归全绿
      - 回写 P1 需求/计划文档:P1-3 验收勾选、执行记录与问题记录补全
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      c2698352
    • 陈泽健's avatar
      test(p1-2): 新增 pytest 单元测试,覆盖三大核心模块 · 15192abf
      陈泽健 提交于
      - 新建 skill/code/tests/ 目录:conftest.py 注入 web/ 路径与索引副本,
        使 SearchEngine 在本地可实例化(避免 FileNotFoundError)
      - test_safety_filter.py(41 用例):覆盖 check_dangerous / is_allowed_operation
        / check_relevance / extract_query_keywords / filter_output / filter_sensitive_info
        / filter_output_with_sensitive
      - test_cache_manager.py(19 用例):覆盖 get/set/clear_expired/clear_all/get_stats
        /check_and_clean_if_needed,含损坏文件、不可序列化、超限清理边界
      - test_search_engine.py(34 用例):覆盖 tokenize/compute_tf/idf/tfidf/cosine
        及 SearchEngine 实例化/search/项目分类过滤/get_projects/get_categories
      - 新增 pytest.ini 配置;requirements.txt 追加 pytest/pytest-cov/pytest-mock
      - .gitignore 补充 .coverage、.pytest_cache/ 忽略规则
      - 移除误入库的 __pycache__/*.pyc 编译产物
      - 核心模块覆盖率:safety_filter 99% / cache_manager 87% / search_engine 85%,均 > 80%
      - 回写 P1 需求/计划文档:P1-2 验收勾选、执行记录与问题记录补全
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      15192abf
    • 陈泽健's avatar
      refactor(middleware): P1 级代码质量优化 — 日志系统、异常处理、工具模块抽取 · bccc2b9a
      陈泽健 提交于
      - 新增 utils/ 工具包:统一日志配置(logger)、错误码定义(error_codes)、API 响应封装(response)
      - cache_manager.py:笼统 except Exception 拆分为 FileNotFoundError / JSONDecodeError / OSError 精准处理
      - server.py:12 处 print / traceback.print_exc 替换为 logger.error / logger.exception
      - server.py:新增网络异常(RequestException)和响应解析异常(KeyError/ValueError)捕获
      - deploy/upload_to_server.py:数据源统一到 skill/code/web/,新增 DIRS_TO_UPLOAD 目录递归上传
      - 新增 .claude/skills/HANDOFF/ 会话交接技能
      - CLAUDE.md 注册 /handoff 技能入口
      - Docs/ 新增 P1 级代码质量优化相关 PRD 文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      bccc2b9a
  7. 12 7月, 2026 4 次提交
    • 陈泽健's avatar
      fix(security): 移除登录页默认账号提示,防止敏感信息泄露 · 088a402c
      陈泽健 提交于
      - 移除 login.html 底部默认管理员账号密码提示
      - 移除 upload_login_auth.py 部署完成后的默认账号打印
      - 新增 PRD 需求文档及计划执行文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      088a402c
    • 陈泽健's avatar
      chore(config): 添加 Claude Code 技能配置 · a1303c1e
      陈泽健 提交于
      - 创建 .claude/skills/ 目录结构
      - 复制 GitCommit、CreateCMD、prd-code、prd-plan 技能
      - 添加 CLAUDE.md 项目配置文件
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      a1303c1e
    • 陈泽健's avatar
      fix(security): P0级问题修复 · 023f2e65
      陈泽健 提交于
      - P0-1: 移除所有硬编码密码,使用环境变量
      - P0-2: 修复 server.py 重复赋值 bug
      - P0-3: 消除 deploy/web/ 代码重复
      - 新增 .env.example 环境变量模板
      - 新增 .gitignore
      - 更新 README.md 目录结构说明
      - 更新部署脚本从统一源目录复制
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      023f2e65
    • 陈泽健's avatar
      feat(skills): 新增代码提交辅助技能集 · 2dbfa212
      陈泽健 提交于
      新增 5 个 Claude Code skills 和 Troubleshoot 完整功能:
      
      **Skills 新增:**
      - CreateCMD: 在当前目录打开指定数量 CMD 窗口
      - git-commit: 代码提交辅助工具(审查、分类、生成 Conventional Commits)
      - prd-plan: 解析 PRD 需求文档生成执行计划
      - prd-code: 解析执行计划文档生成/更新代码
      - Troubleshoot: 问题排查协助(含 600+ 行排查流程、高频场景、已知坑速查表)
      
      **项目文件:**
      - 新增 Troubleshoot Web 服务代码(Flask + TF-IDF 搜索 + 安全过滤)
      - 新增 PRD 文档集合(需求文档、执行计划、部署报告、用户手册)
      - 新增 README.md 项目说明
      - 新增 config/deploy 配置和部署脚本
      - 删除过时的运维集控脚本
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      2dbfa212
  8. 11 9月, 2024 1 次提交