diff --git a/client/web/src/components/QuickSwitcher/useQuickSwitcherAllAction.ts b/client/web/src/components/QuickSwitcher/useQuickSwitcherAllAction.ts
index d8d6260c..b59b10f8 100644
--- a/client/web/src/components/QuickSwitcher/useQuickSwitcherAllAction.ts
+++ b/client/web/src/components/QuickSwitcher/useQuickSwitcherAllAction.ts
@@ -7,7 +7,7 @@ import {
   getDMConverseName,
   model,
 } from 'tailchat-shared';
-import { useDebugValue } from 'react';
+import { useDebugValue, useMemo } from 'react';
 import type { QuickActionContext } from './useQuickSwitcherActionContext';
 
 const ChatConverseType = model.converse.ChatConverseType;
@@ -19,6 +19,9 @@ export interface QuickAction {
   action: (context: QuickActionContext) => void;
 }
 
+/**
+ * 内置操作
+ */
 const builtinActions: QuickAction[] = [
   {
     key: 'personal',
@@ -38,6 +41,9 @@ const builtinActions: QuickAction[] = [
   },
 ];
 
+/**
+ * 私信快速会话
+ */
 function useDMConverseActions(): QuickAction[] {
   const userId = useUserId();
   const dmConverses = useAppSelector((state) =>
@@ -71,11 +77,45 @@ function useDMConverseActions(): QuickAction[] {
   return personalConverseActions;
 }
 
+/**
+ * 群组操作
+ */
+function useGroupPanelActions(): QuickAction[] {
+  const groups = useAppSelector((state) => state.group.groups);
+
+  const groupPanelActions = useMemo(() => {
+    const list: QuickAction[] = [];
+
+    Object.values(groups).forEach((group) => {
+      group.panels.forEach((panel) => {
+        list.push({
+          key: `qs#grouppanel#${panel.id}`,
+          label: `[${group.name}] ${panel.name}`,
+          source: 'core',
+          action: ({ navigate }) => {
+            navigate(`/main/group/${group._id}/${panel.id}`);
+          },
+        });
+      });
+    });
+
+    return list;
+  }, [groups]);
+
+  useDebugValue(groupPanelActions);
+
+  return groupPanelActions;
+}
+
 /**
  * @returns 返回所有的快速操作
  */
 export function useQuickSwitcherAllActions() {
-  const allActions = [...builtinActions, ...useDMConverseActions()];
+  const allActions = [
+    ...builtinActions,
+    ...useDMConverseActions(),
+    ...useGroupPanelActions(),
+  ];
 
   return allActions;
 }