feat(community): recommendation for agent & Discover tab (#11445)

This commit is contained in:
Neko
2026-01-12 20:46:50 +08:00
committed by GitHub
parent e0db55b75f
commit 5c102b559d
24 changed files with 56 additions and 5 deletions

View File

@@ -56,6 +56,7 @@
"assistants.more": "المزيد",
"assistants.plugins": "المهارات المدمجة",
"assistants.recentSubmits": "التحديثات الأخيرة",
"assistants.sorts.recommended": "موصى به",
"assistants.sorts.createdAt": "تم النشر مؤخرًا",
"assistants.sorts.identifier": "معرّف الوكيل",
"assistants.sorts.knowledgeCount": "عدد المكتبات",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "يتضمن هذا الوكيل مكتبات",
"assistants.withPlugin": "يتضمن هذا الوكيل مهارات",
"back": "العودة إلى الاكتشاف",
"category.assistant.discover": "استكشاف",
"category.assistant.academic": "أكاديمي",
"category.assistant.all": "الكل",
"category.assistant.career": "المسار المهني",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Още",
"assistants.plugins": "Интегрирани умения",
"assistants.recentSubmits": "Последни актуализации",
"assistants.sorts.recommended": "Препоръчани",
"assistants.sorts.createdAt": "Наскоро публикувани",
"assistants.sorts.identifier": "ID на агента",
"assistants.sorts.knowledgeCount": "Библиотеки",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Този агент включва библиотеки",
"assistants.withPlugin": "Този агент включва умения",
"back": "Обратно към откриване",
"category.assistant.discover": "Откриване",
"category.assistant.academic": "Академичен",
"category.assistant.all": "Всички",
"category.assistant.career": "Кариера",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Mehr",
"assistants.plugins": "Integrierte Fähigkeiten",
"assistants.recentSubmits": "Kürzlich aktualisiert",
"assistants.sorts.recommended": "Empfohlen",
"assistants.sorts.createdAt": "Kürzlich veröffentlicht",
"assistants.sorts.identifier": "Agenten-ID",
"assistants.sorts.knowledgeCount": "Bibliotheken",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Dieser Agent enthält Bibliotheken",
"assistants.withPlugin": "Dieser Agent enthält Fähigkeiten",
"back": "Zurück zur Entdeckung",
"category.assistant.discover": "Entdecken",
"category.assistant.academic": "Akademisch",
"category.assistant.all": "Alle",
"category.assistant.career": "Karriere",

View File

@@ -56,6 +56,7 @@
"assistants.more": "More",
"assistants.plugins": "Integrated Skills",
"assistants.recentSubmits": "Recent Updates",
"assistants.sorts.recommended": "Recommended",
"assistants.sorts.createdAt": "Recently Published",
"assistants.sorts.identifier": "Agent ID",
"assistants.sorts.knowledgeCount": "Libraries",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "This Agent includes Libraries",
"assistants.withPlugin": "This Agent includes Skills",
"back": "Back to Discovery",
"category.assistant.discover": "Discover",
"category.assistant.academic": "Academic",
"category.assistant.all": "All",
"category.assistant.career": "Career",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Más",
"assistants.plugins": "Habilidades Integradas",
"assistants.recentSubmits": "Actualizaciones Recientes",
"assistants.sorts.recommended": "Recomendado",
"assistants.sorts.createdAt": "Recientemente Publicado",
"assistants.sorts.identifier": "ID del Agente",
"assistants.sorts.knowledgeCount": "Bibliotecas",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Este Agente incluye Bibliotecas",
"assistants.withPlugin": "Este Agente incluye Habilidades",
"back": "Volver al Descubrimiento",
"category.assistant.discover": "Descubrir",
"category.assistant.academic": "Académico",
"category.assistant.all": "Todos",
"category.assistant.career": "Carrera",

View File

@@ -56,6 +56,7 @@
"assistants.more": "بیشتر",
"assistants.plugins": "مهارت‌های یکپارچه",
"assistants.recentSubmits": "به‌روزرسانی‌های اخیر",
"assistants.sorts.recommended": "پیشنهادی",
"assistants.sorts.createdAt": "تازه‌ترین‌ها",
"assistants.sorts.identifier": "شناسه عامل",
"assistants.sorts.knowledgeCount": "تعداد کتابخانه‌ها",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "این عامل شامل کتابخانه‌ها است",
"assistants.withPlugin": "این عامل شامل مهارت‌ها است",
"back": "بازگشت به اکتشاف",
"category.assistant.discover": "اکتشاف",
"category.assistant.academic": "آکادمیک",
"category.assistant.all": "همه",
"category.assistant.career": "شغلی",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Plus",
"assistants.plugins": "Compétences intégrées",
"assistants.recentSubmits": "Mises à jour récentes",
"assistants.sorts.recommended": "Recommandé",
"assistants.sorts.createdAt": "Récemment publié",
"assistants.sorts.identifier": "ID de l'Agent",
"assistants.sorts.knowledgeCount": "Bibliothèques",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Cet Agent inclut des bibliothèques",
"assistants.withPlugin": "Cet Agent inclut des compétences",
"back": "Retour à la découverte",
"category.assistant.discover": "Découverte",
"category.assistant.academic": "Académique",
"category.assistant.all": "Tous",
"category.assistant.career": "Carrière",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Altro",
"assistants.plugins": "Abilità integrate",
"assistants.recentSubmits": "Aggiornamenti recenti",
"assistants.sorts.recommended": "Consigliati",
"assistants.sorts.createdAt": "Pubblicati di recente",
"assistants.sorts.identifier": "ID Agente",
"assistants.sorts.knowledgeCount": "Librerie",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Questo Agente include Librerie",
"assistants.withPlugin": "Questo Agente include Abilità",
"back": "Torna alla Scoperta",
"category.assistant.discover": "Scoperta",
"category.assistant.academic": "Accademico",
"category.assistant.all": "Tutti",
"category.assistant.career": "Carriera",

View File

@@ -56,6 +56,7 @@
"assistants.more": "もっと見る",
"assistants.plugins": "プラグインを統合",
"assistants.recentSubmits": "最近の更新",
"assistants.sorts.recommended": "おすすめ",
"assistants.sorts.createdAt": "最新公開",
"assistants.sorts.identifier": "アシスタントID",
"assistants.sorts.knowledgeCount": "リソースライブラリの数",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "このアシスタントにはリソースライブラリが付属しています",
"assistants.withPlugin": "このアシスタントにはプラグインが付属しています",
"back": "戻る",
"category.assistant.discover": "発見",
"category.assistant.academic": "学術",
"category.assistant.all": "すべて",
"category.assistant.career": "キャリア",

View File

@@ -56,6 +56,7 @@
"assistants.more": "더 보기",
"assistants.plugins": "통합 기능",
"assistants.recentSubmits": "최근 업데이트",
"assistants.sorts.recommended": "추천",
"assistants.sorts.createdAt": "최신 등록",
"assistants.sorts.identifier": "도우미 ID",
"assistants.sorts.knowledgeCount": "자료 라이브러리 수",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "이 도우미에는 자료 라이브러리가 포함되어 있습니다",
"assistants.withPlugin": "이 도우미는 기능을 포함합니다",
"back": "탐색으로 돌아가기",
"category.assistant.discover": "탐색",
"category.assistant.academic": "학술",
"category.assistant.all": "전체",
"category.assistant.career": "커리어",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Meer",
"assistants.plugins": "Geïntegreerde Vaardigheden",
"assistants.recentSubmits": "Recente updates",
"assistants.sorts.recommended": "Aanbevolen",
"assistants.sorts.createdAt": "Recent gepubliceerd",
"assistants.sorts.identifier": "Agent-ID",
"assistants.sorts.knowledgeCount": "Bibliotheken",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Deze Agent bevat bibliotheken",
"assistants.withPlugin": "Deze Agent bevat vaardigheden",
"back": "Terug naar Ontdekking",
"category.assistant.discover": "Ontdekking",
"category.assistant.academic": "Academisch",
"category.assistant.all": "Alle",
"category.assistant.career": "Carrière",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Więcej",
"assistants.plugins": "Zintegrowane Umiejętności",
"assistants.recentSubmits": "Ostatnie aktualizacje",
"assistants.sorts.recommended": "Polecane",
"assistants.sorts.createdAt": "Najnowsze publikacje",
"assistants.sorts.identifier": "ID Agenta",
"assistants.sorts.knowledgeCount": "Biblioteki",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Ten Agent zawiera Biblioteki",
"assistants.withPlugin": "Ten Agent zawiera Umiejętności",
"back": "Powrót do Odkrywania",
"category.assistant.discover": "Odkrywanie",
"category.assistant.academic": "Akademickie",
"category.assistant.all": "Wszystkie",
"category.assistant.career": "Kariera",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Mais",
"assistants.plugins": "Habilidades Integradas",
"assistants.recentSubmits": "Atualizações Recentes",
"assistants.sorts.recommended": "Recomendado",
"assistants.sorts.createdAt": "Recentemente Publicado",
"assistants.sorts.identifier": "ID do Agente",
"assistants.sorts.knowledgeCount": "Bibliotecas",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Este Agente inclui Bibliotecas",
"assistants.withPlugin": "Este Agente inclui Habilidades",
"back": "Voltar para Descoberta",
"category.assistant.discover": "Descoberta",
"category.assistant.academic": "Acadêmico",
"category.assistant.all": "Todos",
"category.assistant.career": "Carreira",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Ещё",
"assistants.plugins": "Интегрированные навыки",
"assistants.recentSubmits": "Недавние обновления",
"assistants.sorts.recommended": "Рекомендованные",
"assistants.sorts.createdAt": "Недавно опубликованные",
"assistants.sorts.identifier": "ID агента",
"assistants.sorts.knowledgeCount": "Библиотеки",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Этот агент использует библиотеки",
"assistants.withPlugin": "Этот агент использует навыки",
"back": "Назад к поиску",
"category.assistant.discover": "Обзор",
"category.assistant.academic": "Академия",
"category.assistant.all": "Все",
"category.assistant.career": "Карьера",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Daha Fazla",
"assistants.plugins": "Entegre Beceriler",
"assistants.recentSubmits": "Son Güncellemeler",
"assistants.sorts.recommended": "Önerilen",
"assistants.sorts.createdAt": "Yeni Yayınlananlar",
"assistants.sorts.identifier": "Ajans Kimliği",
"assistants.sorts.knowledgeCount": "Kütüphaneler",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Bu Ajans Kütüphaneler içerir",
"assistants.withPlugin": "Bu Ajans Beceriler içerir",
"back": "Keşfe Geri Dön",
"category.assistant.discover": "Keşfet",
"category.assistant.academic": "Akademik",
"category.assistant.all": "Tümü",
"category.assistant.career": "Kariyer",

View File

@@ -56,6 +56,7 @@
"assistants.more": "Xem thêm",
"assistants.plugins": "Kỹ năng tích hợp",
"assistants.recentSubmits": "Cập nhật gần đây",
"assistants.sorts.recommended": "Đề xuất",
"assistants.sorts.createdAt": "Phát hành gần đây",
"assistants.sorts.identifier": "ID Tác nhân",
"assistants.sorts.knowledgeCount": "Số Thư viện",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "Tác nhân này bao gồm Thư viện",
"assistants.withPlugin": "Tác nhân này bao gồm Kỹ năng",
"back": "Quay lại Khám phá",
"category.assistant.discover": "Khám phá",
"category.assistant.academic": "Học thuật",
"category.assistant.all": "Tất cả",
"category.assistant.career": "Nghề nghiệp",

View File

@@ -56,6 +56,7 @@
"assistants.more": "更多",
"assistants.plugins": "集成技能",
"assistants.recentSubmits": "最近更新",
"assistants.sorts.recommended": "推荐",
"assistants.sorts.createdAt": "最近发布",
"assistants.sorts.identifier": "助理 ID",
"assistants.sorts.knowledgeCount": "资源库数量",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "该助理附带资源库",
"assistants.withPlugin": "该助理附带技能",
"back": "返回发现",
"category.assistant.discover": "发现",
"category.assistant.academic": "学术",
"category.assistant.all": "全部",
"category.assistant.career": "职业",

View File

@@ -56,6 +56,7 @@
"assistants.more": "更多",
"assistants.plugins": "集成插件",
"assistants.recentSubmits": "最近更新",
"assistants.sorts.recommended": "推薦",
"assistants.sorts.createdAt": "最近發布",
"assistants.sorts.identifier": "助理 ID",
"assistants.sorts.knowledgeCount": "資源庫數量",
@@ -82,6 +83,7 @@
"assistants.withKnowledge": "此助手附帶資源庫",
"assistants.withPlugin": "該助理附帶外掛",
"back": "返回發現",
"category.assistant.discover": "發現",
"category.assistant.academic": "學術",
"category.assistant.all": "全部",
"category.assistant.career": "職業",

View File

@@ -8,6 +8,7 @@ export enum AssistantCategory {
Career = 'career',
CopyWriting = 'copywriting',
Design = 'design',
Discover = 'discover',
Education = 'education',
Emotions = 'emotions',
Entertainment = 'entertainment',
@@ -17,7 +18,7 @@ export enum AssistantCategory {
Marketing = 'marketing',
Office = 'office',
Programming = 'programming',
Translation = 'translation',
Translation = 'translation'
}
export enum AssistantSorts {
@@ -26,8 +27,9 @@ export enum AssistantSorts {
KnowledgeCount = 'knowledgeCount',
MyOwn = 'myown',
PluginCount = 'pluginCount',
Recommended = 'recommended',
Title = 'title',
TokenUsage = 'tokenUsage',
TokenUsage = 'tokenUsage'
}
export enum AssistantNavKey {

View File

@@ -4,7 +4,7 @@ import { memo } from 'react';
import { useTranslation } from 'react-i18next';
import { useDiscoverStore } from '@/store/discover';
import { McpSorts } from '@/types/discover';
import { McpSorts, AssistantSorts } from '@/types/discover';
import Title from '../../components/Title';
import AssistantList from '../assistant/features/List';
@@ -19,6 +19,7 @@ const HomePage = memo(() => {
const { data: assistantList, isLoading: assistantLoading } = useAssistantList({
page: 1,
pageSize: 12,
sort: AssistantSorts.Recommended,
});
const { data: mcpList, isLoading: pluginLoading } = useMcpList({

View File

@@ -14,6 +14,7 @@ import {
PencilIcon,
PrinterIcon,
TerminalSquareIcon,
CompassIcon,
} from 'lucide-react';
import { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
@@ -25,6 +26,11 @@ export const useCategory = () => {
return useMemo(
() => [
{
icon: CompassIcon,
key: AssistantCategory.Discover,
label: t('category.assistant.discover'),
},
{
icon: LayoutPanelTop,
key: AssistantCategory.All,

View File

@@ -5,7 +5,7 @@ import { memo } from 'react';
import { useQuery } from '@/hooks/useQuery';
import { useDiscoverStore } from '@/store/discover';
import { type AssistantQueryParams, DiscoverTab } from '@/types/discover';
import { type AssistantQueryParams, AssistantSorts, DiscoverTab } from '@/types/discover';
import Pagination from '../features/Pagination';
import List from './features/List';
@@ -20,7 +20,7 @@ const AssistantPage = memo(() => {
page,
pageSize: 21,
q,
sort,
sort: sort ?? AssistantSorts.Recommended,
source,
});

View File

@@ -27,6 +27,10 @@ const SortButton = memo(() => {
switch (activeTab) {
case DiscoverTab.Assistants: {
const baseItems = [
{
key: AssistantSorts.Recommended,
label: t('assistants.sorts.recommended'),
},
{
key: AssistantSorts.CreatedAt,
label: t('assistants.sorts.createdAt'),

View File

@@ -59,6 +59,7 @@ export default {
'assistants.more': 'More',
'assistants.plugins': 'Integrated Skills',
'assistants.recentSubmits': 'Recent Updates',
'assistants.sorts.recommended': 'Recommended',
'assistants.sorts.createdAt': 'Recently Published',
'assistants.sorts.identifier': 'Agent ID',
'assistants.sorts.knowledgeCount': 'Libraries',
@@ -89,6 +90,7 @@ export default {
'assistants.withKnowledge': 'This Agent includes Libraries',
'assistants.withPlugin': 'This Agent includes Skills',
'back': 'Back to Discovery',
'category.assistant.discover': 'Discover',
'category.assistant.academic': 'Academic',
'category.assistant.all': 'All',
'category.assistant.career': 'Career',