Implement CLI Docker compatibility fix and login-info command
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>
This commit is contained in:
0
astrbot.lock
Normal file
0
astrbot.lock
Normal file
@@ -139,6 +139,14 @@ def conf():
|
||||
- dashboard.password: Dashboard 密码
|
||||
|
||||
- callback_api_base: 回调接口基址
|
||||
|
||||
可用子命令:
|
||||
|
||||
- set: 设置配置项值
|
||||
|
||||
- get: 获取配置项值
|
||||
|
||||
- login-info: 显示 Web 管理面板登录信息
|
||||
"""
|
||||
pass
|
||||
|
||||
@@ -204,3 +212,35 @@ def get_config(key: str = None):
|
||||
click.echo(f" {key}: {value}")
|
||||
except (KeyError, TypeError):
|
||||
pass
|
||||
|
||||
|
||||
@conf.command(name="login-info")
|
||||
def get_login_info():
|
||||
"""显示 Web 管理面板的登录信息"""
|
||||
config = _load_config()
|
||||
|
||||
try:
|
||||
username = _get_nested_item(config, "dashboard.username")
|
||||
# 注意:我们不显示实际的MD5哈希密码,而是提示用户如何重置
|
||||
click.echo("🔐 Web 管理面板登录信息:")
|
||||
click.echo(f" 用户名: {username}")
|
||||
click.echo(" 密码: [已加密存储]")
|
||||
click.echo()
|
||||
click.echo("💡 如需重置密码,请使用以下命令:")
|
||||
click.echo(" astrbot conf set dashboard.password <新密码>")
|
||||
click.echo()
|
||||
click.echo("🌐 访问地址:")
|
||||
|
||||
# 尝试获取端口信息
|
||||
try:
|
||||
port = _get_nested_item(config, "dashboard.port")
|
||||
click.echo(f" http://localhost:{port}")
|
||||
click.echo(f" http://your-server-ip:{port}")
|
||||
except (KeyError, TypeError):
|
||||
click.echo(" http://localhost:6185 (默认端口)")
|
||||
click.echo(" http://your-server-ip:6185 (默认端口)")
|
||||
|
||||
except KeyError:
|
||||
click.echo("❌ 无法找到登录配置,请先运行 'astrbot init' 初始化")
|
||||
except Exception as e:
|
||||
raise click.UsageError(f"获取登录信息失败: {str(e)}")
|
||||
|
||||
@@ -16,7 +16,13 @@ def check_astrbot_root(path: str | Path) -> bool:
|
||||
|
||||
def get_astrbot_root() -> Path:
|
||||
"""获取Astrbot根目录路径"""
|
||||
return Path.cwd()
|
||||
import os
|
||||
|
||||
# 使用与core应用相同的路径解析逻辑,优先使用ASTRBOT_ROOT环境变量
|
||||
if path := os.environ.get("ASTRBOT_ROOT"):
|
||||
return Path(path)
|
||||
else:
|
||||
return Path.cwd()
|
||||
|
||||
|
||||
async def check_dashboard(astrbot_root: Path) -> None:
|
||||
|
||||
Reference in New Issue
Block a user