| Crates.io | helios-engine |
| lib.rs | helios-engine |
| version | 0.5.5 |
| created_at | 2025-10-29 18:38:36.104329+00 |
| updated_at | 2025-12-29 10:57:52.803929+00 |
| description | A powerful and flexible Rust framework for building LLM-powered agents with tool support, both locally and online |
| homepage | https://github.com/Ammar-Alnagar/Helios-Engine.git |
| repository | https://github.com/Ammar-Alnagar/Helios-Engine.git |
| max_upload_size | |
| id | 1907169 |
| size | 8,546,654 |
Helios Engine is a powerful and flexible Rust framework for building LLM-powered agents with tool support, streaming chat capabilities, and easy configuration management. Create intelligent agents that can interact with users, call tools, and maintain conversation context - with both online and offline local model support.
.react() call - includes custom reasoning prompts for domain-specific taskslocal feature)local feature for offline model support - build only what you need!.tools(vec![...]) and .agents(vec![...]) for bulk operationsFull Documentation Index - Complete navigation and updated structure
# Install without local model support (lighter, faster install)
cargo install helios-engine
# Install with local model support (enables offline mode with llama-cpp-2)
cargo install helios-engine --features local
# Initialize configuration
helios-engine init
# Start interactive chat
helios-engine chat
# Ask a quick question
helios-engine ask "What is Rust?"
Add to your Cargo.toml:
[dependencies]
helios-engine = "0.5.0"
tokio = { version = "1.35", features = ["full"] }
use helios_engine::Agent;
#[tokio::main]
async fn main() -> helios_engine::Result<()> {
let mut agent = Agent::quick("Bot").await?;
let response = agent.ask("What is 2+2?").await?;
println!("{}", response);
Ok(())
}
use helios_engine::{Agent, CalculatorTool, Config};
#[tokio::main]
async fn main() -> helios_engine::Result<()> {
let config = Config::builder()
.m("gpt-4")
.key("your-api-key")
.temp(0.7)
.build();
let mut agent = Agent::builder("MathBot")
.config(config)
.prompt("You are a helpful math assistant")
.with_tool(Box::new(CalculatorTool))
.build()
.await?;
let response = agent.ask("What is 15 * 8?").await?;
println!("{}", response);
Ok(())
}
For local model support:
[dependencies]
helios-engine = { version = "0.5.0", features = ["local"] }
tokio = { version = "1.35", features = ["full"] }
use helios_engine::{Agent, Config, CalculatorTool};
#[tokio::main]
async fn main() -> helios_engine::Result<()> {
let config = Config::from_file("config.toml")?;
let mut agent = Agent::builder("MyAssistant")
.config(config)
.system_prompt("You are a helpful AI assistant.")
.tool(Box::new(CalculatorTool))
.react() // Enable ReAct mode for reasoning before acting!
.build()
.await?;
let response = agent.chat("What is 15 * 8?").await?;
println!("{}", response);
Ok(())
}
See Getting Started Guide or visit the Official Book for detailed examples and comprehensive tutorials!
Create custom HTTP endpoints with minimal code:
use helios_engine::{ServerBuilder, get, EndpointBuilder, EndpointResponse};
let endpoints = vec![
// Simple static endpoint
get("/api/version", serde_json::json!({"version": "1.0"})),
// Dynamic endpoint with request handling
EndpointBuilder::post("/api/echo")
.handle(|req| {
let msg = req.and_then(|r| r.body).unwrap_or_default();
EndpointResponse::ok(serde_json::json!({"echo": msg}))
})
.build(),
];
ServerBuilder::with_agent(agent, "model")
.endpoints(endpoints)
.serve()
.await?;
70% less code than the old API! See Custom Endpoints Guide for details.
Helios Engine includes a comprehensive suite of production-ready tools:
Learn more in the Tools Guide.
helios-engine/
├── src/ # Source code
├── examples/ # Example applications
├── docs/ # Documentation
├── book/ # mdBook source (deployed to vercel)
├── tests/ # Integration tests
├── Cargo.toml # Project configuration
└── README.md # This file
We welcome contributions! See our Contributing Guide for details on:
This project is licensed under the MIT License - see the LICENSE file for details.
Made with love in Rust by Ammar Alnagar