-
- {item.title}
-
-
- {item.content}
-
-
-
+
+
+ {item.icon &&
+ React.createElement(item.icon, { className: "text-5xl text-white" })}
+
+
+ {item.title}
+
+
{item.content}
+
+ {item.tip}
+
+
+
+
+
))}
diff --git a/projects/fastgpt/components/home/CTA.tsx b/projects/fastgpt/components/home/CTA.tsx
index 72bb921..1a52401 100644
--- a/projects/fastgpt/components/home/CTA.tsx
+++ b/projects/fastgpt/components/home/CTA.tsx
@@ -1,29 +1,114 @@
/* eslint-disable react/no-unescaped-entities */
import CTAButton from '@/components/home/CTAButton';
-import { RoughNotation } from 'react-rough-notation';
+import { siteConfig } from "@/config/site";
+import Image from "next/image";
+import Link from "next/link";
+import React from 'react';
const CTA = ({ locale, CTALocale, stars }: { locale: any; CTALocale: any; stars: number }) => {
+ const d = new Date();
+ const currentYear = d.getFullYear();
+ const { authors, footerService, footerProducts, footerLinks } = siteConfig;
+
+
+ const LogoFC = () => (
+
+
+
+
)
+
return (
-
-
-
{locale.title}
-
-
- {locale.description1}
-
- {locale.description2}
-
- {locale.description3}
-
- {locale.description4}
-
- {locale.description5}
-
- {locale.description6}
-
-
-
-
+
);
};
diff --git a/projects/fastgpt/components/home/CTAButton.tsx b/projects/fastgpt/components/home/CTAButton.tsx
index 5d5786f..a5c110b 100644
--- a/projects/fastgpt/components/home/CTAButton.tsx
+++ b/projects/fastgpt/components/home/CTAButton.tsx
@@ -5,7 +5,7 @@ import { RocketIcon } from 'lucide-react';
import Link from 'next/link';
import { useEffect, useState } from 'react';
-const CTAButton = ({ locale, stars: initialStars }: { locale: any; stars: number }) => {
+const CTAButton = ({ locale, stars: initialStars, showGithub = true }: { locale: any; stars: number, showGithub?: boolean }) => {
const [stars, setStars] = useState(initialStars);
useEffect(() => {
@@ -17,38 +17,40 @@ const CTAButton = ({ locale, stars: initialStars }: { locale: any; stars: number
if (stargazers_count && stargazers_count !== initialStars) {
setStars(stargazers_count);
}
- } catch (error) {}
+ } catch (error) { }
};
getStars();
}, [initialStars]);
return (
-
+
+ {
+ showGithub && (
+
+ )
+ }
-
-
-
);
};
diff --git a/projects/fastgpt/components/home/FAQ.tsx b/projects/fastgpt/components/home/FAQ.tsx
index 1863a74..635ff9d 100644
--- a/projects/fastgpt/components/home/FAQ.tsx
+++ b/projects/fastgpt/components/home/FAQ.tsx
@@ -2,7 +2,6 @@
import { ALL_FAQS } from "@/config/faqs";
import { Accordion, AccordionItem } from "@nextui-org/react";
import { PlusIcon } from "lucide-react";
-import { RoughNotation } from "react-rough-notation";
// update rough notation highlight
function triggerResizeEvent() {
@@ -24,25 +23,29 @@ const FAQ = ({
return (
-
-
-
- {locale.title}
-
-
-
{locale.description}
+
+
+ {/* */}
+ {locale.title}
+ {/* */}
+
+
+ {locale.description}
+
-
-
- {locale.title}
-
-
- {locale.description}
-
+
+ {/* */}
+ {locale.title}
+ {/* */}
+
+
+ {locale.description}
+
+
{FEATURES?.map((feature, index) => (
-
+
{feature.icon &&
React.createElement(feature.icon, { className: "text-2xl" })}
-
{feature.title}
-
+
{feature.title}
+
{feature.content}
))}
+
+
+
+ {locale.doYouLike}
+
+ {locale.follow}
+
+
+
);
};
diff --git a/projects/fastgpt/components/home/Hero.tsx b/projects/fastgpt/components/home/Hero.tsx
index 6cd1355..ca07eac 100644
--- a/projects/fastgpt/components/home/Hero.tsx
+++ b/projects/fastgpt/components/home/Hero.tsx
@@ -1,7 +1,7 @@
'use client';
-import { LineText } from '@/components/LineText';
import CTAButton from '@/components/home/CTAButton';
import { motion } from 'framer-motion';
+import Image from "next/image";
const Hero = ({ locale, CTALocale, stars }: { locale: any; CTALocale: any; stars: number }) => {
return (
@@ -20,12 +20,26 @@ const Hero = ({ locale, CTALocale, stars }: { locale: any; CTALocale: any; stars
}
}}
>
-
-
- {locale.title1} {locale.title2} {locale.title3}
+
+
+ 9w+
+ {locale.maker}
+
+
+
+ {locale.title1}
+
+ {/* {locale.title2} */}
+ {locale.title3}
-
- {/* {siteConfig.description} */}
+
{locale.description}
diff --git a/projects/fastgpt/components/home/Pricing.tsx b/projects/fastgpt/components/home/Pricing.tsx
index b3bb90f..b50af67 100644
--- a/projects/fastgpt/components/home/Pricing.tsx
+++ b/projects/fastgpt/components/home/Pricing.tsx
@@ -14,7 +14,6 @@ import {
import { siteConfig } from "@/config/site";
import { ALL_TIERS } from "@/config/tiers";
import { FaCheck } from "react-icons/fa";
-import { RoughNotation } from "react-rough-notation";
const Pricing = ({
id,
@@ -32,10 +31,10 @@ const Pricing = ({
className="flex flex-col justify-center max-w-4xl items-center pt-16"
>
-
-
- {locale.title}
-
+
+ {/* */}
+ {locale.title}
+ {/* */}
{locale.title2}
diff --git a/projects/fastgpt/components/home/Video.tsx b/projects/fastgpt/components/home/Video.tsx
index dae490e..02c692c 100644
--- a/projects/fastgpt/components/home/Video.tsx
+++ b/projects/fastgpt/components/home/Video.tsx
@@ -57,20 +57,23 @@ const VideoPlayer = ({
return (
+
);
};
diff --git a/projects/fastgpt/components/icons/moon.tsx b/projects/fastgpt/components/icons/moon.tsx
index f7bbf75..f038b5a 100644
--- a/projects/fastgpt/components/icons/moon.tsx
+++ b/projects/fastgpt/components/icons/moon.tsx
@@ -8,7 +8,7 @@ export default function PhMoonFill(props: any) {
{...props}
>
diff --git a/projects/fastgpt/components/ui/select.tsx b/projects/fastgpt/components/ui/select.tsx
index cbe5a36..c103ed3 100644
--- a/projects/fastgpt/components/ui/select.tsx
+++ b/projects/fastgpt/components/ui/select.tsx
@@ -1,8 +1,8 @@
"use client"
-import * as React from "react"
import * as SelectPrimitive from "@radix-ui/react-select"
import { Check, ChevronDown, ChevronUp } from "lucide-react"
+import * as React from "react"
import { cn } from "@/lib/utils"
@@ -19,7 +19,7 @@ const SelectTrigger = React.forwardRef<
span]:line-clamp-1",
+ "flex h-10 w-full items-center justify-between rounded-md px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 gap-1",
className
)}
{...props}
@@ -147,14 +147,6 @@ const SelectSeparator = React.forwardRef<
SelectSeparator.displayName = SelectPrimitive.Separator.displayName
export {
- Select,
- SelectGroup,
- SelectValue,
- SelectTrigger,
- SelectContent,
- SelectLabel,
- SelectItem,
- SelectSeparator,
- SelectScrollUpButton,
- SelectScrollDownButton,
+ Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue
}
+
diff --git a/projects/fastgpt/config/ability.ts b/projects/fastgpt/config/ability.ts
index 6f7d1ac..5dd434d 100644
--- a/projects/fastgpt/config/ability.ts
+++ b/projects/fastgpt/config/ability.ts
@@ -1,27 +1,45 @@
+import { LucideIcon } from "lucide-react";
+import { IconType } from "react-icons";
+import { AiFillApi } from "react-icons/ai";
+import { FaDatabase, FaLayerGroup, FaRobot } from "react-icons/fa";
+
+
export const ABILITYS_EN = [
{
title: "Domain-Specific AI Assistant",
content:
"Create AI-powered chatbots for specific domains by training models with imported documents or Q&A pairs.",
image: "/images/ability/en/ai_assiatant.png",
+ imageDark: "/images/ability/en/ai_assiatant_dark.png",
+ tip: "Learn More >",
+ icon: FaRobot,
},
{
title: "Automated Data Preprocessing",
content:
"Save time and improve efficiency with automated text preprocessing, vectorization, and QA segmentation.",
image: "/images/ability/en/dataset_import.png",
+ imageDark: "/images/ability/en/dataset_import_dark.png",
+ tip: "Learn More >",
+ icon: FaDatabase,
},
{
title: "Workflow Orchestration",
content:
"Support AI Workflow orchestration, Design complex workflow using a visual drag-and-drop interface, integrating tasks like database queries and inventory checks.",
image: "/images/ability/en/advanced_settings.png",
+ imageDark: "/images/ability/en/advanced_settings_dark.png",
+ tip: "Learn More >",
+ icon: FaLayerGroup,
},
{
title: "Seamless API Integration",
content:
"Seamlessly connect with existing GPT applications and platforms like Discord, Slack, and Telegram using OpenAI-aligned APIs.",
image: "/images/ability/en/openapi.png",
+ imageDark: "/images/ability/en/openapi_dark.png",
+ tip: "Learn More >",
+ icon: AiFillApi,
},
];
@@ -30,23 +48,35 @@ export const ABILITYS_ZH = [
title: "特定领域 AI 客服",
content: "通过导入文档或问答对来训练 AI 模型,使其能够基于特定领域知识库进行交互式对话,构建特定领域的 AI 智能客服。",
image: "/images/ability/zh/ai_assiatant.png",
+ imageDark: "/images/ability/zh/ai_assiatant_dark.png",
+ tip: "了解更多 >",
+ icon: FaRobot,
},
{
title: "自动化数据预处理",
content:
"提供手动输入、直接分段、LLM 自动处理等多种数据导入方式,自动完成文本预处理、向量化和 QA 分割,节省手动训练时间,提高效率。",
image: "/images/ability/zh/dataset_import.png",
+ imageDark: "/images/ability/zh/dataset_import_dark.png",
+ tip: "了解更多 >",
+ icon: FaDatabase,
},
{
title: "工作流编排",
content:
"支持工作流(AI Workflow)编排,可以基于可视化的拖拽界面设计更加复杂的问答流程,如查询数据库、查询库存、预约实验室等。",
image: "/images/ability/zh/advanced_settings.png",
+ imageDark: "/images/ability/zh/advanced_settings_dark.png",
+ tip: "了解更多 >",
+ icon: FaLayerGroup,
},
{
title: "强大的 API 集成",
content: "提供与 OpenAI 官方接口对齐的 API,直接接入现有 GPT 应用,轻松集成企业微信、公众号、飞书等平台。",
image: "/images/ability/zh/openapi.png",
+ imageDark: "/images/ability/zh/openapi_dark.png",
+ tip: "了解更多 >",
+ icon: AiFillApi,
},
];
@@ -55,23 +85,35 @@ export const ABILITYS_JA = [
title: "ドメイン特化型AIアシスタント",
content: "インポートされたドキュメントやQ&Aペアでモデルをトレーニングすることで、特定のドメインに特化したAIチャットボットを作成します。",
image: "/images/ability/en/ai_assiatant.png",
+ imageDark: "/images/ability/en/ai_assiatant_dark.png",
+ tip: "詳細を見る >",
+ icon: FaRobot,
},
{
title: "自動データ前処理",
content:
"テキストの前処理、ベクトル化、QAセグメンテーションを自動化することで、時間を節約し、効率を向上させます。",
image: "/images/ability/en/dataset_import.png",
+ imageDark: "/images/ability/en/dataset_import_dark.png",
+ tip: "詳細を見る >",
+ icon: FaDatabase,
},
{
title: "ワークフローオーケストレーション",
content:
"AIワークフローオーケストレーションをサポートし、データベースクエリや在庫チェックなどのタスクを統合した複雑なワークフローをビジュアルなドラッグ&ドロップインターフェースで設計します。",
image: "/images/ability/zh/advanced_settings.png",
+ imageDark: "/images/ability/zh/advanced_settings_dark.png",
+ tip: "詳細を見る >",
+ icon: FaLayerGroup,
},
{
title: "シームレスなAPI統合",
content: "OpenAI準拠のAPIを使用して、Discord、Slack、Telegramなどの既存のGPTアプリケーションやプラットフォームとシームレスに接続します。",
image: "/images/ability/en/openapi.png",
+ imageDark: "/images/ability/en/openapi_dark.png",
+ tip: "詳細を見る >",
+ icon: AiFillApi,
},
];
@@ -79,22 +121,34 @@ export const ABILITYS_AR = [
{
"content": "استخدم الدردشات الآلية المدعومة بالذكاء الاصطناعي لمجالات محددة من خلال تدريب النماذج باستيراد المستندات أو أزواج الأسئلة والأجوبة.",
"image": "/images/ability/en/ai_assiatant.png",
- "title": "مساعد ذكاء اصطناعي خاص بالمجال"
+ "title": "مساعد ذكاء اصطناعي خاص بالمجال",
+ imageDark: "/images/ability/en/ai_assiatant_dark.png",
+ tip: "اعرف المزيد >",
+ icon: FaRobot,
},
{
"content": "وفر الوقت وحسّن الكفاءة من خلال المعالجة المسبقة الآلية للنصوص، والتحويل إلى متجهات، وتقسيم الأسئلة والأجوبة.",
"image": "/images/ability/en/dataset_import.png",
- "title": "المعالجة المسبقة الآلية للبيانات"
+ "title": "المعالجة المسبقة الآلية للبيانات",
+ imageDark: "/images/ability/en/dataset_import_dark.png",
+ tip: "اعرف المزيد >",
+ icon: FaDatabase,
},
{
"content": "ادعم تنسيق سير عمل الذكاء الاصطناعي، وصمم سير عمل معقدًا باستخدام واجهة سحب وإفلات مرئية، ودمج مهام مثل استعلامات قواعد البيانات وفحوصات المخزون.",
"image": "/images/ability/en/advanced_settings.png",
- "title": "تنسيق سير العمل"
+ "title": "تنسيق سير العمل",
+ imageDark: "/images/ability/en/advanced_settings_dark.png",
+ tip: "اعرف المزيد >",
+ icon: FaLayerGroup,
},
{
"content": "اتصل بسلاسة بتطبيقات ومنصات GPT الحالية مثل Discord و Slack و Telegram باستخدام واجهات برمجة التطبيقات المتوافقة مع OpenAI.",
"image": "/images/ability/en/openapi.png",
- "title": "تكامل سلس لواجهة برمجة التطبيقات"
+ "title": "تكامل سلس لواجهة برمجة التطبيقات",
+ imageDark: "/images/ability/en/openapi_dark.png",
+ tip: "اعرف المزيد >",
+ icon: AiFillApi,
},
];
@@ -104,24 +158,36 @@ export const ABILITYS_ES = [
content:
"Crea chatbots impulsados por IA para dominios específicos entrenando modelos con documentos importados o pares de preguntas y respuestas.",
image: "/images/ability/en/ai_assiatant.png",
+ imageDark: "/images/ability/en/ai_assiatant_dark.png",
+ tip: "Saber más >",
+ icon: FaRobot,
},
{
title: "Preprocesamiento Automatizado de Datos",
content:
"Ahorra tiempo y mejora la eficiencia con el preprocesamiento automatizado de texto, la vectorización y la segmentación de preguntas y respuestas.",
image: "/images/ability/en/dataset_import.png",
+ imageDark: "/images/ability/en/dataset_import_dark.png",
+ tip: "Saber más >",
+ icon: FaDatabase,
},
{
title: "Orquestación de Flujos de Trabajo",
content:
"Soporta la orquestación de flujos de trabajo de IA, diseña flujos de trabajo complejos utilizando una interfaz visual de arrastrar y soltar, integrando tareas como consultas a bases de datos y verificaciones de inventario.",
image: "/images/ability/en/advanced_settings.png",
+ imageDark: "/images/ability/en/advanced_settings_dark.png",
+ tip: "Saber más >",
+ icon: FaLayerGroup,
},
{
title: "Integración Perfecta de API",
content:
"Conéctate sin problemas con aplicaciones y plataformas GPT existentes como Discord, Slack y Telegram utilizando APIs alineadas con OpenAI.",
image: "/images/ability/en/openapi.png",
+ imageDark: "/images/ability/en/openapi_dark.png",
+ tip: "Saber más >",
+ icon: AiFillApi,
},
];
@@ -131,24 +197,36 @@ export const ABILITYS_RU = [
content:
"Создавайте чат-боты с ИИ для конкретных областей, обучая модели на импортированных документах или парах вопросов и ответов.",
image: "/images/ability/en/ai_assiatant.png",
+ imageDark: "/images/ability/en/ai_assiatant_dark.png",
+ tip: "Узнать больше >",
+ icon: FaRobot,
},
{
title: "Автоматизированная предварительная обработка данных",
content:
"Экономьте время и повышайте эффективность с помощью автоматической предварительной обработки текста, векторизации и сегментации вопросов и ответов.",
image: "/images/ability/en/dataset_import.png",
+ imageDark: "/images/ability/en/dataset_import_dark.png",
+ tip: "Узнать больше >",
+ icon: FaDatabase,
},
{
title: "Оркестрация рабочих процессов",
content:
"Поддержка оркестрации рабочих процессов ИИ. Создавайте сложные рабочие процессы с помощью визуального интерфейса drag-and-drop, интегрируя такие задачи, как запросы к базам данных и проверка инвентаря.",
image: "/images/ability/en/advanced_settings.png",
+ imageDark: "/images/ability/en/advanced_settings_dark.png",
+ tip: "Узнать больше >",
+ icon: FaLayerGroup,
},
{
title: "Бесшовная интеграция API",
content:
"Легко подключайтесь к существующим приложениям и платформам GPT, таким как Discord, Slack и Telegram, используя API, совместимые с OpenAI.",
image: "/images/ability/en/openapi.png",
+ imageDark: "/images/ability/en/openapi_dark.png",
+ tip: "Узнать больше >",
+ icon: AiFillApi,
},
];
@@ -157,6 +235,9 @@ interface AbilityCollection {
title: string;
content: string;
image: string;
+ imageDark?: string;
+ tip?: string;
+ icon?: IconType | LucideIcon;
}[];
}
diff --git a/projects/fastgpt/config/feature.ts b/projects/fastgpt/config/feature.ts
index 0a547c0..711245a 100644
--- a/projects/fastgpt/config/feature.ts
+++ b/projects/fastgpt/config/feature.ts
@@ -1,14 +1,11 @@
-import { LucideIcon, MagnetIcon } from "lucide-react";
+import { LucideIcon } from "lucide-react";
import { IconType } from "react-icons";
import { BsGithub } from "react-icons/bs";
-import { FaToolbox } from "react-icons/fa";
-import { FaEarthAsia, FaMobileScreenButton } from "react-icons/fa6";
-import { MdCloudUpload } from "react-icons/md";
-import { RiQuestionAnswerFill } from "react-icons/ri";
-import { FcWorkflow } from "react-icons/fc";
import { GiExpander } from "react-icons/gi";
-import { VscDebugConsole } from "react-icons/vsc";
+import { RiQuestionAnswerFill } from "react-icons/ri";
import { SiOpenai } from "react-icons/si";
+import { TiFlowMerge } from "react-icons/ti";
+import { VscDebugConsole } from "react-icons/vsc";
export const FEATURES_EN = [
{
@@ -24,7 +21,7 @@ export const FEATURES_EN = [
{
"title": "Visual Workflow",
"content": "Design complex workflows with ease using the Flow module.",
- "icon": FcWorkflow,
+ "icon": TiFlowMerge,
},
{
"title": "Seamless Extensibility",
@@ -57,7 +54,7 @@ export const FEATURES_ZH = [
{
title: "可视化工作流",
content: "通过 Flow 模块可视化从问题输入到模型输出的完整流程,便于调试和设计复杂流程。",
- icon: FcWorkflow,
+ icon: TiFlowMerge,
},
{
title: "无限扩展",
@@ -90,7 +87,7 @@ export const FEATURES_JA = [
{
"title": "ビジュアルワークフロー",
"content": "Flowモジュールで複雑なワークフローも簡単に設計可能。",
- "icon": FcWorkflow,
+ "icon": TiFlowMerge,
},
{
"title": "シームレスな拡張性",
@@ -123,7 +120,7 @@ export const FEATURES_AR = [
{
"title": "سير عمل مرئي",
"content": "تصميم سير العمل المعقد بسهولة باستخدام وحدة التدفق.",
- "icon": FcWorkflow,
+ "icon": TiFlowMerge,
},
{
"title": "قابلية توسع سلسة",
@@ -156,7 +153,7 @@ export const FEATURES_ES = [
{
"title": "Flujo de trabajo visual",
"content": "Diseñe flujos de trabajo complejos fácilmente con el módulo Flow.",
- "icon": FcWorkflow,
+ "icon": TiFlowMerge,
},
{
"title": "Extensibilidad sin problemas",
@@ -189,7 +186,7 @@ export const FEATURES_RU = [
{
"title": "Визуальный рабочий процесс",
"content": "Легко создавайте сложные рабочие процессы с помощью модуля Flow.",
- "icon": FcWorkflow,
+ "icon": TiFlowMerge,
},
{
"title": "Простая расширяемость",
diff --git a/projects/fastgpt/config/site.ts b/projects/fastgpt/config/site.ts
index d9be31c..9cd7df7 100644
--- a/projects/fastgpt/config/site.ts
+++ b/projects/fastgpt/config/site.ts
@@ -1,7 +1,6 @@
import { SiteConfig } from '@/types/siteConfig';
-import { BsGithub, BsTwitterX, BsWechat } from 'react-icons/bs';
+import { BsGithub, BsWechat } from 'react-icons/bs';
import { MdEmail } from 'react-icons/md';
-import { SiBuymeacoffee, SiJuejin } from 'react-icons/si';
const OPEN_SOURCE_URL = 'https://github.com/labring/FastGPT';
@@ -73,7 +72,9 @@ const baseSiteConfig = {
{ url: 'https://doc.fastgpt.in', name: 'Docs' },
{ url: 'https://doc.fastgpt.in/docs/community/', name: 'Forum' },
{ url: 'https://uuhyahynnudq.hzh.sealos.run/status/in', name: 'Status' },
- { url: 'https://doc.fastgpt.in/docs/agreement/terms', name: 'Terms of Service' },
+ ],
+ footerService:[
+ { url: 'https://doc.fastgpt.in/docs/agreement/terms', name: 'Terms of Service' },
{ url: 'https://doc.fastgpt.in/docs/agreement/privacy', name: 'Privacy Policy' }
]
};
diff --git a/projects/fastgpt/locales/ar.json b/projects/fastgpt/locales/ar.json
index 0569977..a78628f 100644
--- a/projects/fastgpt/locales/ar.json
+++ b/projects/fastgpt/locales/ar.json
@@ -10,7 +10,7 @@
},
{
"label": "الأسعار",
- "href": "#Pricing"
+ "href": "https://cloud.tryfastgpt.ai/price"
},
{
"label": "الأسئلة الشائعة",
@@ -22,6 +22,7 @@
}
],
"Hero": {
+ "maker": "يستخدم المطورون FastGPT لإنشاء قواعد معرفة الذكاء الاصطناعي المتخصصة الخاصة بهم",
"title1": "بمعرفتك",
"title2": "مكّن الذكاء",
"title3": "الاصطناعي",
@@ -32,7 +33,9 @@
},
"Feature": {
"title": "المزايا الرئيسية لـ FastGPT",
- "description": "لماذا تختار FastGPT لتلبية احتياجات قاعدة معرفة الذكاء الاصطناعي الخاصة بك؟"
+ "description": "لماذا تختار FastGPT لتلبية احتياجات قاعدة معرفة الذكاء الاصطناعي الخاصة بك؟",
+ "doYouLike": "هل تستمتع باستخدام حل قاعدة معرفة الذكاء الاصطناعي مفتوح المصدر هذا؟",
+ "follow": "أظهر تقديرك بمنحنا نجمة 🌟"
},
"Ability": {
"title": "جاهز للنشر"
diff --git a/projects/fastgpt/locales/en.json b/projects/fastgpt/locales/en.json
index 5edb538..bb6d02a 100644
--- a/projects/fastgpt/locales/en.json
+++ b/projects/fastgpt/locales/en.json
@@ -10,7 +10,7 @@
},
{
"label": "Pricing",
- "href": "#Pricing"
+ "href": "https://cloud.tryfastgpt.ai/price"
},
{
"label": "FAQ",
@@ -22,6 +22,7 @@
}
],
"Hero": {
+ "maker": "Users are leveraging FastGPT to create their own specialized AI knowledge bases",
"title1": "Empower",
"title2": "AI",
"title3": "with Your Expertise",
@@ -32,7 +33,9 @@
},
"Feature": {
"title": "Why Choose FastGPT?",
- "description": "Discover the advantages of FastGPT"
+ "description": "Discover the advantages of FastGPT",
+ "doYouLike": "Do you find this open-source AI knowledge base platform valuable?",
+ "follow": "Show your support by giving us a star 🌟"
},
"Ability": {
"title": "Features"
@@ -58,6 +61,6 @@
"description6": " your growth today!"
},
"CTAButton": {
- "title": "Get FastGPT"
+ "title": "Get Started"
}
}
\ No newline at end of file
diff --git a/projects/fastgpt/locales/es.json b/projects/fastgpt/locales/es.json
index 682cc5e..3fc4f10 100644
--- a/projects/fastgpt/locales/es.json
+++ b/projects/fastgpt/locales/es.json
@@ -10,7 +10,8 @@
},
{
"label": "Precios",
- "href": "#Pricing"
+ "href": "https://cloud.tryfastgpt.ai/price"
+
},
{
"label": "Preguntas frecuentes",
@@ -22,6 +23,7 @@
}
],
"Hero": {
+ "maker": "Los desarrolladores están aprovechando FastGPT para crear sus propias bases de conocimiento especializadas de IA",
"title1": "Potencia la IA",
"title2": "",
"title3": "con Tu Conocimiento",
@@ -32,7 +34,9 @@
},
"Feature": {
"title": "Ventajas Clave de FastGPT",
- "description": "¿Por qué elegir FastGPT para tus necesidades de base de conocimiento de IA?"
+ "description": "¿Por qué elegir FastGPT para tus necesidades de base de conocimiento de IA?",
+ "doYouLike": "¿Disfrutas de esta solución de base de conocimiento de IA de código abierto?",
+ "follow": "Muestra tu aprecio con una estrella 🌟"
},
"Ability": {
"title": "Listo para Implementar"
diff --git a/projects/fastgpt/locales/ja.json b/projects/fastgpt/locales/ja.json
index fed1dae..a9f3ba5 100644
--- a/projects/fastgpt/locales/ja.json
+++ b/projects/fastgpt/locales/ja.json
@@ -10,7 +10,7 @@
},
{
"label": "価格",
- "href": "#Pricing"
+ "href": "https://cloud.tryfastgpt.ai/price"
},
{
"label": "よくある質問",
@@ -22,6 +22,7 @@
}
],
"Hero": {
+ "maker": "開発者はFastGPTを活用して、独自の専門AIナレッジベースを作成しています",
"title1": "AIに力を",
"title2": "",
"title3": "あなたの知識で与えよう",
@@ -32,7 +33,9 @@
},
"Feature": {
"title": "FastGPTの主な利点",
- "description": "AIナレッジベースのニーズに FastGPTを選ぶ理由は何でしょうか?"
+ "description": "AIナレッジベースのニーズに FastGPTを選ぶ理由は何でしょうか?",
+ "doYouLike": "このオープンソースのAIナレッジベースソリューションを気に入っていただけましたか?",
+ "follow": "スター🌟で感謝の気持ちを示しましょう"
},
"Ability": {
"title": "すぐにデプロイ可能"
diff --git a/projects/fastgpt/locales/ru.json b/projects/fastgpt/locales/ru.json
index 5d7230c..0a7f228 100644
--- a/projects/fastgpt/locales/ru.json
+++ b/projects/fastgpt/locales/ru.json
@@ -10,7 +10,7 @@
},
{
"label": "Цены",
- "href": "#Pricing"
+ "href": "https://cloud.tryfastgpt.ai/price"
},
{
"label": "Часто задаваемые вопросы",
@@ -22,6 +22,7 @@
}
],
"Hero": {
+ "maker": "разработчики создают быстро",
"title1": "",
"title2": "Лендинг",
"title3": "быстро создан"
@@ -30,7 +31,9 @@
"maker": "разработчики создают быстро"
},
"Feature": {
- "title": "Особенности"
+ "title": "Особенности",
+ "doYouLike": "Вам нравится этот шаблон лендинга?",
+ "follow": "Подписывайтесь на мой Твиттер."
},
"Ability": {
"title": "Ability"
diff --git a/projects/fastgpt/locales/zh.json b/projects/fastgpt/locales/zh.json
index b58d84d..1ff7642 100644
--- a/projects/fastgpt/locales/zh.json
+++ b/projects/fastgpt/locales/zh.json
@@ -10,7 +10,7 @@
},
{
"label": "价格",
- "href": "#Pricing"
+ "href": "https://cloud.tryfastgpt.ai/price"
},
{
"label": "FAQ",
@@ -26,6 +26,7 @@
}
],
"Hero": {
+ "maker": "用户正在使用 FastGPT 构建专属 AI 知识库",
"title1": "让",
"title2": "AI",
"title3": "更懂您的知识",
@@ -36,7 +37,9 @@
},
"Feature": {
"title": "优势",
- "description": "为什么选择 FastGPT?"
+ "description": "为什么选择 FastGPT?",
+ "doYouLike": "你喜欢这个开源 AI 知识库平台吗?",
+ "follow": "点个 Star 吧🌟"
},
"Ability": {
"title": "开箱即用"
diff --git a/projects/fastgpt/public/AI.png b/projects/fastgpt/public/AI.png
new file mode 100644
index 0000000..4c5d540
Binary files /dev/null and b/projects/fastgpt/public/AI.png differ
diff --git a/projects/fastgpt/public/bg.png b/projects/fastgpt/public/bg.png
new file mode 100644
index 0000000..a428bf1
Binary files /dev/null and b/projects/fastgpt/public/bg.png differ
diff --git a/projects/fastgpt/public/images/ability/en/advanced_settings.png b/projects/fastgpt/public/images/ability/en/advanced_settings.png
index 9dec1db..0c96244 100644
Binary files a/projects/fastgpt/public/images/ability/en/advanced_settings.png and b/projects/fastgpt/public/images/ability/en/advanced_settings.png differ
diff --git a/projects/fastgpt/public/images/ability/en/advanced_settings_dark.png b/projects/fastgpt/public/images/ability/en/advanced_settings_dark.png
new file mode 100644
index 0000000..c248322
Binary files /dev/null and b/projects/fastgpt/public/images/ability/en/advanced_settings_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/en/ai_assiatant.png b/projects/fastgpt/public/images/ability/en/ai_assiatant.png
index 37ba381..af6d500 100644
Binary files a/projects/fastgpt/public/images/ability/en/ai_assiatant.png and b/projects/fastgpt/public/images/ability/en/ai_assiatant.png differ
diff --git a/projects/fastgpt/public/images/ability/en/ai_assiatant_dark.png b/projects/fastgpt/public/images/ability/en/ai_assiatant_dark.png
new file mode 100644
index 0000000..a535301
Binary files /dev/null and b/projects/fastgpt/public/images/ability/en/ai_assiatant_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/en/dataset_import.png b/projects/fastgpt/public/images/ability/en/dataset_import.png
index 98403ec..5159164 100644
Binary files a/projects/fastgpt/public/images/ability/en/dataset_import.png and b/projects/fastgpt/public/images/ability/en/dataset_import.png differ
diff --git a/projects/fastgpt/public/images/ability/en/dataset_import_dark.png b/projects/fastgpt/public/images/ability/en/dataset_import_dark.png
new file mode 100644
index 0000000..e95016a
Binary files /dev/null and b/projects/fastgpt/public/images/ability/en/dataset_import_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/en/openapi.png b/projects/fastgpt/public/images/ability/en/openapi.png
index 95fdb9a..4e968f1 100644
Binary files a/projects/fastgpt/public/images/ability/en/openapi.png and b/projects/fastgpt/public/images/ability/en/openapi.png differ
diff --git a/projects/fastgpt/public/images/ability/en/openapi_dark.png b/projects/fastgpt/public/images/ability/en/openapi_dark.png
new file mode 100644
index 0000000..c17383a
Binary files /dev/null and b/projects/fastgpt/public/images/ability/en/openapi_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/advanced_settings.png b/projects/fastgpt/public/images/ability/zh/advanced_settings.png
index 0012968..17c92a1 100644
Binary files a/projects/fastgpt/public/images/ability/zh/advanced_settings.png and b/projects/fastgpt/public/images/ability/zh/advanced_settings.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/advanced_settings_dark.png b/projects/fastgpt/public/images/ability/zh/advanced_settings_dark.png
new file mode 100644
index 0000000..0696b75
Binary files /dev/null and b/projects/fastgpt/public/images/ability/zh/advanced_settings_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/ai_assiatant.png b/projects/fastgpt/public/images/ability/zh/ai_assiatant.png
index 86788b1..c1113ac 100644
Binary files a/projects/fastgpt/public/images/ability/zh/ai_assiatant.png and b/projects/fastgpt/public/images/ability/zh/ai_assiatant.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/ai_assiatant_dark.png b/projects/fastgpt/public/images/ability/zh/ai_assiatant_dark.png
new file mode 100644
index 0000000..bb730ed
Binary files /dev/null and b/projects/fastgpt/public/images/ability/zh/ai_assiatant_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/dataset_import.png b/projects/fastgpt/public/images/ability/zh/dataset_import.png
index ed71634..d2b4b5c 100644
Binary files a/projects/fastgpt/public/images/ability/zh/dataset_import.png and b/projects/fastgpt/public/images/ability/zh/dataset_import.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/dataset_import_dark.png b/projects/fastgpt/public/images/ability/zh/dataset_import_dark.png
new file mode 100644
index 0000000..5b079e8
Binary files /dev/null and b/projects/fastgpt/public/images/ability/zh/dataset_import_dark.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/openapi.png b/projects/fastgpt/public/images/ability/zh/openapi.png
index b63e03b..acb4845 100644
Binary files a/projects/fastgpt/public/images/ability/zh/openapi.png and b/projects/fastgpt/public/images/ability/zh/openapi.png differ
diff --git a/projects/fastgpt/public/images/ability/zh/openapi_dark.png b/projects/fastgpt/public/images/ability/zh/openapi_dark.png
new file mode 100644
index 0000000..6cfa639
Binary files /dev/null and b/projects/fastgpt/public/images/ability/zh/openapi_dark.png differ
diff --git a/projects/fastgpt/public/shine.png b/projects/fastgpt/public/shine.png
new file mode 100644
index 0000000..fb66b46
Binary files /dev/null and b/projects/fastgpt/public/shine.png differ
diff --git a/projects/fastgpt/styles/globals.css b/projects/fastgpt/styles/globals.css
index e09e075..1dcc400 100644
--- a/projects/fastgpt/styles/globals.css
+++ b/projects/fastgpt/styles/globals.css
@@ -4,8 +4,8 @@
@layer base {
:root {
- --background: 0 0% 100%;
- --foreground: 222.2 84% 4.9%;
+ --background: 219, 89%, 48%;
+ --foreground: hsla(0, 0%, 100%, 0.8);
--card: 0 0% 100%;
--card-foreground: 222.2 84% 4.9%;
@@ -34,19 +34,32 @@
--radius: 0.5rem;
- --theme-gradient-0: linear-gradient(#E1EAFF, #E1EAFF);
- --theme-gradient-1: linear-gradient(#F0EEFF, #F0EEFF);
- --theme-gradient-2: linear-gradient(#DBF3FF, #DBF3FF);
- --theme-gradient-3: linear-gradient(#FFFAEB, #FFFAEB);
- --ability-title-0: #1848BA;
- --ability-title-1: #5E4EBD;
- --ability-title-2: #0770BC;
- --ability-title-3: #B54708;
+ --text-primary: #BDE7F9;
+ --text-secondary: rgba(230, 231, 255, 0.70);
+
+ --theme-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.75) 100%);
+ --theme-gradient-0: #A0C0FF;
+ --theme-gradient-1: #B5B8FF;
+ --theme-gradient-2: #EACDD4;
+ --theme-gradient-3: #B9E1C9;
+ --ability-title-0: #0059B2;
+ --ability-title-1: #B94F4F;
+ --ability-title-2: #197E00;
+ --ability-title-3: #9947D8;
+ --ability-text: #355189;
+ --ability-icon-0: #0E90EE;
+ --ability-icon-1: #EC8591;
+ --ability-icon-2: #74AE66;
+ --ability-icon-3: #9A6FE1;
+
+ --feature-icon: linear-gradient(180deg, #4B7FFF 0%, rgba(50, 109, 255, 0.70) 100%);
+ --feature-title: #1B4EC4;
+
}
.dark {
- --background: 222.2 84% 4.9%;
- --foreground: 210 40% 98%;
+ --background: 231, 100%, 8%;
+ --foreground: hsla(0, 0%, 100%, 0.8)
--card: 222.2 84% 4.9%;
--card-foreground: 210 40% 98%;
@@ -72,14 +85,30 @@
--border: 217.2 32.6% 17.5%;
--input: 217.2 32.6% 17.5%;
--ring: 212.7 26.8% 83.9%;
- --theme-gradient-0: linear-gradient(to bottom right, #2D1A4D 0%, #1a7574 100%);
- --theme-gradient-1: linear-gradient(120deg, #0F2240 0%, #1f4482 100%);
- --theme-gradient-2: linear-gradient(to top, #1E2634 0%, #313C45 100%);
- --theme-gradient-3: linear-gradient(to right, #1c4a2d 0%, #0c2c44 100%);
- --ability-title-0: rgb(229 231 235 / var(--tw-text-opacity));
- --ability-title-1: rgb(229 231 235 / var(--tw-text-opacity));
- --ability-title-2: rgb(229 231 235 / var(--tw-text-opacity));
- --ability-title-3: rgb(229 231 235 / var(--tw-text-opacity));
+
+ --text-primary: #BDE7F9;
+ --text-secondary: rgba(230, 231, 255, 0.70);
+
+ --theme-gradient: linear-gradient(180deg, rgba(213, 215, 255, 0.10) 0%, rgba(213, 215, 255, 0.02) 100%);
+ --theme-gradient-0: var(--theme-gradient);
+ --theme-gradient-1: var(--theme-gradient);
+ --theme-gradient-2: var(--theme-gradient);
+ --theme-gradient-3: var(--theme-gradient);
+ --ability-title-0: #80BDFA;
+ --ability-title-1: #F08B8B;
+ --ability-title-2: #8CCD7C;
+ --ability-title-3: #BD95FF;
+ --ability-text: rgba(255, 255, 255, 0.7);
+ --ability-icon-0: linear-gradient(180deg, rgba(128, 189, 250, 0.30) 0%, rgba(128, 189, 250, 0.03) 100%);
+ --ability-icon-1: linear-gradient(180deg, rgba(240, 139, 139, 0.30) 0%, rgba(240, 139, 139, 0.03) 100%);
+ --ability-icon-2: linear-gradient(180deg, rgba(140, 205, 124, 0.30) 0%, rgba(140, 205, 124, 0.03) 100%);
+ --ability-icon-3: linear-gradient(180deg, rgba(189, 149, 255, 0.30) 0%, rgba(189, 149, 255, 0.03) 100%);
+
+ --feature-icon: linear-gradient(180deg, rgba(194, 212, 255, 0.30) 0%, rgba(163, 190, 255, 0.21) 100%);
+ --feature-title: #94B5FF;
+
+
+
}
}
@@ -109,4 +138,47 @@ h5 {
}
h6 {
@apply text-base sm:text-xl text-slate-900 dark:text-gray-200 leading-[1.625] font-semibold mb-2
-}
\ No newline at end of file
+}
+
+body{
+ background-image: url('/bg.png');
+ background-size: contain;
+ background-position: top;
+ background-repeat: no-repeat;
+
+ @media (max-width: 1024px) {
+ background-size: 120% auto;
+ }
+ @media (max-width: 768px) {
+ background-size: 130% auto;
+ }
+ @media (max-width: 480px) {
+ background-size: 140% auto;
+ }
+}
+
+main{
+ background-image: url('/shine.png');
+ background-size: contain;
+ background-position: center 130px;
+ background-repeat: no-repeat;
+
+ @media (max-width: 1024px) {
+ background-position: center 180px;
+ }
+
+ @media (max-width: 768px) {
+ background-position: center 200px;
+ }
+ @media (max-width: 480px) {
+ background-position: center 210px;
+ }
+}
+
+
+.text-gradient{
+ background: linear-gradient(7deg, #BDE7F8 28.98%, #ECC3FF 95.94%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-clip: text;
+}
diff --git a/projects/fastgpt/tailwind.config.ts b/projects/fastgpt/tailwind.config.ts
index 9d98d7d..00aeb85 100644
--- a/projects/fastgpt/tailwind.config.ts
+++ b/projects/fastgpt/tailwind.config.ts
@@ -25,7 +25,8 @@ const config = {
input: "hsl(var(--input))",
ring: "hsl(var(--ring))",
background: "hsl(var(--background))",
- foreground: "hsl(var(--foreground))",
+ foreground: "var(--foreground)",
+ // foreground: "hsl(var(--foreground))",
// primary: {
// DEFAULT: "hsl(var(--primary))",
// foreground: "hsl(var(--primary-foreground))",
diff --git a/projects/fastgpt/types/siteConfig.ts b/projects/fastgpt/types/siteConfig.ts
index 5ac23d2..9a8c133 100644
--- a/projects/fastgpt/types/siteConfig.ts
+++ b/projects/fastgpt/types/siteConfig.ts
@@ -32,6 +32,7 @@ export type SiteConfig = {
headerLinks: Link[];
footerLinks: Link[];
footerProducts: ProductLink[];
+ footerService: ProductLink[];
metadataBase: URL | string;
themeColors?: string | ThemeColor[];
nextThemeColor?: string;