fix(intelligence): 精确化 dead_code 标注并实现 LLM 上下文压缩
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- 将 intelligence/llm/memory/browser 模块的 dead_code 注释从模糊的 "reserved for future" 改为明确说明 Tauri invoke_handler 运行时注册机制 - 为 identity.rs 中 3 个真正未使用的方法添加 #[allow(dead_code)] - 实现 compactor use_llm: true 功能:新增 compact_with_llm 方法和 compactor_compact_llm Tauri 命令,支持 LLM 驱动的对话摘要生成 - 将 pipeline_commands.rs 中 40+ 处 println!/eprintln! 调试输出替换为 tracing::debug!/warn!/error! 结构化日志 - 移除 intelligence/mod.rs 中不必要的 #[allow(unused_imports)]
This commit is contained in:
@@ -10,7 +10,11 @@
|
||||
//!
|
||||
//! Reference: ZCLAW_AGENT_INTELLIGENCE_EVOLUTION.md §4.3
|
||||
//!
|
||||
//! Note: These types are reserved for future memory integration features
|
||||
//! Note: Context types are used by the Tauri command memory_build_context (simplified version).
|
||||
//! The full ContextBuilder is reserved for advanced layered loading in future phases.
|
||||
|
||||
// NOTE: #[tauri::command] functions are registered via invoke_handler! at runtime.
|
||||
// Module-level allow required for Tauri-commanded functions and internal types.
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
//!
|
||||
//! Note: Some fields and methods are reserved for future LLM-powered extraction
|
||||
|
||||
// NOTE: #[tauri::command] functions are registered via invoke_handler! at runtime.
|
||||
// Module-level allow required for Tauri-commanded functions and internal types.
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -551,12 +554,39 @@ pub async fn extract_and_store_memories(
|
||||
.with_importance(memory.importance);
|
||||
|
||||
// Store to SqliteStorage
|
||||
let entry_uri = entry.uri.clone();
|
||||
match storage.store(&entry).await {
|
||||
Ok(_) => stored_count += 1,
|
||||
Err(e) => {
|
||||
store_errors.push(format!("Failed to store {}: {}", memory.category, e));
|
||||
}
|
||||
}
|
||||
|
||||
// Background: generate L0/L1 summaries if driver is configured
|
||||
if crate::summarizer_adapter::is_summary_driver_configured() {
|
||||
let storage_clone = storage.clone();
|
||||
let summary_entry = entry.clone();
|
||||
tokio::spawn(async move {
|
||||
if let Some(driver) = crate::summarizer_adapter::get_summary_driver() {
|
||||
let (overview, abstract_summary) =
|
||||
zclaw_growth::summarizer::generate_summaries(driver.as_ref(), &summary_entry).await;
|
||||
|
||||
if overview.is_some() || abstract_summary.is_some() {
|
||||
let updated = MemoryEntry {
|
||||
overview,
|
||||
abstract_summary,
|
||||
..summary_entry
|
||||
};
|
||||
if let Err(e) = storage_clone.store(&updated).await {
|
||||
tracing::debug!(
|
||||
"[extract_and_store] Failed to update summaries for {}: {}",
|
||||
entry_uri, e
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
let elapsed = start_time.elapsed().as_millis() as u64;
|
||||
|
||||
Reference in New Issue
Block a user