mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
fix(voice): address review of typed AI chat
Typed chat sessions no longer end on the voice inactivity timeout, and a failed or stopped reply keeps the conversation: Stop cancels only the reply in progress, and map actions that already ran stay in the model's context. Each upstream request and map action gets its own deadline, old tool results shrink instead of the history overflowing, and step limits, a missing or rejected key, the OAuth lock and throttling each get their own message. - Server: OpenAI chat is off under GEV_PREFER_CODEX_OAUTH; chat throttles default to the provider's throttle; replies carry API_KEY_MISSING, API_KEY_REJECTED, CODEX_OAUTH_REQUIRED and RATE_LIMITED codes; upstream Retry-After passes through, and a rejected key (Gemini's invalid-key 400 included) cools down for a minute - Pinokio forwards the chat throttle settings - UI: the reply reveal publishes only the message list; the border orbit runs only while busy; layers attach with a button or Enter; the log is aria-busy while a reply types out; auto-scroll respects a reader who scrolled up; Escape closes the attach menu; the chat gear says Settings; a note says chat bills the OpenAI key when voice uses ChatGPT sign-in - Layout does less work while panel height animates; unused blurs removed - Gemini voice start ends chat; the voice preview clears on every new session - Tests for the route gates, client limits, attachments and the fixes
This commit is contained in:
1 parent
11cd0142ac
commit
da8b0dd8cd
49 files changed
+2121
-160
No files matched your search
+11
-9
@@ -61,14 +61,15 @@ CESIUM_ION_TOKEN=
|
||||
# ChatGPT/Codex OAuth session; the browser still receives only a short-lived
|
||||
# Realtime client secret. Do not prefix with VITE_.
|
||||
OPENAI_API_KEY=
|
||||
# Typed chat uses Chat Completions, independently of the voice model. It always
|
||||
# bills OPENAI_API_KEY; GEV_PREFER_CODEX_OAUTH below applies to voice only.
|
||||
# Typed chat uses Chat Completions, independently of the voice model. It can
|
||||
# only bill OPENAI_API_KEY, so GEV_PREFER_CODEX_OAUTH below turns it off.
|
||||
OPENAI_CHAT_MODEL=gpt-4.1-mini
|
||||
# Typed chat requests (/api/openai/chat) per IP per minute, separate from the
|
||||
# voice throttle; 0 disables it. Not a billing cap.
|
||||
# GEV_RATELIMIT_OPENAI_CHAT_PER_MIN=60 # the default
|
||||
# Optional: forbid API-key voice sessions. Select ChatGPT OAuth in Provider
|
||||
# Settings; missing or expired Codex sign-in then fails closed.
|
||||
# Typed chat requests (/api/openai/chat) per IP per minute, counted apart from
|
||||
# voice. Unset, it takes GEV_RATELIMIT_OPENAI_PER_MIN's cap; 0 disables it.
|
||||
# Not a billing cap.
|
||||
# GEV_RATELIMIT_OPENAI_CHAT_PER_MIN=30
|
||||
# Optional: forbid API-key voice sessions and OpenAI typed chat. Select ChatGPT
|
||||
# OAuth in Provider Settings; missing or expired Codex sign-in then fails closed.
|
||||
# GEV_PREFER_CODEX_OAUTH=true
|
||||
OPENAI_REALTIME_MODEL=gpt-realtime-2
|
||||
# Cheaper voice tier, used when the GEV MIC panel's MINI toggle is on.
|
||||
@@ -304,5 +305,6 @@ OVERPASS_UPSTREAMS=
|
||||
|
||||
# Gemini typed chat uses generateContent; voice continues to use Gemini Live.
|
||||
GEMINI_CHAT_MODEL=gemini-3.5-flash-lite
|
||||
# Typed chat requests (/api/gemini/chat) per IP per minute; 0 disables it.
|
||||
# GEV_RATELIMIT_GEMINI_CHAT_PER_MIN=60 # the default
|
||||
# Typed chat requests (/api/gemini/chat) per IP per minute. Unset, it takes
|
||||
# GEV_RATELIMIT_GEMINI_PER_MIN's cap (default 30); 0 disables it.
|
||||
# GEV_RATELIMIT_GEMINI_CHAT_PER_MIN=30
|
||||
Reference in new issue
Block a user