explaingit

easylink-ai-open/agent-runtime

Analysis updated 2026-05-18

292PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A provider-neutral Python library that supplies the core agent loop, tool-calling, streaming, retries, and hooks so products can build AI agents without rewriting that logic per LLM provider.

Mindmap

mindmap
  root((repo))
    What it does
      Runs agent loop
      Neutral LLM types
      Handles tool calls
    Tech stack
      Python
      OpenAI API
      Anthropic API
    Use cases
      Multi-provider agents
      Streaming responses
      Context compaction
    Audience
      AI agent developers
      Platform builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a custom AI agent loop that works with multiple LLM providers without rewriting provider-specific code.

USE CASE 2

Add tool-calling, streaming, and retry handling to an agent without building the request loop from scratch.

USE CASE 3

Enforce collaboration policies like a read-only 'plan mode' that blocks certain tools.

USE CASE 4

Automatically summarize older conversation turns when a context token budget is exceeded.

What is it built with?

PythonOpenAI APIAnthropic API

How does it compare?

easylink-ai-open/agent-runtimeevolink-ai/awesome-blender-seedance-workflow-usecasesyliust/tactile
Stars292295288
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity3/53/54/5
Audiencedeveloperdesignerdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires an LLM provider API key via LLMConfig, product-level concerns like memory and sandboxing must be added separately.

You can use, modify, and distribute this code, including commercially, as long as you keep copyright and license notices and note any changes you made.

In plain English

Agent Runtime is a Python library that provides the core loop for building AI agents, the part that sends a request to a language model, handles any tool calls the model wants to make, repeats as needed, and returns a final answer. It is designed as a standalone building block rather than a full application, so things like memory storage, chat sessions, sandboxing, and messaging channels are left for whatever product uses it to add on top. A key idea in the design is that the loop speaks a neutral, provider-independent format instead of matching OpenAI or Anthropic's specific data shapes directly. Messages, tool calls, and model responses are represented with the library's own types, and separate built-in converters translate to and from each provider's actual wire format. This means the same agent loop can work with different LLM providers just by changing configuration, without a project needing to rewrite its own logic for each one. The runtime is built to be extended through small, swappable pieces rather than one large fixed class. A project can plug in its own tool dispatcher, system prompt builder, and caching strategy, and can also inject hooks that run at points like before a model request, after a tool call, or at the end of a turn, useful for things like enforcing policy or logging. It supports streaming responses, retries model calls that fail transiently, catches errors raised by tools so they get reported back to the model instead of crashing the whole turn, and can pause a turn to wait for input from a human. There is also a mechanism for shrinking the conversation automatically when it grows past a configured token budget, using a separate model call to summarize older messages while keeping the most recent ones intact. The project is written in Python, uses the uv tool for its development environment, and is tested with fakes so no real network calls or databases are needed. It is released under the Apache License 2.0.

Copy-paste prompts

Prompt 1
Show me how to create an Agent with LLMConfig and call agent.ask() against the OpenAI API.
Prompt 2
Explain how ToolDispatcher, SystemPromptProvider, and CacheStrategy fit together in this runtime.
Prompt 3
How do I set up a CollaborationMode that blocks the write_file tool in plan mode?
Prompt 4
Walk me through configuring AgentHooks for before_tool_call and after_turn.

Frequently asked questions

What is agent-runtime?

A provider-neutral Python library that supplies the core agent loop, tool-calling, streaming, retries, and hooks so products can build AI agents without rewriting that logic per LLM provider.

What language is agent-runtime written in?

Mainly Python. The stack also includes Python, OpenAI API, Anthropic API.

What license does agent-runtime use?

You can use, modify, and distribute this code, including commercially, as long as you keep copyright and license notices and note any changes you made.

How hard is agent-runtime to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is agent-runtime for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.