UStackUStack
Cosmic-light icon

Cosmic-light

Cosmic-light Windows 动态岛控制中心:集媒体控制、实时天气、智能日程提醒与本地优先 AI 聊天于一体。

Cosmic-light

Cosmic-light 是什么?

Cosmic-light 是一个 Windows“动态岛”控制中心,将一目了然的的状态、媒体控制、天气可视化、日历事件和 AI 聊天界面整合到一个屏幕 UI 中。该界面从桌面上的“岛屿”元素展开,旨在在需要时呈现相关信息。

该项目采用本地优先应用构建:使用本地存储保存对话上下文,并对 AI 功能的 API 密钥进行加密。它还包含 system-bridge Python 脚本,用于访问媒体和天气等数据。

主要功能

  • 动态岛 UI(底部或中间):将岛屿置于屏幕上,并在交互时智能展开。
  • 一目了然的主视图:显示时间、日期和当前活动窗口状态。
  • 媒体控制与 Spotify/系统音频集成:提供播放/暂停/下一首/上一首和音量控制,附带实时音频可视化器和曲目元数据(包括专辑封面和进度)。
  • 智能媒体图标:检测输入源(如 Spotify、YouTube、Chrome)和输出设备(如耳机、扬声器)。
  • 实时天气可视化:渲染实时粒子效果(雨、雪、云、星星),显示温度、风速、湿度、降水概率等数据,并带有警报式恶劣天气警告。
  • 智能日历与 Google Calendar 同步:使用 iCal 密钥地址同步事件,在事件开始前 5 分钟自动展开岛屿,并包含交互式月视图。
  • AI 聊天(本地优先):内置聊天界面,支持“Gemini 模式”(Google Gemini)和“Perplexity 模式”(带引文/来源的网页搜索)。对话历史本地存储。
  • 加密 API 密钥:对设置中添加的 API 密钥进行加密以提升安全性。

如何使用 Cosmic-light

  1. 安装先决条件:使用 Node.js v20+Python v3.10+
  2. 设置项目
    • 克隆仓库。
    • 使用 npm install 安装前端依赖。
    • 使用 pip install -r requirements.txt 安装后端依赖。
  3. 本地运行:使用 npm run dev 启动应用。
  4. 打开并配置
    • 点击动态岛展开它。
    • 使用 Settings(齿轮图标)配置 AI API 密钥(Gemini 和/或 Perplexity)和 Google Calendar 同步。
  5. (可选)构建安装程序:运行 npm run build 生成独立 Windows .exe,安装程序位于 release/ 目录。

使用场景

  • 媒体优先桌面控制:从岛屿控制播放和音量,同时查看曲目元数据和实时音频可视化器,无需切换到单独媒体窗口。
  • 多任务时的一目了然上下文:从岛屿主视图快速查看时间/日期和当前活动应用。
  • 带视觉提示的天气感知:通过动画粒子监控天气变化,阅读风速、湿度等关键数据,包括恶劣天气警告。
  • 即将会议的日历提醒:通过应用的 iCal 密钥地址同步私有 Google Calendar,并在事件开始前 5 分钟依赖岛屿自动展开。
  • 桌面 UI 中的回答/搜索辅助:从岛屿使用 Gemini 或 Perplexity 聊天模式;在设置中存储 API 密钥,并本地保存对话历史。

常见问题

  • 运行 Cosmic-light 需要什么? 应用需要 Node.js v20 或更高版本,系统桥接脚本需要 Python v3.10 或更高版本

  • 如何启用 AI 聊天功能? 打开应用设置,添加您的 Gemini API Key 和/或 Perplexity API Key。项目注明至少需启用其中一个。

  • Google Calendar 同步如何工作? 在 Google Calendar 设置中生成或复制“iCal 密钥地址”(iCal 格式),然后将其粘贴到应用中的 Settings > Google Calendar

  • 数据存储在哪里? 项目采用 本地优先 方法:对话历史本地存储,设置中添加的 API 密钥会 加密

  • 可以更改岛屿位置吗? 可以。设置包括定位选项,可将岛屿置于屏幕 底部或中心,并支持选择岛屿显示在哪个显示器上。

替代方案

  • 系统级小部件框架:使用桌面小部件/启动器系统在屏幕上聚合小部件(天气、日历、媒体),而非动态岛式的扩展 UI;工作流程不同,因为扩展行为和“岛屿”呈现可能并非内置。
  • 媒体控制器应用:专用媒体控制工具可提供播放和音量控制加可视化效果,但可能不包含相同的天气/日历/AI 布局组合。
  • 日历 + 天气桌面集成:独立的日历和天气集成专注于特定数据源;它们通常不会将 AI 聊天界面和动态岛扩展模式捆绑成一个控制中心。
  • 本地聊天机器人应用:通用聊天客户端或本地 AI 前端可替换岛屿的 AI 面板,但会丢失岛屿集成的日历/媒体/天气 UI 上下文。