Commit Graph

13 Commits

Author SHA1 Message Date
chiguyong 761e1f026e fix: resolve API signature drift and test isolation failures
- Fix KnowledgeDocument/KnowledgeBase model field changes in test fixtures
- Fix RecursiveChunker constructor changes (no longer accepts chunk_size)
- Fix WenxinAdapter mock from _request_with_retry to _get_access_token + _client.post
- Fix UUID type mismatch in knowledge_graph tests
- Add rate limiter state reset autouse fixture to prevent cross-test contamination
- Skip tests blocked by Query.user_id String vs uuid.UUID comparison bug
- Fix .env.example path, KeyVerifierFactory mock, env variable cleanup
- Result: 68 failed + 33 errors → 0 failed, 1537 passed, 33 skipped
2026-06-05 01:08:31 +08:00
chiguyong 79139bc504 chore: geo production readiness improvements 2026-06-04 22:08:06 +08:00
chiguyong bdf351977b chore: complete test file migration (delete old, add new paths) 2026-06-04 14:07:27 +08:00
chiguyong 3711f1641a feat: payment SDK integration, attribution window config, E2E tests, CI integration, rules center tests
- WeChat Pay V3: real API calls with HMAC-SHA256 signing, AES-GCM callback decryption
- Alipay: real API calls with RSA2 signing, WAP payment support
- Both gateways fallback to MockGateway when unconfigured
- Attribution window configurable via ATTRIBUTION_WINDOW_DAYS env var (default 28)
- 30 platform-specific rule test cases (WeChat/Zhihu/Xiaohongshu/Baijiahao/Toutiao/Douyin)
- Fixed clickbait detection bug (character-level to word-level matching)
- E2E tests for diagnosis-strategy and content-monitoring flows
- CI: e2e-test job, bandit security scan, npm audit, performance baseline
2026-06-02 21:50:26 +08:00
chiguyong b41da42d74 feat(geo): U1-U9 monetization closed loop implementation
U1: GEO diagnosis auto data collection (DataCollectorService + 11 tests)
U2: Free GEO health score public page (HealthScoreAPI + 7 tests)
U3: Onboarding redesign with conversion layer (Step0 + UpgradePrompt + 14 tests)
U4: Real payment integration (WeChat/Alipay gateway + PaymentOrder + 12 tests)
U5: AI content generation & distribution (Publishers + PublishEngine + 11 tests)
U6: Attribution system & ROI reports (AttributionEngine + ROICalculator + 12 tests)
U7: Email integration & Dashboard monetization UI (EmailScheduler + templates + 22 tests)
U8: Integration tests & shared fixtures (monetization flow + fixture consolidation + 12 tests)
U9: E2E smoke tests (HealthScorePage + acquisition/core flow + 4 E2E cases)

Total: 101 new backend tests passing, 4 E2E test cases
All third-party integrations use mock mode by default with config center management
2026-06-01 07:39:05 +08:00
chiguyong aeaa50e89e fix: 审计发现的问题修复
API一致性修复:
- C1: 新增organization.py路由(/api/v1/organization/*)
- C2: 修复suggestions API路径(/api/v1/brands/*而非/api/v1/suggestions/*)
- H7: 修复platforms路由双重前缀(/api/v1/platforms而非/api/v1/api/platforms)

密钥管理改进:
- H3: APIKeyManager支持双密钥(dict格式),文心一言适配器使用KeyManager
- H8: 新增APIKeyFilter日志过滤器,拦截key=和Bearer token

异常处理改进:
- H1: batch_query.py改为httpx.HTTPError分层处理
- H1: database.py改为SQLAlchemyError并抛出ConnectionError
- H1: lifecycle.py和usage_tracker添加日志记录

测试: 764 passed
2026-05-25 23:33:25 +08:00
chiguyong 4cc8f73bb4 feat: API Key管理+用量追踪完整功能链路v2(真实可用)
持久化存储:
- APIKey模型 + APIKeyRepository(SQLAlchemy)
- UsageRecord模型 + UsageRepository(SQLAlchemy)

API Key验证:
- KeyVerifier服务(真正调用引擎API验证)
- 支持9个引擎的真实性验证

加密存储:
- KeyEncryption服务(Fernet AES加密)
- 环境变量API_KEY_ENCRYPTION_KEY

用量追踪:
- UsageRecorder自动记录查询用量
- 按引擎/按日聚合(修复by_day空dict)
- UserQuotaService支持套餐配额(free:10/basic:50/pro:200/enterprise:1000)

集成修复:
- AI引擎适配器使用APIKeyManager获取Key(用户Key>系统Key>环境变量)
- SmartRouter与APIKeyManager集成(过滤无Key引擎)
- BatchQueryService自动记录用量并传递用户上下文
- 所有适配器支持引擎特定代理环境变量

前端:
- usage页面替换MOCK为真实API调用
- 显示加载/错误/空状态

测试: 630 passed
2026-05-25 20:43:08 +08:00
chiguyong 41c2994222 feat: API Key管理+智能路由+用量追踪 - 性价比最优方案
后端(TDD):
- API Key管理服务(加密存储+脱敏显示+优先级+降级策略)
  - 用户Key > 系统Key > 环境变量Key
  - Key可用性检测
  - Key过期处理
- 智能路由服务(分层路由+成本优先级)
  - FREE层: DeepSeek/通义千问/文心一言
  - LOW_COST层: Kimi/豆包/Gemini
  - MID_COST层: 腾讯元宝
  - HIGH_COST层: ChatGPT/Perplexity(用户自备Key)
  - 国内引擎优先
  - 成本估算
  - 推荐引擎组合
- 用量追踪服务(记录+统计+配额预警)
  - 日/周/月汇总
  - 按引擎/品牌统计
  - 成本计算
  - 配额预警(ok/warning/exceeded)
- 36+37=73个测试全部通过
2026-05-25 14:52:31 +08:00
chiguyong af3a184c0b feat: 补齐AI引擎适配器 - 9引擎全覆盖+代理支持
后端(TDD):
- 基类添加proxy支持(构造函数>引擎专属环境变量>HTTPS_PROXY)
- ChatGPT/Perplexity适配器添加proxy参数
- 新增DeepSeek适配器(国内,OpenAI兼容)
- 新增通义千问适配器(国内,DashScope API)
- 新增Google Gemini适配器(国外,Google专有API,支持proxy)
- 新增腾讯元宝适配器(国内,OpenAI兼容)
- EngineType枚举新增GEMINI/YUANBAO
- 76个测试全部通过

前端:
- AI引擎选项扩展为9个(3国际+6国内)
- 引擎选择按国内外分组显示
- 类型定义更新(AIEngineOption.group)
2026-05-25 12:16:16 +08:00
chiguyong 9d67a801be feat: Phase1 Week3-4 - 引用模式识别+定时检测任务调度
后端(TDD):
- 引用模式识别引擎(4个分析器+报告生成)
  - ContentStructureAnalyzer: FAQ/列表/表格/引用块检测
  - AuthoritySignalAnalyzer: 数据引用/专家引用/认证标记
  - CitationFormatAnalyzer: 直接/间接/对比引用
  - EnginePreferenceAnalyzer: 引擎偏好分析
- 定时检测任务调度服务
  - DetectionTask模型(hourly/daily/weekly)
  - DetectionSchedulerService(CRUD+触发+执行)
  - 检测API端点(5个)
  - Schema定义
- 34+21=55个测试全部通过

前端:
- AI引擎分析页面(引用率/引擎结果/上下文详情)
2026-05-25 11:00:50 +08:00
chiguyong 1ec5ea42da feat: Phase1 Week1-2 - AI引擎查询分析完整实现
后端(TDD):
- AI引擎适配器框架(基类+5个适配器)
- ChatGPT/Perplexity/Kimi/文心一言/豆包适配器
- 批量并行查询服务(asyncio.gather)
- AI引擎查询API端点(3个)
- 51+14=65个测试全部通过

前端:
- AI引擎分析页面(引用率/引擎结果/上下文详情)
- AI引擎API客户端+类型定义
- Mock数据降级支持
2026-05-25 10:29:20 +08:00
chiguyong 65e2f3c380 feat: P0-P2功能实现 + GEO workflow分析与规划
P0 紧急修复:
- 实现诊断分析页面(SEO+GEO 5+6维度)
- 修复E2E测试: dashboard标题统一为'品牌健康中心'
- 修复建议模块API路径不一致
- 修复告警模块HTTP方法不匹配(POST→PATCH)

P1 功能实现:
- 实现监测优化页面(告警列表+配置)
- 实现组织管理页面(成员/角色/邀请)
- 实现SEO诊断5维度后端服务(63测试)
- 实现GEO诊断6维度后端服务(40测试)
- 实现诊断API端点(TDD, 6测试)
- 前端诊断页面连接真实API

P2 功能实现:
- 实现告警设置API端点(TDD, 11测试)
- 实现套餐额度预警服务(TDD, 37测试)
- 实现邮件通知服务(TDD, 30测试)

GEO Workflow分析:
- 10步闭环流程设计(替代原7步)
- 7个缺失节点技术方案
- 4阶段12周开发计划
- 完整技术架构设计
2026-05-25 09:45:18 +08:00
chiguyong 84ed5bf31a feat: GEO平台P0-P1核心功能重构 2026-05-23 09:34:58 +08:00