Skip to main content

Module session

Module session 

Source
Expand description

Session 模块

提供 session 管理功能,包括:

  • SessionStore trait: 可插拔的存储抽象
  • SessionManager: 向后兼容的静态方法(使用全局 store)
  • SQLite 默认实现

§使用方式

§方式 1: 使用默认 SQLite 存储(向后兼容)

use aster::session::SessionManager;
let session = SessionManager::create_session(dir, name, session_type).await?;

§方式 2: 注入自定义存储(推荐)

use aster::session::{SessionStore, NoopSessionStore};
use aster::agents::Agent;

let store = Arc::new(MyCustomStore::new());
let agent = Agent::new().with_session_store(store);

Re-exports§

pub use extension_data::EnabledExtensionsState;
pub use extension_data::ExtensionData;
pub use extension_data::ExtensionState;
pub use extension_data::TodoState;
pub use resume::build_resume_message;
pub use resume::delete_summary;
pub use resume::has_summary;
pub use resume::list_summaries;
pub use resume::load_summary;
pub use resume::load_summary_data;
pub use resume::save_summary;
pub use resume::SummaryCacheData;
pub use session_manager::Session;
pub use session_manager::SessionInsights;
pub use session_manager::SessionManager;
pub use session_manager::SessionType;

Modules§

extension_data
resume
Session Resume Support
session_manager

Structs§

BulkArchiveResult
Result of bulk archive operation
ChatHistoryMatch
聊天历史搜索结果
CleanupStats
Cleanup statistics
ExportOptions
Export options
ForkMetadata
Fork metadata stored in extension_data
ForkOptions
Fork options for creating a new session branch
MergeOptions
Merge options for combining sessions
NoopSessionStore
空存储实现(不保存任何数据)
SessionBranchTree
Session branch tree structure
SessionStatistics
Detailed session statistics
SessionSummary
Brief session summary for statistics
TokenStatsUpdate
Token 统计更新参数

Enums§

ExportFormat
Export format options
MergeStrategy
Strategy for merging session messages
MetadataStrategy
Strategy for preserving metadata during merge

Constants§

DEFAULT_CLEANUP_PERIOD_DAYS
Default cleanup period in days

Traits§

SessionStore
Session 存储 trait

Functions§

archive_and_delete_session
Archive and delete a session
archive_session
Archive a session by exporting it to the archive directory
bulk_archive_sessions
Bulk archive sessions
bulk_export_sessions
Bulk export multiple sessions
calculate_statistics
Calculate statistics from a list of sessions
cleanup_expired_data
Clean up expired data (summaries only for now)
delete_archived_session
Delete an archived session permanently
export_session
Export a session to the specified format
export_session_to_file
Export session to file
force_cleanup
Force cleanup synchronously
fork_session
Fork a session to create a new branch
generate_diagnostics
generate_report
Generate a text report of session statistics
get_all_statistics
Get statistics for all sessions
get_cutoff_date
Get the cutoff date for cleanup
get_global_session_store
获取全局 session store
get_session_branch_tree
Get the branch tree for a session
is_global_session_store_set
检查全局 session store 是否已设置
list_archived_sessions
List archived sessions
merge_sessions
Merge one session into another
restore_archived_session
Restore an archived session
schedule_cleanup
Schedule cleanup to run asynchronously
set_global_session_store
设置全局 session store