Athas 目标成为一款基于 Rust 和 React 构建的快速代码编辑器
每次在老旧笔记本上打开 VS Code,或者同时打开五个大型项目时,风扇就会开始发出警告,暗示 Electron 正在消耗大量资源。近年来,许多开发者尝试构建快速编辑器:有些人转向使用 Neovim 的终端,有些人则像 Zed 一样用纯 Rust 和 GPU 渲染从头重写一切。
我最近在 GitHub 上发现了 Athas 项目。作者选择了一条中间路线:他们用 Tauri 打包编辑器,将 Rust 后端与 React 和 TypeScript 前端相结合。
核心架构与设计理念
大多数传统编辑器走向两个极端。一方面是消耗数 GB 内存的重量级 Electron 应用。另一方面是需要花费数周时间通过配置文件来配置功能的极简编辑器。
Athas 从两种方案中各取所长。Tauri 利用系统的 WebView 而非捆绑整个 Chromium 实例,这样二进制文件更小、内存占用显著降低。同时,开发者保留了 React 驱动的 Web 界面的灵活性。
所有系统级操作都在 Rust 部分处理。项目采用开源 AGPL-3.0 许可证,支持 Linux、macOS 和 Windows。
编辑器内置功能
README 简洁明了,但功能集涵盖了日常开发工作所需的几乎完整工具链。
内置 AI 代理
如今,很少有编辑器能离开神经网络。Athas 从一开始就内置了 AI 代理集成,帮助你编写代码、调试错误以及自动化项目中的常规任务。无需盲目安装第三方插件。
LSP 支持与语法高亮
完整的语言服务器协议支持提供自动补全、符号导航、跳转定义和类型检查。没有 LSP,编辑器只是记事本;有了 LSP,它就成为 TypeScript、Rust、Python 或 Go 的全功能开发环境。
开箱即用的 Vim 模式
如果你的手指已经习惯了普通模式、视图模式和插入模式,就无需重新学习。Vim 模式直接内置于编辑器中,因此喜欢无鼠标导航的用户从第一分钟起就会感到舒适。
Git 和终端集成
界面包含基本的仓库操作:查看 diff、提交和分支切换。底部打开熟悉的集成终端,无需在独立窗口之间切换。
内置数据库浏览器
对于轻量级编辑器来说这是一个意外的功能。无需保持单独的 DBeaver 或 DataGrip 打开,你可以在 Athas 工作区中直接浏览数据库表和结构。
协作与企业管理策略
开发者内置了实时协作编辑工具。对于团队,他们添加了托管模式和扩展白名单功能,这对于有严格安全策略的公司尤为重要。
架构亮点
Tauri、React 和 Rust 的组合看起来很有趣:
┌─────────────────────────────────────────┐
│ UI: React + TypeScript │ (Интерфейс, темы, компоненты)
└────────────────────┬────────────────────┘
│ IPC / Wasm
┌────────────────────▼────────────────────┐
│ Tauri Core │ (Системные вызовы, WebView)
└────────────────────┬────────────────────┘
│ Rust FFI
┌────────────────────▼────────────────────┐
│ LSP Client, Git, FS, AI Engine │ (Нативная производительность)
└─────────────────────────────────────────┘
重量级任务(文件解析、文件系统操作、LSP 进程启动)由 Rust 处理。Web 层仅负责界面渲染。这消除了后台扫描目录树或索引大型仓库时的输入延迟。
如何试用
所有平台的最新构建版本都在项目仓库的 Releases 标签页中提供:
# Клонирование репозитория для локальной сборки
git clone https://github.com/athasdev/athas.git
cd athas
# Установка зависимостей и запуск в dev-режиме
pnpm install
pnpm tauri dev
构建需要安装 Rust(通过 rustup)、Node.js 和 pnpm。项目更新活跃,因此日常使用直接下载 releases 中的 DMG 或 AppImage 更简单。
值得一试吗
Athas 不太可能明天就取代所有开发者熟悉的 IDE,但这个项目看起来很有前景。对于寻求平衡的人来说是个不错的选择:想要图形界面和 AI、LSP 等现代功能,但又厌倦了 Electron 的资源消耗。
如果你需要一款快速的辅助工具来处理小型编辑、边项目或在弱配置笔记本上工作,值得一试。源代码在 GitHub 上开源,关注这个项目的发展肯定很有趣。
相关项目