release/windows-microsoft-store
rs 59 lines 2.05 KB
Raw
1 pub mod app_info;
2 pub mod chat;
3 pub mod constants;
4 pub mod events;
5 pub mod setup;
6
7 /// Re-export onde's inference helpers so `crate::inference::*` paths work.
8 pub mod inference {
9 pub use onde::inference::{models, token};
10 }
11
12 use app_info::app_build_version;
13 use chat::{
14 chat_clear_history, chat_get_history, chat_get_status, chat_list_models, chat_load_model,
15 chat_remove_model, chat_send_message, chat_set_model, chat_unload_model,
16 };
17
18 #[cfg_attr(mobile, tauri::mobile_entry_point)]
19 pub fn run() {
20 tauri::Builder::default()
21 .plugin(
22 tauri_plugin_log::Builder::new()
23 .level(log::LevelFilter::Info)
24 // Quiet the chattiest inference/download dependencies.
25 .level_for("tokenizers", log::LevelFilter::Warn)
26 .level_for("hf_hub", log::LevelFilter::Warn)
27 .level_for("rustls", log::LevelFilter::Warn)
28 .level_for("hyper", log::LevelFilter::Warn)
29 .level_for("candle_core", log::LevelFilter::Warn)
30 .level_for("candle_nn", log::LevelFilter::Warn)
31 .target(tauri_plugin_log::Target::new(
32 tauri_plugin_log::TargetKind::Stdout,
33 ))
34 .build(),
35 )
36 .plugin(tauri_plugin_opener::init())
37 .setup(|app| {
38 // Disable telemetry + redirect the model cache into the shared
39 // App Group container. Must run before any onde / hf-hub code.
40 setup::setup(app)?;
41 Ok(())
42 })
43 .invoke_handler(tauri::generate_handler![
44 // Chat commands: fully on-device LLM inference
45 chat_load_model,
46 chat_unload_model,
47 chat_get_status,
48 chat_send_message,
49 chat_clear_history,
50 chat_get_history,
51 chat_list_models,
52 chat_set_model,
53 chat_remove_model,
54 // App metadata
55 app_build_version,
56 ])
57 .run(tauri::generate_context!())
58 .expect("error while running tauri application");
59 }