Skip to content

adnaan-worker/nexus-account-manager

Repository files navigation

Nexus Account Manager

Nexus Account Manager

🚀 统一管理你的 AI 账号

一个现代化的多平台 AI 账号管理工具
基于 Tauri 2 + React 19 + Rust 构建

功能特性快速开始截图展示平台支持开发

English | 简体中文


License Version Tauri React Rust TypeScript

Windows macOS Linux


🎯 为什么选择 Nexus?

🎨 现代化设计

  • macOS 风格的精美界面
  • 深色/浅色主题无缝切换
  • 流畅的动画和过渡效果
  • 响应式布局,适配所有屏幕

⚡ 极致性能

  • HTTP 连接池减少延迟 50-67%
  • 智能防抖优化批量操作 80%+
  • 自动日志轮转管理
  • 代码复用减少重复 40%

🔌 插件化架构

  • 用最少代码添加新平台
  • 模块化设计,易于扩展
  • 全栈类型安全
  • 热重载开发体验

🛡️ 安全可靠

  • 所有数据本地存储
  • 自动 Token 刷新
  • 机器 ID 管理
  • 支持备份/恢复

📸 截图展示

🌓 深色主题

账户管理 - 深色主题

账户管理界面 - 深色主题


☀️ 浅色主题

账户管理 - 浅色主题

账户管理界面 - 浅色主题


📊 仪表盘

仪表盘

实时配额监控和使用统计


⚙️ 设置界面

设置

灵活的配置选项


🎨 Provider 选择器

Provider 轮播选择器

优雅的 Provider 轮播选择界面


✨ 功能特性

�� 核心能力

  • 🔐 多平台支持: 管理 Antigravity、Kiro、Claude、Codex 和 Gemini 等平台账号
  • ⚡ 快速切换: 一键切换账号,自动刷新 Token
  • 📊 配额监控: 实时追踪使用情况和配额管理
  • 🔄 自动刷新: 智能 Token 刷新,自动检测过期
  • 🏷️ 组织管理: 标签、分组和搜索,轻松管理账号
  • 💾 本地存储: 所有数据本地存储,支持备份/恢复

🔌 插件化架构

  • 可扩展平台系统: 用最少的代码添加新平台
  • 模块化设计: 每个平台都是独立的、自包含的模块
  • 类型安全: 全栈 TypeScript 和 Rust 类型安全
  • 热重载: 开发模式下即时更新

🎨 现代化 UI/UX

  • macOS 风格设计: 简洁、极简的界面,注重细节
  • 深色/浅色主题: 无缝主题切换,支持系统偏好检测
  • 流畅动画: 由 Framer Motion 驱动的流畅过渡效果
  • 响应式布局: 针对所有屏幕尺寸和分辨率优化
  • 无障碍访问: 符合 WCAG 标准的组件,支持键盘导航

�� 性能优化

  • HTTP 客户端池化: 可复用连接减少延迟 50-67%
  • 搜索防抖: 使用 React 19 的 useDeferredValue 实现流畅输入
  • 存储优化: 防抖保存提升批量操作性能 80%+
  • 日志轮转: 自动日志文件管理(10MB 限制)
  • 代码复用: 共享工具减少重复代码 40%

📦 支持的平台

Antigravity

🌌 Antigravity

功能

  • ✅ Google/Anthropic AI 服务
  • ✅ OAuth 2.0 授权
  • ✅ 从 IDE 数据库导入 Token
  • ✅ 配额监控
  • ✅ API 代理支持
  • ✅ 账号切换
Kiro

🤖 Kiro IDE

功能

  • ✅ 设备授权流程
  • ✅ SSO Token 导入
  • ✅ OIDC 凭证支持
  • ✅ 机器 ID 管理
  • ✅ 自动 Token 刷新
  • ✅ 使用量和订阅追踪
  • ✅ 社交登录(GitHub、Google 等)
Claude

🧠 Claude

功能

  • ✅ 28 个 Provider 预设(官方、聚合、第三方)
  • ✅ JSON 配置导入
  • ✅ 模型配置(Main/Reasoning/Haiku/Sonnet/Opus)
  • ✅ 账号切换
  • ✅ Provider 轮播选择器
Codex

💻 Codex

功能

  • ✅ 12 个 Provider 预设(OpenAI、Azure、第三方)
  • ✅ JSON 配置导入
  • ✅ 模型配置(Model/Reasoning Effort)
  • ✅ 账号切换
  • ✅ Provider 轮播选择器
Gemini

🔮 Gemini

功能

  • ✅ 7 个 Provider 预设(Google、第三方)
  • ✅ JSON 配置导入
  • ✅ 模型配置
  • ✅ 账号切换
  • ✅ Provider 轮播选择器


🏗️ 插件化架构

graph TB
    A[Nexus Core] --> B[Platform Registry]
    B --> C[Antigravity]
    B --> D[Kiro]
    B --> E[Claude]
    B --> F[Codex]
    B --> G[Gemini]
    
    C --> C1[OAuth Method]
    C --> C2[Token Import]
    C --> C3[Account List]
    
    D --> D1[Device Auth]
    D --> D2[SSO Import]
    D --> D3[Account List]
    
    E --> E1[JSON Method]
    E --> E2[Provider Presets]
    E --> E3[Account List]
    
    style A fill:#667eea
    style B fill:#764ba2
    style C fill:#f093fb
    style D fill:#4facfe
    style E fill:#43e97b
    style F fill:#fa709a
    style G fill:#fee140
Loading

每个平台都是独立的插件模块,可以轻松扩展

架构优势

  • 🔌 用最少代码添加新平台
  • 📦 模块化设计,易于维护
  • 🔒 全栈类型安全
  • ⚡ 热重载开发体验

🛠️ 技术栈

前端

  • React 19 - 最新的 UI 框架,支持并发特性
  • TypeScript - 类型安全和更好的开发体验
  • Tailwind CSS 4 - 实用优先的样式,支持 JIT 编译
  • Zustand - 轻量级状态管理
  • React Router 7 - 客户端路由
  • Radix UI - 无障碍组件原语
  • Lucide React - 精美的图标库
  • Framer Motion - 生产就绪的动画
  • i18next - 国际化(英文和中文)

后端

  • Rust - 内存安全的系统编程语言
  • Tauri 2 - 安全的桌面应用框架
  • Tokio - 异步运行时
  • Reqwest - 支持连接池的 HTTP 客户端
  • Serde - 序列化/反序列化
  • SQLite(计划中)- 本地数据库

开发工具

  • Vite 7 - 闪电般快速的构建工具
  • TypeScript 5.8 - 最新的语言特性
  • ESLint - 代码检查
  • Prettier - 代码格式化

📊 性能对比

指标 传统方案 Nexus 提升
启动时间 ~3s ~1s ⚡ 67%
内存占用 ~150MB ~50MB 📉 67%
账号切换 ~2s <0.5s 🚀 75%
Token 刷新 手动 自动 ✨ 100%
配额监控 🎯 新增

📦 安装

📥 下载安装包

前往 Releases 页面 下载适合你系统的安装包:

平台 文件格式 说明
🪟 Windows .msi / .exe 支持 Windows 10/11
🍎 macOS .dmg 支持 Intel 和 Apple Silicon
🐧 Linux .deb / .AppImage 支持 Ubuntu/Debian/Arch

🛠️ 从源码构建

如果你想从源码构建或参与开发:

前置要求

  • Node.js 18+(推荐 LTS 版本)
  • Rust 1.70+(最新稳定版)
  • npmyarnpnpm

快速开始

graph LR
    A[📥 克隆仓库] --> B[📦 安装依赖]
    B --> C[🚀 启动开发]
    C --> D[🎨 开始开发]
    
    style A fill:#667eea
    style B fill:#764ba2
    style C fill:#f093fb
    style D fill:#4facfe
Loading
# 克隆仓库
git clone https://github.com/yourusername/nexus-account-manager.git
cd nexus-account-manager

# 安装依赖
npm install

# 启动开发服务器
npm run tauri:dev

# 构建生产版本
npm run tauri:build

平台特定设置

Windows

# 安装 Visual Studio Build Tools
# https://visualstudio.microsoft.com/downloads/

# 安装 WebView2(Windows 10/11 通常已预装)

macOS

# 安装 Xcode 命令行工具
xcode-select --install

Linux

# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-dev

# Fedora
sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget file libappindicator-gtk3-devel librsvg2-devel

# Arch
sudo pacman -S webkit2gtk-4.1 base-devel curl wget file openssl libappindicator-gtk3 librsvg

🏗️ 项目结构

nexus-account-manager/
├── src/                          # React 前端
│   ├── components/
│   │   ├── ui/                  # 基础 UI 组件(Radix UI)
│   │   ├── layout/              # 布局组件
│   │   ├── common/              # 共享组件
│   │   ├── accounts/            # 账号相关组件
│   │   └── dialogs/             # 对话框组件
│   │
│   ├── platforms/               # 平台模块(插件系统)
│   │   ├── antigravity/         # Antigravity 平台
│   │   ├── kiro/                # Kiro 平台
│   │   ├── claude/              # Claude 平台
│   │   ├── codex/               # Codex 平台
│   │   ├── gemini/              # Gemini 平台
│   │   └── registry.ts          # 平台注册中心
│   │
│   ├── pages/                   # 页面组件
│   ├── stores/                  # Zustand 状态管理
│   ├── hooks/                   # 自定义 React Hooks
│   ├── types/                   # TypeScript 类型定义
│   ├── i18n/                    # 国际化
│   └── lib/                     # 工具函数
│
├── src-tauri/                   # Rust 后端
│   └── src/
│       ├── core/                # 核心模块
│       │   ├── storage.rs      # 数据存储(支持防抖)
│       │   ├── oauth.rs        # OAuth 2.0 处理
│       │   ├── kiro.rs         # Kiro 特定逻辑
│       │   └── quota.rs        # 配额管理
│       │
│       ├── commands/            # Tauri 命令(前后端通信)
│       │   ├── antigravity.rs  # Antigravity 命令
│       │   ├── kiro.rs         # Kiro 命令
│       │   └── machine.rs      # 机器 ID 命令
│       │
│       ├── utils/               # 工具模块
│       │   ├── logger.rs       # 统一日志系统
│       │   ├── http.rs         # HTTP 客户端(支持连接池)
│       │   ├── common.rs       # 共享工具
│       │   └── config.rs       # 配置管理
│       │
│       └── lib.rs               # 主入口点
│
├── docs/                        # 文档
│   ├── PROJECT_RULES.md         # AI 编程指南
│   ├── ARCHITECTURE.md          # 架构文档
│   ├── API_PLATFORMS_GUIDE.md   # 平台开发指南
│   └── OPTIMIZATION_COMPLETED.md # 性能优化报告
│
└── test/                        # 测试数据

🔌 添加新平台

我们的插件架构使添加新平台变得简单。以下是完整示例:

1. 创建平台模块

// src/platforms/myplatform/index.ts
import { PlatformConfig } from '@/types/platform'
import { Rocket } from 'lucide-react'
import { MyPlatformAccountList } from './components/AccountList'

export const myPlatformConfig: PlatformConfig = {
  id: 'myplatform',
  name: 'My Platform',
  icon: Rocket,
  color: '#FF6B6B',
  description: '管理你的 My Platform 账号',
  
  // 必需:账号列表组件
  AccountList: MyPlatformAccountList,
  
  // 可选:功能标志
  features: {
    oauth: true,
    tokenImport: false,
    quota: true,
    switching: true,
  },
}

2. 创建组件

// src/platforms/myplatform/components/AccountList.tsx
import { usePlatformStore } from '@/stores/usePlatformStore'

export function MyPlatformAccountList() {
  const accounts = usePlatformStore(state => 
    state.getAccountsByPlatform('myplatform')
  )
  
  return (
    <div>
      {accounts.map(account => (
        <AccountCard key={account.id} account={account} />
      ))}
    </div>
  )
}

3. 添加认证方法

// src/platforms/myplatform/methods/OAuthMethod.tsx
export function MyPlatformOAuthMethod() {
  const handleOAuth = async () => {
    // 你的 OAuth 逻辑
    const account = await invoke('myplatform_oauth')
    await addAccount(account)
  }
  
  return <Button onClick={handleOAuth}>使用 OAuth 连接</Button>
}

4. 注册平台

// src/platforms/registry.ts
import { myPlatformConfig } from './myplatform'

export const platforms: PlatformConfig[] = [
  antigravityConfig,
  kiroConfig,
  myPlatformConfig, // ✅ 在这里添加
]

5. 添加 Rust 命令(可选)

// src-tauri/src/commands/myplatform.rs
use tauri::command;

#[command]
pub async fn myplatform_oauth() -> Result<Account, String> {
    // 你的后端逻辑
    Ok(account)
}

就这样!你的新平台现在已完全集成。🎉

详细指南请参阅 docs/API_PLATFORMS_GUIDE.md


🤖 AI 编程指南

本项目遵循严格的 AI 编程规则以保持代码质量和一致性。

AI 辅助开发

在使用任何 AI 助手(Claude、ChatGPT、Copilot 等)之前,请包含此声明

请在开发过程中严格遵守 #[[file:docs/PROJECT_RULES.md]] 中定义的所有规则。

关键规则

  • ✅ 使用 src/components/ui/ 中的现有 UI 组件
  • ✅ 使用 Zustand 进行状态管理
  • ✅ 在 Rust 中使用统一日志系统(log_infolog_warn 等)
  • ✅ 遵循既定的项目结构
  • ❌ 未经批准不要引入新依赖
  • ❌ 不要修改核心架构
  • ❌ 不要在 Rust 代码中使用 println!eprintln!

完整指南请参阅:docs/PROJECT_RULES.md


🧪 开发

可用脚本

# 前端开发
npm run dev              # 启动 Vite 开发服务器
npm run build            # 构建生产版本前端

# Tauri 开发
npm run tauri:dev        # 以开发模式启动 Tauri
npm run tauri:build      # 构建生产版本 Tauri 应用
npm run tauri:build:debug # 构建带调试符号的版本

# 代码质量
npm run lint             # 运行 ESLint
npm run format           # 使用 Prettier 格式化代码
npm run type-check       # 运行 TypeScript 类型检查

开发工作流

  1. 启动开发服务器

    npm run tauri:dev

    这会同时启动 Vite 开发服务器和 Tauri 应用,支持热重载。

  2. 进行更改

    • 前端:编辑 src/ 中的文件,更改立即反映
    • 后端:编辑 src-tauri/src/ 中的文件,应用自动重启
  3. 测试更改

    • 使用应用测试功能
    • 检查浏览器控制台查看前端日志
    • 检查终端查看后端日志
  4. 构建生产版本

    npm run tauri:build

    输出在 src-tauri/target/release/bundle/

调试

前端

  • 打开开发工具:Ctrl+Shift+I(Windows/Linux)或 Cmd+Option+I(macOS)
  • React DevTools:安装浏览器扩展
  • Zustand DevTools:内置状态检查

后端

  • 日志位于 ~/.local/share/com.nexus.account-manager/logs/app.log
  • 使用 log_info!()log_warn!()log_error!() 进行调试
  • 附加调试器:rust-lldbrust-gdb

🤝 贡献

我们欢迎贡献!以下是你可以帮助的方式:

贡献方式

  • 🐛 报告 Bug:提交包含详细复现步骤的 issue
  • 💡 建议功能:在讨论区分享你的想法
  • 📝 改进文档:修复错别字、添加示例、澄清说明
  • 🔧 提交 Pull Request:修复 bug 或实现功能

贡献指南

  1. Fork 仓库

    git clone https://github.com/yourusername/nexus-account-manager.git
    cd nexus-account-manager
    git checkout -b feature/your-feature-name
  2. 遵循项目规则

  3. 测试你的更改

    • 确保应用无错误构建
    • 测试所有受影响的功能
    • 如适用,添加测试
  4. 提交 Pull Request

    • 编写清晰的更改描述
    • 引用相关 issue
    • 等待审查并处理反馈

行为准则

  • 尊重和包容
  • 提供建设性反馈
  • 关注代码,而非个人
  • 帮助他人学习和成长

👥 贡献者

感谢这些为本项目做出贡献的优秀人员:

adnaan
adnaan

项目负责人 & 核心开发者
xiguapi
xiguapi

贡献者
更多贡献者
更多贡献者

查看所有贡献者

📈 项目统计

GitHub stars GitHub forks GitHub watchers

GitHub issues GitHub pull requests GitHub last commit GitHub contributors

想看到你的名字在这里?为项目做贡献!


📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

MIT License

Copyright (c) 2026 adnaan

特此免费授予任何获得本软件及相关文档文件("软件")副本的人
不受限制地处理本软件的权利,包括但不限于使用、复制、修改、
合并、发布、分发、再许可和/或销售本软件副本的权利,
以及允许获得本软件的人这样做,但须符合以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或
主要部分中。

🙏 致谢

本项目站在巨人的肩膀上:

灵感来源

技术

社区

  • 所有我们的贡献者
  • Tauri Discord 社区
  • Rust 社区


📞 支持

获取帮助

  • 📖 文档:查看 docs/ 文件夹
  • 💬 讨论:在 GitHub Discussions 中提问
  • 🐛 Issues:在 GitHub Issues 中报告 bug
  • 📧 邮件:直接联系维护者

有用链接



⭐ Star History

Star History Chart


由 Nexus 团队用 ❤️ 制作

⬆ 返回顶部报告问题讨论

Built with Tauri 🦀 React ⚛️ TypeScript 💙


heart 如果这个项目对你有帮助,请给我们一个 Star!

About

基于 Tauri、React 和 Rust 构建的统一多平台 AI 账号管理工具。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors