aether-llm 0.1.0

Multi-provider LLM abstraction layer for the Aether AI agent framework
Documentation

aether-llm

Multi-provider LLM abstraction layer for the Aether AI agent framework.

Providers

Provider Example model string Env var
Anthropic anthropic:claude-sonnet-4-5-20250929 ANTHROPIC_API_KEY
OpenAI openai:gpt-4o OPENAI_API_KEY
OpenRouter openrouter:moonshotai/kimi-k2 OPENROUTER_API_KEY
ZAI zai:GLM-4.6 ZAI_API_KEY
AWS Bedrock bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0 AWS credentials
Ollama ollama:llama3.2 None (local)
Llama.cpp llamacpp None (local)

Key Types

  • StreamingModelProvider -- Core trait for all LLM providers. Implement this to add a new provider.
  • Context -- Manages the message history, tool definitions, and reasoning effort sent to the model.
  • ChatMessage -- Message enum with variants for user, assistant, and tool call messages.
  • ToolDefinition -- Describes a tool the model can invoke (name, description, JSON schema).
  • LlmModel -- Catalog of known models with metadata (context window, capabilities).

Usage

use llm::providers::openrouter::OpenRouterProvider;
use llm::StreamingModelProvider;

// Create a provider from a model string
let provider = OpenRouterProvider::default("moonshotai/kimi-k2").unwrap();
println!("Using model: {:?}", provider.model());
println!("Context window: {:?}", provider.context_window());

Feature Flags

Feature Description
bedrock AWS Bedrock provider support
oauth OAuth authentication (used by Codex provider)
codex OpenAI Codex provider (implies oauth)

License

MIT