4 releases (2 breaking)
| 0.3.1 | Dec 18, 2025 |
|---|---|
| 0.3.0 | Dec 6, 2025 |
| 0.2.0 | Nov 2, 2025 |
| 0.1.0 | Sep 24, 2024 |
#1140 in Network programming
68KB
1.5K
SLoC
jutella-xmpp
XMPP LLM bridge based on tokio-xmpp and jutella.
Supports OpenAI (including Azure auth flavor) and OpenRouter chat completions API.
Features
- Allowlist of user JIDs with wildcards.
- Rolling context window with min/max token limits (see the config parameters description for details).
- Presence, read receipts & composing notifications.
- Image & PDF file attachments.
- Image generation (only with OpenRouter, no multi-turn editing support).
Installation
Install the executable
- Install
cargofrom https://rustup.rs/. - Install
jutella-xmppfrom crates.io withcargo install jutella-xmpp.
The executable will be installed as$HOME/.cargo/bin/jutellaxmpp. - Alternatively, clone the repo and build the executable with
cargo build --release. The resulting executable will betarget/release/jutellaxmpp. - Copy the executable to
/usr/local/bin.
Create a user for runnig the daemon
sudo useradd --system --shell /sbin/nologin --home-dir /nonexistent jutella
Install the config
- Copy the config example to
/etc. - Make it readable by
jutellagroup:sudo chmod 640 /etc/jutellaxmpp.toml sudo chown root:jutella /etc/jutellaxmpp.toml - Edit the config to match your configuration.
Install the systemd service
- Copy systemd service to
/etc/systemd/system. - Enable it to run on system startup:
sudo systemctl enable jutellaxmpp.service. - Start the service:
sudo systemctl start jutellaxmpp.service.
Dependencies
~42–67MB
~1M SLoC