logo NodeSeekbeta

[开源自荐] Aether:基于 Electron+React 的本地优先 AI 桌面端,自带多模型竞技场与 MCP 智能体支持

各位 NodeSeek 的佬友们好,

我是之前写过 dsh-ui-appearance(DeepSeek Harness 外观定制插件)的开发者。最近我业余时间捣鼓了一个新的独立开源项目,想在这里和大家分享一下。

由于平时折腾服务器和写代码,我非常需要一个能聚合各大 API、且能真正在本地帮我干活的 AI 客户端。市面上有很多纯终端的极简工具,虽然极其轻量,也深受论坛大佬们的喜爱(比如前段时间很火的纯 Rust 客户端),但在处理多模态内容、对比长段代码或进行复杂的多模型调度时,纯文本界面有时不够直观。

因此,我开源了 Aether —— 一个兼顾视觉体验与底层控制力的本地优先(Local-first)多模型桌面级 AI 聊天客户端。

🌟 核心技术亮点:

数据主权与本地优先:对于咱们经常处理包含敏感 IP 矩阵、SSH 密钥或者私有业务代码的系统极客来说,数据不出本地是底线。Aether 的配置文件、对话历史和提示词模板全部下沉在本地文件系统中。配合本地运行的 Ollama 或 vLLM 环境,你可以构建一个具备“网络气隙”级别安全性的纯离线大模型工作流。

Agent 与 MCP (Model Context Protocol) 深度集成:它不只是个“打字聊天框”,而是深度集成了 MCP 协议。大模型可以通过调用外部工具,从“一个会聊天的 AI”变成“一组能长期干活的 AI 员工”。

硬核实操案例:你可以编写或挂载一个简单的 MCP Server 插件,让 Aether 直接越过沙盒读取你本地的系统文件。比如,当你部署的服务挂掉时,你可以直接让 Aether 运行并分析日志。AI 会通过 MCP 自动抓取 /var/log/syslog 甚至特定 Docker 容器的最新报错,分析崩溃原因并直接在 Aether 界面里给你生成修复脚本或配置文件。这彻底打破了以往“复制日志 -> 切换到网页端粘贴 -> 问 AI”的繁琐流程。

Arena(竞技场)模式:大家手里可能都捏着好几家中转 API,天天测各家模型的智商。Aether 内置了 Arena 模式,你可以左右分屏,用同一个提示词并行调用不同的模型接口。通过直观对比各个模型在生成代码或分析日志时的表现,动态优化 API 调用的经济成本。

多语言与高颜值界面:原生支持 15 种语言的热切换,界面采用现代化设计,保证视觉上的沉浸感。

💡 关于技术栈(Electron + React)的一点坦白:

我知道论坛里很多大佬对 Electron 有“内存焦虑”,对基于 Chromium 的桌面应用持保留态度。确实,Aether 在包体积上比纯底层语言写的终端工具要大。但选择 Electron + React 是为了实现快速的跨平台交付,并且在处理复杂的图表渲染、多语言即时切换以及高频重绘的流式文本时,提供最流畅的用户界面。我在前端渲染树优化和无用组件懒加载上做了大量精简,日常常驻的性能表现绝对在可控范围内。

🚀 获取与安装:

项目完全开源,无内购、无强制遥测。

🔗 GitHub 仓库地址:https://github.com/TQSY114514/Aether

ac2052

大家可以直接去 GitHub Releases 页面下载对应系统(Windows、macOS、Linux)的安装包,也提供了源码编译指南。如果你觉得这个工具对日常开发和运维有帮助,欢迎去点个 Star 支持一下!

如果你遇到了环境导致的闪退,或者对如何编写 MCP 插件有想法,直接在帖子下面留言或者提 Issue。我绑定了 TG 机器人,有消息推送后会第一时间跟进解答和修复。

感谢大家的时间,希望能和 NodeSeek 的大佬们一起共建这套本地化工作流生态!

123
  • 不过实话实说,这也只是我这个学生的小项目,确实是达不到比肩hermes,codex,Claude code,opencode这种的()

    并且因为是学生更新也不会太频繁,实在抱歉 ac35

  • @ggchaos #18 Local-first(本地优先)并不等同于 Local-only(只能跑本地)。

    只要使用的是云端模型,当次推理必然需要把 Prompt、上下文和工具调用结果发送给 API,这是大模型工作的基本机制。Aether 所谓的“本地优先”,主要区别在于数据主权、状态管理与控制权在哪里:

    状态与资产尽量留在本地:对话历史、会话配置、长期记忆、模型配置等由 Aether 本地管理,目前运行时数据存储在本机 SQLite 中;项目指令、Agent 知识库等也可以直接由本地文件提供。数据不需要依赖 Aether 自己的云端数据库才能使用。
    控制平面在本地:上下文组装、Agent Loop、工具调用、权限控制以及本地代码执行都在你的电脑上完成。Aether 本身没有中心化云端服务器去中转和持久化这些数据;配置什么 Provider,就由本地 Aether 直接调用对应的 API。
    模型随时可换:既可以接 Ollama、LM Studio 这类本地模型,也可以直连 DeepSeek、Claude、OpenAI 等商业 API。

    至于“其他 Agent 也能接 API”——确实如此。Aether 的优势并不是“只有它能接 API”,而是希望把 Agent 本身作为本地工作台,把模型当成可插拔的算力后端。

    商业产品往往会把账号、工作区、历史数据和模型服务绑定在同一个平台里;而 Aether 更偏向于把这些控制权留在用户自己的机器上。它本身就是从我自己的使用需求出发做的:不想再额外依赖一个平台数据库,只想让数据留在本机,模型则按自己的需要随时替换。

    如果正好有人喜欢这种“数据和 Agent 状态在本地、模型只是可插拔后端”的方式,那 Aether 可能会比较趁手。

    非常感谢你的提问!

  • @ggchaos #18 “其他 Agent 也能接 API”——确实如此,现在很多大厂和成熟工具生态非常完备,功能和完成度上 Aether 作为一个个人开发的小项目自然没法相比。

    商业产品很多需要登录账号、数据进云端库,或者绑定了特定的生态;而 Aether 的初衷就是为了满足我自己的需求:不想要中间层数据库,不想要繁重的平台绑定,只想用最纯粹透明的本地文件来管 Prompt 和历史,同时直连 API 干活。

  • 先star,正想找一个桌面端agent和codex互补

  • bd,加油

  • 6NH3U9syef7dFOehDMzg1RhYyWRptTRM.webp
    这个是什么意思,打不开 xhj002

  • 不过实话实说,这也只是我这个学生的小项目,确实是达不到比肩hermes,codex这种的()

  • ⁠

  • @snnabb #3 "非常感谢反馈!该问题是 v0.8.0 发布包在打包时遗漏了主进程文件查找模块的运行时依赖所致。现已完成 Node 原生 glob 重构并修复了该依赖问题,请升级至最新的 v0.8.1 安装包即可正常使用。"

  • @TQSY #7 好,等这条回复两天了 xhj029 辛苦了楼主开发不易

  • ⁠@snnabb #8 哈哈,其实是这几天上学去了()()

  • @TQSY #9 嗯嗯,上学重要,明天我重新下载一下试试

123

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72196位seeker

🎉欢迎新用户🎉