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:
PoRi
2026-04-25 18:39:21 +08:00
parent a15d39187c
commit 771a71436f
9 changed files with 128 additions and 40 deletions
+11 -2
View File
@@ -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");