PHPackages                             survos/ai-chat-bundle - 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. [API Development](/categories/api)
4. /
5. survos/ai-chat-bundle

ActiveSymfony-bundle[API Development](/categories/api)

survos/ai-chat-bundle
=====================

Expose Symfony AI agents over an OpenAI-compatible /v1/chat/completions endpoint so chat platforms (e.g. Mattermost Agents) can @-mention them. The bundle owns transport/auth/routing; each app supplies a thin ChatAgentResolver. Ships an mm:post demo command over the Symfony Mattermost notifier. MCP tools planned for v2.

2.11.1(today)00MITPHPPHP ^8.4

Since Jun 26Pushed todayCompare

[ Source](https://github.com/survos/ai-chat-bundle)[ Packagist](https://packagist.org/packages/survos/ai-chat-bundle)[ GitHub Sponsors](https://github.com/kbond)[ RSS](/packages/survos-ai-chat-bundle/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (9)Versions (2)Used By (0)

survos/ai-chat-bundle
=====================

[](#survosai-chat-bundle)

Expose a Survos app's **Symfony AI agents** to chat platforms over an OpenAI-compatible endpoint, so a chat client (first: **Mattermost** via its Agents plugin) can `@`-mention them — no bot client, no chat UI to build. See `PLAN.md`.

```
@Curator …  →  Mattermost Agents plugin  →  POST {app}/v1/chat/completions  →  resolve persona → run agent → reply

```

The bundle owns the **communications** (OpenAI transport, auth, persona routing); each app supplies one thin `ChatAgentResolverInterface`. Comms first — this release ships the Mattermost wiring and an `mm:post` proof; the completions endpoint + agent wiring come next.

Install
-------

[](#install)

```
composer require survos/ai-chat-bundle
```

Extends `Survos\Kit\AbstractSurvosBundle`; the `mm:post` command auto-registers.

Demo — prove the chat plumbing (`mm:post`)
------------------------------------------

[](#demo--prove-the-chat-plumbing-mmpost)

The demo lives in [`demo/`](demo/) — a tiny console app that posts to a Mattermost instance through the **Symfony Mattermost notifier**.

1. **Have a Mattermost over https.** The notifier hardcodes `https://`, so it can't reach a plain-http local docker. Use the deployed server: **`https://chat.survos.com`** (the `survos-sites/mattermost` repo on Dokku).
2. In Mattermost: create a **bot** (or personal access token) and grab the target **channel id** (the 26-char id in the channel URL, or via the API).
3. Configure the demo: ```
    cd demo
    cp .env.example .env.local
    # set MATTERMOST_DSN=mattermost://@chat.survos.com?channel=
    composer install
    ```
4. Post: ```
    bin/console mm:post "Hello, Mattermost!"
    bin/console mm:post "Hi there"      # override the default channel
    ```

A cooler demo (later): a **TUI** that posts *and* listens, instead of a one-shot post.

Roadmap
-------

[](#roadmap)

- **v1 (next):** `POST /v1/chat/completions` controller + `ChatAgentResolverInterface`(non-streaming; `symfony/ai` ^0.10).
- **v2:** MCP tools — watch `symfony/ai#2237` (`#[AsMcpApp]` / `#[AsMcpAppTool]`); relates to `survos/mcp-bundle`.

See `PLAN.md` for the full design and decisions.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 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

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/21b39551f92ed4143772c622f9e571589c5a72c96ab3c53fe67489ce0d83e806?d=identicon)[tacman1123](/maintainers/tacman1123)

---

Top Contributors

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

---

Tags

symfonyainotifieropenaiAgentchatMattermostcompletions

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/survos-ai-chat-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/survos-ai-chat-bundle/health.svg)](https://phpackages.com/packages/survos-ai-chat-bundle)
```

###  Alternatives

[chameleon-system/chameleon-base

The Chameleon System core.

1027.9k4](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

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