Spaces:
Sleeping
Sleeping
andry commited on
Commit ·
a818448
1
Parent(s): a80e727
update all configuration files
Browse files- conf.yaml +4 -1
- frontend/assets/main-nu7uwxNJ.js +0 -0
- frontend/index.html +22 -0
- src/open_llm_vtuber/config_manager/system.py +9 -1
- src/open_llm_vtuber/server.py +7 -0
conf.yaml
CHANGED
|
@@ -3,6 +3,9 @@ system_config:
|
|
| 3 |
conf_version: 'v1.2.1'
|
| 4 |
host: 'localhost' # use 0.0.0.0 if you want other devices to access this page
|
| 5 |
port: 12393
|
|
|
|
|
|
|
|
|
|
| 6 |
# New setting for alternative configurations
|
| 7 |
config_alts_dir: 'characters'
|
| 8 |
# Tool prompts that will be appended to the persona prompt
|
|
@@ -457,7 +460,7 @@ character_config:
|
|
| 457 |
|
| 458 |
cartesia_tts:
|
| 459 |
api_key: '${CARTESIA_API_KEY}'
|
| 460 |
-
voice_id: '
|
| 461 |
model_id: 'sonic-3' # Model ID (e.g., sonic-3)
|
| 462 |
output_format: 'wav' # Output audio format (e.g., wav)
|
| 463 |
language: 'id' # Output language of voice (e.g., en)
|
|
|
|
| 3 |
conf_version: 'v1.2.1'
|
| 4 |
host: 'localhost' # use 0.0.0.0 if you want other devices to access this page
|
| 5 |
port: 12393
|
| 6 |
+
# Custom frontend connection overrides (leave blank to auto-detect based on browser URL)
|
| 7 |
+
frontend_ws_url: ''
|
| 8 |
+
frontend_base_url: ''
|
| 9 |
# New setting for alternative configurations
|
| 10 |
config_alts_dir: 'characters'
|
| 11 |
# Tool prompts that will be appended to the persona prompt
|
|
|
|
| 460 |
|
| 461 |
cartesia_tts:
|
| 462 |
api_key: '${CARTESIA_API_KEY}'
|
| 463 |
+
voice_id: '272acf86-0aa3-4d83-b508-6fbfb83be924' # Voice ID from Cartesia
|
| 464 |
model_id: 'sonic-3' # Model ID (e.g., sonic-3)
|
| 465 |
output_format: 'wav' # Output audio format (e.g., wav)
|
| 466 |
language: 'id' # Output language of voice (e.g., en)
|
frontend/assets/main-nu7uwxNJ.js
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
frontend/index.html
CHANGED
|
@@ -75,6 +75,7 @@
|
|
| 75 |
});
|
| 76 |
})();
|
| 77 |
</script>
|
|
|
|
| 78 |
<script type="module" crossorigin src="./assets/main-nu7uwxNJ.js?v=20260703-new4"></script>
|
| 79 |
<link rel="stylesheet" crossorigin href="./assets/main-QEkl09-0.css?v=20260703-new4">
|
| 80 |
<style>
|
|
@@ -394,6 +395,27 @@
|
|
| 394 |
color: #00f2fe !important;
|
| 395 |
filter: drop-shadow(0 0 2px #00f2fe) drop-shadow(0 0 5px #00f2fe) !important;
|
| 396 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 397 |
</style>
|
| 398 |
</head>
|
| 399 |
|
|
|
|
| 75 |
});
|
| 76 |
})();
|
| 77 |
</script>
|
| 78 |
+
<script src="/frontend-config.js"></script>
|
| 79 |
<script type="module" crossorigin src="./assets/main-nu7uwxNJ.js?v=20260703-new4"></script>
|
| 80 |
<link rel="stylesheet" crossorigin href="./assets/main-QEkl09-0.css?v=20260703-new4">
|
| 81 |
<style>
|
|
|
|
| 395 |
color: #00f2fe !important;
|
| 396 |
filter: drop-shadow(0 0 2px #00f2fe) drop-shadow(0 0 5px #00f2fe) !important;
|
| 397 |
}
|
| 398 |
+
|
| 399 |
+
/* Animated Neon Gradient Background override */
|
| 400 |
+
body, html {
|
| 401 |
+
background: linear-gradient(-45deg, #0a1128, #120e2e, #005f73, #0a1128, #3d0066) !important;
|
| 402 |
+
background-size: 400% 400% !important;
|
| 403 |
+
animation: gradientFlow 15s ease infinite !important;
|
| 404 |
+
height: 100vh !important;
|
| 405 |
+
overflow: hidden !important;
|
| 406 |
+
}
|
| 407 |
+
|
| 408 |
+
@keyframes gradientFlow {
|
| 409 |
+
0% {
|
| 410 |
+
background-position: 0% 50%;
|
| 411 |
+
}
|
| 412 |
+
50% {
|
| 413 |
+
background-position: 100% 50%;
|
| 414 |
+
}
|
| 415 |
+
100% {
|
| 416 |
+
background-position: 0% 50%;
|
| 417 |
+
}
|
| 418 |
+
}
|
| 419 |
</style>
|
| 420 |
</head>
|
| 421 |
|
src/open_llm_vtuber/config_manager/system.py
CHANGED
|
@@ -13,6 +13,8 @@ class SystemConfig(I18nMixin):
|
|
| 13 |
config_alts_dir: str = Field(..., alias="config_alts_dir")
|
| 14 |
tool_prompts: Dict[str, str] = Field(..., alias="tool_prompts")
|
| 15 |
enable_proxy: bool = Field(False, alias="enable_proxy")
|
|
|
|
|
|
|
| 16 |
|
| 17 |
DESCRIPTIONS: ClassVar[Dict[str, Description]] = {
|
| 18 |
"conf_version": Description(en="Configuration version", zh="配置文件版本"),
|
|
@@ -27,7 +29,13 @@ class SystemConfig(I18nMixin):
|
|
| 27 |
),
|
| 28 |
"enable_proxy": Description(
|
| 29 |
en="Enable proxy mode for multiple clients",
|
| 30 |
-
zh="启用代理模式以支持多个客户端使用一
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
),
|
| 32 |
}
|
| 33 |
|
|
|
|
| 13 |
config_alts_dir: str = Field(..., alias="config_alts_dir")
|
| 14 |
tool_prompts: Dict[str, str] = Field(..., alias="tool_prompts")
|
| 15 |
enable_proxy: bool = Field(False, alias="enable_proxy")
|
| 16 |
+
frontend_ws_url: str = Field("", alias="frontend_ws_url")
|
| 17 |
+
frontend_base_url: str = Field("", alias="frontend_base_url")
|
| 18 |
|
| 19 |
DESCRIPTIONS: ClassVar[Dict[str, Description]] = {
|
| 20 |
"conf_version": Description(en="Configuration version", zh="配置文件版本"),
|
|
|
|
| 29 |
),
|
| 30 |
"enable_proxy": Description(
|
| 31 |
en="Enable proxy mode for multiple clients",
|
| 32 |
+
zh="启用代理模式以支持多个客户端使用一個 ws 连接",
|
| 33 |
+
),
|
| 34 |
+
"frontend_ws_url": Description(
|
| 35 |
+
en="Custom frontend WebSocket URL", zh="自定义前端 WebSocket URL"
|
| 36 |
+
),
|
| 37 |
+
"frontend_base_url": Description(
|
| 38 |
+
en="Custom frontend Base URL", zh="自定义前端 Base URL"
|
| 39 |
),
|
| 40 |
}
|
| 41 |
|
src/open_llm_vtuber/server.py
CHANGED
|
@@ -109,6 +109,13 @@ class WebSocketServer:
|
|
| 109 |
init_webtool_routes(default_context_cache=self.default_context_cache),
|
| 110 |
)
|
| 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
# Initialize and include proxy routes if proxy is enabled
|
| 113 |
system_config = config.system_config
|
| 114 |
if hasattr(system_config, "enable_proxy") and system_config.enable_proxy:
|
|
|
|
| 109 |
init_webtool_routes(default_context_cache=self.default_context_cache),
|
| 110 |
)
|
| 111 |
|
| 112 |
+
@self.app.get("/frontend-config.js")
|
| 113 |
+
async def get_frontend_config():
|
| 114 |
+
ws_url = getattr(self.config.system_config, "frontend_ws_url", "")
|
| 115 |
+
base_url = getattr(self.config.system_config, "frontend_base_url", "")
|
| 116 |
+
js_content = f'window.FRONTEND_CONFIG = {{ wsUrl: "{ws_url}", baseUrl: "{base_url}" }};'
|
| 117 |
+
return Response(content=js_content, media_type="application/javascript")
|
| 118 |
+
|
| 119 |
# Initialize and include proxy routes if proxy is enabled
|
| 120 |
system_config = config.system_config
|
| 121 |
if hasattr(system_config, "enable_proxy") and system_config.enable_proxy:
|