feat(core): 添加模型下载路径配置功能
- 新增 get_default_save_dir Tauri 命令用于获取默认保存目录 - 修改 download_model 命令支持自定义保存路径参数 - 在模型页面集成本地存储的保存路径配置 - 添加 MSW 到 pnpm 工作区允许构建列表 feat(ui): 添加模型设置页面 - 创建新的设置页面用于配置模型下载路径 - 实现路径选择、保存和重置功能 - 集成到侧边栏导航菜单中 - 使用 localStorage 持久化保存用户配置 refactor(routes): 重构设置页面路由结构 - 移除旧的侧边栏导航组件 - 更新路由配置以支持新的模型设置页面 - 生成相应的路由类型定义更新 feat(server): 添加 OpenAI 兼容的模型接口 - 在 /v1 路径下添加 models 接口端点 - 提供与 OpenAI API 兼容的模型列表功能
This commit is contained in:
@@ -60,6 +60,11 @@ struct ServerStatusResponse {
|
||||
|
||||
// ── Helpers ──────────────────────────────────────────
|
||||
|
||||
#[tauri::command]
|
||||
fn get_default_save_dir() -> Result<String, String> {
|
||||
aha::utils::get_default_save_dir().ok_or_else(|| "无法获取 home 目录".to_string())
|
||||
}
|
||||
|
||||
fn get_save_dir() -> Result<String, String> {
|
||||
aha::utils::get_default_save_dir().ok_or_else(|| "无法获取 home 目录".to_string())
|
||||
}
|
||||
@@ -206,10 +211,13 @@ fn get_model_detail(model_id: String) -> Result<ModelDetail, String> {
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
async fn download_model(model_id: String) -> Result<(), String> {
|
||||
async fn download_model(model_id: String, save_dir: Option<String>) -> Result<(), String> {
|
||||
use aha::utils::download_model;
|
||||
|
||||
let save_dir = get_save_dir()?;
|
||||
let save_dir = match save_dir {
|
||||
Some(dir) => dir,
|
||||
None => get_save_dir()?,
|
||||
};
|
||||
download_model(&model_id, &save_dir, 3)
|
||||
.await
|
||||
.map_err(|e| format!("下载失败: {}", e))
|
||||
@@ -417,6 +425,7 @@ pub fn run() {
|
||||
stop_server,
|
||||
get_server_status,
|
||||
clear_logs,
|
||||
get_default_save_dir,
|
||||
])
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
|
||||
Reference in New Issue
Block a user