Download the PHP package swisnl/agents-sdk without Composer
On this page you can find all versions of the php package swisnl/agents-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download swisnl/agents-sdk
More information about swisnl/agents-sdk
Files in swisnl/agents-sdk
Package agents-sdk
Short Description A lightweight yet powerful framework for building multi-agent workflows inspired by the OpenAi Agents SDK
License MIT
Homepage https://github.com/swisnl/agents-sdk
Informations about the package agents-sdk
Agents SDK for PHP
A lightweight yet powerful framework for building multi-agent workflows in PHP, inspired by the OpenAI Agents SDK.
Overview
Agents SDK provides an elegant abstraction for creating AI agent systems in PHP, allowing you to:
- Build specialized agents for different tasks
- Connect agents using a handoff mechanism
- Define and use custom tools for external operations
- Stream LLM responses for real-time interactions
- Monitor agent behavior with observers and traces
- Serialize and deserialize conversations for state management
- Connect to external tools using the Model Context Protocol (MCP)
The SDK is designed to be flexible, extensible, and easy to use while providing a robust foundation for building complex multi-agent based systems.
Installation
Basic Usage
Here's a simple example of creating and running an Agent that can use a Tool for retrieving weather information:
Creating Agents
Agents are the core components of the SDK. They encapsulate a specific role or capability and can use tools to perform actions.
Defining Tools
Tools are capabilities that agents can use to perform actions. To create a custom tool:
- Extend the
Tool
class - Define parameters using attributes
- Implement the
__invoke
method with your tool's logic
MCP Tool Support
The SDK supports the Model Context Protocol (MCP) through the McpConnection
class, allowing you to integrate external data sources and tools with your agents.
What is MCP?
MCP (Model Context Protocol) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. It provides a standardized way to connect LLMs with the context they need, offering:
- Dynamic discovery of available tools
- Tool filtering to restrict which tools are available to agents
- Remote tool invocation
Using MCP
It's recommended to use the swis/mcp-client
package for MCP client implementations.
To use MCP tools with your agents:
Advanced MCP Usage
The SDK supports advanced MCP features:
- Tool caching with PSR-6 compatible cache adapters
- Process-based MCP clients for local tools
Example with a local MCP server:
Multi-Agent Systems
The SDK supports creating systems of specialized agents that can hand off tasks to each other:
Orchestration
The Orchestrator
class manages the conversation flow and agent execution:
Observability
The SDK provides an observer pattern to monitor agent behavior:
Tracing
The SDK includes built-in tracing support using OpenAI Tracing format by default. This helps with debugging and monitoring agent execution.
Disabling Tracing
You can disable tracing in two ways:
-
On a per-orchestrator basis:
- Globally via environment variable:
Disabling tracing can be useful in production environments or when you don't need the debugging information.
Example Implementations
The repository includes examples for common use cases:
CustomerServiceAgent
: A multi-agent system for customer service with handoffsWeatherAgent
: A simple agent that fetches weather information
Run the examples using:
Conversation Serialization
The SDK provides a way to serialize and deserialize conversation state, allowing you to continue conversations at a later time:
Requirements
- PHP 8.2 or higher
- OpenAI API key for LLM access (or other OpenAI compatible API)
- Composer for dependency management
Testing
The SDK includes a test suite built with PHPUnit. To run the tests:
Test Structure
- Unit Tests: Test individual components in isolation
- Integration Tests: Test the full agent workflow with actual API calls (skipped by default)
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Joris Meijer
- Björn Brala
- All Contributors
License
This package is open-sourced software licensed under the MIT license.
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.
SWIS :heart: Open Source
SWIS is a web agency from Leiden, the Netherlands. We love working with open source software.
All versions of agents-sdk with dependencies
ext-json Version *
openai-php/client Version ^0.10.3
psr/cache Version ^3.0
ramsey/uuid Version ^4.7