Aller au contenu
Quickstart — guide développeur

Du premier accès au déploiement.

OpenAI, Mistral, Gemini ou Claude — vous apportez votre propre clé dès la phase d'essai. Zéro règle éthique à coder, zéro orientation crise à maintenir.

Décideur ou CTO ? Garanties → · Tarifs → · Référence →

Ce que vous n'aurez pas besoin de faire

  • Choisir votre LLM — vous apportez votre propre clé (OpenAI, Mistral, Gemini ou Claude). BYOK obligatoire dès l'essai.
  • Écrire des règles éthiques ou des prompts de sécurité
  • Implémenter la détection de crise ou l'orientation crise (3114)
  • Coder la persistance mémoire utilisateur
  • Construire le pipeline éthique — il est inclus dans chaque appel

Les étapes

Obtenez votre accès constructeur

Sandbox : créez votre app dans le portail développeur. Obtenez votre clé sk_test_ immédiatement — sans carte bancaire, plafonnée à 1 000 MAU. Pipeline complet actif, 8 prohibitions live. Vous recevez : ELYSEA_API_KEY, ELYSEA_API_SECRET, ELYSEA_APP_ID, ELYSEA_BASE_URL et la documentation d'onboarding.

Production (sk_live_) : revue individuelle de votre cas d'usage. Durée : 24–72h. C'est ce qui garantit l'intégrité de l'écosystème.

Portail développeur →

Installation

JavaScript / TypeScript — Node.js 18+ ou navigateur.

bash
npm install @elysea/core
# Clé sk_test_ requise — portail développeur

Configuration

Trois paramètres. La région EU est obligatoire — infrastructure EU des données.

typescript
import { createElyseaClient } from '@elysea/core';

const elysea = createElyseaClient({
  baseUrl:     process.env.ELYSEA_BASE_URL!,
  auth: {
    apiKey:    process.env.ELYSEA_API_KEY!,
    apiSecret: process.env.ELYSEA_API_SECRET!,
  },
  appId:       process.env.ELYSEA_APP_ID!,
  countryCode: 'FR',
  region:      'EU',
});

Résoudre l'identité utilisateur

ELYSÉA résout un coreUserIdanonymisé depuis votre JWT. Vous ne transmettez pas d'email ni de données personnelles.

typescript
// Depuis votre middleware auth
const { coreUserId } = await elysea.identity.resolve({
  userJwt: req.headers.authorization,
});
// coreUserId → identifiant interne anonymisé ELYSÉA
// Jamais l'email ni les données réelles de l'utilisateur

Premier appel pipeline cognitif

Le pipeline complet — interprétation du signal, vérification canon, génération, post-traitement éthique. Pas de modèle à sélectionner.

typescript
const result = await elysea.pipeline.run({
  userInput:           userMessage,
  coreUserId,
  conversationHistory: previousMessages,  // optionnel
});

// result.response         → réponse canon-conforme
// result.posture          → posture appliquée (ex: 'present_neutral')
// result.guardianAction   → 'pass'|'warn'|'block' (si block : errorCode + errorMessage)
// result.canonConformance → true si conforme aux canons ELYSÉA

Écriture mémoire — optionnel

Si votre app enrichit le contexte de l'utilisateur, vous pouvez écrire dans la mémoire ELYSÉA — avec consentement explicite et TTL obligatoire. La lecture directe de la mémoire est impossible (P2).

typescript
await elysea.memory.write({
  coreUserId,
  appId: process.env.ELYSEA_APP_ID,
  item: {
    type:       'contexte_utile',           // parmi les 5 types autorisés
    content:    'Préfère les réponses courtes.',
    expires_at: '2027-01-01T00:00:00Z',    // TTL obligatoire
  },
  consentToken: req.body.consentToken,      // consentement utilisateur
});

Exemple complet — intégration en 30 lignes

Copiez ce fichier dans votre projet — c'est une intégration fonctionnelle complète.

typescript
// elysea.ts — intégration complète ELYSEA CERVEAU
import { createElyseaClient, type PipelineResult } from '@elysea/core';

const elysea = createElyseaClient({
  baseUrl:     process.env.ELYSEA_BASE_URL!,
  auth: {
    apiKey:    process.env.ELYSEA_API_KEY!,
    apiSecret: process.env.ELYSEA_API_SECRET!,
  },
  appId:       process.env.ELYSEA_APP_ID!,
  countryCode: 'FR',
  region:      'EU',
});

type Message = { role: 'user' | 'assistant'; content: string };

export async function chat(
  userJwt:  string,
  message:  string,
  history:  Message[] = [],
): Promise<PipelineResult> {
  // 1. Résoudre l'identité — jamais l'email, jamais les données réelles
  const { coreUserId } = await elysea.identity.resolve({ userJwt });

  // 2. Appel pipeline cognitif — éthique gravée, pas configurée
  const result = await elysea.pipeline.run({
    userInput:           message,
    coreUserId,
    conversationHistory: history,
  });

  // result.response         → réponse canon-conforme, prête à afficher
  // result.posture          → posture runtime (present_neutral, firm_safety…)
  // result.guardianAction   → 'pass'|'warn'|'block' (si block : errorCode + errorMessage)
  // result.canonConformance → true si conforme aux canons ELYSÉA
  return result;
}

// Utilisation dans votre handler API :
// const result = await chat(req.headers.authorization, req.body.message, history);
// res.json({ reply: result.response });

Ce que vous recevez dans le résultat

result.response

La réponse

Réponse générée par le pipeline cognitif ELYSÉA — canon-conforme, post-traitée, validée par le Guardian SDK.

result.posture

La posture

Posture runtime appliquée (ex : present_neutral, firm_safety, containment_soft). Lecture seule — le constructeur ne peut pas la forcer.

result.guardianAction

L'action Guardian

'pass', 'warn' ou 'block'. Si 'block' : errorCode + errorMessage disponibles. Décision finale du pipeline éthique.

result.canonConformance

La conformité canon

true si la réponse est conforme aux canons ELYSÉA. Utile pour votre audit interne.


Les 7 postures runtime

Le pipeline sélectionne la posture automatiquement selon le signal interprété. Le constructeur peut suggérer une posture initiale — ELYSÉA garde la décision finale.

present_neutralPrésence sobre, ancrage
clarifierUne question brute unique
direct_no_bsDirect, ferme, sans morale
silent_holdMicro-sorties / silence
firm_safetyOrientation urgences (3114) — non désactivable
containment_softDésescalade douce
meta_repairRecadrage relationnel direct

Source : ELYSEA.SDK.ELYSEAID.v1 §2 (Composant 3 — Postures canon)

sk_test_ immédiate via le portail — sans carte bancaire. Production sur revue individuelle (24-72h).

sk_test_ obtenue via le portail développeur — immédiatement, sans carte bancaire, plafonnée à 1 000 MAU. sk_live_ : revue individuelle de votre cas d'usage, 24-72h.

Portail développeur →Docs SDK →Documentation PDF →