AX 爱鲜报

SideX

用 Tauri 重写 VS Code 工作台的实验性项目:保留同一套 TypeScript 前端与 Monaco 编辑器,用 Rust 后端和系统原生 WebView 替代 Electron,体积与内存占用大幅降低。

爱鲜报评分

0.0

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 中配置,凭据按以下顺序解析:

  1. 设置中填写的密钥
  2. 环境变量(如 ANTHROPIC_API_KEY、OPENAI_API_KEY)
  3. 本机已有的 Claude Code / Codex CLI 登录(按服务商选择性开启)
  4. 回环地址上的本地模型服务(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 共建的贡献者。当前扩展宿主和调试器尚未完成,暂不建议作为唯一主力开发环境。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。