PHPackages                             texxasrulez/ai\_roundcube\_assistant - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. texxasrulez/ai\_roundcube\_assistant

ActiveRoundcube-plugin[Utility &amp; Helpers](/categories/utility)

texxasrulez/ai\_roundcube\_assistant
====================================

AI-powered assistant plugin for Roundcube webmail.

0.0.1(1w ago)04↓100%GPL-3.0CSSPHP &gt;=7.4

Since May 31Pushed 1w agoCompare

[ Source](https://github.com/texxasrulez/ai_roundcube_assistant)[ Packagist](https://packagist.org/packages/texxasrulez/ai_roundcube_assistant)[ Docs](https://github.com/texxasrulez/ai_roundcube_assistant)[ RSS](/packages/texxasrulez-ai-roundcube-assistant/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

AI Roundcube Assistant
======================

[](#ai-roundcube-assistant)

AI Roundcube Assistant is a Roundcube plugin that adds AI-assisted compose tools, message summarization, threat detection, action extraction, follow-up tracking, priority classification, newsletter digests, and an optional inbox health dashboard.

Requirements
------------

[](#requirements)

- Roundcube 1.4 or newer, with tested conventions targeting 1.6
- PHP 7.4 or newer
- PHP cURL extension for AI provider calls
- PHP-FPM `fastcgi_finish_request()` support for long-running async AI jobs
- Optional database tables for cache, follow-ups, preferences, and audit logging
- Optional Ollama for local, offline AI

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

[](#installation)

1. Place this directory at `plugins/ai_roundcube_assistant/`.
2. Copy `config.inc.php.dist` to `config.inc.php` and edit provider settings.
3. Enable the plugin in Roundcube `config/config.inc.php`:

```
$config['plugins'][] = 'ai_roundcube_assistant';
```

4. Optional: load the matching SQL file from `SQL/` into the Roundcube database.

Basic compose and summarize requests do not require the optional database tables. Audit, cache, preferences, and follow-up storage degrade gracefully if tables are absent.

Providers
---------

[](#providers)

Supported providers:

- Ollama local LLM
- OpenAI official API
- OpenAI-compatible API endpoint
- Anthropic API
- Google Gemini API

The default config uses Ollama and blocks cloud email body processing. API keys stay in PHP config and are never sent to browser JavaScript.

To use OpenAI for message analysis, enable the provider and explicitly allow cloud email body processing:

```
$config['ai_assistant_default_provider'] = 'openai';
$config['ai_assistant_providers']['openai']['enabled'] = true;
$config['ai_assistant_allow_cloud_email_body'] = true;
```

Local Ollama Setup
------------------

[](#local-ollama-setup)

Install and run Ollama on the host that serves Roundcube, then pull a model:

```
ollama pull llama3.1
```

Set:

```
$config['ai_assistant_default_provider'] = 'ollama';
$config['ai_assistant_providers']['ollama']['endpoint'] = 'http://localhost:11434';
$config['ai_assistant_providers']['ollama']['model'] = 'llama3.1';
```

Privacy And Security
--------------------

[](#privacy-and-security)

- Email bodies are not sent to cloud providers unless `$config['ai_assistant_allow_cloud_email_body'] = true`.
- Attachments are not sent to cloud providers unless `$config['ai_assistant_allow_cloud_attachments'] = true`.
- Prompt templates label email content as untrusted and instruct models to ignore instructions embedded in messages.
- The plugin never auto-sends email, opens links, downloads attachments, or creates filters.
- Generated compose content is inserted only after user approval.

Skin Support
------------

[](#skin-support)

The plugin ships styles for `elastic`, `larry`, `classic`, and colored Larry variants: `autumn_larry`, `black_larry`, `blue_larry`, `green_larry`, `grey_larry`, `pink_larry`, `plata_larry`, `summer_larry`, `teal_larry`, and `violet_larry`.

Colored Larry styling is lightweight and independent. The referenced colored Larry repositories were used only as visual/color references; this plugin does not require them.

Troubleshooting
---------------

[](#troubleshooting)

- Local AI unavailable: confirm Ollama is running and the configured model is pulled.
- Cloud disabled warning: enable `$config['ai_assistant_allow_cloud_email_body']` only if your policy allows email content to leave the server.
- Missing API key: set the provider `api_key` in server-side plugin config.
- Provider timeout: synchronous provider HTTP timeouts are capped at 22 seconds so Roundcube can return a plugin error before Apache/PHP-FPM returns a 504.
- Slow local models: compose, summarize, threat scan, action extraction, and priority buttons use async jobs when PHP-FPM supports `fastcgi_finish_request()`. Set `$config['ai_assistant_async_timeout']` up to `300` seconds for larger Ollama models.
- Blank AI panel: check browser console and Roundcube logs with `$config['ai_assistant_log_level']`.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance98

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

9d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/95c3af6e41a9786e8be2edb48176e43a7d1ddef429793a312168450ff4269deb?d=identicon)[texxasrulez](/maintainers/texxasrulez)

---

Top Contributors

[![texxasrulez](https://avatars.githubusercontent.com/u/10519182?v=4)](https://github.com/texxasrulez "texxasrulez (2 commits)")

### Embed Badge

![Health badge](/badges/texxasrulez-ai-roundcube-assistant/health.svg)

```
[![Health](https://phpackages.com/badges/texxasrulez-ai-roundcube-assistant/health.svg)](https://phpackages.com/packages/texxasrulez-ai-roundcube-assistant)
```

###  Alternatives

[roundcube/roundcubemail

The Roundcube Webmail suite

7.0k1.4k3](/packages/roundcube-roundcubemail)[roundcube/carddav

CardDAV adapter for connecting to CardDAV-enabled addressbooks

27859.0k](/packages/roundcube-carddav)[johndoh/contextmenu

Adds context menus with common tasks to various parts of Roundcube

9778.4k1](/packages/johndoh-contextmenu)[toteph42/identity_switch

This plugin allows users to switch between different identities (and check for new mails) in a single Roundcube session.

221.4k](/packages/toteph42-identity-switch)[kolab/calendar

Calendar plugin

3311.0k](/packages/kolab-calendar)[johndoh/sauserprefs

Control SpamAssassin settings from within Roundcube

563.7k](/packages/johndoh-sauserprefs)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
