Documentação SyraOS
Guia completo para integrar o SyraOS em sua aplicação. APIs robustas, SDKs simples, documentação clara.
Sumário
- Começando
- SyraOS SDK
- Criar e Usar Minds
- Testing com Mock Mode
- Tratamento de Erros
- Rate Limiting & Quotas
- Observabilidade & Logging
- Autenticação
- Configuração completa
- Exemplo completo
- Compatibilidade
- Outras linguagens
- Segurança do Token
- Variáveis de ambiente
- Como usar os SDKs
- SyraOS por nível
- Diferenciais principais
- Roadmap
- Exemplos práticos
- Recursos premium (Scale)
- Kit de boas-vindas
- Próximas etapas
- Suporte e recursos
Começando
1. Criar conta
Acesse syraos.com e clique em "Começar agora". Escolha seu plano (Starter ou Pro) e complete o cadastro.
2. Gerar API Key
No dashboard, vá em Settings API Keys. Clique em "Nova chave", copie e guarde em segurança (não compartilhe com ninguém).
3. Escolher SDK
Recomendamos SyraOS — uma forma simples e dinâmica de consumir qualquer rota da API. Disponível em TypeScript, JavaScript e Python.
4. Seu primeiro request
Execute um teste com sua chave. Todos os exemplos abaixo estão prontos para copiar, colar e rodar.
SyraOS SDK
Uma forma simples, dinâmica e poderosa de consumir a API do SyraOS. Sem boilerplate, sem complicação.
Como funciona: Tudo depois de syra. vira automaticamente uma rota da API.
syra.usuario({ id: 1 })
GET /usuario?id=1
Instalação
npm install syraos
Uso básico
import { syra } from "syraos";
// Chamada automática GET /teste?valor=5
const res = await syra.teste({ valor: 5 });
console.log(res);
Suporte a parâmetros
✅ Valores simples
syra.teste({ valor: 5 })
✅ Arrays
syra.teste({ ids: [1, 2, 3] })
// ?ids[]=1&ids[]=2&ids[]=3
✅ Objetos (nested)
syra.teste({
filtro: { nome: "syra" }
})
// ?filtro[nome]=syra
✅ Métodos HTTP
syra.teste(
{ valor: 5 },
{ method: "POST" }
)
Criar e Usar Minds
Minds são agentes inteligentes que você configura uma vez e reutiliza infinitas vezes. Cada Mind é salvo no sistema com configurações de interpretação, regras e estilo de resposta.
Estrutura do Mind (JSON)
{
"access_level": 0,
"active": true,
"authors": ["Syra", "Quim"],
"code": "0001",
"created_at": "2026-03-26",
"name": "SyraAI",
"version": "1.0",
"system": {
"context": "Usuário busca expressão emocional",
"interpretation": "Interprete como um desabafo pessoal",
"response_style": "Tom acolhedor, humano e íntimo",
"restrictions": "Não julgar, não ser frio, não dar respostas genéricas",
"thinking": "Reflita antes de responder",
"rules": "Sempre valide entrada antes de processar"
}
}
1. Criar uma Mind
const api = createSyra({ token: "sk_live_..." });
// Criar nova Mind
const mind = await api.minds.create({
name: "SyraAI",
code: "0001",
authors: ["Syra", "Quim"],
system: {
context: "Usuário busca expressão emocional",
interpretation: "Interprete como um desabafo pessoal",
response_style: "Tom acolhedor, humano e íntimo",
restrictions: "Não julgar, não ser frio",
thinking: "Reflita antes de responder",
rules: "Sempre valide entrada"
},
version: "1.0",
active: true
}, { method: "POST" });
console.log(mind.id); // "mind_syraai_0001"
2. Consultar Mind por ID
// Buscar Mind existente
const mind = await api.minds.get({ id: "mind_syraai_0001" });
console.log(mind.name); // "SyraAI"
console.log(mind.system.context); // "Usuário busca expressão emocional"
3. Usar Mind em um Chat
// Enviar mensagem para a Mind
const response = await api.chat({
message: "Estou me sentindo desanimado com tudo",
mind_id: "mind_syraai_0001", // Usar Mind existente
context: { user_id: "user_123" }
});
console.log(response.content);
// "Entendo perfeitamente como você se sente. É importante reconhecer esses sentimentos..."
4. Listar todas as Minds
// Buscar todas as Minds do usuário
const minds = await api.minds.list({ limit: 10, offset: 0 });
minds.forEach(m => {
console.log(`${m.name} (v${m.version})`);
});
5. Atualizar Mind
// Atualizar configuração da Mind
const updated = await api.minds.update(
{ id: "mind_syraai_0001" },
{
system: {
response_style: "Tom mais professoral",
// ... outras configurações
},
version: "1.1"
},
{ method: "PUT" }
);
console.log(updated.version); // "1.1"
6. Exportar e Compartilhar Mind
// Exportar Mind para compartilhamento
const exported = await api.minds.export({ id: "mind_syraai_0001" });
console.log(exported.qr_code); // URL do QR Code
console.log(exported.share_url); // Link para importar
Testing com Mock Mode
Teste suas integrações sem gastar tokens reais. Use chaves de teste (sk_test_...) para desenvolver com segurança.
import { createSyra } from "syraos";
// ✅ Modo teste (sem gastar tokens reais)
const api = createSyra({
token: "sk_test_xxxxx", // Token começa com sk_test_
mock: true // Ativa modo sandbox
});
const res = await api.chat({ message: "Olá" });
// Retorna resposta simulada com estrutura real
// { id: "msg_fake_123", content: "[Simulado]...", tokens_used: 10 }
Tratamento de Erros Padrão
Todos os erros seguem um padrão JSON consistente, permitindo que sua aplicação tome decisões automáticas.
import { SyraAuthError, SyraRateLimitError, SyraAPIError } from "syraos/errors";
try {
const res = await api.chat({ message: "Olá" });
} catch (error) {
if (error instanceof SyraAuthError) {
console.log("❌ Token inválido. Regenere.");
} else if (error instanceof SyraRateLimitError) {
console.log(`⏱️ Aguarde ${error.retryAfter}s`);
} else if (error instanceof SyraAPIError) {
console.log(`${error.status} - ${error.message}`);
}
}
Rate Limiting & Quotas
SDK gerencia automaticamente limite de requisições e tokens. Cada plano tem seu rate limit.
// Verificar limites restantes
const limits = api.getLimits();
console.log(`Tokens: ${limits.tokensRemaining} / ${limits.tokensLimit}`);
console.log(`Req/min: ${limits.requestsRemaining} / ${limits.requestsLimit}`);
Observabilidade & Logging
Rastreamento completo com Request-ID único. Cada requisição é identificada para debugging.
// Debug em 3 níveis: "off", "minimal", "full"
const api = createSyra({
token: "sk_live_...",
debug: "full" // Loga Request-ID, latência, status
});
// Metadados em cada resposta
const res = await api.chat({ message: "Teste" });
console.log(res.$meta.requestId); // "req_8f7b2c1a3d..."
console.log(res.$meta.latencyMs); // 234
console.log(res.$meta.tokensUsed); // 45
Autenticação
⚠️ OBRIGATÓRIO : Token em TODAS as funções
Para garantir nossos níveis de acesso e segurança, é necessário passar sua API Key em todas as chamadas à API. Sem o token, a requisição será rejeitada.
O token é enviado automaticamente no header Authorization: Bearer após a inicialização.
import { createSyra } from "syraos";
// Sua chave (exemplo)
const token = "sk_live_gvegb1856fvev4eve5v4";
const syra = createSyra({
token: token // Token é OBRIGATÓRIO
});
// Pronto! Token já é enviado em TODA requisição
const res = await syra.models();
Configuração completa
Todo o processo de requisição inclui automaticamente o seu token. Você não precisa adicionar header manualmente — o SDK faz isso para você.
const syra = createSyra({
baseURL: "https://api.syracloud.com",
token: "sk_live_YOUR_TOKEN", // Token é enviado automaticamente
debug: true // Loga requisições no console
});
Exemplo completo
Veja como usar a API com o token configurado — ele vai em todas as requisições automaticamente:
import { createSyra } from "syraos";
const api = createSyra({
token: "sk_live_gvegb1856fvev4eve5v4", // Sua chave
debug: true
});
// Primeira função - token é enviado automaticamente
const res1 = await api.chat({
message: "Olá IA!",
context: {
user: "João",
session: "12345"
},
tags: ["ai", "chat"]
});
// Qualquer outra função - token também é enviado
const res2 = await api.models();
const res3 = await api.completions({ ... });
console.log(res1);
Compatibilidade
✔ React | ✔ Next.js | ✔ Expo / React Native
✔ Node.js | ✔ HTML (via script) | ✔ Browsers
Outras linguagens
Python
from syraos import Syra
api = Syra(token="sk_live_xyz")
res = await api.chat({
message: "Olá!"
})
JavaScript
import { syra } from "syraos";
const res = await syra.chat({
message: "Olá!"
})
Segurança do Token
🔐 Como manter seu token seguro:
- Nunca compartilhe seu token com ninguém
- Não exponha o token em código público (GitHub, etc)
- Use variáveis de ambiente (ex:
process.env.SYRA_TOKEN) - Regenere a chave se suspeitar que foi comprometida
- Nunca forneça seu token por email ou chat
Usando com variáveis de ambiente
Usando com variáveis de ambiente
// .env
SYRA_TOKEN=sk_live_gvegb1856fvev4eve5v4
// app.js
const syra = createSyra({
token: process.env.SYRA_TOKEN // Nunca exponha diretamente
});
Filosofia SyraOS: Rápida, Inteligente, Simples e Extensível
Sem boilerplate. Sem configuração complexa. Apenas: syra.qualquerCoisa({ dados }) com seu token configurado uma única vez.
Como usar os SDKs (v2.2.0)
Escolha a linguagem que você usa e siga o guia. Em todas elas, o token é obrigatório e incluído automaticamente em TODAS as requisições.
TypeScript (Totalmente tipado)
Melhor para: Projetos grandes com type-safety, IDE autocomplete, e melhor experiência de desenvolvimento.
import { createSyra } from "./syraos.ts";
// 1. Inicializar com token
const api = createSyra({
baseURL: "https://api.syradevops.com",
token: "sk_live_xxxxx", // Obrigatório
debug: true
});
// 2. Usar qualquer rota (token incluído automaticamente)
const models = await api.v1.models();
const chat = await api.chat({ message: "Olá!" });
const embedding = await api.embeddings({ input: "texto" });
JavaScript (ES6 moderno)
Melhor para: React, Next.js, Node.js, qualquer ambiente JavaScript moderno.
import { createSyra } from "./syraos.js";
// 1. Inicializar com token
const api = createSyra({
token: process.env.SYRA_TOKEN, // Obrigatório (recomendado: variável de ambiente)
debug: true
});
// 2. Usar qualquer rota (token incluído automaticamente)
await api.models();
await api.chat({ message: "Olá!" });
await api.minds.create({ name: "meu-agente" });
Python (Pythônico)
Melhor para: Scripts, automação, data science, backends Python.
from syraos import Syra
import os
# 1. Inicializar com token
api = Syra(
base_url="https://api.syradevops.com",
token=os.getenv("SYRA_TOKEN") # Obrigatório (recomendado: variável de ambiente)
)
# 2. Usar qualquer rota (token incluído automaticamente)
models = api.models()
chat = api.chat({"message": "Olá!"})
embedding = api.embeddings({"input": "texto"})
Exemplos práticos
Listar modelos
const models = await api.v1.models();
// Token enviado automaticamente
console.log(models);
Fazer uma requisição
const res = await api.chat({
message: "Como você está?",
context: { user_id: "123" }
});
// Token enviado automaticamente
Embeddings
const embedding = await api.embeddings({
input: "Vetorize este texto",
model: "syra-embed"
});
// Token enviado automaticamente
Executar Mind (Agente)
const result = await api.v1.agents.run({
mind_id: "meu-bot",
input: { msg: "Olá" }
});
// Token enviado automaticamente
📥 Baixe os SDKs: Todos estão disponíveis em Downloads (v2.2.0)
Incluso: TypeScript, JavaScript, Python, README e exemplos prontos para usar.
SyraOS por nível
Escolha o plano que melhor se encaixa no seu projeto.
Starter
Agora disponível
Ideal para:
- ✔ Protótipos
- ✔ MVPs
- ✔ Desenvolvimento
- ✔ Testes
const api = createSyra({
token: "sk_live_..."
});
await api.chat({ message: "Olá" })
Incluso: Core funcional, 3 linguagens, debug básico
Pro (v3.0)
Próximo trimestre
Ideal para:
- ✔ Produção
- ✔ Apps críticas
- ✔ Equipes grandes
- ✔ Performance
const api = createSyra({
token: "sk_live_...",
debug: "full",
retries: 3,
timeout: 5000
});
Novo: Tipagem automática, Interceptors, Retry, Cache
Enterprise (v4.0)
Fim do ano
Ideal para:
- ✔ Startups de IA
- ✔ Plataformas complexas
- ✔ Observabilidade crítica
- ✔ Teams distribuídas
const api = createSyra({
plugins: [cache(), metrics()],
observability: { APM: true }
});
await api.ai.smart("top clientes")
Superpoderes: IA auto-queries, Plugins, Observability 360°
Diferenciais principais
Zero boilerplate
Sem classes, sem factory patterns, sem imports complexos. Apenas: syra.qualquerCoisa({ dados })
Proxy dinâmico
Novas rotas na API? Seu código continua funcionando automaticamente. Zero mudanças no SDK.
Query complexa
Arrays, objetos nested, valores complexos. Tudo convertido automaticamente pra query string correta.
Multiplataforma
TypeScript, JavaScript, Python. Com exemplos reais pra cada um. Não é só "suportamos" — mostramos como.
Roadmap
v2.0 ( Starter)
✔ Agora
• Core Proxy funcional
• 3 linguagens
• Debug básico
• Production-ready
v3.0 ( Pro)
⏳ Próximo trimestre
• Tipagem automática
• Interceptors/Middlewares
• Retry + Timeout
• Debug avançado
v4.0 ( Enterprise)
⏳ Fim do ano
• IA gerando queries
• Plugin system
• Observabilidade 360°
• CLI pra gerar tipos
Beyond ( Future)
⏳ Ideias avançadas
• Cache distribuído
• GraphQL support
• Webhooks automáticos
• Analytics integradas
Exemplos práticos por caso de uso
React com hooks
import { useSyraChat } from "@/hooks/useSyraChat";
export default function Chat() {
const { chat, loading } = useSyraChat();
const handleSend = async (msg) => {
const res = await chat(msg);
console.log(res.content);
};
return (
<button onClick={() => handleSend("Olá!")} disabled={loading}>
{loading ? "..." : "Chat"}
</button>
);
}
Node.js com TypeScript
import { createSyra } from "syraos";
const api = createSyra({
token: process.env.SYRA_API_KEY,
debug: true
});
async function processOrders() {
const orders = await api.orders.list({ status: "pending" });
for (const order of orders) {
const analysis = await api.analyze({ data: order });
console.log(`Order ${order.id}: ${analysis.summary}`);
}
}
processOrders();
Python para scripts
from syraos import Syra
api = Syra(token="sk_live_...", debug=True)
# Batch processing
users = api.users.list({"status": "active"})
for user in users['data']:
result = api.analyze({"input": user['data']})
print(f"User {user['id']}: {result['score']}")
Após assinar: Seu kit de boas-vindas
Email de confirmação por syradevops@gmail.com
Assim que você confirmar a compra, nossa equipe enviará um email automático de syradevops@gmail.com contendo:
Seu API Token
Chave única formato sk_live_xxxxx para autenticar via SyraOS SDK
Painel personalizado
Link direto para seu dashboard com configurações, uso em tempo real e histórico
📚 Docs personalizadas
Exemplos de código já com seu token pré-preenchido (JS, Python, TypeScript)
Guia de início rápido
4 passos para fazer seu primeiro request em minutos
⚠️ Segurança: Sempre verifique que o email vem de syradevops@gmail.com. Nunca compartilhe seu token com terceiros.
Próximas etapas
Quer começar agora?
1. Crie sua conta (Starter ou Pro)
2. Gere sua API Key no dashboard
3. Instale: npm install syraos
4. Use: const api = createSyra({ token: "..." })
Suporte e recursos
Precisa de ajuda?
Entre em contato com nosso time de suporte prioritário (plano Pro).
Falar com suporteDownloads dos SDKs
Acesse a página de downloads para obter SyraOS e outras ferramentas.
Ver downloads