jutella

Crates.iojutella
lib.rsjutella
version0.6.0
created_at2024-09-19 08:19:46.208616+00
updated_at2025-09-09 08:29:47.046809+00
descriptionChatbot API client library and CLI interface.
homepage
repositoryhttps://github.com/dmitry-markin/jutella
max_upload_size
id1380052
size196,589
Dmitry Markin (dmitry-markin)

documentation

README

jutella

License crates.io docs.rs

Chatbot API client library and CLI interface. Supports OpenAI chat completions API, including OpenAI, Azure, and OpenRouter flavors.

Command line interface

To get started with CLI, put your API key and endpoint into ~/.config/jutella.toml. See a config example.

Screenshot

Invoking the CLI with jutella -x makes it copy every response to clipboard on X11.

Installation

  1. Install cargo from https://rustup.rs/.

  2. Install the CLI from crates.io with cargo install jutella.

  3. Alternatively, clone the repo and build the CLI with cargo build --release. The resulting executable will be target/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.

Commit count: 50

cargo fmt