unreal-agent README

The project's README from github.com/unreallabsai/unreal-agent. As one markdown file: README.md.

Unreal Agent

An async-first agent harness from Unreal Labs.

Glossary

Components

Component Responsibility
Session inbox Volatile, session-scoped input idempotency.
Coordinator Persist accepted inputs, run LLM turns, resolve tool translators through the registry, and dispatch committed operations.
Session store Persist canonical session history and operation state; support recovery and forks; atomically record tool-call status with operations.
Context builder Statefully assemble model input in memory. Return the model input together with a record of anything omitted, truncated, or compacted. Perform no I/O and accept no persistence dependencies.
LLM Adapter Send prepared model input to a provider and return a normalized completed response. Own authentication, cancellation, and provider errors.
Tool registry Own the fixed Bash, ViewImage, and skill-use definitions and their translators; expose the host-selected set.
Tool translator Validate a tool call and produce its status and operations. Format a recorded call status and prepared operation output into model results. Perform no I/O.
Operation manager Actor runtime for durable operations. The local implementation is swappable.

Extending the harness

Harness components are composable, and alternative implementations of their interfaces are encouraged.

We intend to preserve these invariants:

For example, a proxy operations manager can send serialized operations to a local operations manager running in a process inside a remote sandbox, allowing tools to execute there.

unreal-agent (unreallabsai/unreal-agent)

Searching Database…

Что это такое?Unreal Agent — это агентский harness на Go, построенный вокруг асинхронности: набор инструментов для запуска LLM-агентов с постоянными сессиями, которые можно форкать, с вызовом инструментов и надёжной фоновой работой.
Это библиотека, на которой я строю своё, или готовое приложение?Это библиотека на Go: пакет harness/, на котором вы строите агентов. В репозитории также есть исполняемые файлы в cmd/, использующие эту библиотеку, и раннеры для бенчмарков в benchmarks/.
Как запустить это у себя?Шагов по установке не приводится. Поскольку это библиотека на Go, первый шаг — импортировать harness/ в свой проект на Go; в cmd/ лежат исполняемые файлы, показывающие, как пользоваться библиотекой на практике.
Мне нужен аккаунт у какого-то конкретного провайдера LLM, чтобы этим пользоваться?Конкретный провайдер не назван. Компонент LLM Adapter отвечает за аутентификацию и возвращает нормализованные ответы, так что вы подключаете ту реализацию провайдера, которая вам нужна.
Что будет, если процесс упадёт посреди разговора?Сессии и состояние операций сохраняются на диск и поддерживают восстановление, так что падение процесса не фатально. Но дедупликация входных данных хранится только в памяти, а при возобновлении сессии с неподдерживаемой версией всегда возникает явная ошибка.
Что «async-first» означает на практике?Работа инструментов выполняется не напрямую в коде: трансляторы превращают запросы модели в сериализуемые операции, которые отдельный actor-рантайм надёжно выполняет, а координатор тем временем продолжает двигать ходы LLM вперёд.
Какие инструменты агент получает из коробки?Фиксированный набор из Bash, ViewImage и инструмента для работы со скиллами, у каждого — свой проверяющий транслятор. Хост решает, какие из них агентская сессия реально увидит.
Что такое сессия?Сохраняемая история разговора агента, которая только дополняется. Сессии можно форкать, а статусы вызовов инструментов записываются атомарно вместе с операциями, которые их породили.
Могут ли инструменты выполняться где-то ещё, например в удалённой песочнице?Да — операции версонируются и всегда сериализуемы, поэтому прокси-менеджер операций может переслать их менеджеру операций, работающему внутри удалённой песочницы, и выполнить инструменты там.
What are similar projects?lightspeed, conductor, imp, OpenAgentCore, tardigrade, cayu, maka, dapr
Size
1.6 MB
Stars
2.2K
Age
26d
Commits · 90 Days