mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 03:14:00 +00:00
feat(voice): add typed AI chat beside voice
Chat sits next to the mic in the command dock. Replies are silent and never request the microphone; the first message connects with the selected provider and runs the same map actions as voice through each provider's text API (OpenAI OPENAI_CHAT_MODEL, Gemini GEMINI_CHAT_MODEL via generateContent, which never starts Live). Only one mode runs at a time. - Chat panel rendered by the voice control presenter: conversation, recent and quick-command suggestions, Up/Down history, attachments (map-layer references or small UTF-8 text files, sent only with the message) - Chat and voice panels sit above the dock or dock into the right rail's column; minimized bars sit centred above the dock, and height animates on swaps - A centred panel steps down to its bar for the Location and Visual Presets trays without moving focus, rests above an open tray, and docks right while expanded over one; it returns to the centre once the trays close - Minimized voice previews the last sentence from each side; the empty Voice Preview suggests things to say - Settings opened from chat keep chat's frame and show the shared AI provider and quick commands; voice Settings show Back to voice - Closing chat ends a typed session; the voice panel's close turns voice off - The dock widens its voice control for the chat button and restyles its wings, which show icons only at 900px and below; assistant panels share the left panels' glass, and Cyber keeps its own surfaces - Server text-chat handlers with body, time and per-IP limits (GEV_RATELIMIT_*_CHAT_PER_MIN), documented in SECURITY.md; tests and all eleven locales Co-authored-by: Darren Dignam <[email protected]>
This commit is contained in:
1 parent
720260af58
commit
af461febae
57 files changed
+6500
-63
No files matched your search
@@ -2868,5 +2868,67 @@
|
||||
"Left panels": "左パネル",
|
||||
"Right panels": "右パネル",
|
||||
"CONFIRMED": "確認済み",
|
||||
"PAD / RTLS": "射場 / RTLS"
|
||||
"PAD / RTLS": "射場 / RTLS",
|
||||
"Fly to Tokyo": "東京へ移動",
|
||||
"Show live flights": "ライブのフライトを表示",
|
||||
"AI chat": "AIチャット",
|
||||
"GEV CHAT": "GEV チャット",
|
||||
"Ask about the map. Tell it where to go.": "地図について質問できます。行き先を伝えてください。",
|
||||
"Close chat": "チャットを閉じる",
|
||||
"Conversation": "会話",
|
||||
"Explore with a question": "質問から探索",
|
||||
"Find a place, explore live data, or change your view.": "場所を探したり、ライブデータを見たり、表示を変えたりできます。",
|
||||
"Attachments": "添付ファイル",
|
||||
"Remove attachment": "添付を削除",
|
||||
"Attach a map layer": "地図レイヤーを添付",
|
||||
"Choose a layer…": "レイヤーを選択…",
|
||||
"Attach a file": "ファイルを添付",
|
||||
"TXT, Markdown, CSV, JSON or GeoJSON · up to 10 KB each. Attachments are sent to your AI provider with your message.": "TXT、Markdown、CSV、JSON、GeoJSON · 各 10 KB まで。添付はメッセージとともに AI プロバイダーへ送信されます。",
|
||||
"Latest AI response": "最新の AI の応答",
|
||||
"Expand conversation": "会話を展開",
|
||||
"Command suggestions": "コマンドの候補",
|
||||
"Expand chat": "チャットを展開",
|
||||
"Add attachment": "添付を追加",
|
||||
"Message GEV": "GEV へのメッセージ",
|
||||
"Ask GEV anything about the map…": "地図について GEV に何でも質問…",
|
||||
"Stop reply": "応答を停止",
|
||||
"Send message": "メッセージを送信",
|
||||
"Panel position": "パネルの位置",
|
||||
"Move above the dock": "ドックの上へ移動",
|
||||
"Dock to the right": "右側にドッキング",
|
||||
"Expand panel": "パネルを展開",
|
||||
"Minimize panel": "パネルを最小化",
|
||||
"You can attach up to four items.": "添付できるのは 4 件までです。",
|
||||
"Attachments are too large together. Use smaller files.": "添付ファイルの合計が大きすぎます。小さいファイルを使ってください。",
|
||||
"Choose a TXT, Markdown, CSV, JSON or GeoJSON file.": "TXT、Markdown、CSV、JSON、GeoJSON のファイルを選んでください。",
|
||||
"Each file must be 10 KB or smaller.": "各ファイルは 10 KB 以下にしてください。",
|
||||
"Choose a non-empty UTF-8 text file.": "空でない UTF-8 のテキストファイルを選んでください。",
|
||||
"Connecting…": "接続中…",
|
||||
"Thinking…": "考え中…",
|
||||
"Working on the map…": "地図を操作中…",
|
||||
"Silent chat · microphone off": "サイレントチャット · マイクオフ",
|
||||
"Reply interrupted. You can try again.": "応答が中断されました。もう一度お試しください。",
|
||||
"Could not connect. Try again.": "接続できませんでした。もう一度お試しください。",
|
||||
"Session ended. Send a message to start a new conversation.": "セッションが終了しました。メッセージを送ると新しい会話を始められます。",
|
||||
"Connection timed out. Try again.": "接続がタイムアウトしました。もう一度お試しください。",
|
||||
"Chat closed.": "チャットを閉じました。",
|
||||
"Connection stopped.": "接続が停止しました。",
|
||||
"Message and attachments are too large. Remove an attachment or shorten your message.": "メッセージと添付が大きすぎます。添付を外すか、メッセージを短くしてください。",
|
||||
"Message was not sent. Try again.": "メッセージを送信できませんでした。もう一度お試しください。",
|
||||
"Reply stopped.": "応答を停止しました。",
|
||||
"Suggestions": "候補",
|
||||
"Recent": "最近",
|
||||
"Quick commands": "クイックコマンド",
|
||||
"Open AI chat": "AIチャットを開く",
|
||||
"CHAT": "チャット",
|
||||
"Back to chat": "チャットに戻る",
|
||||
"Back to voice": "音声に戻る",
|
||||
"Latest voice exchange": "直近の音声のやり取り",
|
||||
"Try saying": "話しかけてみましょう",
|
||||
"What am I looking at?": "何を見ていますか?",
|
||||
"AI Provider": "AI プロバイダー",
|
||||
"The selected AI provider is shared by voice and chat.": "選んだ AI プロバイダーは音声とチャットで共通です。",
|
||||
"Show quick commands": "クイックコマンドを表示",
|
||||
"Chat replies are silent. No microphone access is needed.": "チャットの応答は音声なしです。マイクへのアクセスは不要です。",
|
||||
"Chat": "チャット"
|
||||
}
|
||||
Reference in new issue
Block a user