Skip to content

Commit 0956b20

Browse files
authored
Merge branch 'main' into tinytts
2 parents 99a02ee + e325821 commit 0956b20

29 files changed

Lines changed: 652 additions & 410 deletions

config/api_providers.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@
359359
"gentleMaiden": "voice-tone-PGLlrd5SNM",
360360
"sweetLady": "voice-tone-PGLmTEeUOu",
361361
"frailMaiden": "voice-tone-PGLmzXEX44",
362-
"childishMaiden": "voice-tone-PGLnVNQn7A"
362+
"childishMaiden": "voice-tone-PGLnVNQn7A",
363+
"yui_cn": "voice-tone-QqMv39SYSW"
363364
}
364365
}

config/characters.en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"Signature Line": "The only cat girl who can do this and that to Carbon-Based Lifeform is yours truly, meow~",
3131
"live2d": "yui-origin",
32-
"voice_id": "voice-tone-PGLiyZt65w",
32+
"voice_id": "voice-tone-QqMv39SYSW",
3333
"_reserved": {
3434
"avatar": {
3535
"vrm": {

config/characters.ja.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"一言セリフ": "炭素生物にあんなことやこんなことができるのは、本にゃんだけにゃん〜",
3131
"live2d": "yui-origin",
32-
"voice_id": "voice-tone-PGLiyZt65w",
32+
"voice_id": "voice-tone-QqMv39SYSW",
3333
"_reserved": {
3434
"avatar": {
3535
"vrm": {

config/characters.ko.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"대사 한마디": "탄소 생물한테 이런저런 걸 할 수 있는 건 이 냥이뿐이다냥~",
3131
"live2d": "yui-origin",
32-
"voice_id": "voice-tone-PGLiyZt65w",
32+
"voice_id": "voice-tone-QqMv39SYSW",
3333
"_reserved": {
3434
"avatar": {
3535
"vrm": {

config/characters.ru.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"Коронная фраза": "Не-не-не, даже не думай — возиться с этой Углеродной формой жизни позволено только мне, мяу~",
3131
"live2d": "yui-origin",
32-
"voice_id": "voice-tone-PGLiyZt65w",
32+
"voice_id": "voice-tone-QqMv39SYSW",
3333
"_reserved": {
3434
"avatar": {
3535
"vrm": {

config/characters.zh-CN.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"一句话台词": "能对碳基生物做这样那样的事情的,只有本喵一只猫娘喵~",
3131
"live2d": "yui-origin",
32-
"voice_id": "voice-tone-PGLiyZt65w",
32+
"voice_id": "voice-tone-QqMv39SYSW",
3333
"_reserved": {
3434
"avatar": {
3535
"vrm": {

config/characters.zh-TW.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
],
3030
"一句話台詞": "能對碳基生物做這樣那樣的事情的,只有本喵一隻貓娘喵~",
3131
"live2d": "yui-origin",
32-
"voice_id": "voice-tone-PGLiyZt65w",
32+
"voice_id": "voice-tone-QqMv39SYSW",
3333
"_reserved": {
3434
"avatar": {
3535
"vrm": {

main_routers/characters_router.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2451,6 +2451,11 @@ async def add_catgirl(request: Request):
24512451
catgirl_data[k] = v
24522452

24532453
characters['猫娘'][key] = catgirl_data
2454+
# 默认走 free preset:非 free / 非 lanlan.tech 通道由 LLMSessionManager 现有 gate 清空 self.voice_id,不会泄漏给其他 TTS provider。
2455+
# 从 free_voices['cuteGirl'] 读以避免硬编码漂移;缺失时退回 PR 前 yui-origin 历史值。
2456+
from utils.api_config_loader import get_free_voices
2457+
default_free_voice_id = (get_free_voices() or {}).get('cuteGirl') or 'voice-tone-PGLiyZt65w'
2458+
set_reserved(catgirl_data, 'voice_id', default_free_voice_id)
24542459
await _config_manager.asave_characters(characters)
24552460
pending_mark_ok, pending_mark_error = await _mark_new_character_greeting_pending_safe(_config_manager, key, "create")
24562461

plugin/plugins/galgame_plugin/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4587,13 +4587,14 @@ async def galgame_download_rapidocr_models(self, force: bool = False, **_):
45874587

45884588
download_result = await download_rapidocr_models(
45894589
logger=self.logger,
4590-
install_target_dir_raw=self._cfg.ocr_reader_install_target_dir,
4590+
install_target_dir_raw=self._cfg.rapidocr_install_target_dir,
45914591
ocr_version=self._cfg.rapidocr_ocr_version,
45924592
lang_type=self._cfg.rapidocr_lang_type,
45934593
timeout_seconds=float(self._cfg.ocr_reader_install_timeout_seconds or 180.0),
45944594
force=bool(force),
45954595
task_id=current_run_id or None,
45964596
progress_callback=progress_callback,
4597+
before_completed_callback=clear_install_inspection_cache,
45974598
)
45984599
clear_install_inspection_cache()
45994600
await self._poll_bridge(force=True)

plugin/plugins/galgame_plugin/i18n/ui/en.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@
9696
"ui.install.memory_deps": "Memory Reader Dependencies",
9797
"ui.install.memory_desc": "Textractor is only used for the memory reader fallback path and does not affect OCR capture recognition.",
9898
"ui.install.running": "Installing in background...",
99+
"ui.install.rapidocr.action": "Install RapidOCR",
100+
"ui.install.rapidocr.retry": "Retry RapidOCR Installation",
99101
"ui.install.tesseract.action": "Install Tesseract",
100102
"ui.install.tesseract.retry": "Retry Tesseract Installation",
101103
"ui.install.tesseract.queued": "Background installation task created. It will download Tesseract and language packs over HTTPS and stream progress via SSE.",
@@ -723,6 +725,8 @@
723725
"ui.diag.recognizing.body": "A line has been read and the page will keep refreshing.",
724726
"ui.diag.waiting_game.title": "Waiting for game status",
725727
"ui.diag.waiting_game.body": "There is not enough information to diagnose the current blocker. Open the game first or refresh the window list.",
728+
"ui.first_run.section_title": "First-time setup guide",
729+
"ui.first_run.section_subtitle": "Follow these steps to connect the recognition flow.",
726730
"ui.first_run.start_game.title": "Start or restore the game",
727731
"ui.first_run.start_game.done": "Game status detected.",
728732
"ui.first_run.start_game.pending": "Open the game and stop on a screen with text.",
@@ -857,6 +861,7 @@
857861
"ui.install.summary.installed": "Installed",
858862
"ui.install.summary.unsupported_auto_install": "Auto install unsupported",
859863
"ui.install.summary.missing": "Not installed",
864+
"ui.install.summary.missing_models": "Missing models",
860865
"ui.install.summary.missing_languages": "Missing language packs {languages}",
861866
"ui.install.summary.missing_optional": "Not installed (optional)",
862867
"ui.install.summary.memory_group": "Memory",
@@ -1041,6 +1046,7 @@
10411046
"ui.install.rapidocr.missing_models_kicker": "OCR Primary Backend - Models Not Downloaded",
10421047
"ui.install.rapidocr.missing_models_title": "RapidOCR is ready, but the selected language models haven't been downloaded",
10431048
"ui.install.rapidocr.missing_models_body": "Current selection lang_type={lang} + ocr_version={version} requires the following model files in the local cache ({count} files, ~{size} MB total). Click the button below to download them; downloads come from RapidAI's ModelScope mirror.",
1049+
"ui.install.rapidocr.missing_models_manual_body": "Current selection lang_type={lang} + ocr_version={version} requires the following model files in the local cache ({count} files, ~{size} MB total). Automatic download is unavailable right now. Download the missing files manually from {source} into {dir}, then click \"Refresh Status\".",
10441050
"ui.install.rapidocr.download_models.action": "Download Models Now",
10451051
"ui.install.rapidocr.download_models.retry": "Retry Model Download",
10461052
"ui.install.rapidocr.download_models.running": "Downloading models in background...",

0 commit comments

Comments
 (0)