Synapse 是一个来自 [公司名称] 的开发仪表盘 红莓 对于使用以下方式构建的代理 Laravel AI SDK 。
它会在你的应用程序中查找代理类,在浏览器中为每个代理类提供一个聊天环境,并记录每次回复期间发生的事情:工具调用及其参数和结果、令牌计数、推理步骤以及任何异常。

仪表盘包含以下内容:
- 代理发现
列出了所有实现该实现的类
Laravel\Ai\Contracts\Agent在app/Ai/Agents和app/Agents及其提供商、模型和工具 - 聊天游乐场 具备流式回复、文件附件和型号选择器功能
- 工具呼叫卡 显示每次调用的参数、结果、持续时间和状态
- 信息面板 代理程序已解析系统提示、工具架构、中间件和生成设置
- 历史 用于搜索、筛选、重命名和重放过往对话
- 令牌计数 每个回复,包括缓存读取、缓存写入和推理标记
- 错误卡 包含异常类、消息和堆栈跟踪信息
代理发现
Synapse 没有注册步骤。它会在每次请求时扫描已配置的目录,因此刷新后,发现页面上会出现一个新的代理类。默认值为:
app/Ai/Agents
,其中 SDK 的
make:agent
该命令会添加新的代理,并且
app/Agents
存储在其他任何位置的代理,只有在将其目录添加到指定位置后才会显示。
discovery.paths
配置选项。要隐藏特定类,请将其列在以下位置:
discovery.ignore
。
每张卡片都显示了代理的类名、提供商和型号,以及每个工具对应的芯片。 信息 面板显示 SDK 从类中解析出的配置,例如温度、最大令牌数、最大步数和工具选择,以及系统提示和每个工具的 JSON 架构。
聊天游乐场
互动平台会将您的消息发送给真正的客服人员,并实时显示回复。您可以附加图片、文档或音频,这些文件会保留在同一对话中,方便您提出后续问题。
编辑器中的模型选择器会在不更改代理类的情况下,使用不同的模型运行下一条消息。它提供代理自身的模型、其提供商最便宜且最智能的模型,以及列表中列出的任何其他模型。
playground.models
配置选项。所使用的模型会记录在每条消息中,当您离开页面时,选择会重置为代理自身的模型。
对话记忆遵循代理的代码。如果代理实现了 SDK 的
Conversational
合同,通常通过
RemembersConversations
Synapse 的特性是,它会从自身存储的历史记录中发送完整的线程,因此不会修改应用程序的会话表。如果代理是无状态的,则每条消息都会单独发送,与生产环境相同,并且 Synapse 会为代理添加标签。
无国籍人士
具有结构化输出的代理程序无需事先发送消息即可运行,并将结果显示为 JSON 卡片。
工具调用和错误
每次工具调用都会以卡片的形式显示在对话中,并按调用顺序排列。折叠的卡片显示工具名称、状态和持续时间。展开卡片则显示模型发送的参数和工具返回的结果,两者均以格式化的 JSON 格式呈现。
提供商工具(例如网页搜索或代码解释器)采用单独的卡片样式。Anthropic 和 OpenAI 使用不同的词语来报告其状态,因此 Synapse 将它们映射到相同的待处理、成功和错误状态,并在鼠标悬停时显示提供商的原始状态。
A
次级代理人
即使抛出异常,工具调用仍然显示为成功。SDK 会捕获该异常并返回结果。
Agent failed: ...
对于调用代理来说,这是一个正常的结果,Synapse 会显示调用代理收到的字符串。
当工具或代理抛出异常时,回复末尾会显示一个错误卡片,其中显示异常类、消息和堆栈跟踪。
安装和访问
安装 Synapse 作为开发依赖项并运行其安装程序:
作曲家
要求
红莓/突触
--devphp
工匠
synapse:安装
仪表盘位于
/synapse
编译后的前端已包含在软件包中,因此没有其他问题。
npm
步骤中,Synapse 会从您现有的系统中读取提供商和 API 密钥。
config/ai.php
。
Synapse 将对话存储在它自己的表中。
php artisan synapse:prune --days=7
删除旧的对话及其附件,并进行设置
SYNAPSE_AUTO_PRUNE=true
每天安排修剪。
您可以在此处找到 Synapse 的源代码和完整文档。 GitHub 。






