UNPKG

@daydreamsai/ai-sdk-provider

Version:

Dreams Router AI SDK provider (forked from OpenRouter)

139 lines (97 loc) 4.19 kB
# Dreams Router Provider for Vercel AI SDK Dreams Router is an AI language model router that enables payment-integrated access to large language models through the [Vercel AI SDK](https://sdk.vercel.ai/docs). Built with x402 payment protocol support, it allows seamless micropayments within API requests, creating a foundation for intelligent microservices. ## 🌟 Key Features - **Payment-Integrated AI**: Send USDC payments directly within API requests using the x402 protocol - **Multiple Authentication Methods**: Use JWT, API Key, or inline payments - **LLM Router**: Access various AI models through a unified interface - **Account Management**: Create and manage your account at [router.daydreams.systems](https://router.daydreams.systems) ## 📋 Prerequisites Before using Dreams Router, you need: - An account at [router.daydreams.systems](https://router.daydreams.systems) - Either: - USDC for payment-based requests - Account credit - An API key for traditional authentication ## 📦 Installation ```bash npm install @daydreamsai/ai-sdk-provider viem x402 ``` ## 🚀 Quick Start ### Payment-Based Authentication (x402) Use x402 payments to access AI models without traditional API keys: ```typescript import { createDreamsRouterAuth, generateX402Payment, } from '@daydreamsai/ai-sdk-provider'; import { generateText } from 'ai'; import { privateKeyToAccount } from 'viem/accounts'; // Create a wallet account const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`); // Generate payment (minimum amount varies by model complexity) const payment = await generateX402Payment(account, { amount: '100000', // $0.10 USDC - adjust based on model requirements network: 'base-sepolia', }); // Create authenticated router instance const { dreamsRouter, user } = await createDreamsRouterAuth(account, { payment, }); // Make AI requests const { text } = await generateText({ model: dreamsRouter('openai/gpt-4o'), prompt: 'Hello, Dreams Router!', }); ``` ### API Key Authentication For traditional authentication using API keys: ```typescript import { createDreamsRouter } from '@daydreamsai/ai-sdk-provider'; import { generateText } from 'ai'; // Create router with API key const dreamsRouter = createDreamsRouter({ apiKey: process.env.DREAMSROUTER_API_KEY }); // Make AI requests const { text } = await generateText({ model: dreamsRouter('openai/gpt-4o'), prompt: 'Hello, Dreams Router!', }); ``` ## 🔐 Authentication Methods Dreams Router supports three authentication methods: 1. **x402 Payment**: Send USDC payments directly in requests 2. **API Key**: Traditional API key authentication 3. **JWT**: JSON Web Token authentication ## 💡 When to Use Dreams Router Dreams Router is ideal for: - **Microservice Architecture**: Build intelligent microservices that handle their own payments - **Pay-per-Use AI**: Create applications where users pay directly for AI usage - **Decentralized Applications**: Integrate AI capabilities without centralized billing - **x402 Protocol Applications**: Leverage the [x402 protocol](https://github.com/x402) for payment-integrated services ## 🔧 Configuration ### Environment Variables ```bash # For API key authentication DREAMSROUTER_API_KEY=your-api-key-here # For wallet-based authentication PRIVATE_KEY=0x... # Your wallet private key ``` ## 📚 Advanced Usage ### Custom Payment Configuration ```typescript const payment = await generateX402Payment(account, { amount: '500000', // $0.50 USDC for more complex operations network: 'base-sepolia', }); ``` ### Model Selection Dreams Router supports various AI models. Check the [router.daydreams.systems](https://router.daydreams.systems) dashboard for available models and their pricing. ## 🤝 Contributing Contributions are welcome! Please see our [Contributing Guide](CONTRIBUTING.md) for details. ## 📄 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## 🔗 Links - [Dreams Router Dashboard](https://router.daydreams.systems) - [x402 Protocol](https://github.com/x402) - [Vercel AI SDK Documentation](https://sdk.vercel.ai/docs)