_binary diff --git a/src/configs/Config.php b/src/configs/Config.php
index 6adf170df..f3121ba7c 100755
--- a/src/configs/Config.php
+++ b/src/configs/Config.php
@@ -354,6 +354,12 @@ nsdefine('ONE_HOUR', 3600);
 nsdefine('ONE_MINUTE', 60);
 /** Number of seconds in a second */
 nsdefine('ONE_SECOND', 1);
+/** Maximum number of messages to retrieve for summarization */
+nsdefine('MAX_SUMMARIZE_MESSAGES', 10000);
+/** URL endpoint for LLM API service used for AI summarization */
+nsdefine('LLM_API_URL', "http://localhost:1234/v1/chat/completions");
+/** Model name to use for LLM API requests */
+nsdefine('LLM_MODEL', "aya-23-8b");
 /** Whether to use conjunctive search queries or disjunctive */
 nsconddefine('USE_CONJUNCTIVE_QUERY', false);
 /** setting Profile.php to something else in LocalConfig.php allows one to have
diff --git a/src/controllers/ApiController.php b/src/controllers/ApiController.php
index a9a20a63a..8d3ab6fd7 100644
--- a/src/controllers/ApiController.php
+++ b/src/controllers/ApiController.php
@@ -51,6 +51,11 @@ class ApiController extends Controller implements CrawlConstants
      * @var array
      */
     public static $component_activities = [  "social" => ["wiki"] ];
+    /**
+     * These are the activities supported by this controller
+     * @var array
+     */
+    public $activities = ["summarize"];
     /**
      * Used to process requests related to user group activities outside of
      * the admin panel setting. This either could be because the admin panel
@@ -117,4 +122,153 @@ class ApiController extends Controller implements CrawlConstants
         }
         return $data;
     }
+    /**
+     * Used to get the messages for a given thread id.
+     *
+     * @param string $thread_id The id of the thread to get messages for.
+     * @return array $messages containing the messages for the thread
+     */
+    private function getMessages($thread_id)
+    {
+        $group_model = $this->model("group");
+        $user_id = isset($_SESSION['USER_ID']) ?
+            $_SESSION['USER_ID'] : C\PUBLIC_USER_ID;
+        $search_array = [ ["parent_id", "=", $thread_id, ""] ];
+        $limit = 0;
+        $results_per_page = C\MAX_SUMMARIZE_MESSAGES;
+        // -2 is just_thread case
+        $for_group = -2;
+        $sort = "ksort";
+        $messages = $group_model->getGroupItems($limit, $results_per_page,
+            $search_array, $user_id, $for_group);
+        return $messages;
+    }
+    /**
+     * Handles a request to summarize a thread using the LLM.
+     *
+     * Expected parameters:
+     * - thread_id: The id of the thread to summarize.
+     *
+     * @return array $data containing summary results and status
+     */
+    public function summarize()
+    {
+        $data = [];
+        $data['ELEMENT'] = 'summarize';
+        if (empty($_REQUEST['thread_id'])) {
+            $data['ERRORS'] = ["Missing parameter - 'thread_id' required"];
+            return $data;
+        }
+        $thread_id = $this->clean($_REQUEST['thread_id'], "string");
+        $user_locale = L\getLocaleTag();
+        $messages = $this->getMessages($thread_id);
+        if (empty($messages)) {
+            $data['ERRORS'] = ["No messages found for thread id $thread_id"];
+            return $data;
+        }
+        $text = "";
+        foreach ($messages as $msg) {
+            $pretty_date = date("r", $msg['PUBDATE']);
+            $username = $msg['USER_NAME'];
+            $content = $msg['DESCRIPTION'];
+            $text .= "On {$pretty_date}, {$username} wrote: \"{$content}\"\n\n";
+        }
+        $target_language = $this->getLanguageFromLocale($user_locale);
+        $input_text = "\n<in>" . $text . "</in>\n";
+        $summarize_prompt = sprintf(
+            "Summarize the following thread concisely in %s, capturing the key points:%s IMPORTANT: You MUST output ONLY the summary between <out></out> tags. Do not include any other text, commentary, or explanations outside these tags.",
+            $target_language, $input_text);
+        $api_url = C\LLM_API_URL;
+        $model = C\LLM_MODEL;
+        $request_body = [
+            "model" => $model,
+            "messages" => [
+                ["role" => "system", "content" => "You are a helpful assistant "
+                . "that summarizes threads concisely. You MUST always format "
+                . "your response with the summary inside <out></out> tags only. "
+                . "Never include any text outside these tags."],
+                ["role" => "user", "content" => $summarize_prompt]
+            ],
+            "temperature" => 0.1,
+            "max_tokens" => -1,
+            "stream" => false
+        ];
+        $result = $this->sendLLMRequest($api_url, $request_body);
+        if (!$result) {
+            $data['ERRORS'] = ["Failed to connect to summarization service"];
+        } else {
+            $result_obj = json_decode($result, true);
+            if (isset($result_obj['choices'][0]['message']['content'])) {
+                $content = $result_obj['choices'][0]['message']['content'];
+                preg_match('/<out>([\s\S]*?)<\/out>/', $content, $matches);
+                if (isset($matches[1])) {
+                    $data['SUMMARY'] = trim($matches[1]);
+                    $data['STATUS'] = 'success';
+                } else {
+                    $data['ERRORS'] = ["Summary format not recognized - missing <out> tags"];
+                }
+            } else {
+                $data['ERRORS'] = ["Invalid response from LLM"];
+            }
+        }
+        return $data;
+    }
+    /**
+     * Maps Yioop locale tags to human-readable language names for LLM prompts
+     *
+     * @param string $locale_tag The Yioop locale tag (e.g., 'en_US', 'es')
+     * @return string The language name for LLM instruction
+     */
+    private function getLanguageFromLocale($locale_tag)
+    {
+        $language_map = [
+            'ar' => 'Arabic',
+            'bn' => 'Bengali',
+            'de' => 'German',
+            'el_GR' => 'Greek',
+            'en_US' => 'English',
+            'es' => 'Spanish',
+            'fa' => 'Persian',
+            'fr_FR' => 'French',
+            'he' => 'Hebrew',
+            'hi' => 'Hindi',
+            'id' => 'Indonesian',
+            'it' => 'Italian',
+            'ja' => 'Japanese',
+            'kn' => 'Kannada',
+            'ko' => 'Korean',
+            'nl' => 'Dutch',
+            'pl' => 'Polish',
+            'pt' => 'Portuguese',
+            'ru' => 'Russian',
+            'te' => 'Telugu',
+            'th' => 'Thai',
+            'tl' => 'Filipino',
+            'tr' => 'Turkish',
+            'vi_VN' => 'Vietnamese',
+            'zh_CN' => 'Chinese'
+        ];
+
+        return isset($language_map[$locale_tag]) ?
+            $language_map[$locale_tag] : 'English';
+    }
+    /**
+     * Helper method to send API requests to LLM service
+     *
+     * @param string $url The API endpoint URL
+     * @param array $data The request data to send
+     * @return string|bool The response body or false on failure
+     */
+    private function sendLLMRequest($url, $data)
+    {
+        $post_data = json_encode($data);
+        $headers = ['Content-Type: application/json'];
+        $response = L\FetchUrl::getPage($url, $post_data, true, null,
+            C\SINGLE_PAGE_TIMEOUT, $headers);
+        if ($response === false) {
+            error_log("LLM API request failed");
+            return false;
+        }
+        return $response;
+    }
 }
diff --git a/src/controllers/components/Component.php b/src/controllers/components/Component.php
index 460ca785a..8412c6264 100644
--- a/src/controllers/components/Component.php
+++ b/src/controllers/components/Component.php
@@ -158,6 +158,9 @@ class Component
                 tl('wiki_js_resource_description').'", '.
                 'wiki_element_list_icon :"'. tl('wiki_element_list_icon').'",'.
                 'wiki_element_grid_icon :"'. tl('wiki_element_grid_icon').'",'.
+                'wiki_js_summarizing :"'. tl('wiki_js_summarizing').'",'.
+                'wiki_js_summary_unavailable :"'.
+                tl('wiki_js_summary_unavailable').'",'.
                 'wiki_js_render_engine:"'.
                     ($data['RENDER_ENGINE'] ?? 'mediawiki') .'",'.
                 '};';
diff --git a/src/css/messages.css b/src/css/messages.css
index 1a7341791..879bdb93b 100644
--- a/src/css/messages.css
+++ b/src/css/messages.css
@@ -577,3 +577,7 @@
     background-color: #EEF !important;
     color: red;
 }
+.ai-summary-hidden {
+    display: none;
+    margin-left: 65px;
+}
diff --git a/src/locale/ar/configure.ini b/src/locale/ar/configure.ini
index 7f3795906..7c8db75d5 100755
--- a/src/locale/ar/configure.ini
+++ b/src/locale/ar/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "إضافة سلايد"
 wiki_js_slide_sample_title = "عنوان"
 wiki_js_slide_sample_bullet = "عنصر سلايد"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "جاري إنشاء الملخص..."
+wiki_js_summary_unavailable = "خدمة الذكاء الاصطناعي غير متاحة - يرجى المحاولة مرة أخرى لاحقاً"
 wiki_element_list_icon = "قائمة"
 wiki_element_grid_icon = "شبكة القطاع"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "انضم إلى مجموعات"
 iconlink_helper_leave_group = "خروج من المجموعة"
 iconlink_helper_localize = "ت Localization"
 iconlink_helper_manage_machines = "إدارة الماكينات"
+iconlink_helper_ai_summary = "تلخيص النقاش"
+
 iconlink_helper_manage_mixes = "إدارة خليطات"
 iconlink_helper_messages = "الرسائل"
 iconlink_helper_group_pages = "صفحات"
diff --git a/src/locale/bn/configure.ini b/src/locale/bn/configure.ini
index eb203535b..0efb01fb5 100755
--- a/src/locale/bn/configure.ini
+++ b/src/locale/bn/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "স্লাইড যোগ করুন"
 wiki_js_slide_sample_title = "শিরোনাম"
 wiki_js_slide_sample_bullet = "স্লাইড আইটেম"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "সারাংশ তৈরি করা হচ্ছে..."
+wiki_js_summary_unavailable = "AI সেবা উপলব্ধ নেই - অনুগ্রহ করে পরে আবার চেষ্টা করুন"
 wiki_element_list_icon = "তালিকা"
 wiki_element_grid_icon = "সংগ্রিড"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "গ্রুপ যোগ দিন"
 iconlink_helper_leave_group = "গ্রুপ ছেড়ে দাও"
 iconlink_helper_localize = "স্থানীয়াকরণ"
 iconlink_helper_manage_machines = "ম্যানেজ মেশিনস"
+iconlink_helper_ai_summary = "থ্রেড সংক্ষেপ"
+
 iconlink_helper_manage_mixes = "ম্যানেজ মিক্সেস"
 iconlink_helper_messages = "সংবাদ"
 iconlink_helper_group_pages = "পেজস"
diff --git a/src/locale/de/configure.ini b/src/locale/de/configure.ini
index 14386cbf9..9c7d9d27c 100755
--- a/src/locale/de/configure.ini
+++ b/src/locale/de/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Agregar Diaposiva"
 wiki_js_slide_sample_title = "Título"
 wiki_js_slide_sample_bullet = "Elemento de Diapositiva"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Zusammenfassung wird erstellt..."
+wiki_js_summary_unavailable = "KI-Service nicht verfügbar - bitte später erneut versuchen"
 wiki_element_list_icon = "Ergebnisliste"
 wiki_element_grid_icon = "Grid ⊞"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Bereuen Gruppen"
 iconlink_helper_leave_group = "Gruppe verlassen"
 iconlink_helper_localize = "Localizar"
 iconlink_helper_manage_machines = "Gestalten von Maschinen"
+iconlink_helper_ai_summary = "Thread Zusammenfassen"
+
 iconlink_helper_manage_mixes = "Gestione di Mix"
 iconlink_helper_messages = "Nachrichten"
 iconlink_helper_group_pages = "Séiten"
diff --git a/src/locale/el_GR/configure.ini b/src/locale/el_GR/configure.ini
index a768907c8..fc2d2b413 100644
--- a/src/locale/el_GR/configure.ini
+++ b/src/locale/el_GR/configure.ini
@@ -724,6 +724,8 @@ wiki_js_slide = "Προσθήκη Σλάιντ"
 wiki_js_slide_sample_title = "Τίτλος"
 wiki_js_slide_sample_bullet = "Σλιντ ITEM"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Δημιουργία περίληψης..."
+wiki_js_summary_unavailable = "Η υπηρεσία AI δεν είναι διαθέσιμη - παρακαλώ δοκιμάστε ξανά αργότερα"
 wiki_element_list_icon = "Κατάλογος"
 wiki_element_grid_icon = "Πίνακας ⊞ Grid"
 ;
@@ -5658,6 +5660,8 @@ iconlink_helper_join_groups = "Συμμετοχή Σε Ομάδες"
 iconlink_helper_leave_group = "Αφήστε Ομάδα"
 iconlink_helper_localize = "Τοπικοποιήστε"
 iconlink_helper_manage_machines = "Διαχειριστώ Μηχανές"
+iconlink_helper_ai_summary = "Σύνοψη Νήματος"
+
 iconlink_helper_manage_mixes = "Διαχειριστώ Μίξεις"
 iconlink_helper_messages = "Περίληπτες"
 iconlink_helper_group_pages = "Σελίδες"
diff --git a/src/locale/en_US/configure.ini b/src/locale/en_US/configure.ini
index 213df545a..94e6b95ff 100644
--- a/src/locale/en_US/configure.ini
+++ b/src/locale/en_US/configure.ini
@@ -5633,6 +5633,11 @@ iconlink_helper_join_groups = "Join Groups"
 iconlink_helper_leave_group = "Leave Group"
 iconlink_helper_localize = "Localize"
 iconlink_helper_manage_machines = "Manage Machines"
+iconlink_helper_ai_summary = "Summarize Thread"
+
+; wiki.js
+wiki_js_summarizing = "Generating summary..."
+wiki_js_summary_unavailable = "AI service unavailable - please try again later"
 iconlink_helper_manage_mixes = "Manage Mixes"
 iconlink_helper_messages = "Messages"
 iconlink_helper_group_pages = "Pages"
diff --git a/src/locale/es/configure.ini b/src/locale/es/configure.ini
index 3e7071c1b..562a07dc8 100755
--- a/src/locale/es/configure.ini
+++ b/src/locale/es/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Agregar diaposiva"
 wiki_js_slide_sample_title = "Título"
 wiki_js_slide_sample_bullet = "Elemento de diaposiva"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Generando resumen..."
+wiki_js_summary_unavailable = "Servicio de IA no disponible - por favor intente más tarde"
 wiki_element_list_icon = "≔Lista"
 wiki_element_grid_icon = "⊞ Cuadrícula"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Unirse a Grupos"
 iconlink_helper_leave_group = "Agregar Grupo"
 iconlink_helper_localize = "Localizar"
 iconlink_helper_manage_machines = "Gestionar Máquinas"
+iconlink_helper_ai_summary = "Resumir Hilo"
+
 iconlink_helper_manage_mixes = "Gestionar Mezclas"
 iconlink_helper_messages = "Mensajes"
 iconlink_helper_group_pages = "Páginas"
diff --git a/src/locale/fa/configure.ini b/src/locale/fa/configure.ini
index 985752ccb..fe754f3b0 100755
--- a/src/locale/fa/configure.ini
+++ b/src/locale/fa/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "افزودن اسلاید"
 wiki_js_slide_sample_title = "عنوان"
 wiki_js_slide_sample_bullet = "عنصر اسلاید"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "در حال تولید خلاصه..."
+wiki_js_summary_unavailable = "سرویس هوش مصنوعی در دسترس نیست - لطفاً بعداً دوباره تلاش کنید"
 wiki_element_list_icon = "≔لیست"
 wiki_element_grid_icon = "⊞ گرید"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "گروه ها را JOIN کنید"
 iconlink_helper_leave_group = "از گروه خارج شوید"
 iconlink_helper_localize = "محلی سازی"
 iconlink_helper_manage_machines = "ماشین های مدیریت"
+iconlink_helper_ai_summary = "خلاصه رشته"
+
 iconlink_helper_manage_mixes = "مخلوط ها را مدیریت کنید"
 iconlink_helper_messages = "پیام ها"
 iconlink_helper_group_pages = "صفحات"
diff --git a/src/locale/fr_FR/configure.ini b/src/locale/fr_FR/configure.ini
index 696746931..8a9c3bfa2 100755
--- a/src/locale/fr_FR/configure.ini
+++ b/src/locale/fr_FR/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Ajouter diapositive"
 wiki_js_slide_sample_title = "Titre"
 wiki_js_slide_sample_bullet = "Élément de diapositive"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Génération du résumé..."
+wiki_js_summary_unavailable = "Service IA indisponible - veuillez réessayer plus tard"
 wiki_element_list_icon = "≔Liste"
 wiki_element_grid_icon = "⊞ Grille"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Grouper rejoignent"
 iconlink_helper_leave_group = "Quitter le groupe"
 iconlink_helper_localize = "Localiser"
 iconlink_helper_manage_machines = "Gérer les machines"
+iconlink_helper_ai_summary = "Résumer le Fil"
+
 iconlink_helper_manage_mixes = "Gérer les mélange"
 iconlink_helper_messages = "Messagerie"
 iconlink_helper_group_pages = "Pages"
diff --git a/src/locale/he/configure.ini b/src/locale/he/configure.ini
index 85ec8c318..f6404538a 100755
--- a/src/locale/he/configure.ini
+++ b/src/locale/he/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Ajouter diapositive"
 wiki_js_slide_sample_title = "Titre"
 wiki_js_slide_sample_bullet = "Élément de diapositive"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "יוצר סיכום..."
+wiki_js_summary_unavailable = "שירות AI לא זמין - אנא נסה שוב מאוחר יותר"
 wiki_element_list_icon = "≔Liste"
 wiki_element_grid_icon = "⊞ Grille"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "הצטרף לקבוצות"
 iconlink_helper_leave_group = "לעזוב את הקבוצה"
 iconlink_helper_localize = "לוקליזציה"
 iconlink_helper_manage_machines = "ניהול מכונות"
+iconlink_helper_ai_summary = "סיכום שרשור"
+
 iconlink_helper_manage_mixes = "ניהול תערובות"
 iconlink_helper_messages = "הודעות"
 iconlink_helper_group_pages = "דפים"
diff --git a/src/locale/hi/configure.ini b/src/locale/hi/configure.ini
index 3fda5142f..9e995be66 100755
--- a/src/locale/hi/configure.ini
+++ b/src/locale/hi/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "एस्लाइड जोड़ें"
 wiki_js_slide_sample_title = "शीर्षक"
 wiki_js_slide_sample_bullet = "स्लाइड आइटम"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "सारांश बनाया जा रहा है..."
+wiki_js_summary_unavailable = "AI सेवा उपलब्ध नहीं है - कृपया बाद में पुनः प्रयास करें"
 wiki_element_list_icon = "≔सूची"
 wiki_element_grid_icon = "⊞ ग्रिड"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "समूहों में शामिल ह
 iconlink_helper_leave_group = "समूह छोड़ दो"
 iconlink_helper_localize = "स्थानीय बनाना"
 iconlink_helper_manage_machines = "मशीनों का प्रबंधन करें"
+iconlink_helper_ai_summary = "थ्रेड सारांश"
+
 iconlink_helper_manage_mixes = "मिक्स प्रबंधित करें"
 iconlink_helper_messages = "संदेश"
 iconlink_helper_group_pages = "पन्ने"
diff --git a/src/locale/id/configure.ini b/src/locale/id/configure.ini
index fdc049f32..9cc177d06 100755
--- a/src/locale/id/configure.ini
+++ b/src/locale/id/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Add Slide"
 wiki_js_slide_sample_title = "Judul"
 wiki_js_slide_sample_bullet = "Slide Item"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Membuat ringkasan..."
+wiki_js_summary_unavailable = "Layanan AI tidak tersedia - silakan coba lagi nanti"
 wiki_element_list_icon = "≔Daftar"
 wiki_element_grid_icon = "⊞ kisi"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Bergabung Dengan Grup"
 iconlink_helper_leave_group = "Tinggalkan Grup"
 iconlink_helper_localize = "Pelokalan"
 iconlink_helper_manage_machines = "Kelola Mesin"
+iconlink_helper_ai_summary = "Ringkas Thread"
+
 iconlink_helper_manage_mixes = "Kelola Campuran"
 iconlink_helper_messages = "Pesan"
 iconlink_helper_group_pages = "Halaman"
diff --git a/src/locale/it/configure.ini b/src/locale/it/configure.ini
index 50bdd5afe..0cf5667c1 100755
--- a/src/locale/it/configure.ini
+++ b/src/locale/it/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Ajouter diapositive"
 wiki_js_slide_sample_title = "Titolo"
 wiki_js_slide_sample_bullet = "Elemento Scorrevole"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Generazione riassunto..."
+wiki_js_summary_unavailable = "Servizio AI non disponibile - riprova più tardi"
 wiki_element_list_icon = "≔Elenco"
 wiki_element_grid_icon = "⊞ Griglia"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Partecipa a gruppi"
 iconlink_helper_leave_group = "Lascia il gruppo"
 iconlink_helper_localize = "Localizzare"
 iconlink_helper_manage_machines = "Gestione macchine"
+iconlink_helper_ai_summary = "Riassumi Thread"
+
 iconlink_helper_manage_mixes = "Gestione dei mix"
 iconlink_helper_messages = "Messaggio"
 iconlink_helper_group_pages = "Pagina"
diff --git a/src/locale/ja/configure.ini b/src/locale/ja/configure.ini
index ac58c5823..b1e3b6ffc 100755
--- a/src/locale/ja/configure.ini
+++ b/src/locale/ja/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "スライドを追加します"
 wiki_js_slide_sample_title = "タイトル"
 wiki_js_slide_sample_bullet = "スライド項目"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "要約を生成中..."
+wiki_js_summary_unavailable = "AIサービスが利用できません - 後でもう一度お試しください"
 wiki_element_list_icon = "≔リスト"
 wiki_element_grid_icon = "⊞ グリッド"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "グループへの参加"
 iconlink_helper_leave_group = "グループを残す"
 iconlink_helper_localize = "ローカライズ"
 iconlink_helper_manage_machines = "マシンの管理"
+iconlink_helper_ai_summary = "スレッドを要約"
+
 iconlink_helper_manage_mixes = "ミックスの管理"
 iconlink_helper_messages = "メッセージ"
 iconlink_helper_group_pages = "ページ"
diff --git a/src/locale/kn/configure.ini b/src/locale/kn/configure.ini
index f1b3a064b..2d99c2505 100755
--- a/src/locale/kn/configure.ini
+++ b/src/locale/kn/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Добавить слайд"
 wiki_js_slide_sample_title = "ಶೀರ್ಷಿಕೆ"
 wiki_js_slide_sample_bullet = "ಸ್ಲೈಡ್ ಐಟಂ"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "ಸಾರಾಂಶವನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ..."
+wiki_js_summary_unavailable = "AI ಸೇವೆ ಲಭ್ಯವಿಲ್ಲ - ದಯವಿಟ್ಟು ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"
 wiki_element_list_icon = "≔ಪಟ್ಟಿ"
 wiki_element_grid_icon = "⊞ ಗ್ರಿಡ್"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "ಗುಂಪುಗಳಲ್ಲಿ ಸೇರಿ"
 iconlink_helper_leave_group = "ಗುಂಪನ್ನು ಬಿಡಿ"
 iconlink_helper_localize = "ಸ್ಥಳೀಕರಿಸಿ"
 iconlink_helper_manage_machines = "ಯಂತ್ರಗಳನ್ನು ನಿರ್ವಹಿಸಿ"
+iconlink_helper_ai_summary = "ಥ್ರೆಡ್ ಸಾರಾಂಶ"
+
 iconlink_helper_manage_mixes = "ಮಿಶ್ರಣಗಳನ್ನು ನಿರ್ವಹಿಸಿ"
 iconlink_helper_messages = "ಸಂದೇಶಗಳು"
 iconlink_helper_group_pages = "ಪುಟಗಳು"
diff --git a/src/locale/ko/configure.ini b/src/locale/ko/configure.ini
index 6cf384843..786f8e062 100755
--- a/src/locale/ko/configure.ini
+++ b/src/locale/ko/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "&#xD55;&#xC778; &#xC5F4;"
 wiki_js_slide_sample_title = "제목"
 wiki_js_slide_sample_bullet = "슬라이드 항목"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "요약 생성 중..."
+wiki_js_summary_unavailable = "AI 서비스를 사용할 수 없습니다 - 나중에 다시 시도해 주세요"
 wiki_element_list_icon = "≔목록"
 wiki_element_grid_icon = "⊞ 격자"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "그룹 가입"
 iconlink_helper_leave_group = "그룹 탈퇴"
 iconlink_helper_localize = "지역화"
 iconlink_helper_manage_machines = "컴퓨터 관리"
+iconlink_helper_ai_summary = "스레드 요약"
+
 iconlink_helper_manage_mixes = "믹스 관리"
 iconlink_helper_messages = "메시지"
 iconlink_helper_group_pages = "페이지"
diff --git a/src/locale/nl/configure.ini b/src/locale/nl/configure.ini
index d84a5ddff..13cda7cd8 100644
--- a/src/locale/nl/configure.ini
+++ b/src/locale/nl/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Scherm toevoegen"
 wiki_js_slide_sample_title = "titel"
 wiki_js_slide_sample_bullet = "slide Item"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Samenvatting genereren..."
+wiki_js_summary_unavailable = "AI-service niet beschikbaar - probeer later opnieuw"
 wiki_element_list_icon = "≔Lijst"
 wiki_element_grid_icon = "⊞ raster"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Deelnemen Aan Groepen"
 iconlink_helper_leave_group = "Groep Verlaten"
 iconlink_helper_localize = "Lokaliseren"
 iconlink_helper_manage_machines = "Machines Beheren"
+iconlink_helper_ai_summary = "Thread Samenvatten"
+
 iconlink_helper_manage_mixes = "Mixen Beheren"
 iconlink_helper_messages = "Bericht"
 iconlink_helper_group_pages = "Pagina"
diff --git a/src/locale/pl/configure.ini b/src/locale/pl/configure.ini
index 1b07e8182..bd7d1f282 100755
--- a/src/locale/pl/configure.ini
+++ b/src/locale/pl/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Dodaj Slajd"
 wiki_js_slide_sample_title = "Nazwa"
 wiki_js_slide_sample_bullet = "Element Poślizgu "
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Generowanie podsumowania..."
+wiki_js_summary_unavailable = "Usługa AI niedostępna - spróbuj ponownie później"
 wiki_element_list_icon = "≔Lista"
 wiki_element_grid_icon = "⊞ Siatka"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Dołącz Do Grup"
 iconlink_helper_leave_group = "Opuść Grupę"
 iconlink_helper_localize = "Zlokalizuj"
 iconlink_helper_manage_machines = "Zarządzanie Maszynami"
+iconlink_helper_ai_summary = "Podsumuj Wątek"
+
 iconlink_helper_manage_mixes = "Zarządzaj Miksami"
 iconlink_helper_messages = "Wiadomości"
 iconlink_helper_group_pages = "Strony"
diff --git a/src/locale/pt/configure.ini b/src/locale/pt/configure.ini
index a1c3f4a91..9865d6d62 100755
--- a/src/locale/pt/configure.ini
+++ b/src/locale/pt/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Adicionar Diapositiva"
 wiki_js_slide_sample_title = "T&iacute;tulo"
 wiki_js_slide_sample_bullet = "Fa&ccedil;a Deslizar O Item"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Gerando resumo..."
+wiki_js_summary_unavailable = "Serviço de IA indisponível - tente novamente mais tarde"
 wiki_element_list_icon = "≔lista"
 wiki_element_grid_icon = "⊞ grelha"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Junte-Se A Grupos"
 iconlink_helper_leave_group = "Deixar Grupo"
 iconlink_helper_localize = "Localizar"
 iconlink_helper_manage_machines = "Gerenciar Máquinas"
+iconlink_helper_ai_summary = "Resumir Thread"
+
 iconlink_helper_manage_mixes = "Gerenciar Misturas"
 iconlink_helper_messages = "Mensagem"
 iconlink_helper_group_pages = "Pagina"
diff --git a/src/locale/ru/configure.ini b/src/locale/ru/configure.ini
index 30e8cf0d3..1ffb74ba9 100755
--- a/src/locale/ru/configure.ini
+++ b/src/locale/ru/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Добавить слайд"
 wiki_js_slide_sample_title = "Название"
 wiki_js_slide_sample_bullet = "Элемент Скольжения "
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Создание резюме..."
+wiki_js_summary_unavailable = "Сервис ИИ недоступен - попробуйте позже"
 wiki_element_list_icon = "≔Список"
 wiki_element_grid_icon = "⊞ Сетка"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Присоединяйтесь к группам"
 iconlink_helper_leave_group = "Покинуть Группу"
 iconlink_helper_localize = "Локализовать"
 iconlink_helper_manage_machines = "Управление машинами"
+iconlink_helper_ai_summary = "Резюмировать Тред"
+
 iconlink_helper_manage_mixes = "Управление миксами"
 iconlink_helper_messages = "Сообщения"
 iconlink_helper_group_pages = "Страницы"
diff --git a/src/locale/te/configure.ini b/src/locale/te/configure.ini
index f07690ce7..77f727ef0 100644
--- a/src/locale/te/configure.ini
+++ b/src/locale/te/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = " Präsentation hinzufügen "
 wiki_js_slide_sample_title = "శీర్షిక"
 wiki_js_slide_sample_bullet = "స్లయిడ్ అంశము"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "సారాంశం రూపొందిస్తోంది..."
+wiki_js_summary_unavailable = "AI సేవ అందుబాటులో లేదు - దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి"
 wiki_element_list_icon = "≔జాబితా"
 wiki_element_grid_icon = "⊞ గ్రిడ్"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "గుంపులు చేరండి"
 iconlink_helper_leave_group = "గ్రూప్ వదిలి"
 iconlink_helper_localize = "స్థానీకరణ"
 iconlink_helper_manage_machines = "యంత్రాలను నిర్వహించండి"
+iconlink_helper_ai_summary = "థ్రెడ్ సంగ్రహం"
+
 iconlink_helper_manage_mixes = "మిశ్రమాలను నిర్వహించండి"
 iconlink_helper_messages = "సందేశాలు"
 iconlink_helper_group_pages = "పేజీలు"
diff --git a/src/locale/th/configure.ini b/src/locale/th/configure.ini
index 22669f767..f0f6cf14e 100755
--- a/src/locale/th/configure.ini
+++ b/src/locale/th/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "ຕ້ານສະຫລອງພື່ມຂອງທີ"
 wiki_js_slide_sample_title = "หัวเรื่อง"
 wiki_js_slide_sample_bullet = "เลื่อนรายการ"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "กำลังสร้างสรุป..."
+wiki_js_summary_unavailable = "บริการ AI ไม่พร้อมใช้งาน - โปรดลองใหม่อีกครั้งในภายหลัง"
 wiki_element_list_icon = "≔รายการ"
 wiki_element_grid_icon = "⊞ เส้นกริด"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "เข้าร่วมกลุ่ม"
 iconlink_helper_leave_group = "ออกจากกลุ่ม"
 iconlink_helper_localize = "จำกัด"
 iconlink_helper_manage_machines = "จัดการเครื่องจักร"
+iconlink_helper_ai_summary = "สรุปกระทู้"
+
 iconlink_helper_manage_mixes = "จัดการผสม"
 iconlink_helper_messages = "ข้อความ"
 iconlink_helper_group_pages = "เพจ"
diff --git a/src/locale/tl/configure.ini b/src/locale/tl/configure.ini
index c9e2fc0f3..2f0ddfc9b 100644
--- a/src/locale/tl/configure.ini
+++ b/src/locale/tl/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Agregar diapositiva"
 wiki_js_slide_sample_title = "Pamagat"
 wiki_js_slide_sample_bullet = "Slide Item"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Ginagawa ang buod..."
+wiki_js_summary_unavailable = "Hindi available ang AI service - subukan ulit mamaya"
 wiki_element_list_icon = "≔Listahan"
 wiki_element_grid_icon = "⊞ Grid"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Sumali Sa Mga Grupo"
 iconlink_helper_leave_group = "Mag-Iwan Ng Grupo"
 iconlink_helper_localize = "I-Localize ang"
 iconlink_helper_manage_machines = "Pamahalaan Ang Mga Machine"
+iconlink_helper_ai_summary = "Buuin Ang Thread"
+
 iconlink_helper_manage_mixes = "Pamahalaan Ang Mga Mix"
 iconlink_helper_messages = "Mga mensahe"
 iconlink_helper_group_pages = "Mga pahina"
diff --git a/src/locale/tr/configure.ini b/src/locale/tr/configure.ini
index 744b384dd..1909fcd88 100755
--- a/src/locale/tr/configure.ini
+++ b/src/locale/tr/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Προσθήκη Σλάιντ"
 wiki_js_slide_sample_title = "Başlık"
 wiki_js_slide_sample_bullet = "Slayt &Ouml;ğesi"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Özet oluşturuluyor..."
+wiki_js_summary_unavailable = "AI hizmeti kullanılamıyor - lütfen daha sonra tekrar deneyin"
 wiki_element_list_icon = "≔liste"
 wiki_element_grid_icon = "⊞ Izgara"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Gruplara Katıl"
 iconlink_helper_leave_group = "Gruptan Ayrıl"
 iconlink_helper_localize = "Yerelleştirmek"
 iconlink_helper_manage_machines = "Makineleri Yönet"
+iconlink_helper_ai_summary = "Konu Özetini Al"
+
 iconlink_helper_manage_mixes = "Karışımları Yönetme"
 iconlink_helper_messages = "İletiler"
 iconlink_helper_group_pages = "Sayfa"
diff --git a/src/locale/vi_VN/configure.ini b/src/locale/vi_VN/configure.ini
index 5dee2989c..32f3e8b91 100755
--- a/src/locale/vi_VN/configure.ini
+++ b/src/locale/vi_VN/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "Thá»m Táº¿"
 wiki_js_slide_sample_title = "Tiêu đề"
 wiki_js_slide_sample_bullet = "Mục Trượt"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "Đang tạo tóm tắt..."
+wiki_js_summary_unavailable = "Dịch vụ AI không khả dụng - vui lòng thử lại sau"
 wiki_element_list_icon = "≔danh Sách"
 wiki_element_grid_icon = "⊞ Lưới"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "Tham Gia Nhóm"
 iconlink_helper_leave_group = "Rời Khỏi Nhóm"
 iconlink_helper_localize = "Khoanh vùng"
 iconlink_helper_manage_machines = "Quản Lý Máy"
+iconlink_helper_ai_summary = "Tóm Tắt Chủ Đề"
+
 iconlink_helper_manage_mixes = "Quản Lý Trộn"
 iconlink_helper_messages = "Tin nhắn"
 iconlink_helper_group_pages = "Trang"
diff --git a/src/locale/zh_CN/configure.ini b/src/locale/zh_CN/configure.ini
index 034a9beab..92a9275f3 100755
--- a/src/locale/zh_CN/configure.ini
+++ b/src/locale/zh_CN/configure.ini
@@ -722,6 +722,8 @@ wiki_js_slide = "添加幻灯片"
 wiki_js_slide_sample_title = "标题"
 wiki_js_slide_sample_bullet = "滑动项目"
 wiki_js_resource_description = ""
+wiki_js_summarizing = "正在生成摘要..."
+wiki_js_summary_unavailable = "AI服务不可用 - 请稍后重试"
 wiki_element_list_icon = "≔列表"
 wiki_element_grid_icon = "⊞ 网格"
 ;
@@ -5633,6 +5635,8 @@ iconlink_helper_join_groups = "加入群组"
 iconlink_helper_leave_group = "离开小组"
 iconlink_helper_localize = "本地化"
 iconlink_helper_manage_machines = "管理机器"
+iconlink_helper_ai_summary = "总结主题"
+
 iconlink_helper_manage_mixes = "管理混合"
 iconlink_helper_messages = "信息"
 iconlink_helper_group_pages = "网页"
diff --git a/src/scripts/wiki.js b/src/scripts/wiki.js
index 3129ff81a..62427f831 100755
--- a/src/scripts/wiki.js
+++ b/src/scripts/wiki.js
@@ -934,3 +934,45 @@ function addToPage(resource_name, textarea_id, sub_path)
          split_adjuster.addEventListener('mousedown', mouseDownHandler);
      }
  });
+
+ function toggleAISummary(csrf_token, base_url, summary_id)
+ {
+    var summary_box = document.getElementById("ai-summary-" + summary_id);
+    if (!summary_box) return;
+    if (summary_box.style.display === "none" || summary_box.style.display === "") {
+        summary_box.style.display = "block";
+        summary_box.innerHTML = "<p>" + tl['wiki_js_summarizing'] + "</p>";
+        var url = base_url + "?thread_id=" + encodeURIComponent(summary_id) +
+            "&c=api&a=summarize&YIOOP_TOKEN=" +
+            encodeURIComponent(csrf_token);
+        fetch(url, { method: "POST",
+            headers: {
+                "User-Agent": "Yioop-Web-Client/1.0",
+                "Content-Type": "application/x-www-form-urlencoded"
+            },
+            credentials: "include"
+        })
+        .then(function(response) {
+            if (!response.ok) {
+                throw new Error("HTTP error! Status: " + response.status);
+            }
+            return response.json();
+        })
+        .then(function(data) {
+            if (data.SUMMARY) {
+                summary_box.innerHTML = "<p>" + data.SUMMARY + "</p>";
+            } else if (data.ERRORS) {
+                summary_box.innerHTML = "<p>" + data.ERRORS.join(", ") + "</p>";
+            } else {
+                summary_box.innerHTML = "<p>" +
+                    tl['wiki_js_summary_unavailable'] + "</p>";
+            }
+        })
+        .catch(function() {
+            summary_box.innerHTML = "<p>" +
+                tl['wiki_js_summary_unavailable'] + "</p>";
+        });
+    } else {
+        summary_box.style.display = "none";
+    }
+  }
diff --git a/src/views/ApiView.php b/src/views/ApiView.php
index 75d35314d..afd074e11 100644
--- a/src/views/ApiView.php
+++ b/src/views/ApiView.php
@@ -65,6 +65,10 @@ class ApiView extends View
                     $data['API'] = true;
                     $this->element("groupfeed")->render($data);
                     break;
+                case 'summarize':
+                    $data['API'] = true;
+                    $this->element("api")->render($data);
+                    break;
                 case 'usermessages':
                     $data['API'] = true;
                     header("X-Accel-Buffering: no");
diff --git a/src/views/elements/ApiElement.php b/src/views/elements/ApiElement.php
index 10a9a6eea..b5faead8e 100644
--- a/src/views/elements/ApiElement.php
+++ b/src/views/elements/ApiElement.php
@@ -55,7 +55,11 @@ class ApiElement extends Element implements CrawlConstants
         $logged_in = isset($data["ADMIN"]) && $data["ADMIN"];
         $can_edit = $logged_in && isset($data["CAN_EDIT"]) &&
             $data["CAN_EDIT"];
-        $this->renderJsonDocument($data, $can_edit, $logged_in);
+            if (isset($data["ELEMENT"]) && $data["ELEMENT"] == "summarize") {
+                $this->renderSummarizeResponse($data);
+            } else {
+                $this->renderJsonDocument($data, $can_edit, $logged_in);
+            }
     }
     /**
      * Used to send a Wiki content response for reading. If the page does
@@ -108,4 +112,30 @@ class ApiElement extends Element implements CrawlConstants
         e(json_encode($out_array));
         L\webExit();
     }
+    /**
+     * Used to send a Summarize API response
+     *
+     * @param array $data fields containing translation results
+     */
+    public function renderSummarizeResponse($data)
+    {
+        $out_array = [];
+        $http_code = "500 Internal Server Error";
+        if (isset($data['SUMMARY'])) {
+            $out_array["SUMMARY"] = $data['SUMMARY'];
+            $out_array["STATUS"] = $data['STATUS'] ?? 'success';
+            $http_code = "200 OK";
+        } else {
+            $http_code = "400 Bad Request";
+        }
+        if (isset($data['ERRORS']) && count($data['ERRORS']) > 0) {
+            $out_array['ERRORS'] = $data['ERRORS'];
+            $http_code = "400 Bad Request";
+        }
+        $web_site = $this->view->controller_object->web_site;
+        $web_site->header("Content-Type: application/json");
+        $web_site->header("HTTP/1.1 " . $http_code);
+        e(json_encode($out_array));
+        L\webExit();
+    }
 }
diff --git a/src/views/elements/GroupfeedElement.php b/src/views/elements/GroupfeedElement.php
index bddeb4092..ed4be5cd7 100644
--- a/src/views/elements/GroupfeedElement.php
+++ b/src/views/elements/GroupfeedElement.php
@@ -177,6 +177,7 @@ class GroupfeedElement extends Element implements CrawlConstants
         $is_api = !empty($data['API']);
         $is_status = !empty($data['STATUS']);
         $open_in_tabs = $data['OPEN_IN_TABS'];
+        $icon_helper = $this->view->helper('iconlink');
         $time = time();
         $can_comment = [C\GROUP_READ_COMMENT, C\GROUP_READ_WRITE,
             C\GROUP_READ_WIKI];
@@ -218,7 +219,6 @@ class GroupfeedElement extends Element implements CrawlConstants
             !$is_user;
         if ($is_all_feed && !$is_api && !$is_status) {?>
             <div class="feed-heading"><?php
-            $icon_helper = $this->view->helper('iconlink');
             if (!empty($data['ADMIN'])) {
                 $this->view->element("socialcontrols")->render($data);
             } ?>
@@ -528,7 +528,15 @@ class GroupfeedElement extends Element implements CrawlConstants
                 if ($open_in_tabs) {
                      ?> target="_blank" rel="noopener"<?php
                 }
-                ?> ><?= $page[self::TITLE] ?></a></h2><?php
+                ?> ><?= $page[self::TITLE] ?></a>
+                <?php if (C\nsdefined('LLM_API_URL') && C\LLM_API_URL &&
+                    C\nsdefined('LLM_MODEL') && C\LLM_MODEL) {
+                    $onclick = "onclick=\"toggleAISummary('" .
+                        $data[C\CSRF_TOKEN] . "', '" . C\BASE_URL .
+                        "', '{$page['ID']}')\";";
+                    echo $icon_helper->renderFormButton("button", "ai_summary",
+                        true, "", $onclick);
+                } ?></h2><?php
             } else if (!$is_thread || $first_page) { ?>
                 <h2><a href="<?= $this->formatHref(B\feedsUrl('thread',
                     $page['PARENT_ID'], true, $data['CONTROLLER']) .
@@ -537,7 +545,16 @@ class GroupfeedElement extends Element implements CrawlConstants
                     if ($open_in_tabs) {
                         ?> target="_blank" rel="noopener"<?php
                     }
-                    ?>><?= $page[self::TITLE] ?></a><?php
+                    ?>><?= $page[self::TITLE] ?></a>
+                    <?php if (!empty($data['JUST_GROUP_ID']) &&
+                        C\nsdefined('LLM_API_URL') && C\LLM_API_URL &&
+                        C\nsdefined('LLM_MODEL') && C\LLM_MODEL) {
+                        $onclick = "onclick=\"toggleAISummary('" .
+                            $data[C\CSRF_TOKEN] . "', '" . C\BASE_URL .
+                            "', '{$page['ID']}')\";";
+                        echo $icon_helper->renderFormButton("button", "ai_summary",
+                            true, "", $onclick);
+                    }
                     if (!$is_page_with_comments &&
                         $page['GROUP_ID'] != C\MODERATION_GROUP_ID) {
                         if (isset($page['NUM_POSTS'])) {
@@ -596,6 +613,9 @@ class GroupfeedElement extends Element implements CrawlConstants
             }
             ?>
             </div>
+            <div id="ai-summary-<?= $page['ID'] ?>"
+                class="thread-summary ai-summary-hidden">
+            </div>
             </div>
             <div id='<?= $page["ID"] ?>'></div>
             </div>
diff --git a/src/views/helpers/IconlinkHelper.php b/src/views/helpers/IconlinkHelper.php
index 3456162fe..5d0b7c7b3 100644
--- a/src/views/helpers/IconlinkHelper.php
+++ b/src/views/helpers/IconlinkHelper.php
@@ -83,6 +83,7 @@ class IconlinkHelper extends Helper
             "leave_group" => [ tl('iconlink_helper_leave_group'), "🛫"],
             "localize" => [ tl('iconlink_helper_localize'), '🌐'],
             "machines" => [tl('iconlink_helper_manage_machines'), '🤖'],
+            "ai_summary" => [tl('iconlink_helper_ai_summary'), '📝'],
             "mixes" => [tl('iconlink_helper_manage_mixes'), '🥨'],
             "messages" => [ tl('iconlink_helper_messages'), '💬'],
             "pages" => [tl('iconlink_helper_group_pages'), '📑'],
