feat(vlm): add Codex OAuth-backed VLM setup and docs#1444
Open
ehz0ah wants to merge 3 commits intovolcengine:mainfrom
Open
feat(vlm): add Codex OAuth-backed VLM setup and docs#1444ehz0ah wants to merge 3 commits intovolcengine:mainfrom
ehz0ah wants to merge 3 commits intovolcengine:mainfrom
Conversation
PR Reviewer Guide 🔍(Review updated until commit 7a88033)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨No code suggestions found for the PR. |
…x-vlm # Conflicts: # openviking_cli/setup_wizard.py
|
Persistent review updated to latest commit 7a88033 |
PR Code Suggestions ✨No code suggestions found for the PR. |
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.
Description
Add Codex as an OAuth-backed VLM provider for OpenViking, so users can configure and use Codex vision/text generation through the normal OV setup flow instead of wiring credentials manually.
This change integrates Codex across provider resolution, interactive setup, diagnostics, and CLI auth management. It also keeps Codex auth under an OV-owned store, with bootstrap/import support from existing Codex CLI state when available.
Related Issue
Type of Change
Changes Made
openviking/models/vlm/backends/codex_auth.py: Add Codex OAuth storage, bootstrap/import, status inspection, token refresh, and OV-owned credential persistence.openviking/models/vlm/backends/codex_vlm.py: Add the Codex VLM backend and Responses API adapter for text, vision, tool-call, and streaming-compatible flows.openviking_cli/codex_cli.py: Addov codex login,status, andlogoutcommands for managing OV-side Codex auth.openviking_cli/setup_wizard.py: Add Codex as an interactive VLM choice in cloud setup and support device-login/bootstrap during init.openviking_cli/doctor.pyandopenviking_cli/utils/config/vlm_config.py: Extend provider normalization, readiness checks, and diagnostics so Codex resolves like other supported VLMs.Testing
Checklist
Screenshots (if applicable)
macOS setup flow for Codex OAuth-backed VLM initialization:
Additional Notes
Auth ownership: OpenViking keeps its own Codex auth store at
~/.openviking/codex_auth.json, while still supporting bootstrap/import from existing Codex CLI auth when present.Runtime behavior: Codex provider resolution is shared across setup, doctor, CLI status, and runtime VLM initialization so the same readiness rules apply in all entry points.
Follow-up fixes: Added AGPL headers to the new Codex files, added Windows byte-range locking for the shared auth store, and deferred async credential/client setup into the worker-thread execution path.
Validation: Ran
uv run python -m pytest tests/cli/test_codex_cli.py tests/cli/test_doctor.py tests/cli/test_setup_wizard.py tests/unit/test_codex_vlm.py -qwith 58 passing tests.