Download the PHP package oi-lab/oi-laravel-ai without Composer
On this page you can find all versions of the php package oi-lab/oi-laravel-ai. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package oi-laravel-ai
OI Laravel AI Add-on
The AI backend for your Laravel application. It maintains a provider/model catalog with pricing, records the token usage of every agent call, reports cost per project / agent / model, and centralizes your agents' system prompts.
Features
- Provider & model catalog —
AiProvider/AiModeltables with per-1M-token input/output pricing, seeded from a JSON registry shipped with the package. - Automatic usage tracking — a listener records every
Laravel\Ai\Events\AgentPromptedevent intoai_requests(tokens, model, provider, project), with zero host code. - Cost reporting —
AiUsageReporteraggregates usage into per-project, per-agent, and per-model cost summaries over any period. - Editable prompts — the application and its packages declare their prompts in the
PromptRegistry;Prompts::render()reads the team override, then the global one, then the default, through theSettingStore, and fills the:variableplaceholders. - Self-updating tariffs —
php artisan ai:update-registryfetches a fresh catalog and pricing from a remote URL and persists it locally. - Host-agnostic — resolves the host's
Project/AgentRunmodels through config and persists settings through aSettingStorecontract.
Requirements
- PHP 8.3+
- Laravel 12 or 13
laravel/ai0.8 to 0.10
Installation
The package auto-discovers and registers itself via Laravel's service provider mechanism.
Assisted installation (recommended)
Run the interactive installer and answer the prompts — it publishes the config, captures the host models / setting store / registry into your .env, runs the migrations, and seeds the catalog. Every step is confirmed, so it is safe to re-run:
Manual installation
The
ai_requeststable always has nullable, indexedproject_idandagent_run_idUUID columns. They only get a foreign key when you declare the matching table inrelations.project/relations.agent_runand that table exists when you migrate. With the default (null) the package installs without anyprojectsoragent_runstable.Upgrading from 1.2.x: set
relations.projecttoprojectsandrelations.agent_runtoagent_runsin your published config (orOI_AI_PROJECT_TABLE/OI_AI_AGENT_RUN_TABLE) to keep the previous schema and theAiRequest::project()/agentRun()relations.
Configuration
config/oi-laravel-ai.php:
| Key | Description |
|---|---|
relations.project |
Table ai_requests.project_id references (foreign key and AiRequest::project() relation). null (default) disables both. |
relations.agent_run |
Same for ai_requests.agent_run_id and AiRequest::agentRun(). |
models.project |
Host Project model AiRequest::project() resolves to, when relations.project is set. |
models.agent_run |
Host AgentRun model AiRequest::agentRun() resolves to, when relations.agent_run is set. |
store_payloads |
true (default) stores system prompt, input and response; false redacts all of them. |
redacted_prompt_types |
Prompt types whose payloads are redacted (* wildcards allowed, e.g. crm.*). |
setting_store |
Class implementing SettingStore, used to persist default models and prompt overrides. Leave null to auto-detect: the oi-lab/oi-laravel-settings adapter is wired automatically when that package is installed. |
context_binding |
Container binding resolving the "current team" used to scope settings. |
registry.path |
Writable, host-owned registry copy used by the seeder and ai:update-registry. Falls back to the bundled assets/registry.json when null. |
registry.url |
Canonical raw URL ai:update-registry fetches a fresh registry from. |
All keys read from environment variables (OI_AI_PROJECT_TABLE, OI_AI_AGENT_RUN_TABLE, OI_AI_STORE_PAYLOADS, OI_AI_PROJECT_MODEL, OI_AI_SETTING_STORE, OI_AI_REGISTRY_PATH, OI_AI_REGISTRY_URL, …).
Usage
Catalog
Seed the catalog (and, when a SettingStore is bound, the default models + prompts) from your DatabaseSeeder:
Usage tracking
Tracking is automatic. Once the package is installed, every agent prompt dispatched through laravel/ai is recorded:
Cost reporting
Editable prompts
Prompts::template(), source(), save(), reset(), preview() and fingerprint() back a settings screen. A definition with teamOverridable: false only has a global version. AiPromptVariableRegistry is deprecated.
Commands
Customizing host models
The package never hardcodes your domain models. Override the bindings in config so AiRequest belongs to your own Project / AgentRun:
Settings (default models, prompt overrides) are persisted through the SettingStore contract. Install the recommended oi-lab/oi-laravel-settings (listed under suggest) and its adapter is wired automatically. To use your own storage, implement OiLab\OiLaravelAi\Contracts\SettingStore and point setting_store at it.
Testing
AI Assistant Skills
This package ships a skill that teaches AI coding assistants (Claude Code, JetBrains AI) how to use it. The recommended way to install it is the unified oi:skills command from oi-lab/oi-laravel-development:
A deprecated package-local fallback is available for projects that don't use oi-lab/oi-laravel-development:
See docs/advanced/skills.md for details.
Documentation
The docs/ folder is importable into any app using oi-lab/oi-laravel-documentation:
License
The MIT License (MIT). See LICENSE.
Credits
Olivier Lacombe - Creator and maintainer
Olivier is a Product & Technology Director based in Montpellier, France, with over 20 years of experience innovating in UX/UI and emerging technologies. He specializes in guiding enterprises toward cutting-edge digital solutions, combining user-centered design with continuous optimization and artificial intelligence integration.
Projects & Resources:
- OI Dev Docs - Documentation for all Open Source OI Lab packages
- OnAI - Training courses and masterclasses on generative AI for businesses
- Promptr - Prompt engineering Management Platform
Support
For support, please open an issue on the GitHub repository.
All versions of oi-laravel-ai with dependencies
illuminate/console Version ^12.0|^13.0
illuminate/contracts Version ^12.0|^13.0
illuminate/database Version ^12.0|^13.0
illuminate/http Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
laravel/ai Version ^0.8|^0.9|^0.10
laravel/prompts Version ^0.3.6
spatie/laravel-data Version ^4.23