Гайд по настройке
Подключение RAGRAF к SagaAI
--agent-kind external Streamlit · v1.13.1 · MIT навык + CLI (run_code) факты верифицированы по коду · v1.13.1
Открытая платформа команды ИИ-сотрудников (Streamlit, MIT, v1.13.1): ассистенты, автономные оркестраторы, встроенный агент-разработчик DevAgent, базы знаний и библиотека навыков. MCP-клиента в коде платформы нет — проверено поиском по репозиторию, — поэтому RAGRAF подключается через её собственные механизмы: навык ragraf-core и CLI-вызовы инструментом run_code.
- MIT · Streamlit · localhost:8501
- навыки + run_code (300 с)
- MCP-клиента в коде нет
- интерфейсы ru/en/zh
Обозначения в командах: <repo> — путь к локальному клону RAGRAF, <корпус> — имя конфигурации корпуса, <каталог проекта> — индексируемый проект. Команды и выводы приводятся как измерены — включая русские строки, которые печатает продукт.
Источник: факты платформы верифицированы по коду github.com/TVD2100/sagaai-platform (v1.13.1, MIT). Замер живой сессии RAGRAF × SagaAI не проводился — гайд описывает механизмы подключения, проверенные по коду платформы.
Платформа SagaAI
Открытая платформа для команды ИИ-сотрудников: чат-ассистенты, автономные оркестраторы, базы знаний (RAG) и встроенный агент-разработчик DevAgent — в одном веб-интерфейсе (Streamlit), на своём компьютере или сервере. Лицензия MIT; линия 1.x сохраняет публичные API, интерфейс и форматы данных обратно совместимыми. Интерфейс — на русском, английском и китайском. Все факты этого гайда проверены по коду репозитория TVD2100/sagaai-platform (v1.13.1).
| Роль | Что делает |
|---|---|
| ИИ-помощники | чат-ассистенты с собственными системными промптами и файлами |
| Сотрудники-оркестраторы | автономные агенты с ролями, инструментами, инструкциями и навыками; работают сами, шаг за шагом |
| DevAgent | встроенный (неудаляемый) агент-разработчик: план → утверждение → правки → тесты; бэкапы, снапшоты и полный откат; опционально автономный режим |
| Базы знаний (RAG) | локальные базы с режимами поиска bm25 (собственный лексический индекс, без ключей, по умолчанию), vector и hybrid (RRF) |
| Навыки | стандартизированные пакеты инструкций и скриптов (SKILL.md); установка из ZIP, папки или GitHub-URL; адаптация через DevAgent |
| Коннекторы | внешние сервисы (GitHub, SSH) с защищённым хранением токенов и ключей |
Установка и запуск
Платформа — обычное Python-приложение: зависимости из requirements.txt (streamlit, requests, sqlalchemy, cryptography; опционально парсеры документов и paramiko для SSH), запуск через streamlit run app.py. Если команда не находит streamlit — python -m streamlit run app.py. После запуска задайте API-ключи сервисов на странице «Настройки».
git clone https://github.com/TVD2100/sagaai-platform SagaAI
cd SagaAI
pip install -r requirements.txt
streamlit run app.py # → http://localhost:8501Как подключается RAGRAF
MCP-клиента в коде платформы нет
Проверено поиском по репозиторию v1.13.1: ни одного упоминания MCP в core/, services/ и ui/. Единственные MCP-инструкции принадлежат персоне Yandex AI Studio (defaults/orchestrators/ya_agent) и описывают облачный MCP Hub другого продукта. Поэтому RAGRAF подключается через собственные механизмы платформы — библиотеку навыков и CLI-вызовы через run_code. Универсальный MCP-рецепт — в конце гайда, как задел на будущее.
| Канал 1 — навык | Канал 2 — CLI через run_code | |
|---|---|---|
| Что даёт | регламент и порядок операций прямо в системном промпте оркестратора | все 13 подкоманд и 22 операции RAGRAF как обычные команды |
| Как работает | библиотека навыков: SKILL.md + reference/*; загрузка get_skill_prompt / get_skill_file | run_code выполняет код или shell в изолированном subprocess (таймаут 300 с) |
| Условие работы | навык адаптирован (adapted=True) — иначе не попадает в промпт | интерпретатор с зависимостями RAGRAF достижим из рабочей среды |
| Контроль | текст навыка виден в библиотеке и редактируется | опасные паттерны кода блокируются до подтверждения в UI |
Почему это работает
run_code — «универсальный запасной выход» платформы: установка пакетов, выполнение shell-команд и скриптов, любые операции, для которых нет специализированного инструмента. CLI RAGRAF (tools/ragraf.py) — обычный Python-скрипт: агент вызывает его так же, как в любой оболочке, и читает текст ответа сам — интерпретировать JSON-RPC-схему не нужно. Навык ragraf-core задаёт порядок: сначала ensure, затем операции индекса вместо чтения файлов.
RAGRAF не заменяет встроенные базы знаний SagaAI и не конфликтует с ними: базы платформы ищут по документам (bm25/vector/hybrid), RAGRAF — граф фактов о коде (символы, связи, ревизии, свежесть индекса, контроль записи). Сотрудник может опираться на оба источника: документы — через rag_search, код — через CLI RAGRAF.
Подключение — четыре шага
- Установите RAGRAF и постройте корпусСтандартная установка RAGRAF (install.ps1 или pip -e .), затем ensure на каталог проекта. Корпус один на всех сотрудников: индекс открывается агентами read-only, несколько диалогов и оркестраторов работают с ним одновременно.
- Установите навык ragraf-core в библиотекуСтраница библиотеки навыков → установка из GitHub-URL, ZIP-архива или локальной папки (реестр skills/skills.json в каталоге данных; лимиты: 200 МБ на архив, 5000 файлов, 50 МБ на файл, распаковка защищена от path traversal). Сторонний навык получает developer=unknown, adapted=False и НЕ попадает в блок Available skills системного промпта, пока адаптация не завершена: кнопка «Адаптировать» передаёт задачу DevAgent (Skill Developer), по завершении он вызывает mark_skill_adapted.
- Внесите регламент в инструкцииУниверсальный фрагмент AGENTS.md (страница «Интеграции») добавьте в инструкцию оркестратора (инструкции сохраняются между перезапусками) или в AGENT.md проекта — DevAgent ведёт этот файл и читает его при работе в рабочей папке. Порядок «спроси индекс → проверь конверт → write_check перед записью» обязателен: без регламента агенты возвращаются к search_in_files, и это сразу видно в статистике вызовов RAGRAF.
- Проверьте вызовом в диалогеПопросите сотрудника выполнить через run_code: catalog (ожидается список корпусов), затем ensure <каталог> (ожидается status: actual). Файлы навыка агент читает инструментом get_skill_file — workspace-инструменты (read_file, verify_file) пути вне проекта отклоняют: «Path escapes project root».
# инструменты агента (run_code) вызывают CLI RAGRAF как обычную команду:
python <repo>\tools\ragraf.py catalog
python <repo>\tools\ragraf.py ensure <каталог проекта>
python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml query symbol --name <имя>
python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml check
python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml usage --agent saga-workerБезопасность платформы
Что проверено в коде v1.13.1 — эти механизмы определяют, как именно агент будет работать с RAGRAF:
- run_code выполняет произвольный код в изолированном subprocess (таймаут 300 с, run_test — 180 с); код с опасными паттернами (деструктивные команды, изменение системы, сетевые операции) блокируется до явного подтверждения пользователем в UI.
- Защита от path traversal: инструменты не выходят за пределы рабочей папки; активная папка привязана к диалогу и восстанавливается при его открытии.
- Недоверенные данные размечаются (санитизация результатов, метка [DATA_FROM_WEB_SEARCH]), эвристическая защита от prompt-injection.
- API-ключи хранятся в защищённом виде (или задаются переменными окружения и не сохраняются в БД); TLS-верификация включена по умолчанию; секреты не отображаются в интерфейсе.
- Правки DevAgent версионируются: бэкапы файлов, снапшоты проекта и полный откат — действия агента обратимы.
Требование платформы к пользователю
SagaAI предназначена для опытных разработчиков, способных анализировать действия автономных агентов в реальном времени и прерывать нелегитимные операции. Это требование самой платформы (README v1.13.1) — оно в полной мере относится и к сессиям с RAGRAF: контролируйте подтверждения run_code.
Телеметрия
Каждый вызов CLI давайте с --agent <имя сотрудника> (saga-worker, saga-reviewer, …): usage_call разделит профили вызовов по агентам при общем kind=external. Здоровый профиль — доминирование symbol/search/write_check и ноль полных чтений файлов. Сверяйте со страницей «Статистика» платформы (расход токенов по периодам, поставщикам и моделям): экономия на навигации по коду видна по обеим метрикам.
Регламент агента
Универсальный регламент (страница «Интеграции») подходит без изменений. Для мультиагентных пайплайнов добавьте правило передачи конвертов между сотрудниками: stale_warnings обязан видеть каждый следующий этап.
Телеметрия
Каждый сотрудник пишет свой agent=<имя> при общем kind=external. usage_stats группирует вызовы по агентам — видно, какой сотрудник «здоров», а какой обходит индекс.
Задел на MCP
Если в платформе появится MCP-клиент, контракт RAGRAF не изменится: stdio-сервер, JSON-RPC, 24 инструмента ragraf_*. Достаточно зарегистрировать запуск — конфиг ниже. --project можно не указывать: корпус определится по рабочему каталогу через реестр разработок, переключение на чужой проект — инструментом ragraf_use_project.
{
"mcpServers": {
"ragraf": {
"command": "python",
"args": [
"<repo>/tools/ragraf-mcp.py",
"--agent", "saga-worker",
"--agent-kind", "external"
]
}
}
}Факты платформы верифицированы по коду github.com/TVD2100/sagaai-platform (v1.13.1, MIT): поиск MCP-клиента, каталог инструментов (dev_agent/tool_executor.py, universal_agent.py), библиотека навыков (core/skills_library.py), правила подтверждения (core/dangerous.py), README и AGENT.md. Связка RAGRAF × SagaAI описана по механизмам платформы; замер живой сессии не проводился — в отличие от AutoClaw и DeepSeek Harness.