✨ Scoutbot assistant: local Codex provider fallback#196
Merged
Conversation
Abstract the assistant model call behind callAssistantModel with an openai | codex provider, gated by OPENSCOUT_SCOUTBOT_ASSISTANT_PROVIDER (auto). Sessions track responseProvider so OpenAI response-ids and Codex thread-ids are threaded correctly; brief TTS polish stays OpenAI-only.
Wire a default ScoutbotCodexAssistantInvoker that drives the codex app-server (read-only, never-approve) so the assistant answers without an OpenAI key. Overridable via the scoutbotAssistant.invokeCodex option for tests.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a Codex provider to the Scoutbot assistant so it works without an OpenAI key. Split out of the
feat/web-design-systemworking tree.scoutbot-assistant.ts) —callAssistantModelabstracts the model call behind anopenai | codexprovider, selected byOPENSCOUT_SCOUTBOT_ASSISTANT_PROVIDER(defaultauto). Sessions trackresponseProviderso OpenAIpreviousResponseIdand CodexthreadIdare threaded correctly. Brief TTS polish stays OpenAI-only.create-openscout-web-server.ts) — defaultinvokeCodexdrives the codex app-server (read-onlysandbox,neverapproval); overridable via the newscoutbotAssistant.invokeCodexoption.Verification
bun test— assistant fallback tests (4 pass) +scoutbot-assistant.test.ts(3 pass)tsc --noEmit— no errors inscoutbot-assistant.ts/create-openscout-web-server.tsNote: edits
create-openscout-web-server.tsin a region disjoint from #195 (Plans); the two auto-merge.