diff --git a/dashboard/src/i18n/locales/en-US/core/navigation.json b/dashboard/src/i18n/locales/en-US/core/navigation.json
index 9526729db..5cd5af13a 100644
--- a/dashboard/src/i18n/locales/en-US/core/navigation.json
+++ b/dashboard/src/i18n/locales/en-US/core/navigation.json
@@ -28,6 +28,7 @@
"settings": "Settings",
"changelog": "Changelog",
"documentation": "Documentation",
+ "faq": "FAQ",
"github": "GitHub",
"drag": "Drag",
"groups": {
diff --git a/dashboard/src/i18n/locales/zh-CN/core/navigation.json b/dashboard/src/i18n/locales/zh-CN/core/navigation.json
index 4713265de..02370bcce 100644
--- a/dashboard/src/i18n/locales/zh-CN/core/navigation.json
+++ b/dashboard/src/i18n/locales/zh-CN/core/navigation.json
@@ -28,6 +28,7 @@
"settings": "设置",
"changelog": "更新日志",
"documentation": "官方文档",
+ "faq": "FAQ",
"github": "GitHub",
"drag": "拖拽",
"groups": {
diff --git a/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue b/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue
index bb879d9c5..8dcb2b3e3 100644
--- a/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue
+++ b/dashboard/src/layouts/full/vertical-sidebar/VerticalSidebar.vue
@@ -7,7 +7,7 @@ import NavItem from './NavItem.vue';
import { applySidebarCustomization } from '@/utils/sidebarCustomization';
import ChangelogDialog from '@/components/shared/ChangelogDialog.vue';
-const { t } = useI18n();
+const { t, locale } = useI18n();
const customizer = useCustomizerStore();
const sidebarMenu = shallowRef(sidebarItems);
@@ -109,6 +109,13 @@ function openIframeLink(url) {
}
}
+function openFaqLink() {
+ const faqUrl = locale.value === 'en-US'
+ ? 'https://docs.astrbot.app/en/faq.html'
+ : 'https://docs.astrbot.app/faq.html';
+ openIframeLink(faqUrl);
+}
+
let offsetX = 0;
let offsetY = 0;
let isDragging = false;
@@ -264,6 +271,10 @@ function openChangelogDialog() {
@click="toggleIframe">
{{ t('core.navigation.documentation') }}
+