feat: complete Phase 1-3 architecture optimization

Phase 1 - Security:
- Add AES-GCM encryption for localStorage fallback
- Enforce WSS protocol for non-localhost WebSocket connections
- Add URL sanitization to prevent XSS in markdown links

Phase 2 - Domain Reorganization:
- Create Intelligence Domain with Valtio store and caching
- Add unified intelligence-client for Rust backend integration
- Migrate from legacy agent-memory, heartbeat, reflection modules

Phase 3 - Core Optimization:
- Add virtual scrolling for ChatArea with react-window
- Implement LRU cache with TTL for intelligence operations
- Add message virtualization utilities

Additional:
- Add OpenFang compatibility test suite
- Update E2E test fixtures
- Add audit logging infrastructure
- Update project documentation and plans

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
iven
2026-03-21 22:11:50 +08:00
parent 815c56326b
commit ce562e8bfc
36 changed files with 5241 additions and 201 deletions

View File

@@ -159,7 +159,7 @@ impl HeartbeatEngine {
}
// Check quiet hours
if is_quiet_hours(&config.lock().await) {
if is_quiet_hours(&*config.lock().await) {
continue;
}
@@ -270,6 +270,8 @@ async fn execute_tick(
("idle-greeting", check_idle_greeting),
];
let checks_count = checks.len();
for (source, check_fn) in checks {
if alerts.len() >= cfg.max_alerts_per_tick {
break;
@@ -297,7 +299,7 @@ async fn execute_tick(
HeartbeatResult {
status,
alerts: filtered_alerts,
checked_items: checks.len(),
checked_items: checks_count,
timestamp: chrono::Utc::now().to_rfc3339(),
}
}