2.0 模型设置界面 + macOS 修复批次(合入 beta 最新四项) - #1050
Merged
Merged
Conversation
added 30 commits
August 16, 2026 17:09
- 主页前置下一步与真实服务状态,服务卡直达对应设置;概览与热力图排布调整 - 设置按任务分类并支持搜索、焦点返回与 Escape 语义;旧 section ID 保持稳定 - AI 分区拆分语言模型/语音识别/本地模型/连接;渠道列表与表单重构,设置实底 - 本地模型管理与下载目录重排,补空态、主操作与窄屏布局 - Core 生成 provider descriptor 公开目录供浏览器预览懒加载,原生 IPC 合同不变 - Linux egui 按开始/听写/AI 服务/模型/工具/手机输入/历史/设置组织页面并加环境引导 - 五语言文案与文档(体验梳理、架构、计划收口)同步
删除已完成/已收口任务的规划与过程记录(2.0 UX 收口、Core 2.0 计划、 PR#1019 复核与桌面复审、平台边界审计、Linux 引导知识快照、 Linux 共享后端阶段计划、供应商渠道计划、Windows sherpa 规划、 PR#711 评审截图、应用内测试计划),保留规范性文档、验收清单、 Linux 交接目录与运营指南,并修复全部引用链接。
修正 92da4fb 中误随 git add -A 提交的 Mimosa 安全钩子运行状态文件; 该目录为插件会话状态,不属于版本库,已忽略以防再次混入。
前端:chat 桶文件、SegSimple、SwitchLite、androidMicrophonePermission 转发 shim、SelectionPolishSection 孤儿分区、autostart 环境类型声明;依赖移除 @formkit/auto-animate 与 @tauri-apps/plugin-autostart npm 包装层(Rust 插件 与 capability 保留,autostart 经原生 invoke 字符串调用)。 Rust:polish 旧副本两文件、android/types.rs、remote_server/lan_addresses.rs (均为 Core 2.0 整合遗留,模块树未引用,编译行为不变)。 npm test 构建与全部测试通过;三 crate cargo fmt --check 干净。
保留目录骨架与文件名,内容全部以当前源码为依据重写:范围与版本锚点 (2.0.0-Beta.1 / crate 0.1.0 / com.openless.app)、架构分层与 Core 模块地图、 桌面验收清单(功能域→源码入口→证据)、Linux 交接 8 篇(沿用 L01-L12 登记体系, 锚点落到 settings.rs/audio.rs/ports.rs 等)、后端接口契约、Android 计划、 运营指南 5 篇(以 provider descriptor 与实际 CSP/.gitmodules 为锚)。 原过程中的计划叙述、截图与历史收口记录不再保留。
volcengine-setup.md 重写为以 descriptor 为锚后,旧指南的 4 张控制台 截图不再被任何文档引用。
#1021 重构后 WindowsKeyboardRuntimeTarget 由插入模式派生:默认 TSF 模式下 翻转 keyboard-list 偏好不产生有效目标变化,Linux 接受并广播 PreferencesChanged; 将插入模式切到 SendInput 且隐藏键盘列表会真正驱动 Windows 语言 profile, 合同仍要求显式拒绝(Unsupported)。旧断言只翻转原始字段,与新语义冲突。
Consolidate the current 2.0 sidebar, overview, settings, vocabulary editing, correction rules page, and first-launch splash with their Core and Tauri adapters. Include the accompanying source and architecture documentation updates. Validation: npm test (build and 73 discovered test files); cargo test -p openless-core --locked; Core/Linux and Tauri rustfmt checks.
… cloud-sync groundwork - 渠道设置界面:ChannelList/LlmProtocolFields/ProvidersSection 渠道级协议与模型配置 - 8 种界面语言 1711 项文案对齐(de/en/es/fr/ja/ko/zh-CN/zh-TW) - Core 协议层 llm_protocol 与 provider_service 配套、云同步准备 - linux-egui 后端与 Android updater 配套调整
…(偏好写入门控 + 语言区域同步与 2.0 布局偏好并存)
- de/es/fr(2.0 新增语言)补 common.experimental、providers.orcarouter、 searchModels/noMatchingModels/orcarouterCatalogHint/orcarouterAsrCatalogHint - streamingInsertTitleLinux/sherpaTitle 等按 experimentalTitles 测试统一措辞 - 移除 locale 强制同步输出语言的 effect:2.0 设计为 UI 语言独立于输出/ 识别语言(locale-lifecycle 测试守护),保留偏好写入门控本身
…返回保存后 prefs 的契约 首次合并遗留的未解决冲突:以 1d29f8a 干净版为底(2.0 SettingsRuntime effect-plan 架构),叠加 fix/settings-experimental-consistency 的返回值 契约(桌面 set_settings 返回 UserPreferences,与前端 setSettings 对齐)。
- typeless 胶囊窗口 460×128 → 174×48(面积 1/7),内容 CSS zoom 0.378 同步缩放; 底部间距按样式区分,typeless 贴紧工作区底边(Dock 可见时贴其上沿,自动隐藏时贴屏幕底) - 红绿灯 trafficLightPosition y 16→26:实测左间距 21.5、上间距 12,下移 9.5px 后两边距相等 - 启动时把偏好 active ASR 同步进凭据库(原仅 Windows):get_credentials 按凭据库 active 渠道取密钥,脱钩会误报「语音识别未配置」并弹设置提示 - Keychain 节流:credentials.v2 补写与旧版逐账户扫描每进程只做一次并缓存结果, 失败重放同一错误;新增凭据来源一次性日志
- tauri build 退出码非零不再夭折脚本:.app 已生成时用 hdiutil 兜底打包 DMG, 内容含 /Applications 替身,保留拖拽安装 - Cargo.toml Xcode 27 beta 构建注释压缩为一行事实 + 对策
听写运行时对空 resource id 回落 volc.seedasr.sauc.duration(resolve_resource_id), 但 volcengine_configured 把它当硬门槛:合法的「密钥齐全、资源 id 留空」配置被误报 「语音识别未配置」并每次启动弹配置提示。认证是否就绪只取决于密钥本身。
- 窗口 174×48 → 206×57,CSS zoom 0.378 → 0.447(面积 = 原版 460×128 的 1/5) - typeless 配色改为黑色胶囊 + 白色波纹(深色主题同调) - VoiceOrbStage 提取为独立组件;设置页 Siri 预览直接渲染缩放 0.5 的真实 SiriGL 光条,与实际胶囊样式一致
- 本地混跑 cargo check/test/build 会按 feature 上下文生成多份 qwen3-asr-rs 构建目录,多份 metallib 会让暂存脚本拒绝猜测 - 打包后原始二进制还会被签名触碰,bundle 新鲜度不能与它比,改与本构建 开始时间比
LocalAsrModelStatus 补齐 display_name/family/mode/languages/size_bytes, 前端无需为基础元数据实时访问 HuggingFace;新增 local_asr_cleanup_incomplete 命令(LocalAsrApi 默认实现 + Service 实现 + 前端包装)清理 staging 目录; sherpa 目录新增 zipformer-bilingual-zh-en-streaming 流式中英模型并补齐八语文案。 修复测试里 LocalAsrTarget::parse 的 .into() 类型推断歧义。
…实时语音、#1044 统一模型字段与异步保存隔离)并完成 2.0 UI 适配 冲突解决原则:2.0 重写的界面以本地为准,云端功能语义全部移植—— - ProviderForm 离开收敛接入 SettingsModal / ChannelList / LlmProtocolFields / CredentialField(关闭、切节、换供应商前冲掉防抖写入并等待在途写完成) - 腾讯云三段式密钥 + 固定模型档分支移植进 2.0 ChannelCredentialFields;OAuth 静态模型走描述符 - Mac 听写键进入 ShortcutRecorder(allowMacDictationKey)并改用 refresh 拉新偏好 - 远程输入手机页新证书信任流程(持久本地 CA + 描述文件/CA 下载 + 复制链接),de/es/fr 补齐全套新文案 - 纯格式分歧文件取云端后 prettier 归一;双方新增内容(i18n、测试)两侧保留
added 3 commits
September 10, 2026 16:54
- build-mac.sh 移除 hdiutil DMG 兜底:bundle contract 测试显式禁止手搓 DMG 绕过签名/公证链路;DMG 缺失即失败(保留 qwen3-asr-rs 剪枝与 BUILD_START_TS 新鲜度校验) - 红绿灯 y=26 契约:tao 几何下视觉顶距≈y-14,x==y 并不相等(实测左 21.5px) - 胶囊几何契约同步 typeless 206×57(原 460×128 的 1/5 面积) - LLM_LABELS 补 tencentTokenHub 静态目录项(ASR_LABELS 已含 tencent-cloud)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
2.0 模型设置分支(feat/ui-2.0-model-settings)合入 beta 最新四个提交并完成适配:
本分支原有工作
合并 origin/beta(#1037 / #1040 / #1020 / #1044)的适配
测试