Synapse: Laravel AI SDK Agent Dev Dashboard | Mohamed Said       [Skip to content](#main)  [ ![](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png) Mohamed SaidLaravel Backend Engineer ](https://www.msaied.com) - [Home](https://www.msaied.com)
- [Projects](https://www.msaied.com/projects)
- [Articles](https://www.msaied.com/articles)
- [Certificates](https://www.msaied.com/certificates)
- [About](https://www.msaied.com#about)

           [  Contact](https://www.msaied.com#contact) Menu 

Menu
----

Close 

 - [HomeStart here](https://www.msaied.com)
- [ProjectsCase studies](https://www.msaied.com/projects)
- [ArticlesEngineering notes](https://www.msaied.com/articles)
- [CertificatesCredentials](https://www.msaied.com/certificates)
- [AboutHow I work](https://www.msaied.com#about)
- [ContactGet in touch](https://www.msaied.com#contact)

  [Start a conversation](https://www.msaied.com#contact) [WhatsApp](https://wa.me/201094619204) [Email](mailto:hello@msaied.com) 

 1. [Home](https://www.msaied.com)
2. /
3. [Articles](https://www.msaied.com/articles)
4. /
5. [Composer Pacakge](https://www.msaied.com/articles?category=composer-pacakge)
6. /
7. Synapse: A Dev Dashboard for Laravel AI SDK Agents

   [Composer Pacakge](https://www.msaied.com/articles?category=composer-pacakge) [AI](https://www.msaied.com/articles?category=ai) 

 Synapse: A Dev Dashboard for Laravel AI SDK Agents
===================================================

 Synapse is a development dashboard by Redberry that gives Laravel AI SDK agents a browser-based chat playground, automatic agent discovery, tool call inspection, token tracking, and error reporting — all with a single Composer install.

 ![](https://cdn.msaied.com/01M22N44A70A5MC2S599JP0MPH.webp) [Mohamed Said](https://www.msaied.com#person) Published 6 Oct 2026 · Updated 7 Oct 2026 · 4 min read

ShareCopy linkCopied

 ![Synapse: A Dev Dashboard for Laravel AI SDK Agents](https://cdn.msaied.com/748/7ff67ebbfbb3e258ee49af67e3d29859.png) 

  On this page +1. [What Is Synapse?](#what-is-synapse)
2. [Key Features at a Glance](#key-features-at-a-glance)
3. [Agent Discovery](#agent-discovery)
4. [The Chat Playground](#the-chat-playground)
5. [Tool Calls and Error Handling](#tool-calls-and-error-handling)
6. [Installation](#installation)
7. [Takeaways](#takeaways)

 What Is Synapse?
----------------

[Synapse](https://github.com/RedberryProducts/synapse) is a development dashboard built by [Redberry](https://redberry.international/) for agents created with the [Laravel AI SDK](https://laravel-news.com/laravel-announces-official-ai-sdk-for-building-ai-powered-apps). It surfaces every agent in your application, gives each one a live chat playground, and records the full detail of every reply — tool calls, token usage, reasoning steps, and exceptions — without requiring any manual registration.

Key Features at a Glance
------------------------

- **Agent discovery** — scans `app/Ai/Agents` and `app/Agents` on every request; new agents appear after a browser refresh
- **Chat playground** — streams real replies, supports file attachments (images, documents, audio), and includes a per-message model selector
- **Tool call cards** — shows arguments, result, duration, and status for every call, including provider tools like web search
- **Info panel** — displays the resolved system prompt, tool JSON schemas, middleware, temperature, max tokens, and other generation settings
- **Conversation history** — search, filter, rename, and replay past sessions
- **Token counts** — tracks cache-read, cache-write, and reasoning tokens per reply
- **Error cards** — captures the exception class, message, and full stack trace

Agent Discovery
---------------

Synapse requires no registration step. It scans the configured directories on every request, so dropping a new class that implements `Laravel\Ai\Contracts\Agent` into `app/Ai/Agents` is enough to make it appear on the Discovery page. If you store agents elsewhere, add the path to the `discovery.paths` config option. Classes you want to hide go in `discovery.ignore`.

The Chat Playground
-------------------

The playground sends messages to the real agent and streams the response. A model selector in the composer lets you run the next message on a different model — the agent's own model, the provider's cheapest or smartest option, or any model listed in `playground.models` — without touching the agent class itself. The model used is recorded on each message and resets when you leave the page.

Conversation memory follows the agent's code:

- Agents implementing the `Conversational` contract (typically via `RemembersConversations`) receive the full thread from Synapse's own history tables, leaving your application's conversation tables untouched.
- Stateless agents receive each message independently, matching production behaviour. Synapse labels them **Stateless**.
- Agents with structured output run without prior messages and display their result as a JSON card.

Tool Calls and Error Handling
-----------------------------

Each tool call is rendered as a card in conversation order. A collapsed card shows the tool name, status, and duration; expanding it reveals the model's arguments and the tool's return value as formatted JSON.

Provider tools (web search, code interpreter, etc.) use a distinct card style. Because Anthropic and OpenAI report statuses differently, Synapse normalises them to `pending`, `success`, and `error`, with the provider's original label available on hover.

When a sub-agent throws, the SDK catches the exception and returns an `Agent failed: ...` string to the calling agent. Synapse shows that string as a successful tool result. A separate error card at the end of the reply captures the raw exception class, message, and stack trace.

Installation
------------

Install Synapse as a dev dependency and run the installer:

```bash
composer require redberry/synapse --dev
php artisan synapse:install

```

The dashboard is available at `/synapse`. The compiled frontend ships inside the package — no `npm` build step required. Synapse reads providers and API keys from your existing `config/ai.php`.

Synapse stores conversations in its own database tables. To prune old data:

```bash
php artisan synapse:prune --days=7

```

Set `SYNAPSE_AUTO_PRUNE=true` to schedule the prune command daily.

Takeaways
---------

- Zero-registration agent discovery via directory scanning
- Full-fidelity playground that calls the real agent, not a mock
- Tool call inspection with arguments, results, and timing
- Token accounting including cache and reasoning tokens
- No frontend build step; compiled assets ship with the package
- Safe for dev-only use: install with `--dev` and keep it off production

---

*Source: [Synapse: A Dev Dashboard for Laravel AI SDK Agents — Laravel News](https://laravel-news.com/synapse-laravel-ai-agents)*

- [Laravel](https://www.msaied.com/articles?search=Laravel)
- [AI](https://www.msaied.com/articles?search=AI)
- [Laravel AI SDK](https://www.msaied.com/articles?search=Laravel%20AI%20SDK)
- [Developer Tools](https://www.msaied.com/articles?search=Developer%20Tools)
- [Composer Package](https://www.msaied.com/articles?search=Composer%20Package)
- [Debugging](https://www.msaied.com/articles?search=Debugging)

 Frequently asked questions 
---------------------------

  Does Synapse require a build step or npm to install?No. The compiled frontend ships inside the Synapse package, so you only need `composer require redberry/synapse --dev` followed by `php artisan synapse:install`. There is no npm or Vite step.

   How does Synapse handle conversation memory for stateful versus stateless agents?If your agent implements the `Conversational` contract (usually via the `RemembersConversations` trait), Synapse sends the full conversation thread from its own history tables with each message, leaving your application's tables untouched. Stateless agents receive each message independently, matching production behaviour, and are labelled Stateless in the UI.

   Can I use Synapse with agents stored outside the default directories?Yes. By default Synapse scans `app/Ai/Agents` and `app/Agents`. Add any additional paths to the `discovery.paths` config option. Classes you want to exclude can be listed in `discovery.ignore`.

   ![Mohamed Said](https://cdn.msaied.com/01M22N44A70A5MC2S599JP0MPH.webp)About the author
----------------

[Mohamed Said](https://www.msaied.com#person)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

[About](https://www.msaied.com#about) [GitHub ↗](https://github.com/EG-Mohamed) [LinkedIn ↗](https://www.linkedin.com/in/msaiedm/) [WhatsApp ↗](https://wa.me/201094619204) [Email Address ↗](mailto:hello@msaied.com) [My CV ↗](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)  

   [Previous articleGrant: Enum-Based Roles and Permissions for Laravel](https://www.msaied.com/articles/grant-enum-based-roles-and-permissions-for-laravel) [Next articleService Container Deep Dive: Contextual Binding, Tagging, and Method Injection](https://www.msaied.com/articles/service-container-deep-dive-contextual-binding-tagging-and-method-injection-1)  

   On this page
-------------

1. [What Is Synapse?](#what-is-synapse)
2. [Key Features at a Glance](#key-features-at-a-glance)
3. [Agent Discovery](#agent-discovery)
4. [The Chat Playground](#the-chat-playground)
5. [Tool Calls and Error Handling](#tool-calls-and-error-handling)
6. [Installation](#installation)
7. [Takeaways](#takeaways)

 ###  Have a technical challenge?

 Tell me what you’re building. I reply within two working days.

[Start a conversation](https://www.msaied.com#contact) 

   Related articles
-----------------

 [ ![](https://cdn.msaied.com/747/77f5a18ff2915d631224ade73cf34aa6.png) Laravel · 3 min read### VMPal: Give Your AI Agent a Whole Computer to Work With

6 Oct 2026 ](https://www.msaied.com/articles/vmpal-give-your-ai-agent-a-whole-computer-to-work-with) [ ![](https://cdn.msaied.com/745/8744e1be5136b430da52e9fca3ed3964.png)  · 3 min read### Service Container Deep Dive: Contextual Binding, Tagging, and Method Injection

6 Oct 2026 ](https://www.msaied.com/articles/service-container-deep-dive-contextual-binding-tagging-and-method-injection-1) [ ![](https://cdn.msaied.com/746/496c70db85d5a374cca5e7f9c0a182a8.png) Laravel · 3 min read### Grant: Enum-Based Roles and Permissions for Laravel

5 Oct 2026 ](https://www.msaied.com/articles/grant-enum-based-roles-and-permissions-for-laravel) 

  Have a technical challenge?
----------------------------

Tell me what you’re building. I reply within two working days.

 [Discuss your project ↗](https://www.msaied.com#contact) 

  © 2026 Mohamed Said · Built with Laravel, meant to last.Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

 - [Home](https://www.msaied.com)
- [Articles](https://www.msaied.com/articles)
- [Certificates](https://www.msaied.com/certificates)
- [GitHub](https://github.com/EG-Mohamed)
- [LinkedIn](https://www.linkedin.com/in/msaiedm/)
- [WhatsApp](https://wa.me/201094619204)
- [Email Address](mailto:hello@msaied.com)
- [My CV](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
- [Sitemap](https://www.msaied.com/sitemap.xml)
