skillok meeting
d93e31a829c96025e18e4ceed0cf1552df5934c8
Перейти к файлу
Код
meeting src-taurisrclib.rs
anc Этап 0: каркас Tauri 2, разбор встречи через OpenRouter, стиль skillok.org - Ядро на Rust: расшифровка и импорт текста, схема разбора со строгой проверкой ответа модели, клиент OpenRouter (проверка ключа, разбор), настройки и ключ в хранилище паролей ОС, встречи папками на диске. - Интерфейс: экраны «Встречи», «Встреча» (расшифровка, конспект, задачи), «Настройки»; токены, шрифты и кнопки как на skillok.org. - Промпт разбора prompts/analysis.md и проверочные расшифровки. - 30 тестов ядра; клиент OpenRouter проверяется против локальной заглушки. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> d93e31a 30 сентября 2026 г.
lib.rs
//! Skillok Meet — ядро приложения. Интерфейс зовёт команды отсюда через
//! `invoke`; всё, что трогает диск, сеть и ключи, живёт в Rust.

pub mod analysis;
pub mod meetings;
pub mod openrouter;
pub mod settings;
pub mod transcript;

mod commands;

use tauri::Manager;

pub fn run() {
    tauri::Builder::default()
        .setup(|app| {
            let config_dir = app.path().app_config_dir()?;
            let data_dir = app.path().app_data_dir()?;
            app.manage(commands::AppState::new(
                settings::settings_path(&config_dir),
                meetings::Store::new(data_dir.join("meetings")),
                Box::new(settings::Keyring),
            ));
            Ok(())
        })
        .invoke_handler(tauri::generate_handler![
            commands::get_settings,
            commands::save_settings,
            commands::set_openrouter_key,
            commands::check_openrouter_key,
            commands::delete_openrouter_key,
            commands::list_meetings,
            commands::get_meeting,
            commands::import_meeting,
            commands::analyze_meeting,
        ])
        .run(tauri::generate_context!())
        .expect("Skillok Meet не запустился");
}