diff --git a/README.md b/README.md index d81fd986d..edab9e371 100644 --- a/README.md +++ b/README.md @@ -53,19 +53,25 @@ ProxyCast 是一款基于 Tauri 2.0 + React 18 + Rust 构建的跨平台桌面 ## 📸 界面截图 ### Dashboard - 服务控制与 API 测试 -![Dashboard](docs/images/289cfb0d-63bb-4d8a-b1bf-a2f10bbaacdb.png) +![Dashboard](docs/images/420984ac-8287-44c6-b209-bbffd59dc0eb.png) -### Provider 管理 - 凭证配置与切换 -![Providers](docs/images/80084116-b822-4aa3-821a-bcfb8864189a.png) +### 凭证池 - 多凭证管理 +![Provider Pool](docs/images/44dfe29b-ef1e-4fab-82cc-8fbb3d5ae673.png) -### 模型列表 - 可用模型查看 -![Models](docs/images/38d55905-2b45-42fa-9aef-70f75f8b019f.png) +### API Server - 路由与日志 +![API Server](docs/images/54223543-bfb1-4a96-a9d8-a1b9b2f9c154.png) ### 设置页面 - 服务器配置 -![Settings](docs/images/98e9b6a0-3c48-430e-9c88-220f11e9b94d.png) +![Settings](docs/images/83270842-209e-4a36-98e3-607642273806.png) -### 日志查看 - 实时操作记录 -![Logs](docs/images/a60f1f5d-7196-4967-a334-274013dcd47c.png) +### AI Clients - 客户端配置 +![AI Clients](docs/images/c9d36815-a29a-437e-9f26-872ed0949921.png) + +### MCP 服务器管理 +![MCP](docs/images/fc54f689-b092-4180-a531-a41e310c42cb.png) + +### Prompts 管理 +![Prompts](docs/images/ff6d0f51-a703-4642-a4ab-2b9512b332af.png) --- diff --git a/docs/images/289cfb0d-63bb-4d8a-b1bf-a2f10bbaacdb.png b/docs/images/289cfb0d-63bb-4d8a-b1bf-a2f10bbaacdb.png deleted file mode 100644 index c825deba9..000000000 Binary files a/docs/images/289cfb0d-63bb-4d8a-b1bf-a2f10bbaacdb.png and /dev/null differ diff --git a/docs/images/38d55905-2b45-42fa-9aef-70f75f8b019f.png b/docs/images/38d55905-2b45-42fa-9aef-70f75f8b019f.png deleted file mode 100644 index 1e1d992f1..000000000 Binary files a/docs/images/38d55905-2b45-42fa-9aef-70f75f8b019f.png and /dev/null differ diff --git a/docs/images/420984ac-8287-44c6-b209-bbffd59dc0eb.png b/docs/images/420984ac-8287-44c6-b209-bbffd59dc0eb.png new file mode 100644 index 000000000..c94006981 Binary files /dev/null and b/docs/images/420984ac-8287-44c6-b209-bbffd59dc0eb.png differ diff --git a/docs/images/44dfe29b-ef1e-4fab-82cc-8fbb3d5ae673.png b/docs/images/44dfe29b-ef1e-4fab-82cc-8fbb3d5ae673.png new file mode 100644 index 000000000..552e65096 Binary files /dev/null and b/docs/images/44dfe29b-ef1e-4fab-82cc-8fbb3d5ae673.png differ diff --git a/docs/images/54223543-bfb1-4a96-a9d8-a1b9b2f9c154.png b/docs/images/54223543-bfb1-4a96-a9d8-a1b9b2f9c154.png new file mode 100644 index 000000000..db7adf974 Binary files /dev/null and b/docs/images/54223543-bfb1-4a96-a9d8-a1b9b2f9c154.png differ diff --git a/docs/images/80084116-b822-4aa3-821a-bcfb8864189a.png b/docs/images/80084116-b822-4aa3-821a-bcfb8864189a.png deleted file mode 100644 index a7bd4b208..000000000 Binary files a/docs/images/80084116-b822-4aa3-821a-bcfb8864189a.png and /dev/null differ diff --git a/docs/images/83270842-209e-4a36-98e3-607642273806.png b/docs/images/83270842-209e-4a36-98e3-607642273806.png new file mode 100644 index 000000000..382806474 Binary files /dev/null and b/docs/images/83270842-209e-4a36-98e3-607642273806.png differ diff --git a/docs/images/98e9b6a0-3c48-430e-9c88-220f11e9b94d.png b/docs/images/98e9b6a0-3c48-430e-9c88-220f11e9b94d.png deleted file mode 100644 index 7c3cd5813..000000000 Binary files a/docs/images/98e9b6a0-3c48-430e-9c88-220f11e9b94d.png and /dev/null differ diff --git a/docs/images/a60f1f5d-7196-4967-a334-274013dcd47c.png b/docs/images/a60f1f5d-7196-4967-a334-274013dcd47c.png deleted file mode 100644 index 3d276d720..000000000 Binary files a/docs/images/a60f1f5d-7196-4967-a334-274013dcd47c.png and /dev/null differ diff --git a/docs/images/c9d36815-a29a-437e-9f26-872ed0949921.png b/docs/images/c9d36815-a29a-437e-9f26-872ed0949921.png new file mode 100644 index 000000000..a64bd531f Binary files /dev/null and b/docs/images/c9d36815-a29a-437e-9f26-872ed0949921.png differ diff --git a/docs/images/fc54f689-b092-4180-a531-a41e310c42cb.png b/docs/images/fc54f689-b092-4180-a531-a41e310c42cb.png new file mode 100644 index 000000000..ae395f58a Binary files /dev/null and b/docs/images/fc54f689-b092-4180-a531-a41e310c42cb.png differ diff --git a/docs/images/ff6d0f51-a703-4642-a4ab-2b9512b332af.png b/docs/images/ff6d0f51-a703-4642-a4ab-2b9512b332af.png new file mode 100644 index 000000000..639a8b446 Binary files /dev/null and b/docs/images/ff6d0f51-a703-4642-a4ab-2b9512b332af.png differ diff --git a/src/components/settings/AboutSection.tsx b/src/components/settings/AboutSection.tsx index b1e5dfa94..6a7e353e2 100644 --- a/src/components/settings/AboutSection.tsx +++ b/src/components/settings/AboutSection.tsx @@ -1,10 +1,11 @@ -import { useState } from "react"; +import { useState, useEffect } from "react"; import { ExternalLink, RefreshCw, CheckCircle2, AlertCircle, } from "lucide-react"; +import { invoke } from "@tauri-apps/api/core"; interface VersionInfo { current: string; @@ -12,13 +13,36 @@ interface VersionInfo { hasUpdate: boolean; } +interface ToolVersion { + name: string; + version: string | null; + installed: boolean; +} + export function AboutSection() { const [versionInfo] = useState({ - current: "0.4.3", + current: "0.7.0", latest: undefined, hasUpdate: false, }); const [checking, setChecking] = useState(false); + const [toolVersions, setToolVersions] = useState([]); + const [loadingTools, setLoadingTools] = useState(true); + + // 加载本地工具版本 + useEffect(() => { + const loadToolVersions = async () => { + try { + const versions = await invoke("get_tool_versions"); + setToolVersions(versions); + } catch (error) { + console.error("Failed to load tool versions:", error); + } finally { + setLoadingTools(false); + } + }; + loadToolVersions(); + }, []); const handleCheckUpdate = async () => { setChecking(true); @@ -69,7 +93,7 @@ export function AboutSection() {

相关链接

本地工具版本

- - - + {loadingTools ? ( + <> + + + + + ) : ( + toolVersions.map((tool) => ( + + )) + )}
{/* 版权信息 */}

Made with love for AI developers

-

2024-2025 ProxyCast

+

2025-2026 ProxyCast

);