Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
9364874
外部から送信したメッセージをポーリングでフロントに表示する
tegnike Oct 1, 2024
512a27c
外部から送信したメッセージを発言させる
tegnike Oct 2, 2024
01a327b
processReceivedMessageの再命名と処理改善
tegnike Oct 2, 2024
1668bfc
スポンサー追加
tegnike Oct 2, 2024
3071a29
processReceivedMessageリファクタリング
tegnike Oct 2, 2024
7df2b39
VOICEVOXの処理をファイル単位で分離
tegnike Oct 2, 2024
33e9081
GoogleTTSとKoeiromapの処理をリファクタリング
tegnike Oct 2, 2024
119bcbf
speakCharacter.ts リファクタリング
tegnike Oct 2, 2024
0bdd0b3
Realtime API が動くところまで実装(音声ファイルは塊で渡している)
tegnike Oct 5, 2024
5d1374e
受け取った音声データをリアルタイムに再生
tegnike Oct 5, 2024
333b861
LLMのメッセージ処理修正
tegnike Oct 7, 2024
6cc6fb8
処理見直し&UI調整
tegnike Oct 8, 2024
d4fbdff
Vercelエラー解消
tegnike Oct 8, 2024
a86e368
レビュー修正
tegnike Oct 9, 2024
f585580
複数メッセージを送れるようにする
tegnike Oct 9, 2024
1f46f6a
キュー管理をシンプルに修正
tegnike Oct 9, 2024
4759522
Merge pull request #165 from tegnike/feature/add-external-callling-sp…
tegnike Oct 9, 2024
3071064
Merge branch 'develop' into feature/update-document-and-fix-bugs
tegnike Oct 9, 2024
95b172c
processReceivedMessageリファクタリング
tegnike Oct 9, 2024
2d582e5
TTSエラーを検知する
tegnike Oct 9, 2024
2b28cc3
レビュー修正
tegnike Oct 9, 2024
f93658a
レビュー修正
tegnike Oct 9, 2024
9103b6b
Merge pull request #164 from tegnike/feature/update-document-and-fix-…
tegnike Oct 9, 2024
8051e18
Realtime APIの回答速度向上
tegnike Oct 9, 2024
e943269
Merge remote-tracking branch 'origin/develop' into feature/add-realti…
tegnike Oct 9, 2024
2336302
UIからも項目が設定できるように修正
tegnike Oct 10, 2024
9b525cc
もろもろの不具合対応
tegnike Oct 11, 2024
287be81
レビュー修正
tegnike Oct 11, 2024
a2da059
レビュー修正
tegnike Oct 11, 2024
283bb56
レビュー修正
tegnike Oct 11, 2024
09394d6
レビュー修正
tegnike Oct 11, 2024
fb07f62
Merge pull request #167 from tegnike/feature/add-realtime-api
tegnike Oct 11, 2024
607af81
レビュー修正
tegnike Oct 11, 2024
1f609b8
レビュー修正
tegnike Oct 11, 2024
0a505d6
送信後にチャット欄に前のメッセージが残る不具合修正
tegnike Oct 12, 2024
ceda421
Merge pull request #166 from tegnike/develop
tegnike Oct 12, 2024
e3d3834
マイクボタンの活性切り替えがおかしくなってたので修正
tegnike Oct 13, 2024
c5a009f
環境変数に説明追加
tegnike Oct 13, 2024
54682e5
envファイル修正&Azure用のプロパティ修正
tegnike Oct 14, 2024
75fd753
Merge pull request #171 from tegnike/feature/add-explanation-to-env
tegnike Oct 14, 2024
3a58a59
Merge pull request #172 from tegnike/feature/fix-bugs-of-realtime-api
tegnike Oct 14, 2024
2a50919
Merge pull request #173 from tegnike/develop
tegnike Oct 14, 2024
f00cc54
システムプロンプトを環境変数で設定できるようにする
tegnike Oct 14, 2024
80dfb5d
不要なインポート削除
tegnike Oct 14, 2024
dcf0c34
Merge pull request #176 from tegnike/feature/add-explanation-to-env
tegnike Oct 14, 2024
93dd753
Merge pull request #177 from tegnike/develop
tegnike Oct 14, 2024
860764d
Realtime APIにツール機能を追加(サンプルで天気取得ツール)
tegnike Oct 15, 2024
9543a7f
get_current_weather ツール調整
tegnike Oct 16, 2024
5645010
レビュー修正
tegnike Oct 16, 2024
cec15f5
Merge pull request #179 from tegnike/feature/add-realtime-api-tools
tegnike Oct 16, 2024
5d7b17e
タイポ修正
tegnike Oct 16, 2024
aa7c0b8
Dockerfile修正
tegnike Oct 16, 2024
8c4ab62
Merge pull request #180 from tegnike/feature/fix-typo
tegnike Oct 16, 2024
9c96078
Merge pull request #181 from tegnike/feature/fix-dockerfile
tegnike Oct 16, 2024
dbda001
Merge pull request #182 from tegnike/develop
tegnike Oct 16, 2024
9582603
Realtime APIのURLをhttps=>wssに変更(今までhttpsで動いてた理由は不明)
tegnike Oct 17, 2024
0dce66c
トーストコンポーネント追加
tegnike Oct 17, 2024
3fb5986
トーストコンポーネントを任意のタイミングで閉じる機能&タグ付けによる重複表示防止機能を実装
tegnike Oct 17, 2024
821ef45
WebSocketの接続確認のトースト追加
tegnike Oct 17, 2024
c442f4a
WebSocketモードにもトースト追加
tegnike Oct 17, 2024
188ac22
Realtime API Toolでもトースト使用 & localeでメッセージを管理
tegnike Oct 17, 2024
9d32b1f
TTSエラーをトーストに対応
tegnike Oct 18, 2024
1620eb6
フロント側でAPIキーが設定されていないとリクエストエラーになる不具合を修正
tegnike Oct 18, 2024
4cc1159
AIサービスがOpenAI/AzureでなければRealtimeAPIモードをオフにする
tegnike Oct 18, 2024
9f4f343
Realtime APIモードではテキスト送信を非活性にする
tegnike Oct 18, 2024
42e9b59
Merge pull request #188 from tegnike/feature/realtimeapi-bug-fix
tegnike Oct 18, 2024
a2776a9
レビュー修正
tegnike Oct 18, 2024
44ee3b3
Merge pull request #189 from tegnike/feature/add-toast
tegnike Oct 18, 2024
3b02c8e
レビュー修正
tegnike Oct 18, 2024
b72eb80
Merge pull request #191 from tegnike/develop
tegnike Oct 18, 2024
5a12f78
Merge branch 'main' into release-2.1.0
tegnike Oct 23, 2024
89fec13
ライセンス更新ドキュメント
tegnike Oct 24, 2024
31001e1
README更新
tegnike Oct 24, 2024
7c4e5ce
README修正
tegnike Oct 24, 2024
e1b7852
ファイル名変更
tegnike Oct 24, 2024
5a35a6c
ライセンス文修正
tegnike Oct 24, 2024
59bc57f
ライセンス文修正
tegnike Oct 24, 2024
93e3926
ファイル名修正
tegnike Oct 24, 2024
9778f04
多言語README対応
tegnike Oct 24, 2024
52267f6
Merge branch 'release-2.0.0' into release-2.1.0
tegnike Oct 24, 2024
37688d5
スポンサー追加
tegnike Oct 24, 2024
5169611
不要な行削除
tegnike Oct 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 60 additions & 24 deletions .env
Original file line number Diff line number Diff line change
@@ -1,37 +1,67 @@
# AI Service
# openai,anthropic,google,azure,groq,cohere,mistralai,perplexity,fireworks,localLlm,dify)
NEXT_PUBLIC_SELECT_AI_SERVICE=""
# AI Model
# depending on AI Service (other than azure and dify)
NEXT_PUBLIC_SELECT_AI_MODEL=""

# API Key
OPENAI_KEY=""
ANTHROPIC_KEY=""
GOOGLE_KEY=""
GROQ_KEY=""
COHERE_KEY=""
MISTRALAI_KEY=""
PERPLEXITY_KEY=""
FIREWORKS_KEY=""

# Azure
AZURE_KEY=""
AZURE_ENDPOINT=""

# for Realtime API (only front-end calling)
NEXT_PUBLIC_OPENAI_KEY=""
NEXT_PUBLIC_AZURE_KEY=""
NEXT_PUBLIC_AZURE_ENDPOINT=""

# Dify
DIFY_KEY=""
DIFY_URL=""

# Local LLM
NEXT_PUBLIC_LOCAL_LLM_URL=""
NEXT_PUBLIC_LOCAL_LLM_MODEL=""

# Voice
# Voice Service
# voicevox,koeiromap,google,stylebertvits2,gsvitts,elevenlabs
NEXT_PUBLIC_SELECT_VOICE=""

# VoiceVox
# VOICEVOX
NEXT_PUBLIC_VOICEVOX_SPEAKER=""
NEXT_PUBLIC_VOICEVOX_SPEED=""
NEXT_PUBLIC_VOICEVOX_PITCH=""
NEXT_PUBLIC_VOICEVOX_INTONATION=""

# KoeiroMap
# Koeiromap
NEXT_PUBLIC_KOEIROMAP_KEY=""

# Google TTS
# credential file path
GOOGLE_APPLICATION_CREDENTIALS="./credentials.json"
# ex. en-US-Neural2-F
NEXT_PUBLIC_GOOGLE_TTS_TYPE=""

# StyleBertVits2
# StyleBertVITS2
NEXT_PUBLIC_STYLEBERTVITS2_MODEL_ID=""
NEXT_PUBLIC_STYLEBERTVITS2_STYLE=""
NEXT_PUBLIC_STYLEBERTVITS2_SDP_RATIO=""
NEXT_PUBLIC_STYLEBERTVITS2_LENGTH=""

STYLEBERTVITS2_SERVER_URL=""
STYLEBERTVITS2_API_KEY=""

# ElevenLabs
ELEVENLABS_API_KEY=""
ELEVENLABS_VOICE_ID=""

# GSVI TTS
NEXT_PUBLIC_GSVI_TTS_URL=""
Expand All @@ -41,35 +71,41 @@ NEXT_PUBLIC_GSVI_TTS_SPEECH_RATE=""

# Youtube
NEXT_PUBLIC_YOUTUBE_API_KEY=""
NEXT_PUBLIC_YOUTUBE_MODE=""
NEXT_PUBLIC_YOUTUBE_LIVE_ID=""
# Whether to enable to receive Youtube chat (true or false)
NEXT_PUBLIC_YOUTUBE_MODE=""

# Language
# Language (ja, en, zh, zh-TW, ko)
NEXT_PUBLIC_SELECT_LANGUAGE=""
NEXT_PUBLIC_SELECT_VOICE_LANGUAGE=""

# Other
# Background Image Path
NEXT_PUBLIC_BACKGROUND_IMAGE_PATH="/bg-c.png"
NEXT_PUBLIC_SHOW_INTRODUCTION="false"

# Whether to show introduction (true or false)
NEXT_PUBLIC_SHOW_INTRODUCTION=""

# Character Name
NEXT_PUBLIC_CHARACTER_NAME=""

# Whether to show assistant text area (true or false)
NEXT_PUBLIC_SHOW_ASSISTANT_TEXT=""
# Whether to show character name on assistant text area (true or false)
NEXT_PUBLIC_SHOW_CHARACTER_NAME=""

# Whether to change English to Japanese (true or false)
NEXT_PUBLIC_CHANGE_ENGLISH_TO_JAPANESE=""

# Whether to show control panel (true or false)
NEXT_PUBLIC_SHOW_CONTROL_PANEL=""

# WebSocket Mode (true or false)
NEXT_PUBLIC_WEBSOCKET_MODE=""
NEXT_PUBLIC_SLIDE_MODE=""

# AI API Keys
OPENAI_KEY=""
ANTHROPIC_KEY=""
GOOGLE_KEY=""
AZURE_KEY=""
GROQ_KEY=""
COHERE_KEY=""
MISTRALAI_KEY=""
PERPLEXITY_KEY=""
FIREWORKS_KEY=""
# Realtime API Mode (true or false)
NEXT_PUBLIC_REALTIME_API_MODE=""

# Dify
DIFY_KEY=""
DIFY_URL=""
# Slide Mode (true or false)
NEXT_PUBLIC_SLIDE_MODE=""

# System Prompt
NEXT_PUBLIC_SYSTEM_PROMPT=""
84 changes: 60 additions & 24 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,37 +1,67 @@
# AI Service
# openai,anthropic,google,azure,groq,cohere,mistralai,perplexity,fireworks,localLlm,dify)
NEXT_PUBLIC_SELECT_AI_SERVICE=""
# AI Model
# depending on AI Service (other than azure and dify)
NEXT_PUBLIC_SELECT_AI_MODEL=""

# API Key
OPENAI_KEY=""
ANTHROPIC_KEY=""
GOOGLE_KEY=""
GROQ_KEY=""
COHERE_KEY=""
MISTRALAI_KEY=""
PERPLEXITY_KEY=""
FIREWORKS_KEY=""

# Azure
AZURE_KEY=""
AZURE_ENDPOINT=""

# for Realtime API (only front-end calling)
NEXT_PUBLIC_OPENAI_KEY=""
NEXT_PUBLIC_AZURE_KEY=""
NEXT_PUBLIC_AZURE_ENDPOINT=""

# Dify
DIFY_KEY=""
DIFY_URL=""

# Local LLM
NEXT_PUBLIC_LOCAL_LLM_URL=""
NEXT_PUBLIC_LOCAL_LLM_MODEL=""

# Voice
# Voice Service
# voicevox,koeiromap,google,stylebertvits2,gsvitts,elevenlabs
NEXT_PUBLIC_SELECT_VOICE=""

# VoiceVox
# VOICEVOX
NEXT_PUBLIC_VOICEVOX_SPEAKER=""
NEXT_PUBLIC_VOICEVOX_SPEED=""
NEXT_PUBLIC_VOICEVOX_PITCH=""
NEXT_PUBLIC_VOICEVOX_INTONATION=""

# KoeiroMap
# Koeiromap
NEXT_PUBLIC_KOEIROMAP_KEY=""

# Google TTS
# credential file path
GOOGLE_APPLICATION_CREDENTIALS="./credentials.json"
# ex. en-US-Neural2-F
NEXT_PUBLIC_GOOGLE_TTS_TYPE=""

# StyleBertVits2
# StyleBertVITS2
NEXT_PUBLIC_STYLEBERTVITS2_MODEL_ID=""
NEXT_PUBLIC_STYLEBERTVITS2_STYLE=""
NEXT_PUBLIC_STYLEBERTVITS2_SDP_RATIO=""
NEXT_PUBLIC_STYLEBERTVITS2_LENGTH=""

STYLEBERTVITS2_SERVER_URL=""
STYLEBERTVITS2_API_KEY=""

# ElevenLabs
ELEVENLABS_API_KEY=""
ELEVENLABS_VOICE_ID=""

# GSVI TTS
NEXT_PUBLIC_GSVI_TTS_URL=""
Expand All @@ -41,35 +71,41 @@ NEXT_PUBLIC_GSVI_TTS_SPEECH_RATE=""

# Youtube
NEXT_PUBLIC_YOUTUBE_API_KEY=""
NEXT_PUBLIC_YOUTUBE_MODE=""
NEXT_PUBLIC_YOUTUBE_LIVE_ID=""
# Whether to enable to receive Youtube chat (true or false)
NEXT_PUBLIC_YOUTUBE_MODE=""

# Language
# Language (ja, en, zh, zh-TW, ko)
NEXT_PUBLIC_SELECT_LANGUAGE=""
NEXT_PUBLIC_SELECT_VOICE_LANGUAGE=""

# Other
# Background Image Path
NEXT_PUBLIC_BACKGROUND_IMAGE_PATH="/bg-c.png"
NEXT_PUBLIC_SHOW_INTRODUCTION="false"

# Whether to show introduction (true or false)
NEXT_PUBLIC_SHOW_INTRODUCTION=""

# Character Name
NEXT_PUBLIC_CHARACTER_NAME=""

# Whether to show assistant text area (true or false)
NEXT_PUBLIC_SHOW_ASSISTANT_TEXT=""
# Whether to show character name on assistant text area (true or false)
NEXT_PUBLIC_SHOW_CHARACTER_NAME=""

# Whether to change English to Japanese (true or false)
NEXT_PUBLIC_CHANGE_ENGLISH_TO_JAPANESE=""

# Whether to show control panel (true or false)
NEXT_PUBLIC_SHOW_CONTROL_PANEL=""

# WebSocket Mode (true or false)
NEXT_PUBLIC_WEBSOCKET_MODE=""
NEXT_PUBLIC_SLIDE_MODE=""

# AI API Keys
OPENAI_KEY=""
ANTHROPIC_KEY=""
GOOGLE_KEY=""
AZURE_KEY=""
GROQ_KEY=""
COHERE_KEY=""
MISTRALAI_KEY=""
PERPLEXITY_KEY=""
FIREWORKS_KEY=""
# Realtime API Mode (true or false)
NEXT_PUBLIC_REALTIME_API_MODE=""

# Dify
DIFY_KEY=""
DIFY_URL=""
# Slide Mode (true or false)
NEXT_PUBLIC_SLIDE_MODE=""

# System Prompt
NEXT_PUBLIC_SYSTEM_PROMPT="
17 changes: 12 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# ベースイメージとしてNode.js 20を使用
FROM node:20

# 必要なシステムライブラリをインストール
RUN apt-get update && apt-get install -y \
libcairo2-dev \
libpango1.0-dev \
libjpeg-dev \
libgif-dev \
librsvg2-dev \
pkg-config \
&& rm -rf /var/lib/apt/lists/*

# 作業ディレクトリを設定
WORKDIR /app

Expand All @@ -13,11 +23,8 @@ RUN npm ci
# アプリケーションのソースコードをコピー
COPY . .

# アプリケーションをビルド
RUN npm run build

# 3000番ポートを公開
EXPOSE 3000

# アプリケーションを起動
CMD ["npm", "start"]
# 開発モードでアプリケーションを起動
CMD ["npm", "run", "dev"]
42 changes: 35 additions & 7 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,19 +1,47 @@
MIT License
Dual License

This software is licensed under either of:

1. MIT License (for non-commercial use)
2. Commercial License (for commercial use)

===============================================================================
MIT License (for non-commercial use)
===============================================================================

Copyright (c) 2024 Nike

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
copies of the Software, and to permit persons to whom the Software is furnished
to do so, for non-commercial purposes, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING
FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.

*Note: This MIT License applies only to non-commercial use. For commercial use,
please refer to the Commercial License below.*

===============================================================================
Commercial License
===============================================================================

For commercial use of this software, a separate commercial license is required.

Please contact support@aituberkit.com for details about commercial licensing.

For detailed licensing information, terms and conditions, and FAQ, please visit:
https://github.com/tegnike/aituber-kit/docs/license_en.md

For commercial licensing inquiries:
Email: support@aituberkit.com
Loading