Skip to main content
Glama
staschatwork

gmail-sorter

by staschatwork
README.md
# gmail-sorter

Система сортировки личного Gmail на мультиагентах Claude Code. Полная архитектура — в
[`architecture.md`](architecture.md). Этот репозиторий реализует её по фазам.

**Статус:** Фазы 0–4. Продакшн-запуск на VPS по расписанию — см. [`docs/runbook.md`](docs/runbook.md).

## Требования
- Python 3.11+
- (для живых Gmail-вызовов) OAuth-клиент из Google Cloud Console с включённым Gmail API

## Установка
```bash
python -m venv .venv
# Windows PowerShell:
.venv\Scripts\Activate.ps1
# Linux/macOS:
# source .venv/bin/activate
pip install -e ".[dev]"
```

## Тесты (работают офлайн, без Gmail-кредов)
```bash
python -m pytest
```

## Инициализация state.db
БД создаётся автоматически при старте MCP-сервера. Вручную:
```bash
python -c "import sys; sys.path.insert(0,'mcp'); import db; db.init_db('data/state.db'); print('ok')"
```

## OAuth (разово, требует client_secret из Google Cloud)
```bash
# Положи скачанный client_secret в .gmail-credentials.json (см. .env.example)
python mcp/google_auth.py            # откроет браузер, сохранит .gmail-token.json
```

## Создание меток Gmail (разово, после OAuth)
```bash
python scripts/setup_labels.py
```

## Запуск MCP-сервера через Claude Code
Скопируй `.claude/settings.local.json.example` → `.claude/settings.local.json`. ВАЖНО: значение `command` должно указывать на python из venv (Claude Code запускает MCP-сервер отдельным процессом и НЕ наследует активированный venv): на Windows — `.venv\Scripts\python.exe`, на Linux VPS — `.venv/bin/python`. Затем в Claude Code вызови инструменты `mcp__gmail__list_unread_batch` и т.д.