{"id":47736548,"url":"https://github.com/qiin2333/sunshine-control-panel","last_synced_at":"2026-05-30T06:01:17.293Z","repository":{"id":225613370,"uuid":"766416803","full_name":"qiin2333/sunshine-control-panel","owner":"qiin2333","description":"🎮 Sunshine Foundation 大屏桌面管理器 | Tauri + Vue 3，游戏库管理、米塔AI助手、内存监控、Steam封面搜索、启动助手","archived":false,"fork":false,"pushed_at":"2026-05-27T06:16:32.000Z","size":3551,"stargazers_count":400,"open_issues_count":2,"forks_count":9,"subscribers_count":1,"default_branch":"tauri","last_synced_at":"2026-05-27T06:23:57.104Z","etag":null,"topics":["ai-assistant","desktop-app","game-library","game-streaming","rust","steam","sunshine","tauri","vite","vue3","windows"],"latest_commit_sha":null,"homepage":"https://sunshine-foundation.vercel.app","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qiin2333.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-03T07:47:50.000Z","updated_at":"2026-05-25T11:09:31.000Z","dependencies_parsed_at":"2025-12-06T21:05:13.959Z","dependency_job_id":null,"html_url":"https://github.com/qiin2333/sunshine-control-panel","commit_stats":null,"previous_names":["qiin2333/sunshine-control-panel"],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/qiin2333/sunshine-control-panel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiin2333%2Fsunshine-control-panel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiin2333%2Fsunshine-control-panel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiin2333%2Fsunshine-control-panel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiin2333%2Fsunshine-control-panel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qiin2333","download_url":"https://codeload.github.com/qiin2333/sunshine-control-panel/tar.gz/refs/heads/tauri","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiin2333%2Fsunshine-control-panel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33681809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","desktop-app","game-library","game-streaming","rust","steam","sunshine","tauri","vite","vue3","windows"],"created_at":"2026-04-02T22:44:00.104Z","updated_at":"2026-05-30T06:01:17.242Z","avatar_url":"https://github.com/qiin2333.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sunshine Control Panel (Tauri)\n\n基于 Tauri 2 + Vue 3 的 Sunshine Foundation 大屏桌面管理器，提供游戏库管理、系统监控、AI 助手等功能。\n\n## 架构\n\n```mermaid\nflowchart LR\n    subgraph Client[\"WebView2 Client\"]\n        direction TB\n        Vue[\"Vue 3 + Vite\"]\n        Composables[\"Composables\u003cbr/\u003euseApps · useTauri · useTheme\"]\n        Vue --\u003e Composables\n    end\n\n    subgraph Core[\"Tauri 2 · Rust\"]\n        direction TB\n        IPC[\"IPC Bridge\u003cbr/\u003einvoke · events\"]\n        Axum[\"Axum Proxy :48081\"]\n        Sys[\"WMI COM · winreg\"]\n        AI[\"AI Proxy · reqwest\"]\n        IPC --\u003e Axum \u0026 Sys \u0026 AI\n    end\n\n    subgraph Services[\"External Services\"]\n        direction TB\n        Sunshine[\"☀️ Sunshine\u003cbr/\u003eHTTPS :47990\"]\n        Steam[\"Steam Store API\"]\n        LLM[\"LLM API · OpenAI\"]\n        GitHub[\"GitHub Releases\"]\n        VDD[\"IddCx VDD Driver\"]\n    end\n\n    Composables -- \"Tauri invoke()\" --\u003e IPC\n    Axum -- \"HTTPS · reqwest\" --\u003e Sunshine\n    Sys -. \"WMI Query\" .-\u003e Sunshine\n    Sys -. \"Registry\" .-\u003e VDD\n    AI -- \"HTTP\" --\u003e LLM\n    AI -- \"HTTP\" --\u003e Steam \u0026 GitHub\n```\n\n## 功能特性\n\n### 核心能力\n\n- 🔄 **更新管理** — 自动检查更新、下载进度、一键安装，支持 Beta/预发布版本切换\n- ⚡ **运行模式切换** — 服务模式 ↔ 用户模式一键切换\n- 🔌 **服务管理** — Sunshine 启停、重启、运行状态监控、配对设备管理\n- 📊 **内存监控** — 进程内存/工作集实时趋势图、子进程列表、运行时间统计\n\n### 游戏库\n\n- 🎮 **应用管理** — 网格/列表视图、搜索过滤、收藏置顶、最近使用、排序\n- 🖼️ **Steam 封面搜索** — 右键更新封面，Steam Store API 搜索候选，一键上传\n- 🚀 **一键启动** — 右键启动游戏/应用，支持管理员权限、工作目录\n- 🔧 **启动助手** — 为应用配置前置/后置脚本（虚拟显示器、分辨率切换等）\n- 📚 **游戏库扫描** — 自动扫描 Steam/Epic 已安装游戏\n\n### 串流与驱动\n\n- 🎬 **串流配置** — 编码器选择 (H.264/H.265/AV1)、码率调节、HDR 自动切换\n- 📺 **VDD 驱动管理** — 虚拟显示驱动安装/配置/EDID 管理\n- 🖱️ **虚拟鼠标** — 驱动安装与状态管理\n- 🌙 **Moonlight Web** — 浏览器串流服务管理\n\n### 智能与工具\n\n- 🤖 **米塔 AI** — 为 Sunshine 及客户端提供大模型能力，多模型配置、桌面宠物\n- 🛠️ **工具箱** — 码率调节器、DPI 缩放、键盘快捷键指南、系统诊断\n- 📋 **日志管理** — 实时日志查看、导出、过滤\n\n### 桌面体验\n\n- 🎨 **主题切换** — 亮色/暗色/自定义背景\n- 🌍 **中英双语** — 即时切换\n- 🪟 **多窗口** — 主窗口 + 浮动工具栏 + 日志控制台\n- ☀️ **防休眠** — 串流期间保持屏幕/系统唤醒\n- 🔑 **全局快捷键** — Ctrl+Shift+Alt+T 切换工具栏\n\n## 前置要求\n\n- Node.js 和 npm\n- Rust 和 Cargo (用于 Tauri)\n- Windows SDK (Windows)\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 启动开发服务器（代理到 Sunshine 服务）\nnpm run dev\n\n# 仅启动前端开发服务器\nnpm run dev:renderer\n```\n\n### WebUI 联调开发模式\n\n当需要同时开发 WebUI 和 Tauri GUI 时，可以使用 `dev-webui` 模式让 Tauri 代理服务器转发请求到 WebUI 开发服务器：\n\n```bash\n# 终端 1：在项目根目录启动 WebUI 开发服务器（端口 3000）\ncd ../../../..  # 回到 Sunshine 根目录\nnpm run dev-server\n\n# 终端 2：在 sunshine-control-panel 目录启动 Tauri（代理到 WebUI 开发服务器）\nnpm run dev-webui\n```\n\n这种模式下：\n- WebUI 开发服务器运行在 `https://localhost:3000`\n- Tauri 代理服务器会将请求转发到 WebUI 开发服务器\n- 支持 HMR（热模块替换），修改 WebUI 代码会实时生效\n- API 请求仍会被 WebUI 开发服务器代理到 Sunshine 服务（`https://localhost:47990`）\n\n## 构建\n\n```bash\n# 构建渲染进程\nnpm run build:renderer\n\n# 构建完整应用\nnpm run build\n\n# Windows 构建\nnpm run build:win\n```\n\n## 项目结构\n\n```\nsrc-tauri/           # Tauri 后端 (Rust)\n  ├── src/\n  │   ├── main.rs            # 主入口、命令注册\n  │   ├── proxy_server.rs    # Axum 本地代理 (Sunshine/Steam API/CORS)\n  │   ├── sunshine.rs        # Sunshine 进程管理、路径工具\n  │   ├── system.rs          # 系统信息 (WMI 进程查询、内存统计)\n  │   ├── fs_utils.rs        # 文件系统、游戏扫描、Steam 封面搜索/上传\n  │   ├── commands.rs        # HTTP 客户端、应用启动\n  │   ├── vdd.rs             # VDD 驱动管理\n  │   └── windows.rs         # Windows 注册表/autostart\n  ├── inject-script.js       # 注入到 Sunshine Web UI 的脚本\n  └── Cargo.toml\n\nsrc/renderer/        # 前端 (Vue 3)\n  ├── desktop/              # Desktop UI (独立 SPA)\n  │   ├── views/            # 页面视图 (Dashboard、Apps、Settings...)\n  │   ├── components/       # 组件 (AppGrid、ContextMenu、CoverPicker...)\n  │   ├── composables/      # 组合式函数 (useApps、useTauri...)\n  │   └── i18n/             # 国际化 (zh、en)\n  ├── components/           # 共享组件\n  └── styles/               # Less 样式\n\nvite.config.js       # Vite 构建配置\npackage.json         # NPM 依赖\n```\n\n## 技术栈\n\n- **前端**: Vue 3 + Less + 自定义组件\n- **后端**: Rust + Tauri 2\n- **HTTP**: Axum (代理)、reqwest (HTTP 客户端)\n- **系统**: WMI (进程查询)、Win32 API (内存统计)、Windows Registry\n- **构建**: Vite\n\n## 集成到 Sunshine\n\n编译后的 GUI 会自动安装到 Sunshine 的 `assets/gui` 目录：\n\n```\nSunshine/\n  └── assets/\n      └── gui/\n          └── sunshine-gui.exe\n```\n\n## 注意事项\n\n- Tauri GUI 是可选组件，不影响 Sunshine 核心功能\n- 需要 Rust 工具链才能构建 Tauri 应用\n- 首次构建会下载并编译 Rust 依赖，需要较长时间\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiin2333%2Fsunshine-control-panel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqiin2333%2Fsunshine-control-panel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiin2333%2Fsunshine-control-panel/lists"}