feat: add DeepSeek Responses provider - #102
Merged
ZhengdaWang (zhengdawang443) merged 3 commits intoSep 16, 2026
Merged
Conversation
ZhengdaWang (zhengdawang443)
requested review from
mijun (houlianpi) and
tongyu70020
as code owners
September 15, 2026 12:27
Resolve DeepSeek and Kimi provider conflicts while preserving both provider contracts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
Add DeepSeek as a first-class model provider using the official Responses API.
Add CLI and Control Plane configuration, model discovery, persistence, readiness, and connection testing.
Reuse the existing OpenAI-compatible Responses backend without introducing another agent loop.
Store credentials in
~/.fsq/auth/deepseek.jsonwith atomic provider replacement.Model Discovery
Preserve the canonical
deepseek-flashalias.Accept versioned Flash models from 4.1 onward.
Accept versioned Pro models from 4.0 onward.
Apply no upper version bound.
Exclude specialized or suffixed variants without using a fixed model allowlist.
Runtime Behavior
Use the fixed
[https://api.deepseek.com/](https://api.deepseek.com/%60) endpoint.Revalidate exact model membership before saving.
Do not probe image capabilities or require image support.
Do not retry image failures, substitute models, or fall back to another provider.
Keep tool continuation bounded by the existing agent turn limit.
UI
Add a dedicated DeepSeek Settings form.
Keep discovery, save, cancellation, and recovery state isolated from other providers.
Add DeepSeek to Home summaries and connection result dialogs.
Preserve existing keyboard, focus, responsive, and secret-handling behavior.
Verification
pytest -q: 3025 passed, 1 skippedruff check .: passednpm test: 286 passednpm run typecheck: passednpm run build: passeduv build: wheel and source distribution passedBrowser checks passed at 1440×900, 1024×768, and 390×844
Full SPEC implementation audit and repair-only verification audit passed
Notes
A live DeepSeek credential smoke test was intentionally not run. No dependencies were added or changed.