feat(provider): add Alibaba Coding Plan and regional Qwen endpoints#1748
feat(provider): add Alibaba Coding Plan and regional Qwen endpoints#1748yinwm merged 3 commits intosipeed:mainfrom
Conversation
- Add Alibaba Coding Plan provider with OpenAI-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/v1) - Add Coding Plan Anthropic-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/apps/anthropic) - Add regional Qwen endpoints (qwen-intl, qwen-us) - Add provider aliases: coding-plan, alibaba-coding, qwen-coding - Normalize provider names for coding-plan variants 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Pre-Landing ReviewThanks for adding Alibaba Coding Plan support! I found a few issues that need attention: 🔴 Critical Issues1. Missing protocol aliases in Location: In
However, these aliases are not listed in the Impact: Users using Fix: Add missing aliases to the case statement: case "litellm", "openrouter", ..., "qwen-intl", "qwen-international", "dashscope-intl",
"qwen-us", "dashscope-us", "coding-plan", "alibaba-coding", "qwen-coding":2. Location: The PR description states that Fix: Add a new case branch: case "coding-plan-anthropic", "alibaba-coding-anthropic":
apiBase := cfg.APIBase
if apiBase == "" {
apiBase = getDefaultAPIBase(protocol)
}
if cfg.APIKey == "" {
return nil, "", fmt.Errorf("api_key is required for %q protocol", protocol)
}
return anthropicmessages.NewProviderWithTimeout(
cfg.APIKey,
apiBase,
cfg.RequestTimeout,
), modelID, nil🟡 Informational3. Missing normalization mappings in Location: You added
Recommendation: Add these for consistency, or remove the aliases from SummaryIssues #1 and #2 are blocking — the current code will throw 🤖 Generated with Claude Code |
- Add qwen-international, dashscope-intl, dashscope-us aliases to switch case - Add coding-plan-anthropic case with anthropicmessages.NewProviderWithTimeout - Add alibaba-coding-anthropic -> coding-plan-anthropic normalization - Add qwen-international -> qwen-intl and dashscope-us -> qwen-us normalization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Add tests for qwen-international, dashscope-intl, dashscope-us aliases - Add tests for coding-plan-anthropic and alibaba-coding-anthropic - Add getDefaultAPIBase tests for all new aliases - Add normalization tests for new provider aliases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
✅ Review Feedback AddressedAll issues from the pre-landing review have been fixed: 🔴 Critical Issue #1: Fixed missing protocol aliasesFile: Added missing aliases to the
🔴 Critical Issue #2: Implemented
|
|
Thank you for the thorough review! All three issues have already been addressed in the latest commits: ✅ Issue #1: Missing protocol aliases in CreateProviderFromConfigFixed in commit ✅ Issue #2: coding-plan-anthropic protocol not implementedFixed in commit ✅ Issue #3: Missing normalization mappings in NormalizeProviderFixed in commit
Tests added in commit
All tests pass ✅ |
yinwm
left a comment
There was a problem hiding this comment.
LGTM! Code implementation is clean and consistent with existing patterns. Tests cover all new providers and aliases.
One minor note: Documentation in docs/providers.md (and language variants) doesn't include the new providers yet. Recommend running /document-release post-merge to sync docs.
🚀 Ready to merge!
…ipeed#1748) * feat(provider): add Alibaba Coding Plan and regional Qwen endpoints - Add Alibaba Coding Plan provider with OpenAI-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/v1) - Add Coding Plan Anthropic-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/apps/anthropic) - Add regional Qwen endpoints (qwen-intl, qwen-us) - Add provider aliases: coding-plan, alibaba-coding, qwen-coding - Normalize provider names for coding-plan variants 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(provider): add reviewer-requested fixes for Alibaba Coding Plan - Add qwen-international, dashscope-intl, dashscope-us aliases to switch case - Add coding-plan-anthropic case with anthropicmessages.NewProviderWithTimeout - Add alibaba-coding-anthropic -> coding-plan-anthropic normalization - Add qwen-international -> qwen-intl and dashscope-us -> qwen-us normalization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * test(provider): add tests for Alibaba Coding Plan protocol aliases - Add tests for qwen-international, dashscope-intl, dashscope-us aliases - Add tests for coding-plan-anthropic and alibaba-coding-anthropic - Add getDefaultAPIBase tests for all new aliases - Add normalization tests for new provider aliases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
|
@adisusilayasa Great addition with the Alibaba Coding Plan and regional Qwen endpoints. Covering both OpenAI and Anthropic compatible protocols plus the regional variants gives users solid flexibility. Tests passing clean is a nice bonus. By the way, we have a PicoClaw Dev Group on Discord where contributors chat and collaborate. Want to join? Send an email to |
…ipeed#1748) * feat(provider): add Alibaba Coding Plan and regional Qwen endpoints - Add Alibaba Coding Plan provider with OpenAI-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/v1) - Add Coding Plan Anthropic-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/apps/anthropic) - Add regional Qwen endpoints (qwen-intl, qwen-us) - Add provider aliases: coding-plan, alibaba-coding, qwen-coding - Normalize provider names for coding-plan variants 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(provider): add reviewer-requested fixes for Alibaba Coding Plan - Add qwen-international, dashscope-intl, dashscope-us aliases to switch case - Add coding-plan-anthropic case with anthropicmessages.NewProviderWithTimeout - Add alibaba-coding-anthropic -> coding-plan-anthropic normalization - Add qwen-international -> qwen-intl and dashscope-us -> qwen-us normalization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * test(provider): add tests for Alibaba Coding Plan protocol aliases - Add tests for qwen-international, dashscope-intl, dashscope-us aliases - Add tests for coding-plan-anthropic and alibaba-coding-anthropic - Add getDefaultAPIBase tests for all new aliases - Add normalization tests for new provider aliases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
|
@adisusilayasa latest version contains this pull request ? |
…ipeed#1748) * feat(provider): add Alibaba Coding Plan and regional Qwen endpoints - Add Alibaba Coding Plan provider with OpenAI-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/v1) - Add Coding Plan Anthropic-compatible endpoint (https://coding-intl.dashscope.aliyuncs.com/apps/anthropic) - Add regional Qwen endpoints (qwen-intl, qwen-us) - Add provider aliases: coding-plan, alibaba-coding, qwen-coding - Normalize provider names for coding-plan variants 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(provider): add reviewer-requested fixes for Alibaba Coding Plan - Add qwen-international, dashscope-intl, dashscope-us aliases to switch case - Add coding-plan-anthropic case with anthropicmessages.NewProviderWithTimeout - Add alibaba-coding-anthropic -> coding-plan-anthropic normalization - Add qwen-international -> qwen-intl and dashscope-us -> qwen-us normalization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * test(provider): add tests for Alibaba Coding Plan protocol aliases - Add tests for qwen-international, dashscope-intl, dashscope-us aliases - Add tests for coding-plan-anthropic and alibaba-coding-anthropic - Add getDefaultAPIBase tests for all new aliases - Add normalization tests for new provider aliases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
Summary
https://coding-intl.dashscope.aliyuncs.com/v1)https://coding-intl.dashscope.aliyuncs.com/apps/anthropic)qwen-intl) and US (qwen-us) regionscoding-plan,alibaba-coding,qwen-codingChanges
coding-plan,alibaba-coding,qwen-codinghttps://coding-intl.dashscope.aliyuncs.com/v1coding-plan-anthropic,alibaba-coding-anthropichttps://coding-intl.dashscope.aliyuncs.com/apps/anthropicqwen-intl,dashscope-intlhttps://dashscope-intl.aliyuncs.com/compatible-mode/v1qwen-us,dashscope-ushttps://dashscope-us.aliyuncs.com/compatible-mode/v1Test Plan
go fmt ./...- passedgo vet ./...- passed (unrelated pre-existing warning)go test ./pkg/providers/...- all tests passedAI Disclosure
This PR was created with AI assistance (Claude Code) for code generation. The changes were reviewed and validated by the contributor.
🤖 Generated with Claude Code