9 releases (breaking)
| 0.8.1 | Dec 18, 2025 |
|---|---|
| 0.8.0 | Dec 6, 2025 |
| 0.7.0 | Oct 29, 2025 |
| 0.6.0 | Sep 9, 2025 |
| 0.2.0 | Sep 19, 2024 |
#947 in Web programming
Used in jutella-xmpp
115KB
2K
SLoC
jutella
Chatbot API client library and CLI interface. Supports OpenAI (including Azure auth flavor) and OpenRouter chat completions API.
Features
- Rolling context window with min/max token limits.
- Image & PDF file attachments.
- Image generation and editing (only with OpenRouter).
Command line interface
To get started with CLI, put your API key and endpoint into ~/.config/jutella.toml. See a config example.

Invoking the CLI with jutella -x makes it copy every response to clipboard on X11.
Installation
- Install
cargofrom https://rustup.rs/. - Install the CLI from crates.io with
cargo install jutella. - Alternatively, clone the repo and build the CLI with
cargo build --release. The resulting executable will betarget/release/jutella.
Library
To use the chat API, initialize ChatClient with OPENAI_API_KEY and ChatClientConfig:
let mut chat = ChatClient::new(Auth::Token(api_key), ChatClientConfig::default())?;
Request replies via ChatClient::ask():
let answer = chat.ask("What is the highest point on Earth?".to_string()).await?;
println!("{answer}");
ChatClient keeps the conversation context and uses it with every ask() to generate the reply.
Dependencies
~21–43MB
~497K SLoC