40760aa884
- server:Go 网关(WS 流式识别中继/计费配额/微信登录支付 mock/反馈/埋点),gummy provider 已真实联调 - desktop:Tauri 2(全局快捷键 push-to-talk/浮层/托盘/设置/登录购买/反馈/首启引导) - android:Compose 主 App + IME(键盘内录音直传) - ios:App + 键盘扩展(1A spike 实证键盘内不可录音,走 deep link 听写) - design/design-pipeline:设计系统 + token 导出 iOS/Android 主题 - doc:前后端设计文档(HTML);web:官网宣传页;todo:任务看板 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# dudu(嘟嘟)语音输入法
|
||
|
||
付费语音输入法:大模型识别准确度 + 流式实时上屏 + 极简交互。全平台(Mac / Windows / iPhone / iPad / Android),桌面端按住全局快捷键说话,移动端键盘按住大麦克风说话。微信登录 + 微信支付时长包(不过期),每天免费试用 3 分钟。
|
||
|
||
## 仓库结构
|
||
|
||
```
|
||
server/ Go 后端(gin + gorilla/websocket + PostgreSQL + Redis)
|
||
pkg/protocol/ 客户端协议常量与消息结构 —— 5 端对齐的唯一真相源
|
||
desktop/ 桌面端 Tauri 2(Mac + 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/ 项目 TODO(todo.html 看板,经 /todo skill 管理)
|
||
```
|
||
|
||
## 设计文档
|
||
|
||
| 文档 | 内容 |
|
||
|---|---|
|
||
| `doc/plan/design.html` | MVP 总体方案 v0.3(架构、里程碑、风险) |
|
||
| `doc/frontend-design.html` | 前端实现设计 v1.1(100% 还原设计系统) |
|
||
| `doc/backend-architecture.html` | 后端与数据架构 v1.1(API / 协议 / 计费账本) |
|
||
|
||
## 开发
|
||
|
||
后端:
|
||
|
||
```bash
|
||
cd server
|
||
docker compose up -d # postgres + redis
|
||
go run ./cmd/server # 默认 :8080,ASR_PROVIDER=mock
|
||
go test ./...
|
||
```
|
||
|
||
令牌导出(design/tokens 变更后执行并提交产物):
|
||
|
||
```bash
|
||
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
|