Download the PHP package netresearch/nr-llm without Composer

On this page you can find all versions of the php package netresearch/nr-llm. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nr-llm

nr-llm — The Shared AI Foundation for TYPO3

CI codecov Documentation OpenSSF Scorecard OpenSSF Best Practices PHPStan PHP 8.2+ TYPO3 v13.4+ License: GPL v2 Latest Release SLSA 3

One LLM setup. Every extension. Full admin control.

nr-llm is shared infrastructure for AI in TYPO3 — like the caching framework, but for language models. Administrators configure providers once; every AI-powered extension on the site uses them automatically.

The Problem

Every TYPO3 extension that wants AI capabilities today has to:

When a site runs three AI extensions, that's three separate API key configurations, three places to check when something breaks, and no way to switch providers globally.

The Solution

nr-llm provides the missing shared layer:


For Extension Developers

Add AI to your TYPO3 extension in 5 minutes — no API key handling, no HTTP client code, no provider-specific logic.

1. Require the package

2. Inject the service you need

That's it. Provider selection, API keys, caching, error handling — all managed by nr-llm.

What you get for free

Capability Without nr-llm With nr-llm
Provider switching Rewrite HTTP calls Change one admin setting
API key storage $GLOBALS or plaintext nr-vault UUIDs (envelope encryption)
Response caching Build your own Built-in, TYPO3 caching framework
Streaming (SSE) Implement per provider foreach ($llm->streamChat($msg) as $chunk)
Error handling Parse each provider's errors Typed exceptions with provider context
Multiple providers N × integration effort One interface, all providers

Available services

Why not call the OpenAI API directly?

You can — but then your extension only works with OpenAI. Your users can't switch to Anthropic, use a local Ollama instance, or route through Azure. And every extension on the site manages its own API keys, its own error handling, its own caching.

nr-llm solves this once for the entire TYPO3 ecosystem.

Developer Guide — Full API reference, custom provider registration, typed options, response objects

Integration Guide — Step-by-step tutorial for building your extension on nr-llm


For TYPO3 Administrators

One dashboard for all AI

The Admin Tools > LLM backend module gives you full control:

Tool Playground — a glass box for agent runs

The admin-only Playground runs the bounded agent loop against any configuration and streams the whole nr_llm ↔ LLM dialog live: every request (messages + tools offered), every response (structured, raw JSON, extracted thinking), every tool execution with arguments, result and duration — plus a dry-run mode that shows the exact prompt without calling the model.

Resilience

Security by default

Setup in 2 minutes

The Setup Wizard auto-detects your provider type from the endpoint URL, discovers available models, and generates a ready-to-use configuration. Paste your API key and go.

AI-powered wizards

Supported providers

Provider Adapter Capabilities
OpenAI openai Chat, Embeddings, Vision, Streaming, Tools
Anthropic Claude anthropic Chat, Vision, Streaming, Tools
Google Gemini gemini Chat, Embeddings, Vision, Streaming, Tools
Ollama ollama Chat, Embeddings, Streaming (local, no API key)
OpenRouter openrouter Chat, Embeddings, Vision, Streaming, Tools
Mistral mistral Chat, Embeddings, Streaming
Groq groq Chat, Streaming (fast inference)
Azure OpenAI azure_openai Same as OpenAI
Any OpenAI-compatible custom Varies (vLLM, LocalAI, LiteLLM, …)

For Agencies & Solution Architects


Built on nr-llm

Extension What it does nr-llm services used
t3x-cowriter AI writing assistant in CKEditor 5 Chat, Streaming, Translation, Tasks

Building on nr-llm? Open a PR to add your extension here.


Architecture

The three-tier configuration hierarchy separates concerns cleanly:

Benefits:

Packaging: one extension for now

nr-llm ships as a single extension today, even though it bundles several independently useful subsystems — the provider core, specialized services (translation / image / speech), the tool & agent system, the guardrail safety layer, and the backend UI.

This is deliberate. While the extension is under rapid pre-1.0 development the internal contracts between these subsystems still change often, and splitting now would freeze them into public cross-extension APIs prematurely and add coordinated multi-repo release friction. We keep the architecture split-ready instead — the phpat architecture tests enforce the vertical layering (Controller → Service → Provider), and the horizontal module seams are kept clean by review (with phpat rules for those seams a planned split-readiness step) — and will revisit a split with or before the 1.0 release, once the seams have stabilized.

The anticipated seams, if/when we split:

Package Scope
nr_llm (core) Provider → Model → Configuration, middleware pipeline, completion / embedding / vision services — the base every other package needs
nr_llm_specialized Translation (DeepL / LLM), image (DALL·E / FAL), speech (Whisper / TTS)
nr_llm_tools Builtin tools, RAG site-search, tool loop, human-in-the-loop approval, agent-run persistence
nr_llm_guardrail Guardrail / secret-redaction safety pipeline (may instead stay in core)
nr_llm_backend Tool Playground, analytics dashboard, setup wizard, skills management

See ADR-090 for the full rationale and the criteria that would trigger a split.


Requirements

Installation

Then activate in Admin Tools > Extensions and run Admin Tools > LLM > Setup Wizard.


Documentation


Supply Chain Security

This project implements supply chain security best practices:

SLSA Level 3 Provenance

All releases include SLSA Level 3 build provenance attestations, providing:

Verifying Release Artifacts

Verifying Signatures (Cosign)

All release artifacts are signed using Sigstore Cosign keyless signing:

Software Bill of Materials (SBOM)

Each release includes SBOMs in both SPDX and CycloneDX formats:

Checksums

SHA256 checksums for all artifacts are provided in checksums.txt, which is also signed.

License

GPL-2.0-or-later

Author

Netresearch DTT GmbH https://www.netresearch.de


All versions of nr-llm with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
netresearch/nr-vault Version ^0.10.1 || ^0.11.0
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
psr/log Version ^2.0 || ^3.0
symfony/yaml Version ^6.4 || ^7.0 || ^8.0
typo3/cms-core Version ^13.4 || ^14.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package netresearch/nr-llm contains the following files

Loading the files please wait ...