Quick Start
Use the CLI when you want an agent in the terminal. Use the Rust library when you want to embed the runtime in your own application.
Install the CLI
cargo install telos-cliexport TELOS_PROVIDER=deepseekexport TELOS_API_KEY=sk-...DEEPSEEK_API_KEY also works for the DeepSeek provider. If you run telos
interactively without a configured provider, the CLI opens the setup wizard.
Start the full-screen TUI:
telosRun one prompt and exit:
telos "Review src/lib.rs"You can keep credentials in a user config file instead of shell env:
[agent]provider = "deepseek"model = "auto"
[env]DEEPSEEK_API_KEY = "sk-..."Choose a provider and model explicitly:
telos --provider deepseek --model deepseek-v4-pro "Refactor error handling"--model auto uses the default routed DeepSeek setup: deepseek-v4-pro for
thinking and deepseek-v4-flash for fast execution.
Use separate thinking and fast execution models:
telos --provider deepseek \ --thinking-model deepseek-v4-pro \ --fast-model deepseek-v4-flash \ "Refactor error handling"Add the Library
cargo add telos_agentMinimal runtime example:
use telos_agent::{ AgentConfig, AgentSession, DeepSeekConfig, DeepSeekProvider, ToolRegistry, register_core_tools,};
# async fn example() -> Result<(), telos_agent::AgentError> {let provider = DeepSeekProvider::new(DeepSeekConfig::from_env("deepseek-v4-pro")?);let mut tools = ToolRegistry::new();register_core_tools(&mut tools);
let mut session = AgentSession::new(AgentConfig::default())?;let result = session.run_turn(&provider, &tools, "Summarize this project").await?;println!("{}", result.final_message.text_content());# Ok(())# }The DeepSeek provider reads DEEPSEEK_API_KEY from the environment when created with DeepSeekConfig::from_env.