From 0ffbf1935c9d091cce22a5583275ac0902f7a693 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Thu, 02 Jul 2026 03:04:51 +0800 Subject: [PATCH] Add Cantonese language model support --- CODEGRAPH.md | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/CODEGRAPH.md b/CODEGRAPH.md index c25f132..359f71b 100644 --- a/CODEGRAPH.md +++ b/CODEGRAPH.md @@ -3,7 +3,7 @@ ## Project - Product: Wails v3 / Go desktop dictation app. -- Current branch purpose: cross-platform local package handoff based on `v2.1.40-build20260702.0143`. +- Current branch purpose: Round 6 Cantonese language version real-user test package based on `v2.2.0-build20260702.0303`. - Protected macOS behavior: existing macOS App Store / local DMG build lines are not changed by this branch. ## Core Entrypoints @@ -11,6 +11,17 @@ - `privatevoice.src/main.go`: process startup, data migration, logger, single-instance guard. - `privatevoice.src/app.go`: Wails app wiring, settings window, tray, recorder, hotkey loop, ASR init, paste orchestration. - `privatevoice.src/embed.go`: embeds frontend assets and app/tray icons. + +## Language And Model Registry + +- `privatevoice.src/internal/model/profile.go`: model and language IDs, model profile shape, install status types. +- `privatevoice.src/internal/model/registry.go`: language profile order, model profiles, language profiles, and normalization. +- `privatevoice.src/internal/modelselection/selection.go`: resolves current language and model, including manual-model fallback. +- Round 6 Cantonese path: + - Language ID: `yue-HK`, displayed as `粤语`. + - Default model: `sensevoice-yue-2025-09-09`. + - Backend: SenseVoice with `LanguageParam="yue"`. + - The Cantonese language profile intentionally has no upgrade models, so Qwen3-ASR and X-ASR are not shown as Cantonese-specific options. ## Platform Modules @@ -26,6 +37,8 @@ - ASR engine: - macOS: `privatevoice.src/internal/engine/engine_darwin.go` - Windows: `privatevoice.src/internal/engine/engine_windows.go` + - Linux: `privatevoice.src/internal/engine/engine_linux.go` + - SenseVoice profiles may set `Profile.LanguageParam`; Cantonese uses `yue`. - Overlay: - macOS: `privatevoice.src/internal/overlay/overlay_darwin.go` - Windows: `privatevoice.src/internal/overlay/overlay_windows.go` -- Gitblit v1.9.3