XMPP LLM bridge based on tokio-xmpp and jutella.
Supports OpenAI (including Azure auth flavor) and OpenRouter chat completions API.
- 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 & editing (only with OpenRouter, no multi-turn conversations support).
- 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.
sudo useradd --system --shell /sbin/nologin --home-dir /nonexistent jutella- 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.
- 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.