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:
@@ -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)
|
||||
|
||||
|
||||
@@ -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。",
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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": "插件配置",
|
||||
|
||||
@@ -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 }">
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user