perf: some UI/UX fixes, change Console to Platform Logs (#3873)

* refactor: 统一‘平台日志’文案

* perf: 优化自动滚动开关键操作逻辑

* perf: add tooltips to save and code editor buttons
This commit is contained in:
Oscar Shaw
2025-12-05 16:02:20 +08:00
committed by GitHub
parent 380a68b96c
commit 5d856900ef
13 changed files with 31 additions and 22 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ async def run_agent(
except Exception as e:
logger.error(traceback.format_exc())
err_msg = f"\n\nAstrBot 请求失败。\n错误类型: {type(e).__name__}\n错误信息: {e!s}\n\n请在控制台查看和分享错误详情。\n"
err_msg = f"\n\nAstrBot 请求失败。\n错误类型: {type(e).__name__}\n错误信息: {e!s}\n\n请在平台日志查看和分享错误详情。\n"
if agent_runner.streaming:
yield MessageChain().message(err_msg)
else:
@@ -57,7 +57,7 @@ async def run_third_party_agent(
logger.error(f"Third party agent runner error: {e}")
err_msg = (
f"\nAstrBot 请求失败。\n错误类型: {type(e).__name__}\n"
f"错误信息: {e!s}\n\n请在控制台查看和分享错误详情。\n"
f"错误信息: {e!s}\n\n请在平台日志查看和分享错误详情。\n"
)
yield MessageChain().message(err_msg)
+1 -1
View File
@@ -110,7 +110,7 @@ class PlatformManager:
)
except (ImportError, ModuleNotFoundError) as e:
logger.error(
f"加载平台适配器 {platform_config['type']} 失败,原因:{e}。请检查依赖库是否安装。提示:可以在 管理面板->控制台->安装Pip库 中安装依赖库。",
f"加载平台适配器 {platform_config['type']} 失败,原因:{e}。请检查依赖库是否安装。提示:可以在 管理面板->平台日志->安装Pip库 中安装依赖库。",
)
except Exception as e:
logger.error(f"加载平台适配器 {platform_config['type']} 失败,原因:{e}")
@@ -16,7 +16,7 @@ try:
import pydub
except Exception:
logger.warning(
"检测到 pydub 库未安装,企业微信将无法语音收发。如需使用语音,请前往管理面板 -> 控制台 -> 安装 Pip 库安装 pydub。",
"检测到 pydub 库未安装,企业微信将无法语音收发。如需使用语音,请前往管理面板 -> 平台日志 -> 安装 Pip 库安装 pydub。",
)
@@ -13,7 +13,7 @@ try:
import pydub
except Exception:
logger.warning(
"检测到 pydub 库未安装,微信公众平台将无法语音收发。如需使用语音,请前往管理面板 -> 控制台 -> 安装 Pip 库安装 pydub。",
"检测到 pydub 库未安装,微信公众平台将无法语音收发。如需使用语音,请前往管理面板 -> 平台日志 -> 安装 Pip 库安装 pydub。",
)
+1 -1
View File
@@ -36,7 +36,7 @@ async def wav_to_tencent_silk(wav_path: str, output_path: str) -> int:
import pilk
except (ImportError, ModuleNotFoundError) as _:
raise Exception(
"pilk 模块未安装,请前往管理面板->控制台->安装pip库 安装 pilk 这个库",
"pilk 模块未安装,请前往管理面板->平台日志->安装pip库 安装 pilk 这个库",
)
# with wave.open(wav_path, 'rb') as wav:
# wav_data = wav.readframes(wav.getnframes())
+1 -1
View File
@@ -274,7 +274,7 @@ class KnowledgeBaseRoute(Route):
except Exception as e:
return (
Response()
.error(f"测试重排序模型失败: {e!s},请检查控制台日志输出。")
.error(f"测试重排序模型失败: {e!s},请检查台日志输出。")
.__dict__
)
@@ -9,7 +9,7 @@
"chat": "聊天",
"conversation": "对话数据",
"sessionManagement": "自定义规则",
"console": "控制台",
"console": "平台日志",
"alkaid": "Alkaid",
"knowledgeBase": "知识库",
"about": "关于",
@@ -1,5 +1,5 @@
{
"title": "控制台",
"title": "平台日志",
"autoScroll": {
"enabled": "自动滚动已开启",
"disabled": "自动滚动已关闭"
@@ -1,5 +1,5 @@
{
"title": "控制台",
"title": "平台日志",
"subtitle": "实时监控和统计数据",
"lastUpdate": "最后更新",
"status": {
@@ -94,7 +94,7 @@
"dialogs": {
"error": {
"title": "错误信息",
"checkConsole": "详情请检查控制台"
"checkConsole": "详情请检查平台日志"
},
"config": {
"title": "插件配置",
+14 -6
View File
@@ -37,13 +37,21 @@
:config_data="config_data"
/>
<v-btn icon="mdi-content-save" size="x-large" style="position: fixed; right: 52px; bottom: 52px;"
color="darkprimary" @click="updateConfig">
</v-btn>
<v-tooltip :text="tm('actions.save')" location="left">
<template v-slot:activator="{ props }">
<v-btn v-bind="props" icon="mdi-content-save" size="x-large" style="position: fixed; right: 52px; bottom: 52px;"
color="darkprimary" @click="updateConfig">
</v-btn>
</template>
</v-tooltip>
<v-btn icon="mdi-code-json" size="x-large" style="position: fixed; right: 52px; bottom: 124px;" color="primary"
@click="configToString(); codeEditorDialog = true">
</v-btn>
<v-tooltip :text="tm('codeEditor.title')" location="left">
<template v-slot:activator="{ props }">
<v-btn v-bind="props" icon="mdi-code-json" size="x-large" style="position: fixed; right: 52px; bottom: 124px;" color="primary"
@click="configToString(); codeEditorDialog = true">
</v-btn>
</template>
</v-tooltip>
<v-tooltip text="测试当前配置" location="left" v-if="!isSystemConfig">
<template v-slot:activator="{ props }">
+6 -5
View File
@@ -13,10 +13,11 @@ const { tm } = useModuleI18n('features/console');
<h4>{{ tm('title') }}</h4>
<div class="d-flex align-center">
<v-switch
v-model="autoScrollDisabled"
:label="autoScrollDisabled ? tm('autoScroll.disabled') : tm('autoScroll.enabled')"
v-model="autoScrollEnabled"
:label="autoScrollEnabled ? tm('autoScroll.enabled') : tm('autoScroll.disabled')"
hide-details
density="compact"
color="primary"
style="margin-right: 16px;"
></v-switch>
<v-dialog v-model="pipDialog" width="400">
@@ -57,7 +58,7 @@ export default {
},
data() {
return {
autoScrollDisabled: false,
autoScrollEnabled: true,
pipDialog: false,
pipInstallPayload: {
package: '',
@@ -68,9 +69,9 @@ export default {
}
},
watch: {
autoScrollDisabled(val) {
autoScrollEnabled(val) {
if (this.$refs.consoleDisplayer) {
this.$refs.consoleDisplayer.autoScroll = !val;
this.$refs.consoleDisplayer.autoScroll = val;
}
}
},