This project is about integrating a new AI provider, Perplexity AI, into the Archestra platform. It involves implementing API key instructions, ensuring streaming and non-streaming responses work, and covering features like tool invocation, token/cost limits, and chat conversation support. The core task is to replicate a proven integration pattern for a bounty.
Someone already won this. Here's what they did — and whether you can win the same.
A starter prompt for Claude Code, what you'll need, and how to reach them.
You are an expert AI engineer and Rust/TypeScript developer. Your task is to implement support for a new AI provider, Perplexity AI, into the `archestra-ai/archestra` open-source platform. The integration must cover both the LLM Proxy and Chat components as described in issue #1854 and following the pattern of the already-closed PR #2467. Your focus is to build a full integration that meets all requirements for a new provider, including streaming support, API key instructions, and feature completeness across LLM Proxy (tool invocation, token/cost limits, model optimization, tool results compression, dual LLM verification, metrics/observability) and Chat (conversations, model listing). Use the existing Archestra codebase as a guide, especially the successful Perplexity AI PR #2467 for implementation patterns. Assume the operator will be using their standard stack for any supporting tools or local development: Next.js 16 App Router, React 19, Tailwind v4, AI SDK v6 with Gemini, Neon Postgres on Vercel, but the core integration will be in the Archestra stack (Rust/TypeScript). Start by creating the necessary API client and wrapper functions for Perplexity AI. Implement both non-streaming and streaming request/response handling. Then, integrate these into the LLM Proxy for advanced features like tool handling and token management. Finally, ensure the Perplexity models are usable within the Chat component for conversation and listing. Your first deliverable is a functional proof-of-concept that can successfully make a basic non-streaming chat completion call to Perplexity AI via the Archestra framework, and display its response in the Chat UI. Provide clear steps for local setup and verification. Prioritize robustness and adherence to Archestra's existing code style and architecture. The build/verify gate is a successful test run showing basic Perplexity chat completion working through the Archestra platform.
Reach developers and AI engineers contributing to platforms like Archestra by showcasing expertise in AI provider integrations and agent capabilities, aligning with MCP-Kit and Agent Eval Lab.
WON bounty — solved by @junaiddshaukat in https://github.com/archestra-ai/archestra/pull/2467. Study the PR, then find the same pattern as an OPEN bounty. **Provider Name:** Perplexity AI **Provider Website:** https://www.perplexity.ai/ **API Documentation:** https://docs.perplexity.ai/api-reference/chat-completions-post ## Implementation Checklist Adding a new provider involves integrating it into both **LLM Proxy** and **Chat**. For detailed guidance, see our [Adding LLM Providers documentation](https://archestra.ai/docs/platform-adding-llm-providers). ## Requirements When submitting a PR to add this provider, please ensure: ### 1. API Key Instructions Include clear instructions on how to obtain an API key for testing. This helps reviewers verify the integration works correctly. ### 2. Streaming Support - [ ] Non-streaming responses work correctly - [ ] Streaming responses work correctly (if supported by the provider) If the provider doesn't support streaming, document this limitation. ### 3. Feature Completeness **LLM Proxy:** - Tool invocation and persistence - Token/cost limits - Model optimization - Tool results compression - Dual LLM verification - Metrics and observability
Standard for any open-source contribution.
Requires signing up for Perplexity AI and generating an API key - ~15 minutes.
Learn it: Search getting-started ↗
Get set up: Create the account/instance, generate the API key or credentials, and add them to your project's environment variables.
Archestra's backend appears to use Rust; operator needs to be proficient. ~Several days to brush up if not current.
Learn it: Search getting-started ↗
Standard for frontend development in the operator's stack and likely used in Archestra's frontend/proxy.
Standard setup for web and Rust development.
Comment directly on the GitHub issue #1854, stating intent to work on it, and then open a draft Pull Request (PR) referencing the issue once development begins.
“I've analyzed the Perplexity AI integration bounty (issue #1854) and the pattern from the closed PR #2467. I'm confident I can deliver a complete integration covering all streaming, tool invocation, and proxy requirements. I'm starting work on a draft PR now and will link it soon.”
Open the original ↗