Local-first • Event-driven • Extensible

Build AI agents that build software

Yodoca — self-evolving AI agent platform, который работает локально, запоминает важное и проактивно выполняет задачи между диалогами.

Python 3.12+ · SQLite only · Apache 2.0 · OpenAI | Anthropic | Local models

Проблема

Разработка становится сложнее: контекст разбросан, рутинные действия повторяются, а классические ассистенты реагируют только на ручной prompt.

Решение

  • агент помнит и извлекает знания из долгосрочной памяти
  • реагирует на события и расписания без ручного запуска
  • расширяется новыми capabilities через manifest-driven extensions

Product demo

Поток выполнения в реальном runtime

01

User prompt

Сообщение приходит из CLI, Telegram или Web канала.

02

Context assembly

Context providers добавляют память, факты и релевантные сущности.

03

Tool orchestration

Оркестратор выбирает tools/agents и исполняет цепочку действий.

04

Durable events

События записываются в SQLite journal для надежности и аудита.

Core features

Ключевые возможности

Память как граф знаний

Memory v2 хранит факты, эпизоды и процедуры как узлы/связи. Поиск гибридный: FTS5 + sqlite-vec + graph traversal + RRF.

Durable Event Bus

SQLite journal работает как очередь и аудит-лог: pending → processing → done/failed, c at-least-once доставкой и correlation IDs.

Extensions-only kernel

Канал, tool, scheduler, context, service, setup, агент — все реализуется расширениями. Core остаётся минимальным.

Декларативные sub-agents

Нового агента можно объявить через manifest.yaml без написания Python-кода в ядре.

Proactive runtime

Агент реагирует не только на чат: события от scheduler/service/extensions запускают фоновые сценарии автоматически.

Supervisor для always-on

Supervisor — единственная точка входа. Автоперезапуск, backoff и безопасные restart-флаги для загрузки новых расширений.

Memory

Как устроена память ИИ-агента

Особенности реализации

Память вынесена в отдельное расширение (`memory`) и работает как граф знаний: типизированные узлы (`fact`, `episode`, `procedure`, `opinion`), связи и сущности. Запись усиливается консолидацией и reinforcement-механикой по Ebbinghaus decay.

Архитектура

Retrieval-пайплайн комбинирует FTS5, vector search через sqlite-vec и graph traversal, затем объединяет кандидатов через Reciprocal Rank Fusion. За векторизацию отвечает отдельное расширение `embedding`, что упрощает замену провайдеров.

Соответствие ведущим технологиям

Подход Yodoca совпадает с современными практиками memory-augmented агентных систем: hybrid retrieval, knowledge graph representation, long-term memory consolidation и event-driven обновление контекста. При этом архитектура остаётся локальной и прозрачной за счёт SQLite-first runtime.

Architecture

Как работает Yodoca внутри

User / Channel
Supervisor
Nano-kernel + Orchestrator
Extension Loader Event Bus (SQLite) Memory + Embedding
External systems / tools / channels

Память

Расширение `memory` хранит knowledge graph: типизированные узлы (`fact`, `episode`, `procedure`, `opinion`), связи и entities. Retrieval объединяет полнотекстовый и векторный поиск с графовым обходом, после чего ранжирует результат через Reciprocal Rank Fusion.

Event Bus

Шина событий реализована как durable SQLite journal. Это и очередь для асинхронной обработки, и полная трассировка “что произошло” для отладки/аудита. Доставка at-least-once требует идемпотентных handler-ов.

Extensions

Каждое расширение лежит в sandbox/extensions/<id>/ и определяется manifest.yaml + main.py. Capabilities обнаруживаются по протоколам (`Channel`, `Tool`, `Agent`, `Service`, `Scheduler`, `Context`, `Setup`).

Use cases

Где Yodoca приносит максимум пользы

Для разработчиков

  • Исследование и генерация кода
  • Проектирование архитектуры
  • Автоматизация рутины через scheduler + tools

Для команд

  • Накопление организационной памяти
  • Асинхронные мониторинги и алерты
  • Единая точка интеграции каналов и сервисов

Integrations

Экосистема и провайдеры

OpenAIAnthropicOpenRouterLM StudioTelegramCLIWeb UIMCP

Social proof

Open-source продукт с прозрачной архитектурой

Open source

Apache 2.0, публичный репозиторий, понятные ADR и docs.

Local-first

Без внешней БД: события, память и потоки живут в SQLite на вашей машине.

Extensible by design

Новые возможности добавляются расширениями, не ломая ядро.

Install & run

Как установить и запустить

Prerequisites

  • Python 3.12+
  • uv
  • Windows / Linux / macOS

Quick start

git clone https://github.com/VitalyOborin/yodoca
cd yodoca
uv sync
uv run python -m supervisor

Запустите Yodoca и соберите своего AI-агента

Начните с базового Supervisor runtime, подключите extensions и настройте memory-driven workflows.