Docs

Integrations

Agent Brain lässt sich in jede Sprache und jedes Framework integrieren. Alle Beispiele sind copy-paste-ready.

Python

Mit der requests Library.

agent_brain.pypython
import requests

BASE_URL = "https://api.agentbrain.ch"
API_KEY = "dein_api_key"
WORKSPACE_ID = "deine-workspace-id"

headers = {
    "Content-Type": "application/json",
    "X-API-Key": API_KEY,
}


def store_memory(content: str, source_trust: float = 0.8, agent_id: str = None):
    """Speichert eine Erinnerung im Agent Brain."""
    response = requests.post(
        f"{BASE_URL}/memory/store",
        headers=headers,
        json={
            "workspace_id": WORKSPACE_ID,
            "content": content,
            "source_trust": source_trust,
            "agent_id": agent_id,
            "memory_type": "episodic",
        },
    )
    return response.json()


def recall_memory(query: str, limit: int = 10, agent_id: str = None):
    """Sucht im Gedächtnis nach relevanten Erinnerungen."""
    response = requests.post(
        f"{BASE_URL}/memory/recall",
        headers=headers,
        json={
            "workspace_id": WORKSPACE_ID,
            "query": query,
            "limit": limit,
            "agent_id": agent_id,
        },
    )
    return response.json()


def get_predictions():
    """Holt proaktive Alerts."""
    response = requests.get(
        f"{BASE_URL}/predict/{WORKSPACE_ID}",
        headers=headers,
    )
    return response.json()


# Beispiel
store_memory("Kunde Müller hat wegen der Heizung angerufen.", source_trust=0.8)
results = recall_memory("Was wissen wir über Müller?")
print(results["memories"])

TypeScript / Node.js

Mit nativem fetch.

agent-brain.tstypescript
const BASE_URL = "https://api.agentbrain.ch";
const API_KEY = "dein_api_key";
const WORKSPACE_ID = "deine-workspace-id";

const headers = {
  "Content-Type": "application/json",
  "X-API-Key": API_KEY,
};

export async function storeMemory(
  content: string,
  sourceTrust = 0.8,
  agentId: string | null = null
) {
  const res = await fetch(`${BASE_URL}/memory/store`, {
    method: "POST",
    headers,
    body: JSON.stringify({
      workspace_id: WORKSPACE_ID,
      content,
      source_trust: sourceTrust,
      agent_id: agentId,
      memory_type: "episodic",
    }),
  });
  return res.json();
}

export async function recallMemory(
  query: string,
  limit = 10,
  agentId: string | null = null
) {
  const res = await fetch(`${BASE_URL}/memory/recall`, {
    method: "POST",
    headers,
    body: JSON.stringify({
      workspace_id: WORKSPACE_ID,
      query,
      limit,
      agent_id: agentId,
    }),
  });
  return res.json();
}

export async function getPredictions() {
  const res = await fetch(`${BASE_URL}/predict/${WORKSPACE_ID}`, {
    headers,
  });
  return res.json();
}

// Beispiel
const result = await storeMemory("Meeting mit dem Team war produktiv.", 0.9);
console.log(result.memory_id, result.weight);

Claude Code (CLAUDE.md)

Füge diesen Block in die CLAUDE.md deines Projekts ein. Der Agent nutzt automatisch curl um zu speichern und zu erinnern.

CLAUDE.mdmarkdown
## Gedächtnis (Agent Brain)

Du hast ein permanentes Gedächtnis. Nutze es IMMER.

API: https://api.agentbrain.ch
Workspace: DEINE_WORKSPACE_ID
API-Key: DEIN_API_KEY

### SPEICHERN — nach jedem wichtigen Event:
```bash
curl -X POST https://api.agentbrain.ch/memory/store \
  -H "Content-Type: application/json" \
  -H "X-API-Key: DEIN_API_KEY" \
  -d '{"workspace_id": "DEINE_WORKSPACE_ID", "content": "WAS PASSIERT IST", "source_trust": 0.8}'
```

### ERINNERN — vor jeder Entscheidung:
```bash
curl -X POST https://api.agentbrain.ch/memory/recall \
  -H "Content-Type: application/json" \
  -H "X-API-Key: DEIN_API_KEY" \
  -d '{"workspace_id": "DEINE_WORKSPACE_ID", "query": "WONACH DU SUCHST"}'
```

### ALERTS — regelmässig prüfen:
```bash
curl https://api.agentbrain.ch/predict/DEINE_WORKSPACE_ID \
  -H "X-API-Key: DEIN_API_KEY"
```

### Regeln:
- Speichere JEDES wichtige Gespräch, jede Entscheidung, jeden Kontakt
- Frage IMMER das Gedächtnis bevor du eine Entscheidung triffst
- source_trust: 0.9 = offiziell, 0.5 = unbestätigt, 0.3 = Gerücht

CrewAI

Custom Memory Backend für CrewAI Agents.

brain_memory.pypython
import requests
from crewai.memory import Memory


class AgentBrainMemory(Memory):
    """Agent Brain als Memory-Backend für CrewAI."""

    def __init__(self, workspace_id: str, api_key: str, agent_id: str = None):
        self.base_url = "https://api.agentbrain.ch"
        self.workspace_id = workspace_id
        self.agent_id = agent_id
        self.headers = {
            "Content-Type": "application/json",
            "X-API-Key": api_key,
        }

    def save(self, content: str, source_trust: float = 0.8):
        response = requests.post(
            f"{self.base_url}/memory/store",
            headers=self.headers,
            json={
                "workspace_id": self.workspace_id,
                "content": content,
                "source_trust": source_trust,
                "agent_id": self.agent_id,
                "memory_type": "episodic",
            },
        )
        return response.json()

    def search(self, query: str, limit: int = 10):
        response = requests.post(
            f"{self.base_url}/memory/recall",
            headers=self.headers,
            json={
                "workspace_id": self.workspace_id,
                "query": query,
                "limit": limit,
                "agent_id": self.agent_id,
            },
        )
        data = response.json()
        return [m["content"] for m in data.get("memories", [])]

    def reset(self):
        pass  # Agent Brain memories persist by design


# Verwendung
memory = AgentBrainMemory(
    workspace_id="deine-workspace-id",
    api_key="dein_api_key",
    agent_id="optional-agent-id",
)

memory.save("Neuer Lead: Firma ABC, Kontakt: Max Muster")
results = memory.search("Was wissen wir über Firma ABC?")

LangChain

Memory Wrapper für LangChain Chains.

brain_langchain.pypython
import requests
from langchain.memory import BaseMemory
from typing import Dict, List, Any


class AgentBrainLangChainMemory(BaseMemory):
    """Agent Brain Memory für LangChain."""

    base_url: str = "https://api.agentbrain.ch"
    workspace_id: str
    api_key: str
    agent_id: str = None
    memory_key: str = "history"

    @property
    def memory_variables(self) -> List[str]:
        return [self.memory_key]

    def _get_headers(self) -> Dict:
        return {
            "Content-Type": "application/json",
            "X-API-Key": self.api_key,
        }

    def load_memory_variables(self, inputs: Dict[str, Any]) -> Dict[str, str]:
        query = inputs.get("input", inputs.get("question", ""))
        if not query:
            return {self.memory_key: ""}

        response = requests.post(
            f"{self.base_url}/memory/recall",
            headers=self._get_headers(),
            json={
                "workspace_id": self.workspace_id,
                "query": query,
                "limit": 5,
                "agent_id": self.agent_id,
            },
        )
        data = response.json()
        memories = data.get("memories", [])
        context = "\n".join([m["content"] for m in memories])
        return {self.memory_key: context}

    def save_context(self, inputs: Dict[str, Any], outputs: Dict[str, str]) -> None:
        content = f"Input: {inputs.get('input', '')}\nOutput: {outputs.get('output', '')}"
        requests.post(
            f"{self.base_url}/memory/store",
            headers=self._get_headers(),
            json={
                "workspace_id": self.workspace_id,
                "content": content,
                "source_trust": 0.8,
                "agent_id": self.agent_id,
            },
        )

    def clear(self) -> None:
        pass  # Agent Brain memories persist by design


# Verwendung
memory = AgentBrainLangChainMemory(
    workspace_id="deine-workspace-id",
    api_key="dein_api_key",
)

n8n

HTTP Request Node Konfiguration für n8n Workflows.

n8n — Memory speichern (HTTP Request Node)json
{
  "method": "POST",
  "url": "https://api.agentbrain.ch/memory/store",
  "authentication": "genericCredentialType",
  "genericAuthType": "httpHeaderAuth",
  "sendHeaders": true,
  "headerParameters": {
    "parameters": [
      {
        "name": "X-API-Key",
        "value": "dein_api_key"
      }
    ]
  },
  "sendBody": true,
  "bodyParameters": {
    "parameters": [
      {
        "name": "workspace_id",
        "value": "deine-workspace-id"
      },
      {
        "name": "content",
        "value": "={{ $json.message }}"
      },
      {
        "name": "source_trust",
        "value": "0.8"
      }
    ]
  }
}
n8n — Memory abrufen (HTTP Request Node)json
{
  "method": "POST",
  "url": "https://api.agentbrain.ch/memory/recall",
  "authentication": "genericCredentialType",
  "genericAuthType": "httpHeaderAuth",
  "sendHeaders": true,
  "headerParameters": {
    "parameters": [
      {
        "name": "X-API-Key",
        "value": "dein_api_key"
      }
    ]
  },
  "sendBody": true,
  "bodyParameters": {
    "parameters": [
      {
        "name": "workspace_id",
        "value": "deine-workspace-id"
      },
      {
        "name": "query",
        "value": "={{ $json.query }}"
      },
      {
        "name": "limit",
        "value": "10"
      }
    ]
  }
}