selena-ai-sdk
v1.0.4
Published
SDK JavaScript moderno para Selena AI
Maintainers
Readme
Selena AI SDK
SDK JavaScript moderno e elegante para integração com a Selena AI
✨ Características
- 🎯 Simples e Elegante - API intuitiva e fácil de usar
- ⚡ Zero Dependências - Sem axios, apenas fetch nativo
- 📝 Logging Configurável - Controle total sobre debug logs
- 🖥️ CLI Completa - Chat interativo no terminal
- 🚀 Streaming em Tempo Real - Respostas com efeito de digitação
- 📚 Documentação Linda - Site com VitePress e gradientes
- 🔧 TypeScript Ready - Types via JSDoc
- ⚡ Performance - HTTP client nativo com timeout e retry
🚀 Instalação
# Com npm
npm install selena-ai-sdk
# Com yarn
yarn add selena-ai-sdk
# Global para CLI
npm install -g selena-ai-sdk🔑 Configuração
- Obtenha sua API key em selena-ai.site/dashboard
- Configure a variável de ambiente:
export SELENA_API_KEY=sua_chave_aqui💻 Uso Básico
import { SelenaAI } from 'selena-ai-sdk';
const client = new SelenaAI({
apiKey: process.env.SELENA_API_KEY,
logging: 'debug' // 'none' para desativar logs
});
async function chat() {
const response = await client.chat.completions({
model: 'selena-pro-v1',
message: 'Olá! Me apresente-se.'
});
console.log('Resposta:', response.response);
}
chat().catch(console.error);🚀 Streaming
Responda com streaming em tempo real:
// Streaming simples
await client.chat.completions({
model: 'selena-pro-v1',
message: 'Me explique sobre IA',
stream: true,
onToken: (token) => {
process.stdout.write(token); // Cada token aparece em tempo real
}
});
// Streaming com efeito de digitação (como no CLI)
await client.chat.completions({
model: 'selena-pro-v1',
message: 'Me explique sobre IA',
stream: true,
onToken: (token) => {
for (const char of token) {
process.stdout.write(char);
// Delay aleatório entre 10-50ms para parecer mais natural
const delay = Math.random() * 40 + 10;
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, delay);
}
}
});🖥️ CLI
Chat Interativo
# Iniciar chat interativo
selena chat
# Com streaming (resposta em tempo real)
selena chat --stream
# Com logs detalhados
selena chat --verbose
# Sem logs
selena chat --quietPergunta Única
# Pergunta normal
selena ask "Qual a capital da França?"
# Com streaming (resposta em tempo real)
selena ask "Me conte uma história" --stream📖 Documentação
Visite selena-ai-sdk-docs para documentação completa.
🔧 Opções de Configuração
const client = new SelenaAI({
apiKey: 'sua-chave-aqui',
baseURL: 'https://selena-ai.site', // Custom base URL
logging: 'info' // 'none', 'error', 'info', 'debug'
});📝 Níveis de Log
none- Sem logserror- Apenas errosinfo- Informações básicasdebug- Logs completos de request/response
🤝 Contribuição
Contribuições são bem-vindas! Por favor:
- Fork este repositório
- Crie uma feature branch
- Faça commit das suas mudanças
- Push para o branch
- Abra um Pull Request
📄 Licença
MIT License - veja o arquivo LICENSE para detalhes.
🔗 Links
Feito com ❤️ pela equipe Elaxi
