Download the PHP package arzcode/sisifo without Composer
On this page you can find all versions of the php package arzcode/sisifo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package sisifo
Sisifo
A Filament v5 plugin that turns an IMAP mailbox into an autonomous, LLM-powered watcher and summarizer.
Sisifo polls a single IMAP account, persists incoming messages, and runs scheduled or watch-style mailbox tasks that ask an LLM (Prism PHP by default) to summarize, classify, or extract information from new emails — then dispatches notifications through configurable channels (Pushover, Filament database notifications, …).
Like its namesake Sisyphus, it keeps rolling through the inbox so you don't have to.
Features
- IMAP polling — fetches unseen messages on a schedule and stores them as
InboundEmailrecords. - Two task types
- Summary — runs on a daily/hourly schedule and digests everything new since it last ran.
- Watch — fires continuously, reacting to matching emails as soon as they arrive.
- LLM-driven processing via a swappable
LlmProvidercontract (Prism PHP driver included). - Filament resource to create and manage tasks from your panel.
- Pluggable notification channels — Pushover and Filament database notifications out of the box.
- Per-task filtering by sender address, sender domain, subject keywords, and look-back window.
- Smart digests — tasks remember their last result so the LLM can highlight only what's new, and can stay silent when there's nothing worth reporting.
- One-shot tasks that deactivate themselves after firing once.
- English and Spanish translations included.
Requirements
- PHP 8.3+
- Laravel 13
- Filament 5
- An IMAP-accessible mailbox
- An LLM provider supported by Prism PHP (Anthropic by default)
Installation
Register the plugin in your Filament panel:
Run the migrations (they are autoloaded by the package, so this is all you need):
Publishing is optional and only needed when you want to customize things:
Configuration
Most settings can be driven by environment variables; see config/sisifo.php for the full list and defaults.
IMAP
LLM
The prism driver delegates to Prism PHP, so configure your provider credentials (e.g. your Anthropic API key) as Prism expects.
Schedule
The package registers the mailbox:process command to run every minute (in the environments listed under sisifo.schedule.environments, default production). The command itself throttles the IMAP fetch to check_every_minutes, while task scheduling is evaluated each run. Make sure Laravel's scheduler is active:
Notifications
Usage
Create a Mailbox Task from the Filament resource the plugin registers. Each task has:
- Type —
Summary(scheduled digest) orWatch(continuous). - Prompt — the instructions handed to the LLM for this task.
- Schedule (summary tasks) —
dailyorhourly, with optional days of week, time, and timezone. - Filters —
from_addresses,from_domains,subject_keywords, andlook_back_days(default 7). - Notification methods — any combination of the configured channels.
- Urgent flag, and a one-shot flag to auto-deactivate after a single run.
A shared common prompt (stored in settings) is appended to every task's prompt — handy for global tone/format instructions.
If, after analyzing the emails, the LLM decides there is nothing relevant to report, the task stays silent (no notification is sent).
Running manually
Extending
Custom LLM provider
Implement the contract and bind it:
Custom notification channel
Then add it to sisifo.notifications.channels (and, if it should be selectable per task, to MailboxTaskNotificationEnum).
Note: the
EmbeddingStorecontract and its drivers are scaffolding for a future memory feature and are not yet wired into mailbox tasks.
Translations
English (en) and Spanish (es) are bundled. Publish sisifo-lang to override strings or add locales.
Testing
Changelog
See CHANGELOG.md for what has changed recently.
License
MIT. See LICENSE.md.
All versions of sisifo with dependencies
beyondcode/laravel-mailbox Version ^6.0
filament/filament Version ^5.0
filament/spatie-laravel-settings-plugin Version ^5.0
laravel/framework Version ^13.0
league/html-to-markdown Version ^5.1
prism-php/prism Version ^0.99.2
spatie/laravel-settings Version ^3.0
webklex/laravel-imap Version ^6.2