{
  "markdown": "# Everruns\n\n<p align=\"center\">\n  <img src=\"./assets/readme/banner.png\" alt=\"Everruns\" width=\"100%\" />\n</p>\n\n[![Website](https://img.shields.io/badge/Website-everruns.com-blue)](https://everruns.com)\n[![Docs](https://img.shields.io/badge/Docs-docs.everruns.com-green)](https://docs.everruns.com)\n[![Crates.io](https://img.shields.io/crates/v/everruns.svg)](https://crates.io/crates/everruns)\n[![CI](https://github.com/everruns/everruns/actions/workflows/ci.yml/badge.svg)](https://github.com/everruns/everruns/actions/workflows/ci.yml)\n[![Repo: Agent Friendly](https://img.shields.io/badge/Repo-Agent%20Friendly-blue)](AGENTS.md)\n\n**Build capable AI agents in Rust. Run them where they belong.**\n\nEverruns is an open-source framework for building AI agents directly in Rust\napplications. Define agents, attach models and typed tools, run multi-turn\nsessions, and observe execution through one application-facing API.\n\nUse the framework in your application. When you need a shared runtime and\nproduction operations, run the Everruns platform yourself or use\n[Hosted Everruns](https://app.everruns.com).\n\n[Build with the framework](https://docs.everruns.com/framework/quickstart/) · [Read the docs](https://docs.everruns.com/framework/) · [Use Hosted Everruns](https://app.everruns.com)\n\n## Build an agent\n\nAdd the application-facing crate:\n\n```bash\ncargo add everruns --features openai\ncargo add tokio --features macros,rt-multi-thread\nexport OPENAI_API_KEY=sk-...\n```\n\nThen define a typed tool, give it to an agent, and run a turn:\n\n```rust\nuse std::time::{SystemTime, UNIX_EPOCH};\n\nuse everruns::{Agent, Engine, OpenAI};\n\n#[everruns::tool]\nasync fn current_time() -> Result<String, String> {\n    let seconds = SystemTime::now()\n        .duration_since(UNIX_EPOCH)\n        .map_err(|error| error.to_string())?\n        .as_secs();\n    Ok(format!(\"{seconds} seconds since the Unix epoch\"))\n}\n\n#[tokio::main]\nasync fn main() -> Result<(), Box<dyn std::error::Error>> {\n    let agent = Agent::builder()\n        .name(\"assistant\")\n        .instructions(\"Use current_time when asked about time. Be concise.\")\n        .provider(OpenAI::from_env()?)\n        .model(\"gpt-5-mini\")\n        .tool(current_time())\n        .build()?;\n\n    let session = Engine::new().create(agent);\n    let turn = session.send_and_wait(\"What time is it?\").await?;\n    println!(\"{}\", turn.response);\n    Ok(())\n}\n```\n\nEverruns derives the tool schema from the Rust function, lets the model call it during the turn, and returns the result before producing the final response. [Continue the framework quickstart.](https://docs.everruns.com/framework/quickstart/)\n\n> **Note:** Everruns is under active development. Expect rapid changes and experimental features.\n\n## The agent framework\n\nThe [`everruns`](./crates/everruns) crate keeps the application-facing agent\nloop explicit and embeddable:\n\n- **Agents and sessions** — describe an agent once, then create independent,\n  multi-turn conversations through an `Engine`.\n- **Models and providers** — start offline, use OpenAI, or attach a custom\n  provider without coupling application code to a closed provider enum.\n- **Typed tools and capabilities** — give agents function tools and opt into\n  filesystem, shell, web, Lua, and MCP boundaries deliberately.\n- **Events, cancellation, and lifecycle hooks** — observe a live turn, add\n  application behavior at execution boundaries, and stop work cooperatively.\n- **Persistence and execution choices** — begin with engine-lifetime memory,\n  add local crash-durable state, or cross deliberately into a distributed host.\n\n[Framework overview](https://docs.everruns.com/framework/)\n\n## Choose how you run Everruns\n\n| Framework | Self-hosted platform | Hosted Everruns |\n| --- | --- | --- |\n| Start here. Embed Everruns in the Rust application you are building; you own the process, deployment, integrations, and data path.<br><br>[Framework quickstart →](https://docs.everruns.com/framework/quickstart/) | Run the shared runtime in infrastructure you manage when you need a control plane, server, workers, UI, remote API, and durable execution.<br><br>[Docker Compose quickstart →](https://docs.everruns.com/getting-started/docker-compose/) · [Architecture →](https://docs.everruns.com/explanation/architecture/) | Use the shared runtime and production operations without operating the platform yourself.<br><br>[Open Hosted Everruns →](https://app.everruns.com) |\n\n### Platform capabilities\n\nThe self-hosted and hosted platform adds durable execution, a stateless worker\npool, a web UI, and a remote API. It also publishes agents to Slack, web chat,\nA2A, webhooks, schedules, voice, HTTP, and MCP; manages organizations and\npermissions; and supports observation, budgeting, and evaluation.\n\n[Platform capabilities](https://docs.everruns.com/features/capabilities/) · [Apps and channels](https://docs.everruns.com/features/apps/) · [Durable execution](https://docs.everruns.com/explanation/durable-execution/) · [Observability](https://docs.everruns.com/observability/)\n\n## Documentation\n\nFull documentation lives at **[docs.everruns.com](https://docs.everruns.com)**.\n\n- [Everruns Framework](https://docs.everruns.com/framework/) — build and run agents inside a Rust application\n- [Framework quickstart](https://docs.everruns.com/framework/quickstart/) — install the crate and configure a provider\n- [Docker Compose quickstart](https://docs.everruns.com/getting-started/docker-compose/) — run the full platform stack\n- [How-to guides](https://docs.everruns.com/how-to/) — give agents tools, stream events, publish to Slack, and enforce budgets\n- [API reference](https://docs.everruns.com/api/) — OpenAPI 3.0\n- [SDKs](https://docs.everruns.com/features/sdk/) — Rust, Python, and TypeScript clients\n\n## Security\n\nEverruns runs untrusted agent and tool code for multiple tenants, so security is\na core design goal. Threats are tracked with stable IDs across authentication,\ntenant isolation, permissions, tool execution, LLM integration, sandboxes,\ndurable execution, and channel integrations, each with a documented mitigation\nand, where feasible, test coverage.\n\n- [Threat model](./knowledge/security/threat-model.md) — full analysis, mitigation status, and accepted risks\n- [Security testing](./knowledge/security/security-testing.md) — threat-model tests, failure injection, DeepSec scanning, and supply-chain checks\n- [Security policy](./SECURITY.md) — report a vulnerability\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for local development setup and\n[AGENTS.md](./AGENTS.md) for the conventions used by both human and AI\ncontributors.\n\n## License\n\nMIT\n",
  "bytes": 6632,
  "sha": "45fbef95ebe119636d424b6ea0b7a34b678d01e600c8935273c9760f9005ce1e",
  "repo_slug": "everruns/everruns",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_everruns_everruns_knowledge_index_md_7b332cac/readme"
}