diff --git a/.i18nrc.js b/.i18nrc.js index 34f55bd4..9a53f34b 100644 --- a/.i18nrc.js +++ b/.i18nrc.js @@ -29,7 +29,7 @@ module.exports = defineConfig({ }, // 后续说明文档、技术文档等所需的国际化配置(暂时不需要) markdown: { - // reference: '你需要保持 mdx 的组件格式,输出文本不需要在最外层包裹任何代码块语法', + reference: '你需要保持 md 的格式,输出文本不需要包裹任何代码块语法', entry: ['./README.zh-CN.md', './contributing/**/*.zh-CN.md', './docs/**/*.zh-CN.mdx'], entryLocale: 'zh-CN', outputLocales: ['en-US'], diff --git a/README.ja-JP.md b/README.ja-JP.md deleted file mode 100644 index aba982a8..00000000 --- a/README.ja-JP.md +++ /dev/null @@ -1,353 +0,0 @@ -
- - - - - -# Lobe Vidol - -Lobe Vidolと共に、バーチャルアイドル制作の魔法を体験し、洗練されたUIデザインを楽しみ、MMDに対応したダンスコンテンツをサポートし、キャラクターとのスムーズな対話を実現します — これらすべての機能がシームレスなプラットフォームに統合されています。 - -誰でもバーチャルアイドルを創造できます - -[English](./README.md) · [简体中文](./README.zh-CN.md) · **日本語** · [文書][docs] · [変更履歴](./CHANGELOG.md) · [バグ報告][github-issues-link] · [機能リクエスト][github-issues-link] - -[![][github-release-shield]][github-release-link] -[![][vercel-shield]][vercel-link] -[![][discord-shield]][discord-link] -[![][github-releasedate-shield]][github-releasedate-link] -[![][github-action-test-shield]][github-action-test-link] -[![][github-action-release-shield]][github-action-release-link]
-[![][github-contributors-shield]][github-contributors-link] -[![][github-forks-shield]][github-forks-link] -[![][github-stars-shield]][github-stars-link] -[![][github-issues-shield]][github-issues-link] -[![][github-license-shield]][github-license-link]
-[![][sponsor-shield]][sponsor-link] - -![](https://github.com/lobehub/lobe-vidol/assets/17870709/90d7295f-9461-4765-a936-20720afb48c3) - -
- -> \[!NOTE] -> Lobe Vidolは現在開発初期段階にあり、Betaテストを実施しています。ぜひご参加いただき、一緒に貢献しましょう! - -
-目次 - -#### TOC - -- [👋🏻 はじめに & コミュニケーション](#-はじめに--コミュニケーション) -- [✨ 特徴一覧](#-特徴一覧) - - [1. **スムーズな対話体験**](#1-スムーズな対話体験) - - [2. **背景設定**](#2-背景設定) - - [3. **豊富なアクションとポーズライブラリ**](#3-豊富なアクションとポーズライブラリ) - - [4. **洗練されたUIデザイン**](#4-洗練されたuiデザイン) - - [5. **豊富なキャラクター編集体験**](#5-豊富なキャラクター編集体験) - - [6. **MMDダンスサポート**](#6-mmdダンスサポート) - - [7. \*\* PMXステージ読み込み機能 \*\*](#7--pmxステージ読み込み機能-) - - [8. \*\* タッチレスポンス機能 \*\*](#8--タッチレスポンス機能-) - - [9. \*\* キャラクターマーケット \*\*](#9--キャラクターマーケット-) - - [10. \*\* ダンスマーケット \*\*](#10--ダンスマーケット-) - - [11. \*\* TTS & STT音声会話 \*\*](#11--tts--stt音声会話-) -- [📦 エコシステム](#-エコシステム) -- [⌨️ ローカル開発](#️-ローカル開発) -- [🤝 貢献する](#-貢献する) -- [🩷 コミュニティスポンサー](#-コミュニティスポンサー) -- [🔗 その他のツール](#-その他のツール) - - [その他のプロジェクト](#その他のプロジェクト) - - [関連リンク](#関連リンク) - -#### - -
- -## 👋🏻 はじめに & コミュニケーション - -LobeVidolは現在積極的に開発中です。ご要望や問題があれば、ぜひ\[issues]\[issues-link]を提出してください。 - -| [![][vercel-shield-badge]][vercel-link] | インストールや登録は不要!私たちのウェブサイトにアクセスするだけで、すぐに体験できます | -| :---------------------------------------- | :----------------------------------------------------------------------------------------------- | -| [![][discord-shield-badge]][discord-link] | 私たちのDiscordコミュニティに参加しましょう!ここでは、開発者や他のLobeHubファンと交流できます。 | - -> \[!IMPORTANT] -> -> **プロジェクトをスターしてください**。そうすれば、GitHubからすべてのリリース通知を遅延なく受け取れます~⭐️ - -star (1) - -
スター履歴 - - - - -
- -
- -[![][back-to-top]](#readme-top) - -
- -## ✨ 特徴一覧 - -### 1. **スムーズな対話体験** - -ストリーミングレスポンスにより、スムーズな対話体験が実現します。キャラクターの対話シーンを設定することで、キャラクターの動作や表情を()内に、現在起こっている事やシーンを \[] 内に入れることで、臨場感を味わえます。 - -fluent chat experience - -### 2. **背景設定** - -背景画像を設定することで、対話をより状況に合ったものにすることができます: - -background setting - -### 3. **豊富な動作とポーズライブラリ** - -内蔵のMixamoキャラクター動作とポーズライブラリを使用して、対話中にキャラクターに希望のポーズや動作を取らせることができます: - -motions and postures - -### 4. **洗練されたUIデザイン** - -丁寧にデザインされたインターフェースは、エレガントな外観とスムーズなインタラクション効果を持ち、ライトとダークテーマをサポートし、モバイル端末にも対応しています。PWAをサポートし、ネイティブアプリに近い体験を提供します。 - -ui design - -### 5. **豊富なキャラクター編集体験** - -キャラクターエディタを使用して、自分だけのバーチャルアイドルを作成し、タッチ反応を設定し、VRMモデルをサイトにアップロードして彼らとインタラクションできます。 - -role edit - -### 6. **MMDダンスサポート** - -mmd-parserのサポートを利用して、vmdファイルを使用してお気に入りのアイドルと一緒に踊ることができます;Just Dance! - - - -### 7. **PMXステージロード機能** - -ステージロード機能を追加し、豊富なステージ選択肢を内蔵しました。キャラクターが踊る際に異なるステージスタイルを組み合わせることができます: - -pmx stage - -### 8. **タッチ反応機能** - -キャラクターの異なる身体部分をクリックすると、キャラクターが異なる反応を示します。また、キャラクターのタッチ反応を自分で編集して、ユニークなインタラクション効果を生み出すこともできます: - - - -### 9. **キャラクターマーケット** - -LobeVidolのキャラクターマーケットには、多くの精巧にデザインされたキャラクターが集まっています。これらのキャラクターは、さまざまな状況やインタラクション体験を提供し、特別な伴侶体験を提供します。 -私たちのマーケットは、単なる展示プラットフォームではなく、協力の場でもあります。ここでは、誰もが自分の想像を貢献し、個別に設定したキャラクターを共有できます。 - -> \[!TIP] -> -> キャラクター作成機能を使用すると、簡単に自分のキャラクター作品をプラットフォームに提出できます。特に強調したいのは、LobeVidolが精密な自動化国際化(i18n)ワークフローを構築していることです。その強力な点は、あなたのキャラクターをシームレスに多言語バージョンに変換できることです。つまり、ユーザーがどの言語を使用していても、あなたのキャラクターを障害なく体験できます。 - -discover - -### 10. **ダンスマーケット** - -LobeVidolのダンスマーケットには、豊富なMMDダンスリソースが追加されており、これらのダンスは豊かな視覚体験を構成します。異なるキャラクター、ステージ、音楽、ダンスを組み合わせて、ユニークな視聴体験を創造できます。 - -Snipaste_2024-11-05_21-22-47 - -### 11. **TTS & STT音声会話** - -LobeVidolは、テキストから音声(Text-to-Speech、TTS)および音声からテキスト(Speech-to-Text、STT)技術をサポートしており、これによりアプリケーションはテキスト情報を明瞭な音声出力に変換できます。ユーザーは、まるで人と話しているかのように、私たちの対話アシスタントと交流できます。 -ユーザーは多様な声の中から選択し、アシスタントに適した音源を組み合わせることができます。また、聴覚学習を好むユーザーや忙しい中で情報を得たいユーザーにとって、TTSは素晴らしい解決策を提供します。 - -LobeVidolでは、地域や文化的背景の異なるユーザーのニーズに応えるために、高品質な音声オプション(OpenAI Audio、Microsoft Edge Speech)を厳選しました。ユーザーは個人の好みや特定のシーンに応じて適切な音声を選択し、パーソナライズされた交流体験を得ることができます。 - -
- -[![][back-to-top]](#readme-top) - -
- -## 📦 エコシステム - -| NPM | リポジトリ | 説明 | バージョン | -| --------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------- | -| [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | AIGC ウェブアプリケーションの構築のために設計されたオープンソース UI コンポーネントライブラリ | [![][lobe-ui-shield]][lobe-ui-link] | -| [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 主流の AI / LLM モデルと企業の SVG ロゴおよびアイコンのコレクション | [![][lobe-icons-shield]][lobe-icons-link] | -| [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | AI TTS / STT 音声合成 / 認識のための React Hooks ライブラリ | [![][lobe-tts-shield]][lobe-tts-link] | -| [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | LobeHub コードスタイルガイド ESlint、Stylelint、Commitlint、Prettier、Remark および Semantic Release | [![][lobe-lint-shield]][lobe-lint-link] | - -- **[Vidol market](https://github.com/v-idol/vidol-chat-agents)** - これは Vidol Chat のマーケットインデックスです。Vidol はこのリポジトリから index.json にアクセスして、利用可能なエージェントとダンスのリストをユーザーに表示します。 -- **[Vidol agent sample](https://github.com/v-idol/vidol-agent-sample)** - Vidol キャラクターデータテンプレート -- **[Vidol dance sample](https://github.com/v-idol/vidol-dance-sample)** - Vidol ダンスデータテンプレート - -
- -[![][back-to-top]](#readme-top) - -
- -## ⌨️ ローカル開発 - -GitHub Codespaces を使用してオンライン開発ができます: - -[![][github-codespace-shield]][github-codespace-link] - -または、以下のコマンドを使用してローカル開発を行うことができます: - -[![][bun-shield]][bun-link] - -```bash -$ git clone https://github.com/lobehub/lobe-vidol.git -$ cd lobe-vidol -$ bun install -$ bun dev -``` - -
- -[!\[\]\[back-to-top\]](#readme-top) - -
- -## 🤝 貢献の参加 - -私たちはさまざまな形の貢献を大歓迎します。コードの貢献に興味がある場合は、私たちの GitHub \[Issues]\[github-issues-link] と \[Projects]\[github-project-link] を確認し、あなたのアイデアを私たちに示してください。 - -\[!\[]\[pr-welcome-shield]]\[pr-welcome-link] - - - - - - - - - - - - - -
-


-
- - - - - - - - - -
- - - - -
-
- -
- -[!\[\]\[back-to-top\]](#readme-top) - -
- -## 🩷 コミュニティの支援 - -あなたの支援は非常に貴重であり、私たちが支える輝かしい銀河を形成します!あなたは夜空を切り裂く流れ星のようで、私たちの前進の道を瞬時に照らします。私たちへの信頼に感謝します —— あなたの支援は星のように、プロジェクトの進むべき光を何度も指し示します。 - - - - - - - - -
- -[!\[\]\[back-to-top\]](#readme-top) - -
- -## 🔗 さらなるツール - -### さらなるプロジェクト - -- **\[🤖 Lobe Chat]\[lobe-chat] :** 拡張可能な(Function Calling)プラグインシステムをサポートするオープンソースの、モダンデザインの ChatGPT/LLMs チャットアプリケーションと開発フレームワーク。あなたのプライベート ChatGPT/LLMs アプリをワンクリックで無料デプロイできます。 -- **\[🅰️ Lobe SD Theme]\[lobe-theme]:** Stable Diffusion WebUI のモダンテーマ、洗練されたインターフェースデザイン、高度にカスタマイズ可能な UI、および効率を向上させる機能。 -- **\[⛵️ Lobe Midjourney WebUI]\[lobe-midjourney-webui]:** Midjourney WebUI、テキストプロンプトに基づいて迅速に多様な画像を生成し、創造性を刺激し、対話を強化します。 -- **\[🌏 Lobe i18n]\[lobe-i18n]:** Lobe i18n は、ChatGPT によって駆動される i18n(国際化)翻訳プロセスの自動化ツールです。大きなファイルの自動分割、インクリメンタル更新、OpenAI モデル、API プロキシ、温度のカスタマイズオプションをサポートします。 - -### 関連リンク - -- **mmd-parser** - -- **three-vrm** - -- **tts-vue** - - -
- -[!\[\]\[back-to-top\]](#readme-top) - -
- ---- - -#### 📝 ライセンス - -Copyright © 2024 \[lobehub]\[profile-link].
-このプロジェクトは [Apache 2.0](./LICENSE) ライセンスです。 - -[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-black?style=flat-square -[bun-link]: https://bun.sh -[bun-shield]: https://img.shields.io/badge/-speedup%20with%20bun-black?logo=bun&style=for-the-badge -[discord-link]: https://discord.gg/AYFPHvv2jT -[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square -[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge -[github-action-release-link]: https://github.com/actions/workflows/lobehub/lobe-vidol/release.yml -[github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-vidol/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square -[github-action-test-link]: https://github.com/actions/workflows/lobehub/lobe-vidol/test.yml -[github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-vidol/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square -[github-codespace-link]: https://codespaces.new/lobehub/lobe-vidol -[github-codespace-shield]: https://github.com/codespaces/badge.svg -[github-contributors-link]: https://github.com/lobehub/lobe-vidol/graphs/contributors -[github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-vidol?color=c4f042&labelColor=black&style=flat-square -[github-forks-link]: https://github.com/lobehub/lobe-vidol/network/members -[github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-vidol?color=8ae8ff&labelColor=black&style=flat-square -[github-issues-link]: https://github.com/lobehub/lobe-vidol/issues -[github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-vidol?color=ff80eb&labelColor=black&style=flat-square -[github-license-link]: https://github.com/lobehub/lobe-vidol/blob/main/LICENSE -[github-license-shield]: https://img.shields.io/github/license/lobehub/lobe-vidol?color=white&labelColor=black&style=flat-square -[github-release-link]: https://github.com/lobehub/lobe-vidol/releases -[github-release-shield]: https://img.shields.io/github/v/release/lobehub/lobe-vidol?color=369eff&labelColor=black&logo=github&style=flat-square -[github-releasedate-link]: https://github.com/lobehub/lobe-vidol/releases -[github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-vidol?labelColor=black&style=flat-square -[github-stars-link]: https://github.com/lobehub/lobe-vidol/network/stargazers -[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-vidol?color=ffcb47&labelColor=black&style=flat-square -[docs]: https://docs.vidol.chat -[lobe-chat]: https://github.com/lobehub/lobe-chat -[lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n -[lobe-icons-github]: https://github.com/lobehub/lobe-icons -[lobe-icons-link]: https://www.npmjs.com/package/@lobehub/icons -[lobe-icons-shield]: https://img.shields.io/npm/v/@lobehub/icons?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square -[lobe-lint-github]: https://github.com/lobehub/lobe-lint -[lobe-lint-link]: https://www.npmjs.com/package/@lobehub/lint -[lobe-lint-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square -[lobe-midjourney-webui]: https://github.com/lobehub/lobe-midjourney-webui -[lobe-theme]: https://github.com/lobehub/sd-webui-lobe-theme -[lobe-tts-github]: https://github.com/lobehub/lobe-tts -[lobe-tts-link]: https://www.npmjs.com/package/@lobehub/tts -[lobe-tts-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square -[lobe-ui-github]: https://github.com/lobehub/lobe-ui -[lobe-ui-link]: https://www.npmjs.com/package/@lobehub/ui -[lobe-ui-shield]: https://img.shields.io/npm/v/@lobehub/ui?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square -[pr-welcome-link]: https://github.com/lobehub/lobe-vidol/pulls -[pr-welcome-shield]: https://img.shields.io/badge/%F0%9F%A4%AF%20PR%20WELCOME-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge -[profile-link]: https://github.com/lobehub -[sponsor-link]: https://opencollective.com/lobehub 'Become 🩷 LobeHub Sponsor' -[sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square -[vercel-link]: https://vidol.lobehub.com -[vercel-shield]: https://img.shields.io/website?down_message=offline&label=vercel&labelColor=black&logo=vercel&style=flat-square&up_message=online&url=https%3A%2F%2Fvidol.lobehub.com -[vercel-shield-badge]: https://img.shields.io/website?down_message=offline&label=try%20lobechat&labelColor=black&logo=vercel&style=for-the-badge&up_message=online&url=https%3A%2F%2Fvidol.lobehub.com diff --git a/README.md b/README.md index 29420c77..8d50f8c4 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Experience the magic of virtual idol creation with Lobe Vidol. Enjoy our exquisi Anyone can create a virtual idol -**English** · [简体中文](./README.zh-CN.md) · [日本語](./README.ja-JP.md) · [Docs][docs] · [Changelog](./CHANGELOG.md) · [Report Bug][github-issues-link] · [Request Feature][github-issues-link] +**English** · [简体中文](./README.zh-CN.md) · [Documentation][docs] · [Changelog](./CHANGELOG.md) · [Report Bug][github-issues-link] · [Request Feature][github-issues-link] [![][github-release-shield]][github-release-link] [![][vercel-shield]][vercel-link] @@ -30,26 +30,21 @@ Experience the magic of virtual idol creation with Lobe Vidol. Enjoy our exquisi > \[!NOTE] -> Lobe Vidol is currently in the early stages of development and is now open for Beta testing. We welcome you to join us and contribute! +> Lobe Vidol is currently in early development and is now open for Beta testing. We welcome you to join us and contribute!
Table of Contents #### TOC -- [👋🏻 Getting Started & Community](#-getting-started--community) -- [✨ Feature Overview](#-feature-overview) - - [1. **Smooth Conversational Experience**](#1-smooth-conversational-experience) - - [2. **Background Context Setting**](#2-background-context-setting) - - [3. **Rich Library of Actions and Poses**](#3-rich-library-of-actions-and-poses) - - [4. **Elegant UI Design**](#4-elegant-ui-design) - - [5. **Rich Character Editing Experience**](#5-rich-character-editing-experience) - - [6. **MMD Dance Support**](#6-mmd-dance-support) - - [7. **PMX Stage Loading Feature**](#7-pmx-stage-loading-feature) - - [8. **Touch Response Feature**](#8-touch-response-feature) - - [9. **Character Marketplace**](#9-character-marketplace) - - [10. **Dance Marketplace**](#10-dance-marketplace) - - [11. **TTS & STT Voice Conversations**](#11-tts--stt-voice-conversations) +- [👋🏻 Getting Started & Communication](#-getting-started--communication) +- [✨ Features Overview](#-features-overview) + - [`1`. **Text Chat Mode**](#1-text-chat-mode) + - [`2`. **Video Conversation Mode**](#2-video-conversation-mode) + - [`3`. **Multi-Model Provider Support**](#3-multi-model-provider-support) + - [`4`. **Character and Dance Marketplace**](#4-character-and-dance-marketplace) + - [`5`. **TTS & STT Voice Conversations**](#5-tts--stt-voice-conversations) + - [`6`. **Progressive Web App (PWA)**](#6-progressive-web-app-pwa) - [📦 Ecosystem](#-ecosystem) - [⌨️ Local Development](#️-local-development) - [🤝 Contributing](#-contributing) @@ -62,7 +57,7 @@ Experience the magic of virtual idol creation with Lobe Vidol. Enjoy our exquisi
-## 👋🏻 Getting Started & Community +## 👋🏻 Getting Started & Communication Lobe Vidol is actively under development. If you have any requests or questions, feel free to submit \[issues]\[issues-link]. @@ -91,81 +86,118 @@ Lobe Vidol is actively under development. If you have any requests or questions, ## ✨ Feature Overview -### 1. **Smooth Conversational Experience** +### `1`. **Text Chat Mode** -Streamed responses provide a smooth conversational experience. You can set the dialogue context by placing character actions and expressions in parentheses () and the ongoing events or scenes in square brackets \[] to create an immersive experience. +Streamed responses provide a smooth conversational experience, allowing you to create an immersive dialogue by setting up character dialogue scenarios. -fluent chat experience +fluent chat experience -### 2. **Background Context Setting** +### `2`. **Video Chat Mode** -You can enhance the dialogue by setting a background image that fits the context: +With the video button in the message box, you can engage in richer interactions with character models, such as face-to-face chats, character performances, and more. You can also set the background, stage, actions, and dances for the characters. -background setting +video chat experience + +You can enhance the dialogue's context by setting background images: -### 3. **Rich Library of Actions and Poses** +background setting -With a built-in library of Mixamo character actions and poses, you can have characters strike the desired poses or perform actions during conversations: +With a built-in library of Mixamo character motions and poses, you can have characters strike the desired poses or perform actions during the conversation: motions and postures -### 4. **Elegant UI Design** +Using the character editor, you can create your own virtual idol, set touch responses, upload VRM models to the site, and interact with them. -The meticulously designed interface features an elegant appearance and smooth interaction effects, supporting both light and dark themes, and is optimized for mobile devices. It also supports PWA, providing an experience closer to that of a native application. +role edit -ui design +With the support of mmd-parser, you can dance with your favorite idols using vmd files; Just Dance! -### 5. **Rich Character Editing Experience** + -Using the character editor, you can create your own virtual idol, set touch responses, upload VRM models to the site, and interact with them. +We have added stage loading features and built-in a variety of stage options, allowing characters to dance with different stage styles: -role edit +pmx stage -### 6. **MMD Dance Support** +By clicking on different body parts of the character, they will respond in various ways. You can also edit the character's touch responses to create unique interactive effects: -With the support of mmd-parser, you can dance with your favorite idols using vmd files; Just Dance! + - +### `3`. **Multi-Model Provider Support** -### 7. **PMX Stage Loading Feature** +multi model provider -We have added a stage loading feature with a rich selection of stages, allowing characters to dance with different stage styles: +The diversity of model providers is crucial for meeting community needs when providing AI conversation services. Therefore, we have expanded our support to multiple model providers, rather than being limited to a single one, to offer users a richer and more diverse conversation selection. This way, LobeVidol can flexibly adapt to different user needs while providing developers with a broader range of options. -pmx stage +#### Supported Model Providers -### 8. **Touch Response Feature** +We have implemented support for the following model providers: -By clicking on different body parts of the character, they will respond differently. You can also edit the character's touch responses to create unique interactive effects: +- **AWS Bedrock**: Integrated with AWS Bedrock services, supporting models like **Claude / LLama2**, providing powerful natural language processing capabilities. [Learn more](https://aws.amazon.com/cn/bedrock) +- **Google AI (Gemini Pro, Gemini Vision)**: Accessed Google's **Gemini** series models, including Gemini and Gemini Pro, to support advanced language understanding and generation. [Learn more](https://deepmind.google/technologies/gemini/) +- **Anthropic (Claude)**: Integrated with Anthropic's **Claude** series models, including Claude 3 and Claude 2, featuring multimodal breakthroughs and ultra-long context, setting new industry benchmarks. [Learn more](https://www.anthropic.com/claude) +- **ChatGLM**: Added Zhipu's **ChatGLM** series models (GLM-4/GLM-4-vision/GLM-3-turbo), providing users with another efficient conversation model option. [Learn more](https://www.zhipuai.cn/) +- **Moonshot AI**: Integrated with the Moonshot series models, an innovative AI startup from China, aiming to provide deeper conversation understanding. [Learn more](https://www.moonshot.cn/) +- **Together.ai**: Integrated hundreds of open-source models and vector models, accessible without local deployment. [Learn more](https://www.together.ai/) +- **01.AI**: Integrated with the 01.AI model, featuring APIs with fast inference speeds, reducing processing time while maintaining excellent model performance. [Learn more](https://www.lingyiwanwu.com/) +- **Groq**: Accessed Groq's AI models, efficiently processing message sequences and generating responses, suitable for multi-turn dialogues and single interaction tasks. [Learn more](https://groq.com/) +- **OpenRouter**: Supports routing for models including **Claude 3**, **Gemma**, **Mistral**, **Llama2**, and **Cohere**, enabling smart routing optimization to enhance usage efficiency, open and flexible. [Learn more](https://openrouter.ai/) +- **Minimax**: Integrated with Minimax's AI models, including the MoE model **abab6**, providing more options. [Learn more](https://www.minimaxi.com/) +- **DeepSeek**: Integrated with DeepSeek's AI models, including the latest **DeepSeek-V2**, offering models that balance performance and price. [Learn more](https://www.deepseek.com/) +- **Qwen**: Integrated with Qwen's AI models, including the latest **qwen-turbo**, **qwen-plus**, and **qwen-max** models. [Learn more](https://help.aliyun.com/zh/dashscope/developer-reference/model-introduction) +- **Novita AI**: The most cost-effective open-source model provider, supporting cutting-edge open-source models like **Llama** and **Mistral** series. Excelling in emotional companionship scenarios, with no content restrictions or censorship. [Learn more](https://novita.ai/model-api/product/llm-api?utm_source=lobechat&utm_medium=ch&utm_campaign=api) - +We are also planning to support more model providers to further enrich our provider library. If you would like LobeVidol to support your favorite provider, feel free to join our [community discussion](https://github.com/lobehub/lobe-vidol/discussions/162). + +
+ +[![][back-to-top]](#readme-top) + +
-### 9. **Character Marketplace** +### `4`. **Character and Dance Market** -The LobeVidol character marketplace gathers a variety of meticulously designed characters, allowing you to experience different contexts and interactions, providing a unique companionship experience. -Our marketplace is not just a display platform but a collaborative space where everyone can contribute their imagination and share their personally designed characters. +The character market at LobeVidol brings together a variety of meticulously designed characters, allowing you to experience different scenarios and interactions, providing you with a unique companionship experience. Our market is not just a showcase platform; it is also a collaborative space where everyone can contribute their imagination and share their personally designed characters. > \[!TIP] > -> With the character creation feature, you can easily submit your character creations to our platform. We emphasize that LobeVidol has established a sophisticated automated internationalization (i18n) workflow, which seamlessly converts your characters into multiple language versions. This means that regardless of the language your users speak, they can experience your characters without barriers. +> With the character creation feature, you can easily submit your character creations to our platform. We emphasize that LobeVidol has established a sophisticated automated internationalization (i18n) workflow, which seamlessly transforms your characters into multiple language versions. This means that regardless of the language your users speak, they can experience your characters without barriers. discover -### 10. **Dance Marketplace** - -The LobeVidol dance marketplace features a rich collection of MMD dance resources, creating a wealth of visual experiences. You can combine different characters, stages, music, and dances to create a unique viewing experience. +The dance market at LobeVidol is enriched with a variety of MMD dance resources, creating a rich visual experience. You can combine different characters, stages, music, and dances to create a unique viewing experience. Snipaste_2024-11-05_21-22-47 -### 11. **TTS & STT Voice Conversations** +### `5`. **TTS & STT Voice Conversations** -LobeVidol supports Text-to-Speech (TTS) and Speech-to-Text (STT) technologies, enabling our application to convert text information into clear voice output. Users can interact with our conversational assistant as if they were talking to a real person. -Users can choose from a variety of voices to match their assistant with the appropriate sound source. Additionally, for those who prefer auditory learning or want to obtain information while busy, TTS provides an excellent solution. +LobeVidol supports Text-to-Speech (TTS) and Speech-to-Text (STT) technologies, enabling our application to convert text information into clear voice output. Users can interact with our conversational assistant as if they were talking to a real person. Users can choose from a variety of voices to match their assistant with the appropriate sound source. Additionally, for those who prefer auditory learning or want to gather information while busy, TTS offers an excellent solution. -In LobeVidol, we have carefully selected a range of high-quality voice options (OpenAI Audio, Microsoft Edge Speech) to meet the needs of users from different regions and cultural backgrounds. Users can select suitable voices based on personal preferences or specific scenarios to achieve a personalized communication experience. +At LobeVidol, we have carefully selected a range of high-quality voice options (OpenAI Audio, Microsoft Edge Speech) to meet the needs of users from different regions and cultural backgrounds. Users can choose the appropriate voice based on personal preferences or specific scenarios, thus obtaining a personalized communication experience.
-[![][back-to-top]](#readme-top) +[!\[\]\[back-to-top\]](#readme-top) + +
+ +### `6`. **Progressive Web Application (PWA)** + +We understand the importance of providing a seamless experience for users in today's multi-device environment. To this end, we have adopted Progressive Web Application [PWA](https://support.google.com/chrome/answer/9658361) technology, which elevates web applications to a near-native app experience. Through PWA, LobeVidol can deliver a highly optimized user experience on both desktop and mobile devices while maintaining lightweight and high-performance characteristics. + +Visually and functionally, we have also designed it carefully to ensure that its interface is indistinguishable from native applications, providing smooth animations, responsive layouts, and adapting to different device screen resolutions. + +> \[!NOTE] +> +> If you are unfamiliar with the PWA installation process, you can follow these steps to add LobeVidol as your desktop application (also applicable to mobile devices): +> +> - Run Chrome or Edge browser on your computer. +> - Visit the LobeVidol webpage. +> - Click the Install icon in the upper right corner of the address bar. +> - Follow the on-screen instructions to complete the PWA installation. + +
+ +[!\[\]\[back-to-top\]](#readme-top)
@@ -179,8 +211,8 @@ In LobeVidol, we have carefully selected a range of high-quality voice options ( | [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | LobeHub code style guidelines for ESlint, Stylelint, Commitlint, Prettier, Remark, and Semantic Release | [![][lobe-lint-shield]][lobe-lint-link] | - **[Vidol market](https://github.com/v-idol/vidol-chat-agents)** - This is the Market Index of Vidol Chat. Vidol accesses index.json from this repo to show users the list of available agents and dances. -- **[Vidol agent sample](https://github.com/v-idol/vidol-agent-sample)** - Vidol character data template -- **[Vidol dance sample](https://github.com/v-idol/vidol-dance-sample)** - Vidol dance data template +- **[Vidol agent sample](https://github.com/v-idol/vidol-agent-sample)** - Template for Vidol character data. +- **[Vidol dance sample](https://github.com/v-idol/vidol-dance-sample)** - Template for Vidol dance data.
@@ -207,15 +239,15 @@ $ bun dev
-[![][back-to-top]](#readme-top) +[!\[\]\[back-to-top\]](#readme-top)
## 🤝 Contributing -We warmly welcome contributions in various forms. If you're interested in contributing code, please check out our GitHub [Issues][github-issues-link] and \[Projects]\[github-project-link] to showcase your creativity and skills. +We warmly welcome contributions in various forms. If you're interested in contributing code, please check out our GitHub \[Issues]\[github-issues-link] and \[Projects]\[github-project-link] to showcase your creativity and ideas. -[![][pr-welcome-shield]][pr-welcome-link] +\[!\[]\[pr-welcome-shield]]\[pr-welcome-link] @@ -251,13 +283,13 @@ We warmly welcome contributions in various forms. If you're interested in contri
-[![][back-to-top]](#readme-top) +[!\[\]\[back-to-top\]](#readme-top)
## 🩷 Community Sponsorship -Every bit of support is incredibly valuable, coming together to form the brilliant galaxy we support! You are like a shooting star that lights up our path forward in an instant. Thank you for your trust — your support acts like a guiding star, repeatedly illuminating the way for the project. +Every bit of support is incredibly valuable, coming together to form the brilliant galaxy we support! You are like a shooting star that lights up our path forward. Thank you for your trust — your support acts like a guiding star, illuminating the way for the project time and again. @@ -268,7 +300,7 @@ Every bit of support is incredibly valuable, coming together to form the brillia
-[![][back-to-top]](#readme-top) +[!\[\]\[back-to-top\]](#readme-top)
@@ -276,10 +308,10 @@ Every bit of support is incredibly valuable, coming together to form the brillia ### More Projects -- **[🤖 Lobe Chat][lobe-chat] :** An open-source, extensible (Function Calling) plugin system, modern design ChatGPT/LLMs chat application and development framework. Supports one-click free deployment of your private ChatGPT/LLMs application. -- **[🅰️ Lobe SD Theme][lobe-theme]:** A modern theme for Stable Diffusion WebUI, featuring exquisite interface design, highly customizable UI, and efficiency-enhancing features. -- **[⛵️ Lobe Midjourney WebUI][lobe-midjourney-webui]:** Midjourney WebUI, capable of quickly generating a rich variety of images based on text prompts, inspiring creativity and enhancing dialogue. -- **[🌏 Lobe i18n][lobe-i18n]:** Lobe i18n is an automation tool for the i18n (internationalization) translation process powered by ChatGPT. It supports automatic splitting of large files, incremental updates, and customizable options for OpenAI models, API proxies, and temperature. +- **\[🤖 Lobe Chat]\[lobe-chat] :** An open-source, extensible (Function Calling) plugin system, modern design ChatGPT/LLMs chat application and development framework. Supports one-click free deployment of your private ChatGPT/LLMs application. +- **\[🅰️ Lobe SD Theme]\[lobe-theme]:** A modern theme for Stable Diffusion WebUI, featuring exquisite interface design, highly customizable UI, and efficiency-enhancing features. +- **\[⛵️ Lobe Midjourney WebUI]\[lobe-midjourney-webui]:** Midjourney WebUI, capable of quickly generating a rich variety of images based on text prompts, inspiring creativity and enhancing dialogue. +- **\[🌏 Lobe i18n]\[lobe-i18n]:** Lobe i18n is an automation tool for the i18n (internationalization) translation process powered by ChatGPT. It supports automatic splitting of large files, incremental updates, and customizable options for OpenAI models, API proxies, and temperature. ### Related Links @@ -289,7 +321,7 @@ Every bit of support is incredibly valuable, coming together to form the brillia
-[![][back-to-top]](#readme-top) +[!\[\]\[back-to-top\]](#readme-top)
@@ -297,8 +329,8 @@ Every bit of support is incredibly valuable, coming together to form the brillia #### 📝 License -Copyright © 2024 [lobehub][profile-link].
-This project is [Apache 2.0](./LICENSE) licensed. +Copyright © 2024 \[lobehub]\[profile-link].
+This project is licensed under the [Apache 2.0](./LICENSE). [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-black?style=flat-square [bun-link]: https://bun.sh @@ -306,6 +338,7 @@ This project is [Apache 2.0](./LICENSE) licensed. [discord-link]: https://discord.gg/AYFPHvv2jT [discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square [discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge +[docs]: https://docs.vidol.chat [github-action-release-link]: https://github.com/actions/workflows/lobehub/lobe-vidol/release.yml [github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-vidol/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square [github-action-test-link]: https://github.com/actions/workflows/lobehub/lobe-vidol/test.yml @@ -326,7 +359,6 @@ This project is [Apache 2.0](./LICENSE) licensed. [github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-vidol?labelColor=black&style=flat-square [github-stars-link]: https://github.com/lobehub/lobe-vidol/network/stargazers [github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-vidol?color=ffcb47&labelColor=black&style=flat-square -[docs]: https://docs.vidol.chat [lobe-chat]: https://github.com/lobehub/lobe-chat [lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n [lobe-icons-github]: https://github.com/lobehub/lobe-icons diff --git a/README.zh-CN.md b/README.zh-CN.md index b3aeaf6d..7ad8301c 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -39,17 +39,12 @@ - [👋🏻 开始使用 & 交流](#-开始使用--交流) - [✨ 特性一览](#-特性一览) - - [1. **流畅的对话体验**](#1-流畅的对话体验) - - [2. **背景情境设定**](#2-背景情境设定) - - [3. **丰富的动作和姿式库**](#3-丰富的动作和姿式库) - - [4. **精致 UI 设计**](#4-精致-ui-设计) - - [5. **丰富的角色编辑体验**](#5-丰富的角色编辑体验) - - [6. **MMD 舞蹈支持**](#6-mmd-舞蹈支持) - - [7. ** PMX 舞台加载功能 **](#7--pmx-舞台加载功能-) - - [8. ** 触摸响应功能 **](#8--触摸响应功能-) - - [9. ** 角色市场 **](#9--角色市场-) - - [10. ** 舞蹈市场 **](#10--舞蹈市场-) - - [11. ** TTS & STT 语音会话 **](#11--tts--stt-语音会话-) + - [`1`. **文字聊天模式**](#1-文字聊天模式) + - [`2`. **视频对话模式**](#2-视频对话模式) + - [`3`. **多模型服务商支持**](#3-多模型服务商支持) + - [`4`. **角色与舞蹈市场**](#4-角色与舞蹈市场) + - [`5`. **TTS & STT 语音会话**](#5-tts--stt-语音会话) + - [`6`. **渐进式 Web 应用 (PWA)**](#6-渐进式-web-应用-pwa) - [📦 生态](#-生态) - [⌨️ 本地开发](#️-本地开发) - [🤝 参与贡献](#-参与贡献) @@ -66,8 +61,8 @@ LobeVidol 目前正在积极开发中,有任何需求或者问题,欢迎提交 \[issues]\[issues-link] -| [![][vercel-shield-badge]][vercel-link] | 无需安装或注册!访问我们的网站,即可快速体验 | -| :---------------------------------------- | :---------------------------------------------------------------------------- | +| [![][vercel-shield-badge]][vercel-link] | 无需安装或注册!访问我们的网站,即可快速体验 | +| :---------------------------------------- | :----------------------------------------------- | | [![][discord-shield-badge]][discord-link] | 加入我们的 Discord 社区!这是你可以与开发者和其他 LobeHub 热衷用户交流的地方. | > \[!IMPORTANT] @@ -91,55 +86,75 @@ LobeVidol 目前正在积极开发中,有任何需求或者问题,欢迎提 ## ✨ 特性一览 -### 1. **流畅的对话体验** +### `1`. **文字聊天模式** -流式响应带来流畅的对话体验,你可以通过设定角色对话情境把人物的动作和表情放入()内,将正在发生的事或场景放入 \[] 内来身临其境。 +流式响应带来流畅的对话体验,你可以通过设定角色对话情境来创造沉浸式的对话体验。 -fluent chat experience +fluent chat experience -### 2. **背景情境设定** +### `2`. **视频对话模式** + +通过消息框中的视频按钮,你可以与角色模型进行更丰富的交互体验,如面对面聊天,角色表演等,也可以设置角色所处的背景,舞台,动作,舞蹈等。 + +video chat experience 你可以通过设定背景图片的方式让对话更加符合情境: background setting -### 3. **丰富的动作和姿式库** - 内置 Mixamo 角色动作与姿式库,你可以让角色在对话时摆出你想要的姿势或动作: motions and postures -### 4. **精致 UI 设计** - -经过精心设计的界面,具有优雅的外观和流畅的交互效果,支持亮暗色主题,适配移动端。支持 PWA,提供更加接近原生应用的体验。 - -ui design - -### 5. **丰富的角色编辑体验** - 使用角色编辑器,你可以创建属于你自己的虚拟偶像,设定触摸反应,上传 VRM 模型到网站并与他们互动。 role edit -### 6. **MMD 舞蹈支持** - 借助 mmd-parser 的支持,你可以使用 vmd 文件和最喜欢的偶像一起跳舞;Just Dance! - - -### 7. ** PMX 舞台加载功能 ** + 我们添加了舞台加载功能并内置丰富的舞台选择,让角色跳舞时可以搭配不同的舞台风格: pmx stage -### 8. ** 触摸响应功能 ** - 点击角色的不同身体部位,角色将做出不同的反应,你也可以自己编辑角色的触摸反应来创造与众不同的交互效果: -### 9. ** 角色市场 ** +### `3`. **多模型服务商支持** + +multi model provider + +在提供 AI 会话服务时模型服务商的多样性对于满足社区需求非常重要。因此,我们不再局限于单一的模型服务商,而是拓展了对多种模型服务商的支持,以便为用户提供更为丰富和多样化的会话选择。通过这种方式,LobeVidol 能够更灵活地适应不同用户的需求,同时也为开发者提供了更为广泛的选择空间。 + +#### 已支持的模型服务商 + +我们已经实现了对以下模型服务商的支持: + +- **AWS Bedrock**:集成了 AWS Bedrock 服务,支持了 **Claude / LLama2** 等模型,提供了强大的自然语言处理能力。[了解更多](https://aws.amazon.com/cn/bedrock) +- **Google AI (Gemini Pro、Gemini Vision)**:接入了 Google 的 **Gemini** 系列模型,包括 Gemini 和 Gemini Pro,以支持更高级的语言理解和生成。[了解更多](https://deepmind.google/technologies/gemini/) +- **Anthropic (Claude)**:接入了 Anthropic 的 **Claude** 系列模型,包括 Claude 3 和 Claude 2,多模态突破,超长上下文,树立行业新基准。[了解更多](https://www.anthropic.com/claude) +- **ChatGLM**:加入了智谱的 **ChatGLM** 系列模型(GLM-4/GLM-4-vision/GLM-3-turbo),为用户提供了另一种高效的会话模型选择。[了解更多](https://www.zhipuai.cn/) +- **Moonshot AI (月之暗面)**:集成了 Moonshot 系列模型,这是一家来自中国的创新性 AI 创业公司,旨在提供更深层次的会话理解。[了解更多](https://www.moonshot.cn/) +- **Together.ai**:集成部署了数百种开源模型和向量模型,无需本地部署即可随时访问这些模型。[了解更多](https://www.together.ai/) +- **01.AI (零一万物)**:集成了零一万物模型,系列 API 具备较快的推理速度,这不仅缩短了处理时间,同时也保持了出色的模型效果。[了解更多](https://www.lingyiwanwu.com/) +- **Groq**:接入了 Groq 的 AI 模型,高效处理消息序列,生成回应,胜任多轮对话及单次交互任务。[了解更多](https://groq.com/) +- **OpenRouter**:其支持包括 **Claude 3**,**Gemma**,**Mistral**,**Llama2**和**Cohere**等模型路由,支持智能路由优化,提升使用效率,开放且灵活。[了解更多](https://openrouter.ai/) +- **Minimax**: 接入了 Minimax 的 AI 模型,包括 MoE 模型 **abab6**,提供了更多的选择空间。[了解更多](https://www.minimaxi.com/) +- **DeepSeek**: 接入了 DeepSeek 的 AI 模型,包括最新的 **DeepSeek-V2**,提供兼顾性能与价格的模型。[了解更多](https://www.deepseek.com/) +- **Qwen**: 接入了 Qwen 的 AI 模型,包括最新的 **qwen-turbo**,**qwen-plus** 和 **qwen-max** 等模型。[了解更多](https://help.aliyun.com/zh/dashscope/developer-reference/model-introduction) +- **Novita AI**: 性价比最高的开源模型供应商,支持 **Llama**,**Mistral** 系列等最前沿的开源模型。在情感陪伴等场景表现优异,无任何内容限制或审查。 [了解更多](https://novita.ai/model-api/product/llm-api?utm_source=lobechat\&utm_medium=ch\&utm_campaign=api) + +同时,我们也在计划支持更多的模型服务商以进一步丰富我们的服务商库。如果你希望让 LobeVidol 支持你喜爱的服务商,欢迎加入我们的[社区讨论](https://github.com/lobehub/lobe-vidol/discussions/162)。 + +
+ +[![][back-to-top]](#readme-top) + +
+ +### `4`. **角色与舞蹈市场** 在 LobeVidol 的角色市场中汇聚了众多精心设计的角色,这些角色让你可以体验到不同的情境和交互体验,让你拥有不一样的陪伴体验。 我们的市场不仅是一个展示平台,更是一个协作的空间。在这里,每个人都可以贡献自己的想象,分享个人设定的角色。 @@ -150,13 +165,11 @@ LobeVidol 目前正在积极开发中,有任何需求或者问题,欢迎提 discover -### 10. ** 舞蹈市场 ** - 在 LobeVidol 的舞蹈市场中添加了丰富的 MMD 舞蹈资源,这些舞蹈构成了丰富的视觉体验,你可以搭配不同的角色,舞台,音乐和舞蹈来创造不一样的观看体验。 Snipaste_2024-11-05_21-22-47 -### 11. ** TTS & STT 语音会话 ** +### `5`. **TTS & STT 语音会话** LobeVidol 支持文字转语音(Text-to-Speech,TTS)和语音转文字(Speech-to-Text,STT)技术,这使得我们的应用能够将文本信息转化为清晰的语音输出,用户可以像与真人交谈一样与我们的对话助手进行交流。 用户可以从多种声音中选择,给助手搭配合适的音源。 同时,对于那些倾向于听觉学习或者想要在忙碌中获取信息的用户来说,TTS 提供了一个极佳的解决方案。 @@ -169,13 +182,34 @@ LobeVidol 支持文字转语音(Text-to-Speech,TTS)和语音转文字(Sp +### `6`. **渐进式 Web 应用 (PWA)** + +我们深知在当今多设备环境下为用户提供无缝体验的重要性。为此,我们采用了渐进式 Web 应用 [PWA](https://support.google.com/chrome/answer/9658361) 技术, +这是一种能够将网页应用提升至接近原生应用体验的现代 Web 技术。通过 PWA,LobeVidol 能够在桌面和移动设备上提供高度优化的用户体验,同时保持轻量级和高性能的特点。 +在视觉和感觉上,我们也经过精心设计,以确保它的界面与原生应用无差别,提供流畅的动画、响应式布局和适配不同设备的屏幕分辨率。 + +> \[!NOTE] +> +> 若您未熟悉 PWA 的安装过程,您可以按照以下步骤将 LobeVidol 添加为您的桌面应用(也适用于移动设备): +> +> - 在电脑上运行 Chrome 或 Edge 浏览器 . +> - 访问 LobeVidol 网页 . +> - 在地址栏的右上角,单击 安装 图标 . +> - 根据屏幕上的指示完成 PWA 的安装 . + +
+ +[![][back-to-top]](#readme-top) + +
+ ## 📦 生态 -| NPM | 仓库 | 描述 | 版本 | -| --------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | -| [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | 构建 AIGC 网页应用程序而设计的开源 UI 组件库 | [![][lobe-ui-shield]][lobe-ui-link] | -| [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 主流 AI / LLM 模型和公司 SVG Logo 与 Icon 合集 | [![][lobe-icons-shield]][lobe-icons-link] | -| [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | AI TTS / STT 语音合成 / 识别 React Hooks 库 | [![][lobe-tts-shield]][lobe-tts-link] | +| NPM | 仓库 | 描述 | 版本 | +| --------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------- | +| [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | 构建 AIGC 网页应用程序而设计的开源 UI 组件库 | [![][lobe-ui-shield]][lobe-ui-link] | +| [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 主流 AI / LLM 模型和公司 SVG Logo 与 Icon 合集 | [![][lobe-icons-shield]][lobe-icons-link] | +| [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | AI TTS / STT 语音合成 / 识别 React Hooks 库 | [![][lobe-tts-shield]][lobe-tts-link] | | [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | LobeHub 代码样式规范 ESlint,Stylelint,Commitlint,Prettier,Remark 和 Semantic Release | [![][lobe-lint-shield]][lobe-lint-link] | - **[Vidol market](https://github.com/v-idol/vidol-chat-agents)** - This is the Market Index of Vidol Chat. Vidol accesses index.json from this repo to show user the list of available agents and dances. @@ -346,7 +380,7 @@ This project is [Apache 2.0](./LICENSE) licensed. [pr-welcome-link]: https://github.com/lobehub/lobe-vidol/pulls [pr-welcome-shield]: https://img.shields.io/badge/%F0%9F%A4%AF%20PR%20WELCOME-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge [profile-link]: https://github.com/lobehub -[sponsor-link]: https://opencollective.com/lobehub 'Become 🩷 LobeHub Sponsor' +[sponsor-link]: https://opencollective.com/lobehub "Become 🩷 LobeHub Sponsor" [sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square [vercel-link]: https://vidol.lobehub.com [vercel-shield]: https://img.shields.io/website?down_message=offline&label=vercel&labelColor=black&logo=vercel&style=flat-square&up_message=online&url=https%3A%2F%2Fvidol.lobehub.com diff --git a/locales/bg-BG/metadata.json b/locales/bg-BG/metadata.json index 6f2c48e9..1a21260a 100644 --- a/locales/bg-BG/metadata.json +++ b/locales/bg-BG/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} е приложение за чат, задвижвано от ИИ, предназначено да предостави на всеки свой собствен виртуален партньор." + "description": "{{appName}} е приложение за чат, задвижвано от ИИ, предназначено да предостави на всеки свой собствен виртуален партньор.", + "keywords": [ + "AI", + "виртуален идол", + "чат", + "виртуален герой", + "голям езиков модел", + "AI виртуален партньор", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/de-DE/metadata.json b/locales/de-DE/metadata.json index 41f03e1a..cbd45f89 100644 --- a/locales/de-DE/metadata.json +++ b/locales/de-DE/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} ist eine KI-gesteuerte Chat-Anwendung, die darauf abzielt, jedem einen eigenen KI-virtuellen Begleiter zu bieten." + "description": "{{appName}} ist eine KI-gesteuerte Chat-Anwendung, die darauf abzielt, jedem einen eigenen KI-virtuellen Begleiter zu bieten.", + "keywords": [ + "KI", + "virtueller Idol", + "Chat", + "virtuelle Charaktere", + "großes Sprachmodell", + "KI virtueller Begleiter", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/en-US/metadata.json b/locales/en-US/metadata.json index 80b75843..02e8d0ce 100644 --- a/locales/en-US/metadata.json +++ b/locales/en-US/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} is an AI-driven chat application designed to provide everyone with their own AI virtual companion." + "description": "{{appName}} is an AI-driven chat application designed to provide everyone with their own AI virtual companion.", + "keywords": [ + "AI", + "virtual idol", + "chat", + "virtual character", + "large language model", + "AI virtual companion", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/es-ES/metadata.json b/locales/es-ES/metadata.json index 1be30131..8927363a 100644 --- a/locales/es-ES/metadata.json +++ b/locales/es-ES/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} es una aplicación de chat impulsada por IA, diseñada para que cada persona tenga su propio compañero virtual de IA" + "description": "{{appName}} es una aplicación de chat impulsada por IA, diseñada para que cada persona tenga su propio compañero virtual de IA", + "keywords": [ + "IA", + "ídolo virtual", + "charlar", + "personaje virtual", + "modelo de lenguaje grande", + "compañero virtual de IA", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/fr-FR/metadata.json b/locales/fr-FR/metadata.json index 65fdef96..9236c0e7 100644 --- a/locales/fr-FR/metadata.json +++ b/locales/fr-FR/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} est une application de chat alimentée par l'IA, conçue pour permettre à chacun d'avoir son propre compagnon virtuel IA." + "description": "{{appName}} est une application de chat alimentée par l'IA, conçue pour permettre à chacun d'avoir son propre compagnon virtuel IA.", + "keywords": [ + "IA", + "idole virtuelle", + "discussion", + "personnage virtuel", + "grand modèle de langage", + "partenaire virtuel IA", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/it-IT/metadata.json b/locales/it-IT/metadata.json index 95c0fb3e..c4be4c74 100644 --- a/locales/it-IT/metadata.json +++ b/locales/it-IT/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} è un'app di chat alimentata da AI, progettata per dare a tutti il proprio compagno virtuale AI." + "description": "{{appName}} è un'app di chat alimentata da AI, progettata per dare a tutti il proprio compagno virtuale AI.", + "keywords": [ + "AI", + "idolo virtuale", + "chat", + "personaggio virtuale", + "modello linguistico di grandi dimensioni", + "compagno virtuale AI", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/ja-JP/metadata.json b/locales/ja-JP/metadata.json index ba0b6b78..db6e7bc9 100644 --- a/locales/ja-JP/metadata.json +++ b/locales/ja-JP/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} は、すべての人が自分の AI バーチャルパートナーを持つことを目的とした AI 駆動のチャットアプリです" + "description": "{{appName}} は、すべての人が自分の AI バーチャルパートナーを持つことを目的とした AI 駆動のチャットアプリです", + "keywords": [ + "AI", + "バーチャルアイドル", + "チャット", + "バーチャルキャラクター", + "大規模言語モデル", + "AIバーチャルパートナー", + "原神", + "崩壊", + "Genshin Impact", + "ホロライブ", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/ko-KR/metadata.json b/locales/ko-KR/metadata.json index 31d01ae5..3e2ed365 100644 --- a/locales/ko-KR/metadata.json +++ b/locales/ko-KR/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}}는 AI 기반의 채팅 애플리케이션으로, 모든 사람이 자신의 AI 가상 파트너를 가질 수 있도록 설계되었습니다." + "description": "{{appName}}는 AI 기반의 채팅 애플리케이션으로, 모든 사람이 자신의 AI 가상 파트너를 가질 수 있도록 설계되었습니다.", + "keywords": [ + "AI", + "가상 아이돌", + "채팅", + "가상 캐릭터", + "대형 언어 모델", + "AI 가상 파트너", + "원신", + "붕괴", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/nl-NL/metadata.json b/locales/nl-NL/metadata.json index a193f973..ea3ffb1c 100644 --- a/locales/nl-NL/metadata.json +++ b/locales/nl-NL/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} is een door AI aangedreven chatapplicatie, ontworpen om iedereen zijn eigen AI virtuele metgezel te geven." + "description": "{{appName}} is een door AI aangedreven chatapplicatie, ontworpen om iedereen zijn eigen AI virtuele metgezel te geven.", + "keywords": [ + "AI", + "virtuele idolen", + "chatten", + "virtuele karakters", + "grote taalmodellen", + "AI virtuele metgezel", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/pl-PL/metadata.json b/locales/pl-PL/metadata.json index 5b102b90..a75a7ddb 100644 --- a/locales/pl-PL/metadata.json +++ b/locales/pl-PL/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} to aplikacja czatu napędzana przez AI, mająca na celu umożliwienie każdemu posiadania własnego wirtualnego towarzysza AI" + "description": "{{appName}} to aplikacja czatu napędzana przez AI, mająca na celu umożliwienie każdemu posiadania własnego wirtualnego towarzysza AI", + "keywords": [ + "AI", + "wirtualna idol", + "czat", + "wirtualna postać", + "duży model językowy", + "AI wirtualny towarzysz", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/pt-BR/metadata.json b/locales/pt-BR/metadata.json index 9028c13f..dbde8e55 100644 --- a/locales/pt-BR/metadata.json +++ b/locales/pt-BR/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} é um aplicativo de chat impulsionado por IA, projetado para que todos tenham seu próprio parceiro virtual de IA" + "description": "{{appName}} é um aplicativo de chat impulsionado por IA, projetado para que todos tenham seu próprio parceiro virtual de IA", + "keywords": [ + "IA", + "ídolo virtual", + "bate-papo", + "personagem virtual", + "grande modelo de linguagem", + "companheiro virtual de IA", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/ru-RU/metadata.json b/locales/ru-RU/metadata.json index 107de805..e7244f3e 100644 --- a/locales/ru-RU/metadata.json +++ b/locales/ru-RU/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} — это приложение для общения, основанное на ИИ, предназначенное для того, чтобы каждый мог иметь своего виртуального партнера на базе ИИ." + "description": "{{appName}} — это приложение для общения, основанное на ИИ, предназначенное для того, чтобы каждый мог иметь своего виртуального партнера на базе ИИ.", + "keywords": [ + "ИИ", + "виртуальный идол", + "чат", + "виртуальный персонаж", + "большая языковая модель", + "ИИ виртуальный партнер", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/tr-TR/metadata.json b/locales/tr-TR/metadata.json index a0905ebf..5ab37340 100644 --- a/locales/tr-TR/metadata.json +++ b/locales/tr-TR/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} AI destekli bir sohbet uygulamasıdır, herkesin kendi AI sanal partnerine sahip olmasını sağlamak için tasarlanmıştır." + "description": "{{appName}} AI destekli bir sohbet uygulamasıdır, herkesin kendi AI sanal partnerine sahip olmasını sağlamak için tasarlanmıştır.", + "keywords": [ + "Yapay Zeka", + "Sanal İdol", + "sohbet", + "sanal karakter", + "büyük dil modeli", + "Yapay Zeka sanal partner", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/vi-VN/metadata.json b/locales/vi-VN/metadata.json index 6b1c2b77..d5b2b721 100644 --- a/locales/vi-VN/metadata.json +++ b/locales/vi-VN/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} là một ứng dụng trò chuyện được điều khiển bởi AI, nhằm mang đến cho mọi người một người bạn ảo AI của riêng mình" + "description": "{{appName}} là một ứng dụng trò chuyện được điều khiển bởi AI, nhằm mang đến cho mọi người một người bạn ảo AI của riêng mình", + "keywords": [ + "AI", + "thần tượng ảo", + "trò chuyện", + "nhân vật ảo", + "mô hình ngôn ngữ lớn", + "bạn đồng hành ảo AI", + "Genshin Impact", + "Honkai", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/zh-CN/metadata.json b/locales/zh-CN/metadata.json index c116358f..7e34ae6e 100644 --- a/locales/zh-CN/metadata.json +++ b/locales/zh-CN/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} 是一款由 AI 驱动的聊天应用, 旨在让每个人都拥有自己的 AI 虚拟伴侣" + "description": "{{appName}} 是一款由 AI 驱动的虚拟偶像聊天应用, 旨在让每个人都拥有自己的 AI 虚拟偶像,提供多种虚拟角色供您选择并与之互动,支持多种大语言模型服务商", + "keywords": [ + "AI", + "虚拟偶像", + "聊天", + "虚拟角色", + "大语言模型", + "AI 虚拟伴侣", + "原神", + "崩坏", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/locales/zh-TW/metadata.json b/locales/zh-TW/metadata.json index c329e260..3458385b 100644 --- a/locales/zh-TW/metadata.json +++ b/locales/zh-TW/metadata.json @@ -1,5 +1,20 @@ { "chat": { - "description": "{{appName}} 是一款由 AI 驅動的聊天應用,旨在讓每個人都擁有自己的 AI 虛擬伴侶" + "description": "{{appName}} 是一款由 AI 驅動的聊天應用,旨在讓每個人都擁有自己的 AI 虛擬伴侶", + "keywords": [ + "AI", + "虛擬偶像", + "聊天", + "虛擬角色", + "大語言模型", + "AI 虛擬伴侶", + "原神", + "崩壞", + "Genshin Impact", + "Hololive", + "VTuber", + "Vidol", + "Vdroid" + ] } } diff --git a/package.json b/package.json index 2143a7bd..1b383f5e 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "keywords": [ "framework", "virtual-idols", + "vidol", + "vtuber", "chatbot", "chatgpt", "nextjs", @@ -67,11 +69,11 @@ ] }, "dependencies": { - "@ant-design/icons": "^5.5.1", + "@ant-design/icons": "^5.5.2", "@anthropic-ai/sdk": "^0.32.1", - "@aws-sdk/client-bedrock-runtime": "^3.699.0", - "@aws-sdk/client-s3": "^3.699.0", - "@aws-sdk/s3-request-presigner": "^3.699.0", + "@aws-sdk/client-bedrock-runtime": "^3.706.0", + "@aws-sdk/client-s3": "^3.705.0", + "@aws-sdk/s3-request-presigner": "^3.705.0", "@azure/openai": "1.0.0-beta.12", "@baiducloud/qianfan": "^0.1.9", "@gltf-transform/core": "^4.1.0", @@ -80,33 +82,33 @@ "@icons-pack/react-simple-icons": "^9.7.0", "@khmyznikov/pwa-install": "^0.3.9", "@lobehub/chat-plugin-sdk": "^1.32.4", - "@lobehub/i18n-cli": "^1.20.0", - "@lobehub/icons": "^1.45.0", - "@lobehub/tts": "^1.25.4", - "@lobehub/ui": "^1.153.0", - "@next/third-parties": "^14.2.18", + "@lobehub/i18n-cli": "^1.20.1", + "@lobehub/icons": "^1.54.0", + "@lobehub/tts": "^1.25.8", + "@lobehub/ui": "^1.153.11", + "@next/third-parties": "^14.2.20", "@pixiv/three-vrm": "2.1.2", "@pixiv/three-vrm-core": "2.1.2", "@react-spring/web": "^9.7.5", - "@serwist/next": "^9.0.10", + "@serwist/next": "^9.0.11", "@t3-oss/env-nextjs": "^0.11.1", "@trpc/client": "next", "@trpc/next": "next", "@trpc/server": "next", "@types/react-speech-recognition": "^3.9.5", "@vercel/analytics": "^1.4.1", - "ahooks": "^3.8.1", + "ahooks": "^3.8.4", "ai": "^2.2.37", "antd": "~5.18.3", "antd-style": "^3.7.1", - "axios": "^1.7.7", + "axios": "^1.7.9", "buffer": "^6.0.3", "classnames": "^2.5.1", "dayjs": "^1.11.13", "drizzle-orm": "^0.36.4", "fast-deep-equal": "^3.1.3", "i18next": "^23.16.8", - "i18next-browser-languagedetector": "^7.2.1", + "i18next-browser-languagedetector": "^7.2.2", "i18next-resources-to-backend": "^1.2.1", "immer": "^10.1.1", "jose": "^5.9.6", @@ -116,13 +118,13 @@ "lucide-react": "^0.395.0", "mime": "^4.0.4", "mmd-parser": "^1.0.4", - "modern-screenshot": "^4.5.4", - "nanoid": "^5.0.8", - "next": "^14.2.18", + "modern-screenshot": "^4.5.5", + "nanoid": "^5.0.9", + "next": "14.2.8", "nextjs-toploader": "^3.7.15", "numeral": "^2.0.6", - "ollama": "^0.5.10", - "openai": "^4.73.0", + "ollama": "^0.5.11", + "openai": "^4.76.0", "pino": "^9.5.0", "polished": "^4.3.1", "pwa-install-handler": "^2.6.1", @@ -131,15 +133,16 @@ "react-dom": "^18.3.1", "react-i18next": "14.0.2", "react-intersection-observer": "^9.13.1", - "react-layout-kit": "^1.9.0", + "react-layout-kit": "^1.9.1", "react-lazy-load": "^4.0.1", - "react-virtuoso": "^4.12.1", + "react-virtuoso": "^4.12.3", "remark": "^15.0.1", "remark-gfm": "^3.0.1", "remark-html": "^16.0.1", - "resolve-accept-language": "^3.1.8", - "serwist": "^9.0.10", - "superjson": "^2.2.1", + "resolve-accept-language": "^3.1.9", + "rtl-detect": "^1.1.2", + "serwist": "^9.0.11", + "superjson": "^2.2.2", "swr": "^2.2.5", "three": "0.164.1", "ua-parser-js": "^1.0.39", @@ -154,18 +157,18 @@ "devDependencies": { "@commitlint/cli": "^19.6.0", "@ducanh2912/next-pwa": "^10.2.9", - "@edge-runtime/vm": "^4.0.3", + "@edge-runtime/vm": "^4.0.4", "@lobehub/lint": "^1.24.4", - "@next/bundle-analyzer": "^14.2.18", - "@next/eslint-plugin-next": "^14.2.18", + "@next/bundle-analyzer": "^14.2.20", + "@next/eslint-plugin-next": "^14.2.20", "@peculiar/webcrypto": "^1.5.0", "@testing-library/jest-dom": "^6.6.3", - "@testing-library/react": "^16.0.1", + "@testing-library/react": "^16.1.0", "@types/lodash-es": "^4.17.12", "@types/node": "20.14.2", "@types/numeral": "^2.0.5", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", + "@types/react": "^18.3.14", + "@types/react-dom": "^18.3.2", "@types/three": "^0.165.0", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^10.0.0", @@ -181,7 +184,7 @@ "jsdom": "^24.1.3", "just-diff": "^6.0.2", "lint-staged": "^15.2.10", - "prettier": "^3.3.3", + "prettier": "^3.4.2", "remark-cli": "^11.0.0", "remark-parse": "^10.0.2", "semantic-release": "^21.1.2", diff --git a/src/app/chat/CameraMode/style.ts b/src/app/chat/CameraMode/style.ts index c0fe47c6..c9b3a9c5 100644 --- a/src/app/chat/CameraMode/style.ts +++ b/src/app/chat/CameraMode/style.ts @@ -10,7 +10,7 @@ export const useStyles = createStyles(({ css, token, responsive }) => ({ height: 100%; `, content: css` - min-width: 480px; + min-width: 360px; max-width: 100vw; padding: 0 12px; diff --git a/src/app/chat/ChatMode/MessageInput/index.tsx b/src/app/chat/ChatMode/MessageInput/index.tsx index 183e72c9..134d92b2 100644 --- a/src/app/chat/ChatMode/MessageInput/index.tsx +++ b/src/app/chat/ChatMode/MessageInput/index.tsx @@ -77,7 +77,7 @@ const InputArea = memo((props: InputAreaProps) => { - + {t('input.alert')} {ShortCuts} diff --git a/src/app/chat/ChatMode/MessageInput/style.ts b/src/app/chat/ChatMode/MessageInput/style.ts index 5d43975f..5e9b5f81 100644 --- a/src/app/chat/ChatMode/MessageInput/style.ts +++ b/src/app/chat/ChatMode/MessageInput/style.ts @@ -2,7 +2,6 @@ import { createStyles } from 'antd-style'; export const useStyles = createStyles(({ css, token }) => ({ alert: css` - width: 100%; color: ${token.colorTextTertiary}; `, })); diff --git a/src/app/discover/List/index.tsx b/src/app/discover/List/index.tsx index d6e3d55b..d2579739 100644 --- a/src/app/discover/List/index.tsx +++ b/src/app/discover/List/index.tsx @@ -8,7 +8,7 @@ import { Flexbox } from 'react-layout-kit'; import RoleCard from '@/components/RoleCard'; import SkeletonList from '@/components/SkeletonList'; -import { Agent, CategoryEnum } from '@/types/agent'; +import { Agent, RoleCategoryEnum } from '@/types/agent'; const useStyles = createStyles(({ css, token }) => ({ container: css` @@ -49,16 +49,16 @@ const AgentList = (props: AgentListProps) => { // 定义分类选项 const CATEGORIES = [ { key: 'all', label: t('category.all') }, - { label: t('category.game'), key: CategoryEnum.GAME }, - { label: t('category.vroid'), key: CategoryEnum.VROID }, - { label: t('category.anime'), key: CategoryEnum.ANIME }, - { label: t('category.animal'), key: CategoryEnum.ANIMAL }, - { label: t('category.book'), key: CategoryEnum.BOOK }, - { label: t('category.history'), key: CategoryEnum.HISTORY }, - { label: t('category.movie'), key: CategoryEnum.MOVIE }, - { label: t('category.realistic'), key: CategoryEnum.REALISTIC }, + { label: t('category.game'), key: RoleCategoryEnum.GAME }, + { label: t('category.vroid'), key: RoleCategoryEnum.VROID }, + { label: t('category.anime'), key: RoleCategoryEnum.ANIME }, + { label: t('category.animal'), key: RoleCategoryEnum.ANIMAL }, + { label: t('category.book'), key: RoleCategoryEnum.BOOK }, + { label: t('category.history'), key: RoleCategoryEnum.HISTORY }, + { label: t('category.movie'), key: RoleCategoryEnum.MOVIE }, + { label: t('category.realistic'), key: RoleCategoryEnum.REALISTIC }, - { label: t('category.vtuber'), key: CategoryEnum.VTUBER }, + { label: t('category.vtuber'), key: RoleCategoryEnum.VTUBER }, ]; // 添加状态管理 diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 0bcd495e..aba734bf 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,22 +1,33 @@ +import { ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface'; +import { cookies } from 'next/headers'; import { PropsWithChildren } from 'react'; +import { isRtlLang } from 'rtl-detect'; import Analytics from '@/components/Analytics'; import NProgress from '@/components/NProgress'; +import { DEFAULT_LANG, LOBE_LOCALE_COOKIE } from '@/constants/locale'; import PWAInstall from '@/features/PWAInstall'; import Layout from '@/layout'; +import { isMobileDevice } from '@/utils/server/responsive'; import StyleRegistry from './StyleRegistry'; -const RootLayout = ({ children }: PropsWithChildren) => { +const RootLayout = async ({ children }: PropsWithChildren) => { // get default theme config to use with ssr + const cookieStore = await cookies(); + const lang = cookieStore.get(LOBE_LOCALE_COOKIE); + const locale = lang?.value || DEFAULT_LANG; + + const direction = isRtlLang(locale) ? 'rtl' : 'ltr'; return ( - +