feat: add Qwen3 Coder 480B model with 128K context#214
Conversation
- Added to ModelSelector with Pro/Team/Max plan restrictions - Added 'Pro' and 'New' badges to highlight the model - Configured 128K token limit for context window - Updated pricing page to show availability by plan tier
WalkthroughAdds a new model entry "qwen3-coder-480b" to MODEL_CONFIG and updates PRICING_PLANS to reflect its availability across plans. The model is flagged as Pro-only with badges ["Pro", "New"] and tokenLimit 128000; pricing tables mark inclusion for Pro/Max/Team and exclusion for Free/Starter. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches
🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Deploying maple with
|
| Latest commit: |
90911b1
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://d4a2c099.maple-ca8.pages.dev |
| Branch Preview URL: | https://add-qwen3-coder-480b.maple-ca8.pages.dev |
There was a problem hiding this comment.
Greptile Summary
This PR introduces the Qwen3 Coder 480B model to the Maple application, expanding the AI model selection for paid subscribers. The change adds a new large coding-focused model with 480 billion parameters and a 128K token context window, positioning it as a premium offering.
The implementation spans two key areas:
-
Model Configuration (ModelSelector.tsx): The new model is added to the models configuration object with appropriate metadata including display name, badges (
["Pro", "New"]), Pro-tier requirement flag, and 128K token limit. The existing access control logic already handles Pro-tier restrictions correctly, checking for "pro", "max", or "team" plan names. -
Pricing Display (pricingConfig.tsx): The model is systematically added to all pricing tier configurations, with
included: falsefor Free and Starter plans (showing X icons) andincluded: truefor Pro, Max, and Team plans (showing check icons).
This change integrates seamlessly with the existing codebase architecture. The ModelSelector component already has infrastructure for badge display, plan restrictions, and token limits. The pricing configuration follows established patterns for feature differentiation across subscription tiers. The "New" badge will help highlight this addition to users, while the "Pro" badge clearly communicates the access requirement, supporting the product's freemium conversion strategy.
Confidence score: 5/5
- This PR is extremely safe to merge with minimal risk of production issues
- Score reflects simple configuration changes following well-established patterns with no complex logic modifications
- No files require special attention as both changes are straightforward additions to existing data structures
2 files reviewed, no comments
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (3)
frontend/src/config/pricingConfig.tsx (2)
153-158: Pro plan: included with check icon — matches requiresPro gating.This mirrors the ModelSelector’s requiresPro flag and should surface correctly for Pro users.
If you want to emphasize availability changes on the pricing page, consider adding a small “New” badge in the feature text or a tooltip. This is optional and purely UX polish.
274-279: Team plan: included — consistent with tiering.Alignment with Pro/Max confirmed.
This model feature block is repeated across five plans. To reduce future drift, consider extracting a helper to build model-availability features from a single source of truth (e.g., MODEL_CONFIG + a map of plan→availability). This keeps pricingConfig.tsx declarative and harder to misalign.
frontend/src/components/ModelSelector.tsx (1)
66-72: All checks passed—configuration entry is correct.I’ve verified that the new model entry in
frontend/src/components/ModelSelector.tsx:
- Defines the key
"qwen3-coder-480b",- Uses
displayName: "Qwen3 Coder 480B",- Sets
requiresPro: true, and- Applies
tokenLimit: 128000.And in
frontend/src/config/pricingConfig.tsx, this model is excluded (included: false) in the first two plan definitions and included (included: true) in the subsequent Pro-level and above tiers—matching the intended gating.Optional nitpick for clarity: make the vision-support flag explicit (all other non-vision models omit it but default to false). This makes the gating behavior self-documenting:
"qwen3-coder-480b": { displayName: "Qwen3 Coder 480B", badges: ["Pro", "New"], requiresPro: true, + supportsVision: false, tokenLimit: 128000 }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
frontend/src/components/ModelSelector.tsx(1 hunks)frontend/src/config/pricingConfig.tsx(5 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx,js,jsx}: Use 2-space indentation, double quotes, and a 100-character line limit for formatting
Use camelCase for variable and function names
Use try/catch with specific error types for error handling
Files:
frontend/src/components/ModelSelector.tsxfrontend/src/config/pricingConfig.tsx
**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Use strict TypeScript typing and avoid
anywhen possible
Files:
frontend/src/components/ModelSelector.tsxfrontend/src/config/pricingConfig.tsx
🧬 Code graph analysis (1)
frontend/src/config/pricingConfig.tsx (1)
frontend/src/components/icons/X.tsx (1)
X(3-23)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: browseruse-tests
- GitHub Check: build-linux
- GitHub Check: build-macos (universal-apple-darwin)
- GitHub Check: build-ios
🔇 Additional comments (3)
frontend/src/config/pricingConfig.tsx (3)
108-112: Starter plan: correctly excluded.Starter shows the model as unavailable, matching Pro/Team/Max gating. No issues.
209-214: Max plan: included — consistent with tiering.No discrepancies. Icons and copy match existing conventions.
62-67: Consistency Verified for “Qwen3 Coder 480B” Across Pricing and ModelSelector
- pricingConfig.tsx
- Free plan entry (lines 62–67):
text: "Qwen3 Coder 480B",included: false- Pro plan entry (lines 154–156):
text: "Qwen3 Coder 480B",included: true- Business plan entry (lines 210–212):
text: "Qwen3 Coder 480B",included: true- Enterprise plan entry (lines 275–277):
text: "Qwen3 Coder 480B",included: true- ModelSelector.tsx (lines 67–69):
– Key"qwen3-coder-480b"usesdisplayName: "Qwen3 Coder 480B"All instances of the display text and model identifier match, and the free plan correctly excludes Qwen3 Coder 480B while paid tiers include it. No further changes needed.
Summary by CodeRabbit
New Features
Documentation