logo NodeSeekbeta

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

123
  • BD,让需要的人看到

  • @snnabb #10 今天 Aether 又做了一轮比较大的更新,基本把 v0.9 收尾了,顺便整个 UI / Desktop Shell / 流式 Agent 体验都重做了一遍,可以看看吗((()))
    预览图:https://postimg.cc/1V4HYh9C

  • 今天(9/13,北京时间)一共 13 个提交 + 合并了 PR #76,代码层面 85 个文件、+2373/-1044 行(不含图片)。确实是个大工程,主线是 收尾 v0.9 批次 → 全面重做 UI/品牌。分四块:

    1. v0.9 批次加固、过 CodeRabbit 三轮 review(上午,b28815b / 182e655)

    安全:fs:list-dir 用 realpath 防 symlink 穿越;web_visualize 对 will-redirect/will-navigate 做 SSRF 校验、可取消 signal、写盘受文件系统权限门控;envSanitizer 新增 SSH_AUTH_SOCK / DOCKER_AUTH_CONFIG 敏感键
    toolLoop:多模态 payload 按 JSON 序列化大小计入 totalChars,每次重试传独立 AbortSignal
    前端修 bug:FileTree 刷新清空、undo/redo 丢 tool/plan 状态、首启向导挂载条件、ChatWindow clearSearch 重置
    新增 webVisualize 测试、i18n 重生成、竞品分析改为 29 家
    2. 品牌重做(94498d6 → 4a8cd6f / 51722b2 / adca46f)

    新 logo(几何 → 动漫吉祥物徽标)、暗色发光图标、全套 16~256 尺寸重生成,新增 apply-new-brand.js 脚本
    README hero banner 新增并反复调整(暗→亮底、780px→480px),14 种语言 README 同步
    3. 桌面原生 Shell + 设计系统 v2(下午,baad9fd / 0642ae8 / 2280e58)

    Electron 无边框 WCO 沉浸式标题栏:titleBarStyle: hidden、Windows 三键 overlay + macOS 红绿灯位置,新增 system:set-title-bar-overlay IPC 让三键颜色随主题同步,.app-drag/.app-no-drag 拖拽区域
    主题色板全换成 Zinc/Slate 系(light/dark/blue/glass),去掉 --btn-* 类变量;新增 Badge/Button/Input/Modal 基础 UI 组件
    MessageBubble 重写为"开发者 transcript"风格,Sidebar 大改;然后一口气把 34 个次级页面/浮层对齐到 v2
    4. 设置页 & 聊天体验(89c58a8 / d7f7a14 / addd00f)

    SettingPage 重构为 4 Tab(通用/Agent/扩展/高级)分段控件,+800 行;自我进化页改成后台自主循环 + 一键开关;页面切换 fade 动效
    流式输出:纯文本改为 RAF 节流的实时 Markdown 渲染;修 streamingBySession.messageId 不同步导致 Thinking/ToolCall 块流式期间不显示的问题(新增 onThinkingStart 监听)
    收尾:WCO 三键高度对齐 48px 头部、抽屉头加 padding 避让系统按钮、删掉 ChatPage/EmptyState 冗余模型 badge
    一句话:上午把 v0.9 的安全/review 尾巴收干净并合入 main,下午从 logo 到窗口边框到每个页面把整个 App 换了一层皮,顺手修了流式渲染的核心 bug。

  • PixPin_2026-09-13_20-34-18.png拉取模型 yct002 全是DeepSeek,而且还没法选择 yct021

  • 新版本预告
    体量大约 +6143 / −1278,约 80 个文件。定位是把 Aether 做成「本地优先的 Agent 工作台 + 内置 Arena」,顺带把聊天输入和主题收拾干净。你最近几轮已经在修审查问题,最新提交是 fix(review): resolve latest CodeRabbit review feedback...。

    这版实际加了什么

    1. 模型怎么选

    个人路由统一进 modelAdvisor:短指令不再被当成闲聊,ELO 缩放也修了。
    没打过场的模型继续用静态智力分;打满约 5 场后,实战 ELO 权重拉到 60%–80%。
    聊天发送链路都走同一套路由。
    2. Objective Arena(核心新能力)

    候选模型在临时目录里出补丁,自动跑 vitest / npm test 这类验证命令。
    按退出码、耗时、输出判胜负,ELO 写进 SQLite。
    前端有评测面板,支持提交和中途停止。
    3. Agent 执行层

    toolLoop 拆成 runtime / scheduler / permission / stateMachine。
    仓库上下文预算按任务弹性给 1280–8192 token。
    改前端文件后可用离屏 Chromium 做视觉验证,控制台报错会喂回修复循环。
    补丁引擎、模糊匹配、会话分支、供应商延迟测试、模型列表同步也都扩了。
    4. UI / 主题

    去掉 glass 主题(旧设置回落到 dark),增加 Metalheart、Post-Digital 等背景。
    输入框去掉幽灵字符 overlay,改回原生输入,IME 正常。
    底栏 /fix、/review、0-Telemetry、占位提示都加回来了。
    思考、计划、工具调用统一进 Agent 时间线。
    CI 里 typecheck、tests、build、smoke 是绿的;github-advanced-security 目前失败。

  • @pivar #15 感谢反馈,该问题已在最新版本中解决

  • 反复阅读了说明,强调的本地优先 - 对话历史和提示词模板全部下沉在本地文件系统中
    对话历史是AI与人交流生成的,提示词不发给AI能干活吗?

    还是主要就是搭配本地llm用?

    但貌似其他agent也能接API


    无任何其他意思,单纯好奇怎么个本地优先法…

  • @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 可能会比较趁手。

    非常感谢你的提问!

123

你好啊,陌生人!

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

📈用户数目📈

目前论坛共有72199位seeker

🎉欢迎新用户🎉