| Crates.io | agent-core |
| lib.rs | agent-core |
| version | 0.2.0 |
| created_at | 2026-01-21 01:01:50.053949+00 |
| updated_at | 2026-01-22 18:50:32.311002+00 |
| description | A Rust Framework to build TUI Agents |
| homepage | |
| repository | https://github.com/deepmesa/agent-core |
| max_upload_size | |
| id | 2057949 |
| size | 956,075 |
A Rust framework for building terminal UI agents powered by large language models.
agent-core provides the infrastructure to create production-ready LLM-powered terminal applications. It handles the complexity of managing async communication between UI components, LLM providers, and tool execution while offering flexible abstractions for customization.
Add agent-core to your Cargo.toml:
[dependencies]
agent-core = "0.1.0"
Create a minimal agent by implementing the AgentConfig trait:
use agent_core::agent::{AgentConfig, AgentCore};
struct MyAgent;
impl AgentConfig for MyAgent {
fn config_path(&self) -> &str {
"~/.config/myagent"
}
fn default_system_prompt(&self) -> &str {
"You are a helpful assistant."
}
fn log_prefix(&self) -> &str {
"myagent"
}
fn name(&self) -> &str {
"MyAgent"
}
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let agent = AgentCore::new(MyAgent)?;
agent.run().await?;
Ok(())
}
This creates a working terminal agent with chat UI, LLM integration, and tool execution capabilities.
The framework has four main components:
AgentCore for quick setupCommunication flows through async channels in an event-driven architecture. The controller coordinates between the UI, LLM provider, and tool execution layers.
Contributions in any form (suggestions, bug reports, pull requests, and feedback) are welcome. If you've found a bug, you can submit an issue or email me at rsingh@arrsingh.com.
This project is dual-licensed under the MIT LICENSE or the Apache-2 LICENSE:
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Contact: rsingh@arrsingh.com