Commit Graph

30 Commits

Author SHA1 Message Date
8c7b9b45fd feat: 启用豆包二遍识别模式以提升实时性和准确率
- 切换到 bigmodel_async endpoint 并启用 enable_nonstream
- 第一遍流式识别提供实时文字预览
- VAD 分句后自动触发第二遍非流式识别提升准确率
- 修改文本处理逻辑从累加改为替换(适配 full 模式)
- 统一配置字段命名:app_key → app_id, access_key → access_token
2026-03-01 21:34:54 +08:00
e4b5841c93 fix: 修复历史记录不保存的问题(final 消息类型被错误覆盖为 partial) 2026-03-01 06:43:59 +08:00
cead3e42b8 docs: 添加 AGENTS.md 项目规范文档 2026-03-01 06:35:05 +08:00
bfaa792760 fix: 修复语音停顿导致提前粘贴的问题(累积文本,松开按钮才粘贴) 2026-03-01 06:34:55 +08:00
350e405fac feat: ASR 从双向流式切换为流式输入模式(bigmodel_nostream)
- endpoint 从 bigmodel_async 改为 bigmodel_nostream
- 二进制协议去掉 sequence 字段,初始请求和音频帧均不带序号
- 最后一帧使用 FlagLastNoSeq 标志
- RequestMeta 新增 result_type=single、end_window_size=400
- ShowUtterances 关闭(nostream 模式不需要)
- readLoop 简化:nostream 模式下直接返回 final 结果
2026-03-01 06:12:58 +08:00
ce1ff2d04d fix: 用 Pointer Events 替代 touch+mouse 事件,修复移动端双触发导致按钮卡死
- pointerdown/pointerup/pointerleave/pointercancel 统一处理所有输入
- 移除分离的 touchstart/touchend/mousedown/mouseup 事件绑定
- WS 断连时清理 pendingStart 状态,防止按钮永久卡死
- 添加 contextmenu 阻止长按弹出菜单
2026-03-01 05:49:07 +08:00
30e3271146 chore: 优化 package.json scripts 命名(check → lint/lint:fix) 2026-03-01 05:43:49 +08:00
d0be096165 feat: 前端迁移至 TypeScript,集成 Biome 格式化与代码检查
- app.js → app.ts:添加完整类型标注、接口定义
- audio-processor.js → audio-processor.ts:AudioWorklet 类型化
- vite.config.js → vite.config.ts
- 添加 tsconfig.json、vite-env.d.ts
- 集成 Biome 默认配置(lint + format),通过全部检查
- package.json 添加 check/typecheck 脚本
- index.html 修复无障碍问题(button type、SVG title)
2026-03-01 05:40:26 +08:00
b22b27db75 fix: 修复录音按钮快速按放导致按钮卡死的异步竞态问题 2026-03-01 05:30:47 +08:00
0ae2533421 chore: gitignore 添加 .task/ 目录 2026-03-01 05:20:53 +08:00
11fa2152c2 refactor: 前端 ignore 规则移至 web/.gitignore,减少根目录重复 2026-03-01 05:19:56 +08:00
7a3b37d9e7 refactor: Go 二进制输出到 dist/ 目录,避免污染项目根目录 2026-03-01 05:18:27 +08:00
32f58b681e fix: Taskfile 输出文件名自动适配平台后缀(Windows .exe) 2026-03-01 05:16:16 +08:00
4b5903b6a1 feat: 引入 Vite 前端工程化,解决浏览器缓存问题;AudioWorklet 独立打包带 hash 2026-03-01 05:13:19 +08:00
c4ea49b0a3 fix: 修复多 IP 时 AnyIP 域名全部相同的问题,每个 IP 生成各自的域名 2026-03-01 04:53:53 +08:00
2dbc916652 refactor: 移除二维码和交叉编译,改为列出所有 LAN IP 地址;清理依赖 2026-03-01 04:45:27 +08:00
5d17e2e9ac fix: 修复安卓 Chrome 无音频问题,移除强制 16kHz 采样率,添加 AudioContext resume 2026-03-01 04:35:06 +08:00
193f208d80 fix: 修复 Windows 上 Ctrl+V 粘贴失效,改用 KeyDown/KeyUp 手动控制修饰键 2026-03-01 04:27:15 +08:00
75abe72bf6 fix: 修复停止录音后未等待豆包返回最终结果,导致历史记录和自动粘贴失效 2026-03-01 04:21:57 +08:00
e1c1b2d9b2 fix: 修复 AudioWorklet 未收到 start 指令导致无音频数据发送 2026-03-01 04:13:10 +08:00
9420d43392 fix: token 改为配置文件读取,不再自动生成;UI 全部汉化 2026-03-01 04:09:55 +08:00
2ce0323ba5 fix: 修复豆包 ASR 音频格式字段,format 应为 pcm,codec 应为 raw 2026-03-01 04:01:46 +08:00
8b9070aac8 feat: add AnyIP certificate download with cache and fallback chain 2026-03-01 03:20:31 +08:00
35032c1777 feat: add Doubao ASR client and paste module 2026-03-01 03:03:46 +08:00
39e56e5acc feat: add WebSocket handler with token auth and session management 2026-03-01 03:03:34 +08:00
35d645a186 feat: add mobile web frontend with AudioWorklet recording 2026-03-01 03:03:24 +08:00
4ebc9226ed feat: add Fiber HTTPS server with embedded static files 2026-03-01 03:03:15 +08:00
044a8aa166 feat: add TLS certificate management with AnyIP and self-signed fallback 2026-03-01 03:03:06 +08:00
6b74ad399d feat: add config loading with YAML, env override, and hot-reload 2026-03-01 03:02:57 +08:00
97ecd175a7 chore: initialize project with Go module and tooling 2026-03-01 03:02:46 +08:00