pull/1452/head
SengokuCola 2025-12-20 20:13:19 +08:00
commit e81ca6013a
9 changed files with 110 additions and 113 deletions

View File

@ -599,7 +599,10 @@ class TelemetryConfig(ConfigBase):
@dataclass
class WebUIConfig(ConfigBase):
"""WebUI配置类"""
"""WebUI配置类
注意: host port 配置已移至环境变量 WEBUI_HOST WEBUI_PORT
"""
enabled: bool = True
"""是否启用WebUI"""
@ -607,12 +610,6 @@ class WebUIConfig(ConfigBase):
mode: Literal["development", "production"] = "production"
"""运行模式development(开发) 或 production(生产)"""
host: str = "0.0.0.0"
"""WebUI服务器监听地址"""
port: int = 8001
"""WebUI服务器端口"""
anti_crawler_mode: Literal["false", "strict", "loose", "basic"] = "basic"
"""防爬虫模式false(禁用) / strict(严格) / loose(宽松) / basic(基础-只记录不阻止)"""

View File

@ -186,7 +186,7 @@ class WebUIServer:
error_msg = f"❌ WebUI 服务器启动失败: 端口 {self.port} 已被占用"
logger.error(error_msg)
logger.error(f"💡 请检查是否有其他程序正在使用端口 {self.port}")
logger.error("💡 可以在配置文件中修改 webui.port 来更改 WebUI 端口")
logger.error("💡 可以在 .env 文件中修改 WEBUI_PORT 来更改 WebUI 端口")
logger.error(f"💡 Windows 用户可以运行: netstat -ano | findstr :{self.port}")
logger.error(f"💡 Linux/Mac 用户可以运行: lsof -i :{self.port}")
raise OSError(f"端口 {self.port} 已被占用,无法启动 WebUI 服务器")
@ -224,7 +224,7 @@ class WebUIServer:
if "address already in use" in str(e).lower() or e.errno in (98, 10048): # 98: Linux, 10048: Windows
logger.error(f"❌ WebUI 服务器启动失败: 端口 {self.port} 已被占用")
logger.error(f"💡 请检查是否有其他程序正在使用端口 {self.port}")
logger.error("💡 可以在配置文件中修改 webui.port 来更改 WebUI 端口")
logger.error("💡 可以在 .env 文件中修改 WEBUI_PORT 来更改 WebUI 端口")
else:
logger.error(f"❌ WebUI 服务器启动失败 (网络错误): {e}")
raise
@ -279,9 +279,9 @@ def get_webui_server() -> WebUIServer:
"""获取全局 WebUI 服务器实例"""
global _webui_server
if _webui_server is None:
# 从配置读取
from src.config.config import global_config
host = global_config.webui.host
port = global_config.webui.port
# 从环境变量读取
import os
host = os.getenv("WEBUI_HOST", "127.0.0.1")
port = int(os.getenv("WEBUI_PORT", "8001"))
_webui_server = WebUIServer(host=host, port=port)
return _webui_server

View File

@ -1,5 +1,5 @@
[inner]
version = "7.2.4"
version = "7.2.5"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
# 如果你想要修改配置文件请递增version的值
@ -267,13 +267,9 @@ api_server_allowed_api_keys = [] # 新版API Server允许的API Key列表
enable = true
[webui] # WebUI 独立服务器配置
# 注意: WebUI 的监听地址(host)和端口(port)已移至 .env 文件中的 WEBUI_HOST 和 WEBUI_PORT
enabled = true # 是否启用WebUI
mode = "production" # 模式: development(开发) 或 production(生产)
host = "127.0.0.1" # WebUI 服务器监听地址
# IPv4: 0.0.0.0 (所有IPv4接口) / 127.0.0.1 (仅本地)
# IPv6: :: (所有接口支持IPv4+IPv6双栈) / ::1 (仅本地IPv6)
# 推荐使用 :: 实现双栈支持
port = 8001 # WebUI 服务器端口
# 防爬虫配置
anti_crawler_mode = "basic" # 防爬虫模式: false(禁用) / strict(严格) / loose(宽松) / basic(基础-只记录不阻止)

View File

@ -1,3 +1,7 @@
# 麦麦主程序配置
HOST=127.0.0.1
PORT=8000
PORT=8000
# WebUI 服务器配置
WEBUI_HOST=127.0.0.1
WEBUI_PORT=8001

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -11,7 +11,7 @@
<link rel="icon" type="image/x-icon" href="/maimai.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MaiBot Dashboard</title>
<script type="module" crossorigin src="/assets/index-ClRLbZoU.js"></script>
<script type="module" crossorigin src="/assets/index-ppcjeAmG.js"></script>
<link rel="modulepreload" crossorigin href="/assets/react-vendor-BmxF9s7Q.js">
<link rel="modulepreload" crossorigin href="/assets/router-9vIXuQkh.js">
<link rel="modulepreload" crossorigin href="/assets/utils-BqoaXoQ1.js">
@ -25,7 +25,7 @@
<link rel="modulepreload" crossorigin href="/assets/reactflow-DtsZHOR4.js">
<link rel="modulepreload" crossorigin href="/assets/uppy-x-2TBvZ1.js">
<link rel="modulepreload" crossorigin href="/assets/markdown-CKA5gBQ9.js">
<link rel="stylesheet" crossorigin href="/assets/index-Vd1XbDiA.css">
<link rel="stylesheet" crossorigin href="/assets/index-Din59EIC.css">
</head>
<body>
<div id="root" class="notranslate"></div>