feat: add Avian as AI provider#11447
Conversation
|
I have read the CLA Document and I hereby sign the CLA |
|
recheck |
|
I have read the CLA Document and I hereby sign the CLA |
|
recheck |
1 similar comment
|
recheck |
|
Hey @abuaboud, would love your review on this when you get a chance. Happy to address any feedback! |
|
Friendly follow-up — this PR is still active and ready for review. Would appreciate a look when you get a chance! cc @abuaboud |
|
Friendly follow-up — this PR is still active and ready for review. All feedback has been addressed. Would appreciate a look when you get a chance! cc @abuaboud |
|
Hey @AbdulTheActivePiecer @abuaboud — friendly follow-up on this PR. Avian is an OpenAI-compatible inference provider that's already live and powering apps like ISEKAI ZERO. This is a lightweight integration (standard OpenAI-compatible endpoint) and we're happy to address any feedback or make adjustments. Would love to get this merged if you have a moment to review. Thanks! |
Add Avian (https://avian.io) as a first-class AI provider. Avian offers an OpenAI-compatible API with models including DeepSeek-V3.2, Kimi-K2.5, GLM-5, and MiniMax-M2.5. Changes: - Add AVIAN to AIProviderName enum and shared type definitions - Create avian-provider.ts server strategy (validates via /v1/models) - Register provider in server providers index - Add AI SDK integration using @ai-sdk/openai-compatible - Add provider entry in web UI with setup instructions
6006bce to
b9e36d4
Compare
|
Thanks for the contribution! A piece would be the best fit for Avian here. Could you convert this to a piece? We'd love to review it! |
|
Thanks for the feedback! Happy to convert this to a piece. To make sure I get the implementation right — should the Avian piece live alongside the existing AI providers (keeping the current changes), or should I remove the AI provider approach entirely and replace it with a standalone piece under I'm looking at existing pieces like OpenAI and Azure OpenAI as references. Would a simple piece with a |
|
Addressed feedback: switched to createOpenAI from @ai-sdk/openai |
Confidence Score: 5/5Safe to merge; all findings are P2 quality/style suggestions with no blocking defects No P0 or P1 issues found. The auth endpoint mismatch and count-based history pruning are worth addressing but neither causes immediate breakage under normal usage patterns. packages/pieces/community/avian/src/lib/auth.ts — verify Important Files Changed
Reviews (8): Last reviewed commit: "fix: piece version" | Re-trigger Greptile |
|
Addressed feedback: removed unreachable isImage branch from AVIAN case since all Avian models are text-only. |
|
@avianion You can create a standalone piece for Avian in the |
|
@kishanprmr Addressed feedback: created a standalone Avian piece at |
|
@avianion Thanks ! please remove Avian as AI provider integration. |
|
Addressed feedback: removed Avian as AI provider integration, keeping only the standalone piece. |
|
Addressed feedback: added memory history cap (50 messages) to prevent unbounded growth that could exceed context window limits. Oldest messages are dropped when the cap is reached. |
Co-authored-by: Copilot <copilot@github.com>
Summary
https://api.avian.io/v1Authorization: Bearer <AVIAN_API_KEY>)Changes
packages/shared/.../ai-providers/index.tsAVIANtoAIProviderNameenum, auth config, provider config, and discriminated union typespackages/server/.../providers/avian-provider.tsGET /v1/models, lists available models dynamicallypackages/server/.../providers/index.tsavianProviderin the providers recordpackages/pieces/.../ai-sdk.tsAIProviderName.AVIANcase using@ai-sdk/openai-compatiblefor chat completionspackages/web/.../ai-providers.tspackages/web/.../ai-model/hooks.ts'avian'to theProvidertype unionNotes
https://cdn.activepieces.com/pieces/avian.png) will need the Avian logo uploaded to the CDN by maintainers. Happy to provide the logo file.@ai-sdk/openai-compatiblefor the AI SDK integration.Test plan
GET /v1/models)cc @abuaboud @AbdulTheActivePiecer