Skip to content

feat: add Prism provider - #6982

Draft
rajitkhanna wants to merge 4 commits into
anomalyco:devfrom
prismhq:rajitkhanna/add-prism-provider
Draft

rajitkhanna wants to merge 4 commits into
anomalyco:devfrom
prismhq:rajitkhanna/add-prism-provider

Conversation

@rajitkhanna

@rajitkhanna rajitkhanna commented Sep 12, 2026

Copy link
Copy Markdown

Summary

  • add Prism as an OpenAI-compatible inference provider
  • document Prism's Chat Completions, Responses, and Anthropic Messages API surfaces
  • add DeepSeek V4.1 Flash and DeepSeek V4 Flash with Prism pricing and reasoning controls
  • inherit V4.1 image capability while keeping V4 text-only
  • add a monochrome Prism provider logo

Sources and verification

Prism intentionally exposes reasoning_effort=none|low|medium|high; none disables reasoning and V4.1 maps Prism medium/high to the underlying high/xhigh tiers. Both submitted model IDs are returned verbatim by the live Models API. DeepSeek V4.1 Flash accepts base64 image inputs through Chat Completions, Responses, and Anthropic Messages; remote image URLs are not supported. DeepSeek V4 Flash remains text-only.

This PR remains draft until the V4.1 image-input API and documentation changes are deployed.

Validation

  • bun validate

@github-actions

Copy link
Copy Markdown
Contributor

Action items

  • [high] [possible mistake] providers/prism/models/prism/deepseek-v4-flash.toml:12 - Check: Relay reasoning_options must match this host’s wire API and the DeepSeek V4 Flash lab/peer baseline, not a generic GPT effort enum. Why: Both Prism models set effort = ["none", "low", "medium", "high"]. First-party DeepSeek Flash uses toggle + ["low", "high", "max"] (and Pro uses high/max); established openai-compat peers (e.g. ofox, tokengo) follow that shape. medium and off-via-none look like an invented L/M/H gateway default unless Prism’s API actually accepts and applies those values. Action: Confirm against Prism docs or a live request. If Prism only maps DeepSeek-style controls, use toggle + ["low", "high", "max"] (or the exact Prism set) with a leading wire-path comment for the toggle. If Prism truly exposes reasoning_effort=none|low|medium|high, cite that host surface in the PR body and keep effort only (no toggle with none).
  • [high] [possible mistake] providers/prism/models/prism/deepseek-v4.1-flash.toml:9 - Check: Same reasoning-options baseline for DeepSeek V4.1 Flash on a multi-model relay. Why: Same none|low|medium|high set as above, while lab/OpenRouter/ofox-style Flash peers use toggle + low|high|max (or host-documented variants). Incorrect options break client reasoning controls for this provider. Action: Align with verified Prism wire behavior or the lab/peer Flash set; document the exact request fields.
  • [medium] [possible mistake] providers/prism/models/prism/deepseek-v4.1-flash.toml:6 - Check: Provider base_model files may override modalities/attachment only when this host truly differs. Why: Lab deepseek/deepseek-v4.1-flash has attachment = true and modalities.input = ["text", "image"], but this file forces attachment = false and text-only input/output. That strips vision for every consumer of Prism’s V4.1 Flash entry. Action: Verify Prism’s catalog/API for this model ID. If vision is supported, drop the redundant overrides and inherit the lab modalities/attachment. If Prism is text-only, keep the overrides and note that host limitation in the leading comment or PR body.
  • [medium] [possible mistake] providers/prism/models/prism/deepseek-v4-flash.toml:1 - Check: Model ID is the path under providers/<provider>/models/ and must match the provider API id. Why: Paths yield ids prism/deepseek-v4-flash and prism/deepseek-v4.1-flash. Most DeepSeek relays use deepseek/… or a bare deepseek-v4-flash id; a prism/ org prefix is unusual unless Prism’s /v1/models list literally returns those strings. Action: Match filenames to Prism’s live model ids (from the cited Models API). Move/rename if the API uses deepseek/… or unprefixed ids.

@rajitkhanna

Copy link
Copy Markdown
Author

Verified the reviewer's four points against Prism's public contracts:

bun validate still passes after the documentation update.

@rajitkhanna
rajitkhanna marked this pull request as draft September 12, 2026 23:00
@github-actions

Copy link
Copy Markdown
Contributor

No actionable findings.

@github-actions github-actions Bot added the reviewer: ready Automated review found no actionable items label Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewer: ready Automated review found no actionable items

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant