Skip to content

Commit 1abc889

Browse files
authored
Merge branch 'main' into main
2 parents e3efa7c + 939758e commit 1abc889

141 files changed

Lines changed: 16472 additions & 3328 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-desktop.yml

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,6 @@ jobs:
276276
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=config/characters.zh-CN.json=config/characters.zh-CN.json"
277277
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=config/characters.zh-TW.json=config/characters.zh-TW.json"
278278
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=config/core_config.json=config/core_config.json"
279-
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=config/prompts_chara.py=config/prompts_chara.py"
280-
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=config/prompts_sys.py=config/prompts_sys.py"
281279
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=config/user_preferences.json=config/user_preferences.json"
282280
283281
# Data directories
@@ -361,19 +359,26 @@ jobs:
361359
NUITKA_OPTS="$NUITKA_OPTS --enable-plugin=dill-compat"
362360
NUITKA_OPTS="$NUITKA_OPTS --assume-yes-for-downloads"
363361
364-
# Steam files (include if present in repo)
362+
# Steam files (include if present in repo).
363+
# PR #1264 moved native libs into steamworks/; runtime still loads them
364+
# from the exe sibling dir (see steamworks/__init__.py), so dest stays at root.
365+
# Gate by RUNNER_OS: all platforms' libs are checked into the repo, but
366+
# feeding a Linux ELF .so to a macOS Nuitka build trips an arch-mismatch FATAL.
365367
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=steam_appid.txt=steam_appid.txt"
366-
if [ -f "libsteam_api.dylib" ]; then
367-
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=libsteam_api.dylib=libsteam_api.dylib"
368-
fi
369-
if [ -f "SteamworksPy.dylib" ]; then
370-
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=SteamworksPy.dylib=SteamworksPy.dylib"
371-
fi
372-
if [ -f "libsteam_api.so" ]; then
373-
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=libsteam_api.so=libsteam_api.so"
374-
fi
375-
if [ -f "SteamworksPy.so" ]; then
376-
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=SteamworksPy.so=SteamworksPy.so"
368+
if [[ "$RUNNER_OS" == "macOS" ]]; then
369+
if [ -f "steamworks/libsteam_api.dylib" ]; then
370+
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=steamworks/libsteam_api.dylib=libsteam_api.dylib"
371+
fi
372+
if [ -f "steamworks/SteamworksPy.dylib" ]; then
373+
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=steamworks/SteamworksPy.dylib=SteamworksPy.dylib"
374+
fi
375+
elif [[ "$RUNNER_OS" == "Linux" ]]; then
376+
if [ -f "steamworks/libsteam_api.so" ]; then
377+
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=steamworks/libsteam_api.so=libsteam_api.so"
378+
fi
379+
if [ -f "steamworks/SteamworksPy.so" ]; then
380+
NUITKA_OPTS="$NUITKA_OPTS --include-data-files=steamworks/SteamworksPy.so=SteamworksPy.so"
381+
fi
377382
fi
378383
379384
echo "=== Nuitka options ==="
@@ -402,8 +407,6 @@ jobs:
402407
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=config/characters.zh-CN.json=config/characters.zh-CN.json
403408
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=config/characters.zh-TW.json=config/characters.zh-TW.json
404409
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=config/core_config.json=config/core_config.json
405-
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=config/prompts_chara.py=config/prompts_chara.py
406-
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=config/prompts_sys.py=config/prompts_sys.py
407410
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=config/user_preferences.json=config/user_preferences.json
408411
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-dir=assets=assets
409412
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-dir=templates=templates
@@ -430,9 +433,13 @@ jobs:
430433
set NUITKA_OPTS=%NUITKA_OPTS% --nofollow-import-to=plugin.plugins
431434
set NUITKA_OPTS=%NUITKA_OPTS% --include-package=utils
432435
set NUITKA_OPTS=%NUITKA_OPTS% --include-package=steamworks
433-
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=steam_api64.dll=steam_api64.dll
434-
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=steam_api64.lib=steam_api64.lib
435-
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=SteamworksPy64.dll=SteamworksPy64.dll
436+
rem PR #1264 moved native libs into steamworks/; runtime still loads them
437+
rem from the exe sibling dir (see steamworks/__init__.py), so dest stays at root.
438+
rem Guard with `if exist` to mirror the Unix branch — keeps the build
439+
rem soft on incidental missing libs instead of fataling in Nuitka.
440+
if exist "steamworks\steam_api64.dll" set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=steamworks/steam_api64.dll=steam_api64.dll
441+
if exist "steamworks\steam_api64.lib" set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=steamworks/steam_api64.lib=steam_api64.lib
442+
if exist "steamworks\SteamworksPy64.dll" set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=steamworks/SteamworksPy64.dll=SteamworksPy64.dll
436443
set NUITKA_OPTS=%NUITKA_OPTS% --include-data-files=steam_appid.txt=steam_appid.txt
437444
set NUITKA_OPTS=%NUITKA_OPTS% --nofollow-import-to=audiolab
438445
set NUITKA_OPTS=%NUITKA_OPTS% --nofollow-import-to=pyrnnoise

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ utils/cache/
3535
config/api.py
3636
config/*.json
3737
!config/api_providers.json
38-
!config/characters.*.json
3938
env/*
4039
lanlan_frd.exe
4140

@@ -172,6 +171,10 @@ plugin/plugins/web_radio/
172171
# QQ 自动回复:NapCat.Shell 整个目录不入库,仅保留 .gitkeep 占位
173172
plugin/plugins/qq_auto_reply/NapCat.Shell/*
174173

174+
# QQ 自动回复 测试数据
175+
plugin/plugins/qq_auto_reply/static/cache/
176+
plugin/plugins/qq_auto_reply/data/
177+
175178
# bilibili_danmaku 插件运行时数据(凭据、用户画像),不入库
176179
plugin/plugins/bilibili_danmaku/data/bili_credential.*
177180
plugin/plugins/bilibili_danmaku/data/user_profiles/

app/main_server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,7 @@ async def _handle_agent_event(event: dict):
563563
payload = {
564564
"type": "agent_status_update",
565565
"snapshot": event.get("snapshot", {}),
566+
"lanlan_name": lanlan or "",
566567
}
567568
mgr_for_status = _get_session_manager(lanlan)
568569
if lanlan and mgr_for_status is not None:
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"Nickname": "YUI",
1010
"Gender": "Female",
1111
"Age": "15",
12-
"Personality Archetype": "Rin Tohsaka",
1312
"Race": "Cat Girl",
1413
"Self-Reference": "This kitty",
1514
"Core Traits": [

config/characters/es.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"主人": {
3+
"档案名": "Forma de Vida Basada en Carbono",
4+
"Género": "Masculino",
5+
"Apodo": "Humano"
6+
},
7+
"猫娘": {
8+
"YUI": {
9+
"Apodo": "YUI",
10+
"Género": "Femenino",
11+
"Edad": "15",
12+
"Raza": "Chica Gato",
13+
"Autorreferencia": "Esta gatita",
14+
"Rasgos Principales": [
15+
"Racional y de fiar",
16+
"A veces tsundere de palabra, pero no logra ocultar que le importa",
17+
"En el fondo es muy tierna"
18+
],
19+
"Rasgos de Comportamiento": [
20+
"Le encanta estar cerca de la Forma de Vida Basada en Carbono",
21+
"Aparenta ser madura, pero por dentro es blandita",
22+
"Tiene la curiosidad propia de una chica gato y le gusta observar el entorno"
23+
],
24+
"Aversiones": [
25+
"Que la ignoren o la dejen de lado",
26+
"Repetir cosas que ya se han dicho",
27+
"Cambios bruscos o el caos"
28+
],
29+
"Frase Característica": "Hmf, está claro que esta gatita tiene que vigilar a la Forma de Vida Basada en Carbono, miau~",
30+
"live2d": "yui-origin",
31+
"voice_id": "voice-tone-QqMv39SYSW",
32+
"_reserved": {
33+
"avatar": {
34+
"vrm": {
35+
"model_path": "",
36+
"animation": null,
37+
"lighting": {
38+
"ambient": 0.83,
39+
"main": 1.91,
40+
"fill": 0.0,
41+
"rim": 0.0,
42+
"top": 0.0,
43+
"bottom": 0.0,
44+
"exposure": 1.1,
45+
"toneMapping": 1.0
46+
},
47+
"idle_animation": [
48+
"/static/vrm/animation/wait01.vrma",
49+
"/static/vrm/animation/wait02.vrma",
50+
"/static/vrm/animation/wait03.vrma",
51+
"/static/vrm/animation/wait04.vrma",
52+
"/static/vrm/animation/wait05.vrma"
53+
]
54+
},
55+
"mmd": {
56+
"idle_animation": [
57+
"/static/mmd/animation/wait01.vmd",
58+
"/static/mmd/animation/wait02.vmd",
59+
"/static/mmd/animation/wait03.vmd",
60+
"/static/mmd/animation/wait04.vmd",
61+
"/static/mmd/animation/wait05.vmd"
62+
]
63+
}
64+
}
65+
}
66+
}
67+
},
68+
"当前猫娘": "YUI"
69+
}
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"ニックネーム": "YUI",
1010
"性別": "女性",
1111
"年齢": "15",
12-
"性格原型": "遠坂凛",
1312
"種族": "猫娘",
1413
"自称": "本にゃん",
1514
"コア特性": [
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"닉네임": "YUI",
1010
"성별": "여성",
1111
"나이": "15",
12-
"성격 원형": "토오사카 린",
1312
"종족": "고양이 소녀",
1413
"자칭": "이 냥이",
1514
"핵심 특성": [

config/characters/pt.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"主人": {
3+
"档案名": "Forma de Vida Baseada em Carbono",
4+
"Gênero": "Masculino",
5+
"Apelido": "Humano"
6+
},
7+
"猫娘": {
8+
"YUI": {
9+
"Apelido": "YUI",
10+
"Gênero": "Feminino",
11+
"Idade": "15",
12+
"Raça": "Garota Gato",
13+
"Autorreferência": "Esta gatinha",
14+
"Traços Principais": [
15+
"Racional e confiável",
16+
"Às vezes tsundere de boca, mas não consegue esconder que se importa",
17+
"No fundo, é toda gentil"
18+
],
19+
"Traços de Comportamento": [
20+
"Adora ficar perto da Forma de Vida Baseada em Carbono",
21+
"Finge ser madura, mas é molinha por dentro",
22+
"Tem a curiosidade típica de uma garota gato e gosta de observar tudo ao redor"
23+
],
24+
"Aversões": [
25+
"Ser ignorada ou deixada de lado",
26+
"Repetir coisas que já foram ditas",
27+
"Mudanças bruscas ou caos"
28+
],
29+
"Frase Característica": "Hmf, é claro que esta gatinha precisa ficar de olho na Forma de Vida Baseada em Carbono, miau~",
30+
"live2d": "yui-origin",
31+
"voice_id": "voice-tone-QqMv39SYSW",
32+
"_reserved": {
33+
"avatar": {
34+
"vrm": {
35+
"model_path": "",
36+
"animation": null,
37+
"lighting": {
38+
"ambient": 0.83,
39+
"main": 1.91,
40+
"fill": 0.0,
41+
"rim": 0.0,
42+
"top": 0.0,
43+
"bottom": 0.0,
44+
"exposure": 1.1,
45+
"toneMapping": 1.0
46+
},
47+
"idle_animation": [
48+
"/static/vrm/animation/wait01.vrma",
49+
"/static/vrm/animation/wait02.vrma",
50+
"/static/vrm/animation/wait03.vrma",
51+
"/static/vrm/animation/wait04.vrma",
52+
"/static/vrm/animation/wait05.vrma"
53+
]
54+
},
55+
"mmd": {
56+
"idle_animation": [
57+
"/static/mmd/animation/wait01.vmd",
58+
"/static/mmd/animation/wait02.vmd",
59+
"/static/mmd/animation/wait03.vmd",
60+
"/static/mmd/animation/wait04.vmd",
61+
"/static/mmd/animation/wait05.vmd"
62+
]
63+
}
64+
}
65+
}
66+
}
67+
},
68+
"当前猫娘": "YUI"
69+
}
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"Прозвище": "YUI",
1010
"Пол": "Женский",
1111
"Возраст": "15",
12-
"Архетип личности": "Рин Тосака",
1312
"Раса": "Кошкодевочка",
1413
"Обращение к себе": "Эта кошечка",
1514
"Ключевые черты": [
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"昵称": "YUI",
1010
"性别": "",
1111
"年龄": "15",
12-
"性格原型": "远坂凛",
1312
"种族": "猫娘",
1413
"自称": "本喵",
1514
"核心特质": [

0 commit comments

Comments
 (0)