wangjia d22e02fa2e
ci / server (push) Failing after 9s
ci / design-tokens (push) Failing after 10s
fix(#23)+feat(#24): stop 后不再下发周期 usage 帧;gummy 预连接 spare 会话
#23 修复(服务端根治,五端客户端提交信号自动变安全):
- finish 先冻结会话并停 usageLoop,再 flush provider——此前 usageLoop 在
  waitResults(最长 3s)期间继续 tick,周期 usage 帧会抢在尾部 final 之前
  下发,客户端以 partial 文本提前上屏、丢失 final 修正(12B 实测 8s 会话
  4/4 复现;修复后 6/6 归零)
- 桌面端收尾兜底超时 350ms → 800ms(实测 8s 会话 final flush 需 350~540ms,
  350ms 会截丢尾 final)

#24 预连接(12B 调优):
- GummyProvider 常备一条已完成 run-task 握手的 spare 会话,start 直取,
  后台异步补位 + 40s 定期换新(DashScope 空闲 60s 断连,实测 60s 存活/
  120s Idle timeout,留余量 45s)
- 实测网关 start 处理 120~670ms → 3~4ms;消除 dial 抖动(实测 60ms~3.7s)
  对 first_partial 尾部的放大

gummycheck 增加 -model / -pace / -idle 参数,支持模型对比与闲置存活实验

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 19:44:25 +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%