@snnabb #10 今天 Aether 又做了一轮比较大的更新,基本把 v0.9 收尾了,顺便整个 UI / Desktop Shell / 流式 Agent 体验都重做了一遍,可以看看吗((())) 预览图:https://postimg.cc/1V4HYh9C
今天(9/13,北京时间)一共 13 个提交 + 合并了 PR #76,代码层面 85 个文件、+2373/-1044 行(不含图片)。确实是个大工程,主线是 收尾 v0.9 批次 → 全面重做 UI/品牌。分四块: 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。
新版本预告 体量大约 +6143 / −1278,约 80 个文件。定位是把 Aether 做成「本地优先的 Agent 工作台 + 内置 Arena」,顺带把聊天输入和主题收拾干净。你最近几轮已经在修审查问题,最新提交是 fix(review): resolve latest CodeRabbit review feedback...。 这版实际加了什么 模型怎么选 个人路由统一进 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 目前失败。
反复阅读了说明,强调的本地优先 - 对话历史和提示词模板全部下沉在本地文件系统中 对话历史是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 可能会比较趁手。 非常感谢你的提问!
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/品牌。分四块:
安全: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。
@TQSY #12 好
新版本预告
体量大约 +6143 / −1278,约 80 个文件。定位是把 Aether 做成「本地优先的 Agent 工作台 + 内置 Arena」,顺带把聊天输入和主题收拾干净。你最近几轮已经在修审查问题,最新提交是 fix(review): resolve latest CodeRabbit review feedback...。
这版实际加了什么
个人路由统一进 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
无任何其他意思,单纯好奇怎么个本地优先法…
更新预览:https://github.com/TQSY114514/Aether/pull/81
晚点就会发布
@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 可能会比较趁手。
非常感谢你的提问!