rtb-chat
Part of the phpboyscout Rust toolkit — small, framework-free crates extracted from rust-tool-base.
Unified multi-provider AI chat client. genai covers the mainstream
(OpenAI, Gemini, Ollama, OpenAI-compatible); the Claude backend
drops down to direct Anthropic Messages API calls for prompt caching,
extended thinking, and citations. Structured output is JSON-Schema
validated before deserialising.
Formerly rtb-ai — renamed at extraction for GTB-family name
convergence (Go counterpart:
chat.go.phpboyscout.uk). Only the
crate identity changed; the API is unchanged.
use ;
let client = new?;
let reply = client.chat.await?;
- Docs: https://chat.rust.phpboyscout.uk
- API reference: https://docs.rs/rtb-chat
- Crate: https://crates.io/crates/rtb-chat
Development
just ci runs the full local gate (fmt, clippy, nextest, doc, deny).
The test suite runs entirely against wiremock — no provider API
keys are needed. Releases are cut by release-plz from Conventional
Commits — do not tag manually.
License
MIT