Neuron PHP AI Agents
Neuron AI provides tooling for the entire agentic application development lifecycle, including:
- LLM interfaces
- Data ingestion and loading
- Multi-agent orchestration
- Monitoring and debugging
Neuron AI supports advanced capabilities such as:
- MCP connector configuration
- Streaming responses
- Attachments (documents, images)
- Retrieval-Augmented Generation (RAG) systems
It acts as an abstraction layer capable of orchestrating multiple LLM providers, including (but not limited to): Anthropic, OpenAI, Gemini, Grok, Ollama, AWS Bedrock, e.t.c models. Please refer to the official Neuron AI documentation. They also provide an accompanying book that covers agentic system design in depth.
What the Starter Kit Provides
While Neuron AI handles the backend agent logic, the AI Agent Starter Kit delivers a complete, production-ready application layer, including:
- A user interface connected to Neuron AI agents
- Payment system with logging:
- Pay-as-you-go
- Monthly subscriptions
- Feedback and public roadmap features
- Production-ready deployment:
- Coolify support, or
- VPS deployment using Docker Compose
- Built-in Log viewer for production
This allows you to focus on agent behavior and business logic rather than application infrastructure.
Setup Neuron PHP
By default, the Starter Kit uses n8n as the agent orchestration layer.
However, the architecture is flexible, and you can replace n8n with Neuron AI or another agent framework with minimal changes.
-
Install Neuron PHP:
composer require neuron-core/neuron-ai -
Modify
- use App\Services\AiAgent\N8N\N8NAIAgent;
+ use App\Services\AiAgent\NeuronAi\NeuronAiAgent;
class ProcessAiChatMessage implements ShouldQueue
{
use Queueable;
...
...
public function handle(
AiChatThread $aiChatThread,
- N8nAiAgent $n8nAiAgent,
+ NeuronAiAgent $neuronAiAgent,
AiChatHistory $aiChatHistory,
SubscriptionTrackUsage $subscriptionTrackUsage,
): void {
$user = User::findOrFail($this->userId);
/** @var ?string $chatThreadId */
$chatThreadId = $aiChatThread->getThreadId(
$this->request['sessionId'],
$user->id
);
- $response = $n8nAiAgent->sendMessage(
+ $response = $neuronAiAgent->sendMessage(
new AiAgentSendMessageRequest($this->request),
$chatThreadId
);
// update thread id if it was created in N8N
$aiChatThread->updateThreadIfChanged(
$chatThreadId,
...