Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Laravel Package

vibefilter/filament

Filament integration for VibeFilter, bringing reusable, configurable filters to Filament resources and tables. Build cleaner Laravel admin listings, compose filter sets, and keep query logic organized in one place.

View on GitHub
Deep Wiki
Context7

Filter Filament tables with a plain-English statement. Each row is scored by TypeSafe Jev.

Frequently asked questions about Filament
How do I install vibefilter/filament in a Laravel Filament panel?
Install with composer require vibefilter/filament, then register it as a Filament plugin in your panel provider. Publish the config file and run the migration added in v0.3.0 (last_used_at) before using vibefilter:prune. Pin the exact version, since the package is at v0.3.0 and its public surface can still change before 1.0.
Which Filament and Laravel versions does vibefilter/filament support?
Check the Filament constraint in the package's composer.json before installing, because this excerpt does not state a supported major version. Run composer show vibefilter/filament to confirm what your Laravel and Filament versions resolve against. Because the package is pre-1.0, pin an exact version rather than a caret range so a minor release cannot move config keys or artisan signatures under you.
How does vibefilter/filament actually filter table rows — does it call an LLM?
Yes. VibeFilter scores each row against a natural-language statement using an LLM, caches that score, and then filters the table on a score threshold you choose. You define the filter set once in the core VibeFilter package and this plugin renders it as a drop-in Filament form. Treat the threshold as a tunable relevance cut-off rather than a correctness or quality guarantee.
What row data leaves my application when VibeFilter scores a filter?
Row content is sent to the model provider, which the technical evaluation flags as the dominant risk of the package. Decide which columns may leave your application and which tables are eligible before any rollout, then run a DPIA-style review. Exactly what is transmitted — full record, selected columns, or a configured projection — is an open question worth confirming in the source before you wire it to production data.
How do I stop the VibeFilter score cache from growing forever?
Scores are persisted per statement in a normal database table, and vibefilter:prune is the only lifecycle control. The v0.3.0 migration adds last_used_at, which prune depends on, but rows scored before the migration keep a NULL value. Always run prune with --dry-run first, since NULL last_used_at rows may be treated as old and removed while users still depend on those statements.
Why did my VibeFilter score threshold stop producing the same results?
Thresholds in the 0.6 to 0.9 range are only meaningful relative to a specific model and prompt. A silent provider-side model update or a driver switch can invalidate both your tuned threshold and the cached scores behind it, and the package does not describe a scoring version signal. After any model or prompt change, treat it as a cache invalidation event and re-tune the threshold for the affected statements.
Is vibefilter/filament suitable for customer-facing, high-traffic pages?
No. It is aimed at admin and back-office surfaces such as support queues, CRM lists, moderation queues, and catalogue triage. Customer-facing high-QPS paths run into latency, per-row token cost, data egress, and non-deterministic results. It is also a poor fit anywhere filtering must be deterministic, auditable, or restricted to data that cannot leave your application boundary.
Can I reuse the same filter definitions in Filament and the rest of my Laravel app?
Yes. The core VibeFilter package owns the filter definitions and vibefilter/filament only supplies the Filament form component, so one filter set can drive your admin panel and your other Laravel surfaces. It works across Filament resources, tables, and Livewire pages, and the field types and layout are configurable. Keeping the definitions in one place is the main reason to adopt the plugin rather than hand-rolling filter UIs.
Which model providers work with VibeFilter, and how do I set OpenRouter attribution headers?
OpenRouter is the provider relationship described in the evaluation, and the plugin sends HTTP-Referer and X-OpenRouter-Title headers by default, configured in the published config file. Check the package and its config for the full driver list, since OpenAI, Anthropic, and self-hosted embeddings appear as open questions rather than confirmed options. If the attribution values still point at the package, your usage and referer detail get credited externally, so change them to your own app.
What changed in vibefilter/filament v0.3.0 and how do I upgrade safely?
v0.3.0 adds a threshold tuner, the vibefilter:prune command, and an OpenRouter attribution config block, plus an additive last_used_at migration that existing filtering behaviour does not require. Re-publish or diff your config, because previously published configs do not receive the new attribution block and attribution silently stays off. Backfill last_used_at before running prune, and pin the version so future 0.x changes cannot break your integration unnoticed.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings