Skip to content

Aleksander1Byte/phantom-gemini-cli

Repository files navigation

Phantom на Gemini CLI

Что это

Phantom — это агент с памятью, инструментами и своей инфраструктурой, который живёт на отдельно выделеном ему сервере.

Важный контекст

Изначально этот проект был заточен под Claude Code. Потом он был переписан под Gemini CLI, и это важно учитывать.

То есть:

  • исторически в проекте остались следы старой Claude-версии;
  • в коде и документации ещё могут остаться упоминания Claude SDK и старые формулировки;
  • но текущий рабочий акцент в этом репозитории — Gemini CLI;
  • в .env.example и config/phantom.yaml по умолчанию стоит gemini-cli.

Поэтому этот README лучше читать как описание актуальной Gemini-версии проекта, а не исходной Claude-реализации.

Что умеет проект

Сейчас проект умеет:

  • запускать ИИ-агента с backend'ом через gemini CLI
  • хранить память через Qdrant и embeddings через Ollama
  • работать через разные каналы общения
  • поднимать MCP-сервер для внешних клиентов и инструментов
  • использовать роли, конфиги, планировщик и набор внутренних инструментов
  • запускаться в Docker

Основной стек

  • Bun + TypeScript
  • Docker / Docker Compose
  • Gemini CLI
  • Qdrant для памяти
  • Ollama для embeddings
  • SQLite для локальных служебных данных

Быстрый старт через Docker

1. Что нужно заранее

  • установленный Docker с docker compose;
  • установленный Gemini CLI;
  • выполненный вход в Gemini CLI через Google (gemini должен уже работать на машине);
  • по желанию — Slack или Telegram Bot.

2. Подготовить .env

cp .env.example .env

Минимально проверьте, что у вас там есть:

PHANTOM_BACKEND=gemini-cli
GEMINI_CLI_COMMAND=gemini

3. Запуск

docker compose up -d

После запуска можно проверить health:

curl http://localhost:3100/health

Если всё в порядке, вернётся статус ok.

Запуск в разработке

Если хотите запускать без Docker:

bun install
bun run dev

Полезные команды

bun run phantom init --yes
bun run phantom doctor
bun run phantom status
bun run test
bun run lint
  • init — инициализация конфига
  • doctor — быстрая проверка окружения
  • status — статус Phantom
  • test — тесты
  • lint — проверка кода

Архитектура

            Внешние клиенты
 Claude Code | Dashboard | Другие Phantom
                    |
        MCP (Streamable HTTP)
                    |
+------------------------------------------+
|        PHANTOM (процесс Bun)             |
|                                          |
|  Каналы         Среда выполнения агента  |
|  Slack          query() + hooks          |
|  Telegram       Сборщик промптов         |
|  Email          base + role + evolved    |
|  Webhook        + контекст памяти        |
|  CLI                                     |
|                                          |
|  Система памяти Движок самоэволюции      |
|  Qdrant         6-шаговый пайплайн       |
|  Ollama         5 уровней проверки       |
|  3 коллекции    LLM-судьи (опционально)  |
|                                          |
|  MCP-сервер     Система ролей            |
|  8 универсальных YAML-first роли         |
|  + role tools   Онбординг-поток          |
|  + dynamic      Фокус эволюции           |
+------------------------------------------+
            |                |
       +---------+      +---------+
       | Qdrant  |      | SQLite  |
       | Docker  |      |   Bun   |
       +---------+      +---------+

About

Агент с памятью, инструментами и своей инфраструктурой, который живёт на отдельно выделенном ему сервере

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors