DevNexus (软件还在测试中,本仓库仅为代码储存,测试完毕后 由CI自动构建软件包)(The software is still being tested, this repository is only stored for code, and the software package is automatically built by CI after testing)
一站式跨平台开发者工具栈管理器 — 用 GUI 掌控你的整个开发环境
DevNexus 是一个跨平台桌面应用,将开发者日常需要的环境管理操作整合到一个轻量级 GUI 中:
- 软件中心 — 可视化管理系统包(brew / apt / winget / choco / pip / npm)
- 环境管理器 — 编辑 PATH、环境变量、dotfile 配置
- 终端核心 — 嵌入式 PTY 终端,真实 shell 会话
- 镜像设置 — 一键配置 pip / npm / apt 镜像源
- 系统仪表板 — 实时查看 CPU、内存、磁盘、运行时版本
- 全局设置 — 应用偏好与主题管理
安装包仅 ~10MB,内存占用约 60MB,告别 Electron 的臃肿。
开发者每天要面对这些碎片化工具:
| 任务 | 现有方案 | 问题 |
|---|---|---|
| 安装开发工具 | brew install / apt install / winget |
每个平台命令不同,无统一视图 |
| 管理 SDK 版本 | nvm / pyenv / asdf / sdkman | CLI 操作,Windows 支持差 |
| 切换环境变量 | 手动编辑 .bashrc / .zshrc |
容易出错,无可视化 |
| 配置镜像源 | 分别查文档改配置 | 繁琐,记不住 |
| 查看系统信息 | htop / df / node -v 到处跑 |
没有集中面板 |
DevNexus 把这些全部整合到一个 GUI 里。 不用记命令,不用在不同工具间切换。
| 特性 | DevNexus | nvm-desktop ⭐1.3k | VMR ⭐1.3k | vfox ⭐3.8k | DevTool Manager | DevTools-X ⭐1.5k |
|---|---|---|---|---|---|---|
| GUI 界面 | ✅ | ✅ | ❌ TUI | ❌ CLI | ✅ | ✅ |
| 安装包大小 | ~10MB | ~30MB | ~8MB | ~5MB | ~15MB | ~10MB |
| 系统包管理 (brew/apt/winget) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 多语言运行时管理 | ✅ | ❌ 仅 Node | ✅ 30+ SDK | ✅ 插件化 | ❌ | ❌ |
| npm/cargo/pip 全局包 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| 环境变量/PATH 编辑 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 嵌入式终端 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 镜像源配置 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| 系统信息仪表板 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| macOS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Linux | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Windows | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 框架 | Tauri+Svelte+Rust | Tauri+React+Rust | Go | Go | Tauri+React+Rust | Tauri+React+Rust |
核心差异:
- nvm-desktop — 只管 Node.js 版本,功能单一
- VMR / vfox — 功能强大但纯 CLI/TUI,无可视化界面
- DevTool Manager — 只管 npm/cargo/pip 全局包,不涉及系统级环境和终端
- DevTools-X — 开发者小工具集合(JSON 格式化、JWT 解析等),不是环境管理器
- DevNexus — 唯一将系统包管理 + 多语言版本 + 环境变量 + 终端 + 镜像配置整合到一个 GUI 的项目
┌──────────────────────────────────────────────┐
│ Frontend (Svelte 5) │
│ Tailwind CSS · xterm.js · svelte-spa-router │
├──────────────────────────────────────────────┤
│ Tauri 2.0 IPC Bridge │
│ invoke() / emit() / Channel │
├──────────────────────────────────────────────┤
│ Backend (Rust) │
│ ┌─────────┬──────────┬──────────┬─────────┐ │
│ │ pkg_mgr │ env_mgr │ terminal │ sysinfo │ │
│ │ brew/ │ PATH & │ portable │ CPU/ │ │
│ │ apt/ │ dotfile │ -pty │ MEM/Disk│ │
│ │ winget │ parser │ tokio │ which │ │
│ └─────────┴──────────┴──────────┴─────────┘ │
└──────────────────────────────────────────────┘
| 层级 | 技术 | 说明 |
|---|---|---|
| 桌面框架 | Tauri 2.0 | 系统原生 Webview,非 Electron |
| 前端 | Svelte 5 | 编译时框架,运行时仅 ~2KB |
| 样式 | Tailwind CSS | 原子化 CSS,直接复用设计原型 |
| 终端 | xterm.js | Web 终端渲染 |
| 后端语言 | Rust | 系统调用、性能、内存安全 |
| PTY | portable-pty | 跨平台终端后端 |
| 异步运行时 | tokio | Rust 异步 I/O |
| 系统信息 | sysinfo | CPU/内存/磁盘/进程 |
| 可执行文件查找 | which | 跨平台 PATH 查找 |
| 序列化 | serde | JSON/TOML 配置读写 |
- Tauri 而非 Electron — 安装包 10MB vs 150MB,内存 60MB vs 300MB,使用系统 Webview 而非内置 Chromium
- Svelte 而非 React — 编译时消除框架运行时,产物更小;HTML 原生语法,迁移设计原型零成本
- Rust 而非 Node.js — 原生系统调用能力,
portable-pty是最成熟的跨平台 PTY 方案,内存安全
devnexus/
├── src/ # Svelte 前端
│ ├── lib/
│ │ ├── stores.js # 路由与搜索状态
│ │ └── i18n.js # 多语言 (zh/en/ru)
│ ├── locales/ # 翻译文件
│ │ ├── zh.json
│ │ ├── en.json
│ │ └── ru.json
│ ├── routes/ # 页面路由
│ │ ├── Dashboard.svelte # 系统仪表板
│ │ ├── EnvironmentManager.svelte
│ │ ├── SoftwareCenter.svelte
│ │ ├── MirrorSettings.svelte
│ │ ├── PortManager.svelte # 端口管理
│ │ ├── TaskScheduler.svelte
│ │ ├── PasswordManager.svelte
│ │ ├── CookieExtractor.svelte
│ │ └── Settings.svelte
│ ├── components/
│ │ ├── Sidebar.svelte
│ │ ├── TopBar.svelte
│ │ └── TitleBar.svelte
│ ├── app.svelte
│ └── main.js
├── src-tauri/ # Rust 后端
│ ├── src/
│ │ ├── main.rs
│ │ ├── lib.rs
│ │ └── commands/
│ │ ├── system.rs # 系统信息
│ │ ├── environment.rs # PATH/环境变量
│ │ ├── software.rs # 软件包管理
│ │ ├── mirror.rs # 镜像源
│ │ ├── port_manager.rs # 端口管理
│ │ ├── scheduler.rs # 任务调度
│ │ ├── password_manager.rs
│ │ ├── cookie_extractor.rs
│ │ ├── terminal.rs # PTY 终端
│ │ └── mod.rs
│ ├── icons/
│ │ └── DevNexus.png # 应用图标源文件
│ ├── Cargo.toml
│ └── tauri.conf.json
├── scripts/
│ └── generate_icons.py # 图标转换脚本
├── .github/workflows/
│ └── build.yml # CI 自动构建
├── package.json
└── README.md
- Node.js >= 20
- Rust >= 1.80
- 系统依赖(Tauri 前置条件)
pnpm installpnpm tauri devpnpm tauri build构建产物:
- macOS:
.dmg/.app - Linux:
.deb/.rpm/ AppImage - Windows:
.msi/.exe
- 项目骨架搭建
- 系统包管理器后端(brew / apt / winget)
- 软件中心 UI 与后端对接
- 环境变量读写与可视化编辑
- 镜像源配置
- 系统信息仪表板
- 自动更新机制
- 主题与国际化