wangjia 7b693b0f63
ci / server (push) Failing after 11s
ci / design-tokens (push) Failing after 11s
feat(12B): latencyprobe 延迟验收工具 + 会话建立耗时观测 + 滑动窗口只查不记修复
- cmd/latencyprobe:复刻桌面端行为(单连接串行、100ms/帧实时推流)实测
  网关全链路 first_partial / release_to_commit P50/P95,口径对齐 dictation.rs
- gummy/gateway 增加会话建立耗时日志(dial / task-started / start 总耗时),
  作为 first_partial 延迟分解的常驻观测点
- 修复 slideScript:val=0 的只查请求(AudioWindowExhausted)不再落 0 值成员,
  与注释「只查不记」一致,避免污染窗口 ZSET 并空耗 seq

12B 实测结论(gummy 真实 provider,本机网关):
- first_partial P50≈940ms:其中 DashScope 需收到 ~0.8s 音频内容才出首个
  partial(直连同样),网关暖路径开销仅 ~130ms、冷启 dial ~600ms
- release_to_commit:短会话 ~170ms 达标;8s 会话 350~540ms 超标(final
  flush 随内容量增长);偶发 DashScope 抖动可到秒级
- stop 后周期 usage 帧常先于尾部 final 到达,桌面端会以 partial 文本提前
  注入丢失 final 修正(iOS 已在 21A 修过同类问题,桌面端待修)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:03:27 +08:00

dudu(嘟嘟)语音输入法

付费语音输入法:大模型识别准确度 + 流式实时上屏 + 极简交互。全平台(Mac / Windows / iPhone / iPad / Android),桌面端按住全局快捷键说话,移动端键盘按住大麦克风说话。微信登录 + 微信支付时长包(不过期),每天免费试用 3 分钟。

仓库结构

server/           Go 后端(gin + gorilla/websocket + PostgreSQL + Redis
  pkg/protocol/   客户端协议常量与消息结构 —— 5 端对齐的唯一真相源
desktop/          桌面端 Tauri 2Mac + Windows
android/          Kotlin:主 App + IME Service
ios/              Swift:主 App + Keyboard Extension
design/           官方设计系统(tokens / React 组件 / UI kits)—— 界面唯一真相源
design-pipeline/  令牌导出管线:tokens.css → DuduTheme.swift / DuduTheme.kt
doc/              设计文档(HTML
todo/             项目 TODOtodo.html 看板,经 /todo skill 管理)

设计文档

文档 内容
doc/plan/design.html MVP 总体方案 v0.3(架构、里程碑、风险)
doc/frontend-design.html 前端实现设计 v1.1(100% 还原设计系统)
doc/backend-architecture.html 后端与数据架构 v1.1(API / 协议 / 计费账本)

开发

后端:

cd server
docker compose up -d          # postgres + redis
go run ./cmd/server           # 默认 :8080ASR_PROVIDER=mock
go test ./...

令牌导出(design/tokens 变更后执行并提交产物):

node design-pipeline/export-tokens.mjs          # 生成
node design-pipeline/export-tokens.mjs --check  # CI 校验

关键约定

  • 协议改动只改 server/pkg/protocol,各端对照实现
  • 界面规格以 design/ 为准,硬规则见 design/readme.md(一屏一个蓝主按钮 / 无渐变 / 无 emoji / 浮层永远深色玻璃)
  • 待办经 /todo 管理(看板 todo/todo.html),状态流转 open → doing → done →(用户验收)accepted
S
Description
No description provided
Readme 1.4 MiB
Languages
HTML 21.6%
JavaScript 20%
Swift 18.3%
Kotlin 16.5%
Go 12.7%
Other 10.8%