Skip to Content
KnowledgeSDKFramework-Adapter

Framework-Adapter

Adapter stellen die Suche als HTTP-Endpoint bereit. Jeder Adapter nutzt die gleiche Logik, angepasst an das jeweilige Framework.

Seit v2.2.0 bringt jeder REST-Adapter zusaetzlich einen Handler fuer GET /api/document?id=… mit — den Volltextabruf eines einzelnen Dokuments als zweiten Schritt nach der Suche. Details unter REST-API.

Next.js App Router

// app/api/search/route.ts import { createNextHandler } from '@processcube-io/knowledge-sdk/adapters/nextjs'; export const GET = createNextHandler(store, { cacheControl: 'public, max-age=60, s-maxage=60', // Default });
// app/api/document/route.ts — eigene Route-Datei import { createNextDocumentHandler } from '@processcube-io/knowledge-sdk/adapters/nextjs'; export const GET = createNextDocumentHandler(store);

Express

import { createExpressMiddleware, createExpressDocumentMiddleware, } from '@processcube-io/knowledge-sdk/adapters/express'; app.use('/api/search', createExpressMiddleware(store)); app.use('/api/document', createExpressDocumentMiddleware(store));

Hono

import { createHonoHandler, createHonoDocumentHandler, } from '@processcube-io/knowledge-sdk/adapters/hono'; app.get('/api/search', createHonoHandler(store)); app.get('/api/document', createHonoDocumentHandler(store));

Standalone HTTP-Server

Fuer den Einsatz ohne Framework — ein kompletter HTTP-Server mit REST, Health-Check und optionalem MCP:

import { startServer } from '@processcube-io/knowledge-sdk/adapters/standalone'; import { createEnvAuth } from '@processcube-io/knowledge-sdk/auth/env-auth'; const server = await startServer(store, { port: 3001, host: '0.0.0.0', corsOrigin: '*', auth: createEnvAuth(), // Optional: API-Key Auth mcp: { name: 'my-docs' }, // Optional: MCP-Endpoint });

Endpoints

MethodePfadBeschreibung
GET/api/search?q=...&collection=...&limit=...Suche
GET/api/document?id=...&maxBytes=...Einzelnes Dokument im Volltext (automatisch registriert)
GET/api/collectionsCollections auflisten
POST/api/mcpMCP-Endpoint (wenn aktiviert)
GET/healthHealth-Check (immer ohne Auth)
GET/wiki · /api/wiki/*Wiki-Layer, wenn WIKI_DIR gesetzt ist

Query-Parameter

Alle Adapter unterstuetzen die gleichen Parameter.

Suche (/api/search)

ParameterTypDefaultBeschreibung
qstring(Pflicht)Suchbegriff
collectionstringalleCollection-Filter
limitnumber20Max. Ergebnisse (1-50)

Dokument (/api/document)

ParameterTypDefaultBeschreibung
idstring(Pflicht)Dokument-ID aus dem Feld id eines Suchtreffers
maxBytesnumber100000Obergrenze fuer den Body in Zeichen (1.000–500.000)

Der Dokument-Endpoint antwortet mit 501, wenn der uebergebene Store kein getDocument anbietet — die Suche funktioniert davon unabhaengig weiter.