Thanks to visit codestin.com
Credit goes to lib.rs

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

MIT license

68KB
1.5K SLoC

jutella-xmpp

License crates.io

XMPP LLM bridge based on tokio-xmpp and jutella.

Supports OpenAI (including Azure auth flavor) and OpenRouter chat completions API.

Features

  1. Allowlist of user JIDs with wildcards.
  2. Rolling context window with min/max token limits (see the config parameters description for details).
  3. Presence, read receipts & composing notifications.
  4. Image & PDF file attachments.
  5. Image generation (only with OpenRouter, no multi-turn editing support).

Installation

Install the executable

  1. Install cargo from https://rustup.rs/.
  2. Install jutella-xmpp from crates.io with cargo install jutella-xmpp.
    The executable will be installed as $HOME/.cargo/bin/jutellaxmpp.
  3. Alternatively, clone the repo and build the executable with cargo build --release. The resulting executable will be target/release/jutellaxmpp.
  4. 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

  1. Copy the config example to /etc.
  2. Make it readable by jutella group:
    sudo chmod 640 /etc/jutellaxmpp.toml
    sudo chown root:jutella /etc/jutellaxmpp.toml
    
  3. Edit the config to match your configuration.

Install the systemd service

  1. Copy systemd service to /etc/systemd/system.
  2. Enable it to run on system startup: sudo systemctl enable jutellaxmpp.service.
  3. Start the service: sudo systemctl start jutellaxmpp.service.

Dependencies

~42–67MB
~1M SLoC