Skip to content

feat: Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure - #81

Open
Haicaji wants to merge 15 commits into
CyberStrikeus:devfrom
Haicaji:main
Open

feat: Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure#81
Haicaji wants to merge 15 commits into
CyberStrikeus:devfrom
Haicaji:main

Conversation

@Haicaji

@Haicaji Haicaji commented Aug 22, 2026

Copy link
Copy Markdown

What does this PR do?

  1. organize README structure to avoid multiple README files in the project root

  2. Closes [FEATURE]: Add deepseek-v4-flash-vision-exp to DeepSeek provider #80 — Add deepseek-v4-flash-vision-exp to the DeepSeek provider to support multimodal (image) capabilities.

Changes

  1. packages/cyberstrike/src/provider/provider.ts

    • Added isVisionModel() helper that recognizes deepseek-v4-flash-vision-exp.
    • Forced capabilities.input.image = true for this model in both the models.dev database path (fromModelsDevModel) and the config-override path, so image uploads work even if models.dev / a stale local cache hasn't tagged the model with image modality yet.
  2. packages/cyberstrike/src/provider/transform.ts

    • Clarified that the existing deepseek-v4 reasoning-effort branch (returns high/max) also covers the multimodal deepseek-v4-flash-vision-exp. No logic change needed — reasoning variants, thinking mode, and reasoning_content interleaving are inherited from the existing DeepSeek V4 handling.
  3. Tests

    • Added deepseek-v4-flash-vision-exp to the models.dev fixture (test/tool/fixtures/models-api.json) with modalities.input: ["text", "image"].
    • test/provider/provider.test.ts: verifies the model loads from models.dev with image input / reasoning / interleaved reasoning_content capabilities and high/max variants, and that image capability is preserved even when config omits modalities.
    • test/provider/transform.test.ts: verifies variants() returns high/max reasoning_effort for the vision model.

Behavior

  • Selecting deepseek-v4-flash-vision-exp in the DeepSeek provider now allows attaching images.
  • Images are sent via the existing @ai-sdk/openai-compatible path as OpenAI-compatible image_url content blocks, which the DeepSeek API supports (base64 data URL / external URL).
  • Thinking mode and reasoning_effort (high/max) variants work like the rest of the DeepSeek V4 family.

Type of change

  • Bug fix
  • New feature / agent
  • Security tool / MCP server / Bolt plugin
  • Agent skill / knowledge base
  • UI / TUI improvement
  • Documentation
  • Refactor / performance
  • CI / infrastructure

Security impact

  • This PR adds or modifies tool execution (shell, file, network)
  • This PR changes agent permissions or scope
  • This PR modifies authentication / authorization logic
  • This PR has no security impact

How did you verify it works?

To verify manually:

  1. Add a DeepSeek API key (DEEPSEEK_API_KEY).
  2. Select model deepseek-v4-flash-vision-exp from the DeepSeek provider.
  3. Attach an image and confirm it is sent as an image_url content block and the model describes it.

Checklist

  • bun turbo typecheck passes
  • Tested locally with at least one LLM provider (unit tests)
  • PR is focused on a single change
  • No secrets, credentials, or API keys in the diff
  • Breaking changes are documented (if any) — none

@Haicaji
Haicaji requested a review from badchars as a code owner August 22, 2026 07:38
@github-actions

Copy link
Copy Markdown
Contributor

Hey! Your PR title Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, cyberstrike).

See CONTRIBUTING.md for details.

@Haicaji Haicaji changed the title Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure add: Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure Aug 22, 2026
@Haicaji Haicaji changed the title add: Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure feat: Add deepseek-v4-flash-vision-exp to DeepSeek provider and organize README structure Aug 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants