Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 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
c5a009f
環境変数に説明追加
tegnike Oct 13, 2024
54682e5
envファイル修正&Azure用のプロパティ修正
tegnike Oct 14, 2024
f00cc54
システムプロンプトを環境変数で設定できるようにする
tegnike Oct 14, 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="
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,9 @@ npm run dev
<a href="https://github.com/gijigae" title="gijigae">
<img src="https://github.com/gijigae.png" width="40" height="40" alt="gijigae">
</a>
<a href="https://github.com/takm-reason" title="takm-reason">
<img src="https://github.com/takm-reason.png" width="40" height="40" alt="takm-reason">
</a>
</p>

他、プライベートスポンサー 複数名
Expand Down
3 changes: 3 additions & 0 deletions docs/README_en.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,9 @@ Your support will greatly contribute to the development and improvement of the A
<a href="https://github.com/gijigae" title="gijigae">
<img src="https://github.com/gijigae.png" width="40" height="40" alt="gijigae">
</a>
<a href="https://github.com/takm-reason" title="takm-reason">
<img src="https://github.com/takm-reason.png" width="40" height="40" alt="takm-reason">
</a>
</p>

Plus multiple private sponsors
Expand Down
3 changes: 3 additions & 0 deletions docs/README_ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,9 @@ npm run dev
<a href="https://github.com/gijigae" title="gijigae">
<img src="https://github.com/gijigae.png" width="40" height="40" alt="gijigae">
</a>
<a href="https://github.com/takm-reason" title="takm-reason">
<img src="https://github.com/takm-reason.png" width="40" height="40" alt="takm-reason">
</a>
</p>

그 외, 다수의 비공개 스폰서
Expand Down
3 changes: 3 additions & 0 deletions docs/README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,9 @@ npm run dev
<a href="https://github.com/gijigae" title="gijigae">
<img src="https://github.com/gijigae.png" width="40" height="40" alt="gijigae">
</a>
<a href="https://github.com/takm-reason" title="takm-reason">
<img src="https://github.com/takm-reason.png" width="40" height="40" alt="takm-reason">
</a>
</p>

以及多位匿名贊助者
Expand Down
8 changes: 7 additions & 1 deletion locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,11 @@
"InvalidAIService": "The selected AI service is not valid",
"MethodNotAllowed": "The request is not appropriate",
"UnexpectedError": "An unexpected error occurred"
}
},
"MessageReceiver": "Receive instructions from outside",
"MessageReceiverDescription": "You can use API to instruct AI characters to speak from outside.",
"ClientID": "Client ID",
"OpenSendMessagePage": "Open Send Message Page",
"RealtimeAPIMode": "Realtime API Mode",
"AzureEndpoint": "Azure Endpoint"
}
8 changes: 7 additions & 1 deletion locales/ja/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -135,5 +135,11 @@
"InvalidAIService": "選択しているAIサービスが正しくありません",
"MethodNotAllowed": "リクエストが適切でありません",
"UnexpectedError": "予期せぬエラーが発生しました"
}
},
"MessageReceiver": "外部からの指示を受け付ける",
"MessageReceiverDescription": "APIを利用してAIキャラの発言を外部から指示することができます。",
"ClientID": "Client ID",
"OpenSendMessagePage": "メッセージ送信ページを開く",
"RealtimeAPIMode": "リアルタイムAPIモード",
"AzureEndpoint": "Azure Endpoint"
}
8 changes: 7 additions & 1 deletion locales/ko/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,11 @@
"InvalidAIService": "선택한 AI 서비스가 올바르지 않습니다",
"MethodNotAllowed": "요청이 적절하지 않습니다",
"UnexpectedError": "예기치 않은 오류가 발생했습니다"
}
},
"MessageReceiver": "외부에서 지시를 받는다",
"MessageReceiverDescription": "API를 사용하여 AI 캐릭터의 말을 외부에서 지시할 수 있습니다.",
"ClientID": "Client ID",
"OpenSendMessagePage": "메시지 보내기 페이지 열기",
"RealtimeAPIMode": "리얼타임 API 모드",
"AzureEndpoint": "Azure Endpoint"
}
8 changes: 7 additions & 1 deletion locales/zh/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,11 @@
"InvalidAIService": "选择的 AI 服务不正确",
"MethodNotAllowed": "请求不适当",
"UnexpectedError": "意外的错误发生"
}
},
"MessageReceiver": "接收外部指示",
"MessageReceiverDescription": "你可以使用 API 来指示 AI 角色从外部说话。",
"ClientID": "Client ID",
"OpenSendMessagePage": "開啟發送訊息頁面",
"RealtimeAPIMode": "實時API模式",
"AzureEndpoint": "Azure Endpoint"
}
Loading