
anarlog 1.0.29 版本更新解读悬浮会议面板、批量转录通知与非英语转录稳定性【免费下载链接】anarlogOpen source Granola AI Alternative项目地址: https://gitcode.com/GitHub_Trending/hy/anarloganarlog 1.0.29 是一次聚焦会议录制与转录体验的迭代重点引入了会议期间的置顶悬浮控制面板、批量转录完成通知并大幅强化了Soniqo 非英语转录与多语言回退的稳定性。本文以版本更新文档packages/changelog/content/1.0.29.md为主体结合仓库源码逐条拆解本次更新的实现原理与实战影响帮助你在升级后快速掌握新能力也便于理解其底层工作方式。Meetings置顶悬浮会议面板与更聪明的自动停止置顶悬浮会议面板Floating Meeting Panel实时会议Live Session期间应用现在会提供一个始终置顶always-on-top的悬浮会议面板作为会议控制的快捷入口。该面板具备两级形态紧凑折叠态collapsed占用最小屏幕空间适合会议进行中不打断视野展开选项卡expanded tabs展开后提供一组快速会议控制覆盖开始监听、加入远端会议、打开日历等操作。同时悬浮面板上的会话操作按钮获得了更稳定的尺寸与内边距避免在不同会话状态切换时按钮布局跳动。从源码结构看这套悬浮面板由桌面端的前端控制层与原生窗口层共同实现核心文件位于 apps/desktop/src/meeting-float/host.tsx 与 apps/desktop/src/meeting-float/window-panel.tsFloatingMeetingWindowHost作为面板宿主组件通过floating_bar_enabled配置项与isFloatingBarSupported()判断平台是否支持悬浮层支持且开启时挂载FloatingMeetingWindowSync否则走FloatingMeetingWindowDisabled主动隐藏面板createFloatingMeetingWindowSynchronizer是一个带版本号的路由同步器desiredRevision/appliedRevision把监听状态、会话标题、说话人标签、实时字幕气泡等输入收敛成一份FloatingRouteState再增量地推送给原生窗口。当多个状态源listener store、会议数据订阅、主题变化频繁变化时它通过期望修订号机制合并中间态避免面板闪烁或重复刷新原生侧命令包括floatingBarShow、floatingBarUpdate、floatingBarHide与floatingBarUpdateAmplitude。其中floatingBarUpdateAmplitude用于仅振幅变化的增量更新只要会话、标题、状态、颜色方案、字幕等字段都没变只推振幅数据大幅降低高频振幅刷新对面板的开销见isAmplitudeOnlyFloatingRouteUpdate的判断逻辑面板还联动floatingBarStop从面板停止录制、floatingBarOpenMain从面板唤起主窗口两个原生事件让悬浮面板成为真正可操作的控制台而非纯展示层。浏览器会议自动停止增加确认环节浏览器会议Browser Meeting场景下自动停止逻辑新增了防误判保护当会议看起来远早于计划结束时间就消失时应用会先询问用户是否结束录制而不是直接停止。这一改动避免因网络抖动、页面短暂失焦或日历误读导致的提前截断属于录制可靠性的防御性增强。Transcription批量转录完成通知与更稳定的长任务完成通知与唯一通知键批量转录Batch Transcription是后台耗时任务此前用户在应用被隐藏或未聚焦时无法及时感知完成。1.0.29 起批量转录完成后会发送一条桌面通知且通知在多次重复运行时更加可靠。可靠性提升的关键是为每个完成的会话生成唯一的通知键。见 apps/desktop/src/stt/batch-completed-notification.tsexport const BATCH_COMPLETED_NOTIFICATION_KEY_PREFIX batch-completed: as const; export function createBatchCompletedNotificationKey(sessionId: string) { return ${BATCH_COMPLETED_NOTIFICATION_KEY_PREFIX}${sessionId}:${crypto.randomUUID()}; }通知键格式为batch-completed:sessionId:uuid通过追加随机 UUID 保证同一会话的每次完成通知都是独立的新通知同时parseBatchCompletedNotificationKey兼容旧的batch-completed-前缀格式避免历史版本遗留键无法解析。长批量任务的轮询与上传改进更长的批量录音现在能更可靠地跑完得益于两处后端调整更长的 provider 轮询转录代理crates/transcribe-proxy在等待上游转录结果时使用可配置的重试与超时策略RetryConfig、connect_timeoutis_retryable_error会把包含timeout之类的错误识别为可重试错误长录音所需的长时间轮询因此不易被过早判死更大的音频上传处理批量上传侧放宽了单次请求的音频数据量限制使超长录音不再因分段上传的边界问题失败。这些调整共同降低了录了很久却转录失败的概率对大会、课程等长内容录制尤为关键。Soniqo 非英语转录语言提示与批次模式兜底Soniqo 转录对德语及其他非英语录音的稳定性明显改善。核心逻辑位于 crates/listener2-core/src/batch/simple/local.rslet language_hint soniqo_language_hint(language.as_deref());soniqo_language_hint会把可用的语言信息转换成 Soniqo 引擎能识别的语言提示。当实时转录无法强制注入语言提示时这些非英语会话会被**保留在批次模式batch mode**下运行——即不再强行走实时流式转录而是以批量任务的方式完成从而获得更稳定的德语等多语言识别效果。这解释了更新说明中keeping those sessions on batch mode的语义稳定性优先于实时性。多语言 Pro 批量转录自动语言检测回退针对多语言multi-languagePro 批量转录1.0.29 增加了回退机制当首选转录 provider 不可用时自动回退到自动语言检测。这意味着即使指定了语言偏好的服务暂时不可达任务也不会直接失败而是交给自动语言检测继续完成提升了多语言场景下的任务完成率。Notes Summaries笔记元数据一致性与样式统一本次更新对笔记生成做了三处细节打磨新空白笔记自动包含你为参与者新建空白笔记会默认把当前用户加入参与者列表使笔记元数据与会议驱动的会话保持一致避免后续按参与者过滤或统计时出现缺口纯自己的空笔记仍会自动清理虽然空白笔记带上了参与者但只有自己且内容为空的笔记在不再需要时仍会按既有策略自动清理不会在笔记列表中堆积垃圾条目增强摘要与流式摘要的标题缩放统一完成的增强摘要enhanced summaries现在与流式摘要streaming summaries使用同一套标题字号体系保证同一会话的生成笔记在视觉层级上一致减少切换阅读时的跳变感。UI Account系统字体、试用对话框与启动清理界面与账户侧的变化虽小但对日常观感与首次体验影响直接全面改用系统无衬线字体应用与官网统一使用系统 sans 字体族屏幕观感更干净、更贴近原生平台也减少了跨平台字体的渲染差异过期 Pro 试用对话框补充本地转录说明当 Pro 试用到期时对话框现在会明确说明——免费的本地转录仍然可用只是准确率低于 Pro 云转录。这避免了用户误以为试用到期后完全无法转录属于信息透明度改进清理开发者专属启动警告移除了部分仅对开发者有意义的启动期警告日志使应用启动后更可预期地直接打开悬浮会议面板减少启动阶段的日志噪音对面板初始化的干扰。升级与验证建议升级到 1.0.29 后开启一次实时会议验证悬浮面板的折叠/展开切换、开始监听与加入远端会议按钮的尺寸稳定性以及从面板直接停止录制、唤起主窗口的联动是否正常触发一次批量转录并最小化应用确认完成时能收到桌面通知并检查连续完成多个会话时通知是否为独立条目唯一通知键使用德语或其他非英语音频测试 Soniqo 转录确认其稳定回退到批次模式并产出结果若订阅多语言 Pro可在首选 provider 临时不可用时观察自动语言检测回退是否生效。本文所有功能描述均可在对应版本更新文档packages/changelog/content/1.0.29.md中找到原始说明并通过上述源码路径进一步核对实现细节供你深入排查或二次开发时参考。【免费下载链接】anarlogOpen source Granola AI Alternative项目地址: https://gitcode.com/GitHub_Trending/hy/anarlog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考