OB2H - автономная долговременная память, граф знаний и дриминг для harness агентов
Rust
5
77 commits
updated Sep 20, 2026
Быстрый старт • Мультиагентное подключение • Проектная память и AST-граф • Синхронизация машин • Команды CLI • Поддержать автора
Обычные ИИ-ассистенты забывают контекст и архитектуру ваших репозиториев, как только закрывается чат.
OB2H (OmnesBot to Harness) — это локальный «мозг», долговременная память и AST-граф кода для AI-агентов (Hermes, Claude Code, Cursor, Windsurf, ZCode, Gemini CLI, Qwen Code, OpenCode), полностью написанный на Rust.
Он даёт агенту возможность:
project_impact): находит все зависимые функции/файлы и оценивает уровень риска изменений (Low, Medium, High)..gitignore и привязывает сессию.SOUL.md, USER.md, MEMORY.md) и сохраняет версии в Git.ob2h agent install --all и диагностика ob2h doctor --fix.trust — использование, feedback агента и ночная ревизия дримом поднимают или гасят его; устаревшее уходит из выдачи управляемо, без автоудалений.Кому подходит: у кого Hermes живёт на двух машинах (ПК + VPS/сервер, работа + дом) и кому нужна приватная память — все данные остаются на ваших машинах, наружу уходит только трафик к вашему LLM-API и (по желанию) SSH между вашими же серверами.
| Параметр | Обычные решения (Python) | OB2H на Rust 🦀 |
|---|---|---|
| Установка | Нужен Python, pip, виртуальные окружения | Один бинарник ob2h.exe (~15 МБ) |
| Скорость запуска | 1.5 – 3.0 секунды | < 15 миллисекунд ⚡ |
| Потребление ОЗУ | 250 – 500 МБ | Всего 15 – 30 МБ |
| Эмбеддинги | Нужны внешние сервисы или PyTorch | Встроены из коробки (чистый Rust / Candle) |
| Управление | Консольные скрипты | Удобный инсталлятор в 1 клик (install.bat) |
Склонируйте репозиторий:
git clone https://github.com/Pofium/ob2h.git
cd ob2h
Просто дважды кликните по файлу:
👉 install.bat
(Или выполните команду ob2h install в терминале).
Скрипт автоматически:
ob2h.exe.ob2h в config.yaml.Откройте вашего агента — все 36 инструментов MCP (память, граф знаний, код, дриминг, Ralph-циклы) активируются автоматически!
ob2h plugin install
ob2h skill install
Затем добавьте в блок memory: конфига Hermes строку provider: ob2h и перезапустите
Hermes. Теперь каждый ход диалога пишется в память автоматически, а релевантные
воспоминания всплывают перед каждым ответом (индикатор 🧠) — без просьб и команд.
ob2h agent install --agent all
ob2h doctor --fix
Команда автоматически обнаружит и сконфигурирует Claude Code, Cursor, Windsurf, ZCode, Gemini/Antigravity, Qwen Code и OpenCode!
Вам не нужно писать специальные команды — агент использует память сам:
Сохранение:
«Запомни: я люблю кофе без сахара, а мой текущий проект — OmnesBot на Rust»
↳ Hermes вызоветmemory_saveи зафиксирует факт с высоким приоритетом.
Вспоминание:
«Какой кофе мне заказать и над чем я работаю?»
↳ Hermes выполнитmemory_search(гибридный поиск FTS5 + векторный RRF) и сразу ответит с учётом ваших предпочтений.
Анализ документов:
«Изучи этот документ и добавь связи в граф»
↳ Инструментknowledge_extractизвлечёт структуру, людей и связи в граф знаний.
Сложные вопросы по графу:
«Кто отвечает за архитектуру в проекте X и как он связан с модулем Y?»
↳ Инструментgraph_reasonпройдёт по графу связей и выдаст обоснованный ответ с цепочкой рассуждений.
У вас Hermes дома на Windows и Telegram-агент на Linux-VPS? С v0.9 их память и граф
знаний — общие: рассказали дома о новом проекте — серверный агент уже в курсе.
Обмен — инкрементальные дельта-бандлы v2 поверх SSH: только изменённое (курсор по updated_at),
поле-уровневый merge без молчаливого LWW (журнал conflicts.jsonl, проигравшие версии —
в meta.conflict_versions за флагом), в бандле — память, trust, memory_links и удаления.
Идемпотентность, авто-бэкап перед импортом, ob2h sync verify — сверка дрейфа без переноса.
Живая БД никогда не передаётся.
Кому это надо:
Быстрый старт (полный гайд — docs/SYNC.md):
# PC: data/sync/peers.json (образец scripts/pc/peers.example.json)
# { "origin": "pc", "priority": ["pc","vps"], "after_dream": true,
# "peers": { "vps": { "method": "ssh", "host": "my-vps",
# "push_to": "/root/ob2h_data/sync/inbox",
# "pull_from": "/root/ob2h_data/sync/outbox" } } }
ob2h sync push --peer vps && ob2h sync pull --peer vps # обмен вручную…
# …или само: после каждого ночного дрима (after_dream) + задача планировщика 05:30
# VPS: peers.json {"origin":"vps"} + таймер из scripts/vps/
# systemctl enable --now ob2h-sync.timer
Диагностика: ob2h sync status на обеих машинах. Без прямого SSH между машинами —
режим manual (Syncthing/приватный git, только папка бандлов — никогда саму БД).
Вы можете в любой момент посмотреть статистику или запустить дриминг вручную:
# Посмотреть статистику базы знаний и памяти
ob2h stats
# Проверить состояние дриминга
ob2h dream status
# Запустить процесс дриминга вручную
ob2h dream run
# Посмотреть историю изменений файлов памяти
ob2h dream log
# Создать резервную копию базы данных и воркспейса
ob2h backup
# Удалить интеграцию из Hermes при необходимости
ob2h uninstall
# Синхронизация двух машин (PC ↔ VPS)
ob2h sync push --peer vps && ob2h sync pull --peer vps
ob2h sync status
# Деплой плагина памяти и скилла в Hermes
ob2h plugin install
ob2h skill install
# Состояние плагина (установлен? включён в конфиге?)
ob2h plugin status
# Глубокая диагностика всех систем, баз данных, моделей и агентов
ob2h doctor
ob2h doctor --fix # автоисправление конфигов агентов и Git-хуков
# Мультиагентное управление (Claude, Cursor, Windsurf, ZCode, Gemini, Qwen, OpenCode)
ob2h agent install --agent all
ob2h agent status
# Управление проектами и AST-сканирование кодовой базы
ob2h project list
ob2h project scan --id <project_id>
ob2h project report --id <project_id>
ob2h project dead-code --id <project_id> # мёртвые символы (без entrypoints)
ob2h project repo-map --id <project_id> # карта репо под token budget
# Регрессионный контур поиска: golden set, recall@k/MRR, история прогонов
ob2h bench # прогон на живой БД (data/bench/golden.jsonl)
ob2h bench --mode history # тренд ночных прогонов + вердикты
# Лёгкая база и бэкапы
ob2h db quantize-embeddings --dry-run # int8-квантование эмбеддингов (оценка)
ob2h backup --scope quick # быстрый бэкап памяти+воркспейса
ob2h backup verify data/backups/<копия> # проверка целостности копии
# Гигиена памяти
ob2h memory dedup --dry-run # кандидаты на слияние (без LLM)
# Ralph-циклы разработки
ob2h ralph findings-to-memory --project <id>
По умолчанию всё работает без дополнительных настроек. При необходимости тонкой настройки можно задать переменные в .env или конфиге:
| Переменная | По умолчанию | Описание |
|---|---|---|
OB2H_DATA_DIR | ./data | Папка для базы данных SQLite, файлов памяти и логов |
OB2H_LLM_BASE_URL | https://api.deepseek.com/v1 | URL OpenAI-совместимого API для рассуждений |
OB2H_LLM_API_KEY | DEEPSEEK_API_KEY | Имя переменной с API ключом |
OB2H_LLM_MODEL | deepseek-v4-flash | Модель для экстракции и дриминга |
OB2H_EMBED_PROVIDER | local | local (встроенный Candle) или api (внешний эндпоинт) |
OB2H_AUTODREAM_ENABLED | true | Фоновый авто-дриминг при работе Hermes |
OB2H_PREFETCH_MAX_CHARS | 8000 | Бюджет блока памяти в промпте (рез по границам записей) |
OB2H_HALF_LIFE_DAYS | 90 | Полураспад свежести в скоринге prefetch |
OB2H_BENCH_GATE | 0 | Ночной гейт качества дрима (1 — откат дрима при деградации recall/MRR) |
OB2H_PPR_DAMPING | 0.85 | Damping Personalized PageRank (поиск по памяти/графу) |
OB2H_BACKUP_KEEP_FULL / OB2H_BACKUP_KEEP_QUICK | 3 / 14 | Ротация бэкапов |
OB2H_DREAM_MEMORY_REVISION | true | Ночная ревизия слабых записей дримом (trust ±) |
OB2H_VEC0 | 0 | Эксперимент sqlite-vec rescore (ADR-35.1, дефолт off) |
skills/)Проект поставляет готовые навыки (SKILL.md) для всех поддерживаемых агентов/IDE/harness —
файлы лежат в skills/<агент>/SKILL.md и описывают: как подключён OB2H в этом агенте на
конкретной машине (путь MCP-конфига, версия, команда ob2h agent install), ключевые команды
и питфоллы. Покрыты: claude-code, codegraph, codex, cursor, deepx, gemini-cli,
hermes-agent, kilo-code, kimi-code, mimo-code, opencode, qoder, qwen-code,
trae, windsurf, zcode (плюс каноничный ob2h).
Канал установки скилла в Hermes: ob2h skill install; мультиагентное подключение —
ob2h agent install --agent all и ob2h doctor --fix.
Проект активно развивается! Если у вас:
👉 Пожалуйста, создайте Issue на GitHub! Мы обязательно ответим и поможем разобраться. Любой фидбек очень ценен!
Если этот проект помог вам сделать вашего персонального ассистента умнее и сэкономил время, вы можете сказать спасибо и поддержать дальнейшую разработку:
Ваша поддержка мотивирует развивать открытые локальные ИИ-инструменты!
Распространяется под свободной лицензией MIT.
77 commits
Rust
95.5%
Python
4.0%
OB2H - автономная долговременная память, граф знаний и дриминг для harness агентов
Rust
5
77 commits
updated Sep 20, 2026
Быстрый старт • Мультиагентное подключение • Проектная память и AST-граф • Синхронизация машин • Команды CLI • Поддержать автора
Обычные ИИ-ассистенты забывают контекст и архитектуру ваших репозиториев, как только закрывается чат.
OB2H (OmnesBot to Harness) — это локальный «мозг», долговременная память и AST-граф кода для AI-агентов (Hermes, Claude Code, Cursor, Windsurf, ZCode, Gemini CLI, Qwen Code, OpenCode), полностью написанный на Rust.
Он даёт агенту возможность:
project_impact): находит все зависимые функции/файлы и оценивает уровень риска изменений (Low, Medium, High)..gitignore и привязывает сессию.SOUL.md, USER.md, MEMORY.md) и сохраняет версии в Git.ob2h agent install --all и диагностика ob2h doctor --fix.trust — использование, feedback агента и ночная ревизия дримом поднимают или гасят его; устаревшее уходит из выдачи управляемо, без автоудалений.Кому подходит: у кого Hermes живёт на двух машинах (ПК + VPS/сервер, работа + дом) и кому нужна приватная память — все данные остаются на ваших машинах, наружу уходит только трафик к вашему LLM-API и (по желанию) SSH между вашими же серверами.
| Параметр | Обычные решения (Python) | OB2H на Rust 🦀 |
|---|---|---|
| Установка | Нужен Python, pip, виртуальные окружения | Один бинарник ob2h.exe (~15 МБ) |
| Скорость запуска | 1.5 – 3.0 секунды | < 15 миллисекунд ⚡ |
| Потребление ОЗУ | 250 – 500 МБ | Всего 15 – 30 МБ |
| Эмбеддинги | Нужны внешние сервисы или PyTorch | Встроены из коробки (чистый Rust / Candle) |
| Управление | Консольные скрипты | Удобный инсталлятор в 1 клик (install.bat) |
Склонируйте репозиторий:
git clone https://github.com/Pofium/ob2h.git
cd ob2h
Просто дважды кликните по файлу:
👉 install.bat
(Или выполните команду ob2h install в терминале).
Скрипт автоматически:
ob2h.exe.ob2h в config.yaml.Откройте вашего агента — все 36 инструментов MCP (память, граф знаний, код, дриминг, Ralph-циклы) активируются автоматически!
ob2h plugin install
ob2h skill install
Затем добавьте в блок memory: конфига Hermes строку provider: ob2h и перезапустите
Hermes. Теперь каждый ход диалога пишется в память автоматически, а релевантные
воспоминания всплывают перед каждым ответом (индикатор 🧠) — без просьб и команд.
ob2h agent install --agent all
ob2h doctor --fix
Команда автоматически обнаружит и сконфигурирует Claude Code, Cursor, Windsurf, ZCode, Gemini/Antigravity, Qwen Code и OpenCode!
Вам не нужно писать специальные команды — агент использует память сам:
Сохранение:
«Запомни: я люблю кофе без сахара, а мой текущий проект — OmnesBot на Rust»
↳ Hermes вызоветmemory_saveи зафиксирует факт с высоким приоритетом.
Вспоминание:
«Какой кофе мне заказать и над чем я работаю?»
↳ Hermes выполнитmemory_search(гибридный поиск FTS5 + векторный RRF) и сразу ответит с учётом ваших предпочтений.
Анализ документов:
«Изучи этот документ и добавь связи в граф»
↳ Инструментknowledge_extractизвлечёт структуру, людей и связи в граф знаний.
Сложные вопросы по графу:
«Кто отвечает за архитектуру в проекте X и как он связан с модулем Y?»
↳ Инструментgraph_reasonпройдёт по графу связей и выдаст обоснованный ответ с цепочкой рассуждений.
У вас Hermes дома на Windows и Telegram-агент на Linux-VPS? С v0.9 их память и граф
знаний — общие: рассказали дома о новом проекте — серверный агент уже в курсе.
Обмен — инкрементальные дельта-бандлы v2 поверх SSH: только изменённое (курсор по updated_at),
поле-уровневый merge без молчаливого LWW (журнал conflicts.jsonl, проигравшие версии —
в meta.conflict_versions за флагом), в бандле — память, trust, memory_links и удаления.
Идемпотентность, авто-бэкап перед импортом, ob2h sync verify — сверка дрейфа без переноса.
Живая БД никогда не передаётся.
Кому это надо:
Быстрый старт (полный гайд — docs/SYNC.md):
# PC: data/sync/peers.json (образец scripts/pc/peers.example.json)
# { "origin": "pc", "priority": ["pc","vps"], "after_dream": true,
# "peers": { "vps": { "method": "ssh", "host": "my-vps",
# "push_to": "/root/ob2h_data/sync/inbox",
# "pull_from": "/root/ob2h_data/sync/outbox" } } }
ob2h sync push --peer vps && ob2h sync pull --peer vps # обмен вручную…
# …или само: после каждого ночного дрима (after_dream) + задача планировщика 05:30
# VPS: peers.json {"origin":"vps"} + таймер из scripts/vps/
# systemctl enable --now ob2h-sync.timer
Диагностика: ob2h sync status на обеих машинах. Без прямого SSH между машинами —
режим manual (Syncthing/приватный git, только папка бандлов — никогда саму БД).
Вы можете в любой момент посмотреть статистику или запустить дриминг вручную:
# Посмотреть статистику базы знаний и памяти
ob2h stats
# Проверить состояние дриминга
ob2h dream status
# Запустить процесс дриминга вручную
ob2h dream run
# Посмотреть историю изменений файлов памяти
ob2h dream log
# Создать резервную копию базы данных и воркспейса
ob2h backup
# Удалить интеграцию из Hermes при необходимости
ob2h uninstall
# Синхронизация двух машин (PC ↔ VPS)
ob2h sync push --peer vps && ob2h sync pull --peer vps
ob2h sync status
# Деплой плагина памяти и скилла в Hermes
ob2h plugin install
ob2h skill install
# Состояние плагина (установлен? включён в конфиге?)
ob2h plugin status
# Глубокая диагностика всех систем, баз данных, моделей и агентов
ob2h doctor
ob2h doctor --fix # автоисправление конфигов агентов и Git-хуков
# Мультиагентное управление (Claude, Cursor, Windsurf, ZCode, Gemini, Qwen, OpenCode)
ob2h agent install --agent all
ob2h agent status
# Управление проектами и AST-сканирование кодовой базы
ob2h project list
ob2h project scan --id <project_id>
ob2h project report --id <project_id>
ob2h project dead-code --id <project_id> # мёртвые символы (без entrypoints)
ob2h project repo-map --id <project_id> # карта репо под token budget
# Регрессионный контур поиска: golden set, recall@k/MRR, история прогонов
ob2h bench # прогон на живой БД (data/bench/golden.jsonl)
ob2h bench --mode history # тренд ночных прогонов + вердикты
# Лёгкая база и бэкапы
ob2h db quantize-embeddings --dry-run # int8-квантование эмбеддингов (оценка)
ob2h backup --scope quick # быстрый бэкап памяти+воркспейса
ob2h backup verify data/backups/<копия> # проверка целостности копии
# Гигиена памяти
ob2h memory dedup --dry-run # кандидаты на слияние (без LLM)
# Ralph-циклы разработки
ob2h ralph findings-to-memory --project <id>
По умолчанию всё работает без дополнительных настроек. При необходимости тонкой настройки можно задать переменные в .env или конфиге:
| Переменная | По умолчанию | Описание |
|---|---|---|
OB2H_DATA_DIR | ./data | Папка для базы данных SQLite, файлов памяти и логов |
OB2H_LLM_BASE_URL | https://api.deepseek.com/v1 | URL OpenAI-совместимого API для рассуждений |
OB2H_LLM_API_KEY | DEEPSEEK_API_KEY | Имя переменной с API ключом |
OB2H_LLM_MODEL | deepseek-v4-flash | Модель для экстракции и дриминга |
OB2H_EMBED_PROVIDER | local | local (встроенный Candle) или api (внешний эндпоинт) |
OB2H_AUTODREAM_ENABLED | true | Фоновый авто-дриминг при работе Hermes |
OB2H_PREFETCH_MAX_CHARS | 8000 | Бюджет блока памяти в промпте (рез по границам записей) |
OB2H_HALF_LIFE_DAYS | 90 | Полураспад свежести в скоринге prefetch |
OB2H_BENCH_GATE | 0 | Ночной гейт качества дрима (1 — откат дрима при деградации recall/MRR) |
OB2H_PPR_DAMPING | 0.85 | Damping Personalized PageRank (поиск по памяти/графу) |
OB2H_BACKUP_KEEP_FULL / OB2H_BACKUP_KEEP_QUICK | 3 / 14 | Ротация бэкапов |
OB2H_DREAM_MEMORY_REVISION | true | Ночная ревизия слабых записей дримом (trust ±) |
OB2H_VEC0 | 0 | Эксперимент sqlite-vec rescore (ADR-35.1, дефолт off) |
skills/)Проект поставляет готовые навыки (SKILL.md) для всех поддерживаемых агентов/IDE/harness —
файлы лежат в skills/<агент>/SKILL.md и описывают: как подключён OB2H в этом агенте на
конкретной машине (путь MCP-конфига, версия, команда ob2h agent install), ключевые команды
и питфоллы. Покрыты: claude-code, codegraph, codex, cursor, deepx, gemini-cli,
hermes-agent, kilo-code, kimi-code, mimo-code, opencode, qoder, qwen-code,
trae, windsurf, zcode (плюс каноничный ob2h).
Канал установки скилла в Hermes: ob2h skill install; мультиагентное подключение —
ob2h agent install --agent all и ob2h doctor --fix.
Проект активно развивается! Если у вас:
👉 Пожалуйста, создайте Issue на GitHub! Мы обязательно ответим и поможем разобраться. Любой фидбек очень ценен!
Если этот проект помог вам сделать вашего персонального ассистента умнее и сэкономил время, вы можете сказать спасибо и поддержать дальнейшую разработку:
Ваша поддержка мотивирует развивать открытые локальные ИИ-инструменты!
Распространяется под свободной лицензией MIT.
77 commits
Rust
95.5%
Python
4.0%