SideX
用 Tauri 重写 VS Code 工作台的实验性项目:保留同一套 TypeScript 前端与 Monaco 编辑器,用 Rust 后端和系统原生 WebView 替代 Electron,体积与内存占用大幅降低。
爱鲜报评分
0 人评分
3.1k
星数
否
中文
TypeScript
主语言
是
活跃
17
贡献者
人工分析
EDITORIAL推荐理由
SideX 把 VS Code 的 Electron 外壳换成 Tauri,思路清晰、对照表完整,对想研究「桌面 IDE 如何摆脱 Chromium」的开发者很有参考价值。项目已能跑通编辑、终端、Git、搜索和内置 AI Agent,但扩展宿主与调试器仍在开发中,适合尝鲜和参与共建,不建议直接替换日常主力 IDE。
适用场景
- 研究 Tauri 替代 Electron 的桌面应用架构
- 轻量级代码编辑器日常使用
- 学习 Monaco 编辑器与 Rust 后端集成
- 自托管、自带模型密钥的本地 AI 编程助手
- 开源 IDE 二次开发与技术验证
优点
- 复用 VS Code 工作台与 Monaco,交互习惯几乎零迁移成本
- Rust 后端 + 原生 WebView,安装体积和空闲内存显著低于 Electron 版
- 内置 AI Agent,支持自带模型与 Claude Code/Codex CLI 登录,无需注册账号
- 终端、Git、全文搜索、主题等核心功能已可用
- MIT 协议开源,架构分层清晰,便于阅读和改造
缺点
- 早期版本,扩展宿主与调试器尚未完成,插件生态受限
- Windows 上 WebView2 内存表现不如 macOS 乐观,跨平台体验有差异
- 首次构建需编译 Rust,耗时 5–10 分钟且暂无预编译二进制
- AI Agent 服务端需额外安装 Go 1.26+ 自行编译
- Agent 服务可执行本地命令,绑定地址配置不当存在安全风险
SideX 是什么
SideX 是一个把 VS Code 工作台搬到 Tauri 上的开源实验项目。它保留了 VS Code 原有的 TypeScript 前端、Monaco 编辑器和整体交互,只把底层的 Electron 换成 Rust 后端加系统原生 WebView(macOS 的 WKWebView、Windows 的 WebView2),从而去掉随应用打包的 Chromium。
官方给出的对比是 16.4 MB 对 797.8 MB,目标是在 macOS 上空闲内存控制在 200 MB 以内。
架构映射
项目按层把 Electron 架构对应到 Tauri:
| VS Code(Electron) | SideX(Tauri) |
|---|---|
| Electron 主进程 | Tauri Rust 后端 |
| BrowserWindow | WebviewWindow |
| ipcMain / ipcRenderer | invoke() + Tauri 事件 |
| Node.js fs、pty | Rust 命令(std::fs、portable-pty) |
| 菜单 / 对话框 / 剪贴板 | Tauri 插件 |
| 渲染进程 | 不变,运行在原生 WebView |
| 扩展宿主 | Sidecar 进程(开发中) |
已可用的功能
- 编辑器:Monaco,语法高亮与基础 IntelliSense
- 文件管理:打开文件夹、新建、重命名、删除、文件监听
- 终端:基于 Rust 的完整 PTY,支持 shell 探测、窗口缩放与信号
- Git:状态、diff、日志、暂存、提交、分支、推送/拉取/抓取、stash、reset
- 搜索:文件名搜索、全文搜索,Rust 后端索引
- 其他:多套内置主题、原生系统菜单、从 Open VSX 安装扩展、SQLite 存储与自动保存
内置 AI Agent
SideX 自带编程助手,不需要注册任何账号:应用启动时会拉起一个本地 Go 服务(绑定 127.0.0.1 随机端口),请求从编辑器直达你指定的模型服务商。
模型需要自己在 设置 → Models 中配置,凭据按以下顺序解析:
- 设置中填写的密钥
- 环境变量(如
ANTHROPIC_API_KEY、OPENAI_API_KEY) - 本机已有的 Claude Code / Codex CLI 登录(按服务商选择性开启)
- 回环地址上的本地模型服务(Ollama、LM Studio、llama.cpp、vLLM)自动探测
注意:该服务会代为执行 shell 命令和修改文件。默认只监听回环地址是刻意的安全边界,除非你清楚风险并自行加上鉴权,否则不要用
SIDEX_ALLOW_UNAUTHENTICATED=1对外暴露。
快速开始
开发模式运行:
git clone https://github.com/Sidenai/sidex.git
cd sidex
npm install
npm run tauri dev
从源码构建:
npm install
npx tauri build
首次构建因 Rust 编译通常需要 5–10 分钟。若需要 AI 聊天面板,还需单独编译 Go 服务端(要求 Go 1.26+):
cd sidexai/sidex-server
go build -tags fts5 -o sidex-server ./cmd/server
不编译该服务时,除聊天面板外其余功能均可正常使用。
适合谁
适合想研究 Tauri 替代 Electron 方案的开发者、希望拥有更轻量编辑器的高级用户,以及愿意参与早期开源 IDE 共建的贡献者。当前扩展宿主和调试器尚未完成,暂不建议作为唯一主力开发环境。
评论
- 暂无评论,来写第一条吧。