Skip to main content
Glama

FocusRoom | Агент продуктивности

Личное рабочее пространство для продуктивности на базе Python, Streamlit, Groq, SQLite и MCP. В одном проекте объединены управление задачами, ежедневное планирование, постоянная память, мультиагентный супервизор и опциональные email-напоминания.

Возможности

  • Дашборд продуктивности на Streamlit

  • Создание, просмотр, фильтрация и завершение задач

  • Приоритеты задач, сроки выполнения, проекты и статусы

  • Постоянное хранилище SQLite в productivity.db

  • Ежедневные планы и отчёты о продуктивности

  • Сохранение и поиск личных заметок

  • Ассистент продуктивности на базе Groq

  • Мультиагентный супервизор для запросов по задачам, памяти и планированию

  • MCP-сервер с HTTP-инструментами для внешних клиентов

  • Опциональные автоматические email-напоминания

Related MCP server: autoMate

Требования

  • Python 3.10 или новее

  • Groq API-ключ для функций на базе ИИ

  • SMTP-учётка данных Gmail или другого SMTP-провайдера для email-напоминаний

Настройка

1. Создание виртуального окружения

PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1

Если PowerShell блокирует выполнение скриптов для текущего сеанса:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\.venv\Scripts\Activate.ps1

2. Установка зависимостей

python -m pip install -r requirements.txt

3. Настройка переменных окружения

Скопируйте .env.example в .env и заполните нужные значения:

Copy-Item .env.example .env

Требуется для агента на базе Groq:

GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=openai/gpt-oss-120b

Необязательная конфигурация MCP:

MCP_HOST=127.0.0.1
MCP_PORT=8000
MCP_API_KEY=local_or_remote_api_key

Для email-напоминаний:

EMAIL_SENDER=your_email@gmail.com
EMAIL_RECIPIENT=recipient@example.com
EMAIL_PASSWORD=your_smtp_or_app_password
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587

Не добавляйте .env и учётные данные API в коммиты. Файл .gitignore исключает их.

Запуск приложения Streamlit

streamlit run streamlit_app.py

В приложении есть такие разделы:

  • Обзор — метрики задач, активная работа, ежедневный снимок состояния и прогресс выполнения

  • Задачи — создание и фильтрация задач, а также отметка выполненных

  • План — текущий дневной план и отчёт о продуктивности

  • Память — сохранение и поиск долгосрочного контекста

  • Ассистент — естественно-языковые запросы к супервизору продуктивности

Запуск MCP-сервера

Запустите Streamable HTTP MCP-сервер:

python -m orchestrator.mcp_server

По умолчанию он работает на http://127.0.0.1:8000/mcp.

Сервер предоставляет инструменты:

  • productivity_assistant

  • create_task

  • list_tasks

  • update_task

  • complete_task

  • delete_task

  • save_memory

  • search_memory

  • daily_plan

  • productivity_report

Если сервер привязан к нелокальному хосту, задайте MCP_API_KEY. Удалённые запросы должны использовать bearer-токен:

Authorization: Bearer <MCP_API_KEY>

Запуск напоминаний

Фоновая служба напоминаний проверяет предстоящие задачи и отправляет настроенные email-уведомления:

python reminder_worker.py

Расписание настраивается в службе и поддерживает напоминания за 24 часа, за 1 час и за 15 минут до срока задачи. Для email-напоминаний нужны корректные SMTP-настройки в .env.

Запуск тестов

Используйте виртуальное окружение проекта, чтобы был доступен pytest:

.\.venv\Scripts\python -m pytest -q

Запуск конкретного тестового файла:

.\.venv\Scripts\python -m pytest -q test_multi_agent.py

Проверка синтаксиса Python без запуска приложения:

.\.venv\Scripts\python -m compileall streamlit_app.py orchestrator

Структура проекта

Productivity_Agent/
|-- streamlit_app.py              # Streamlit user interface
|-- requirements.txt              # Python dependencies
|-- .env.example                  # Environment variable template
|-- productivity.db               # Local SQLite database, generated locally
|-- reminder_service.py           # Reminder service implementation
|-- reminder_worker.py            # Continuous reminder worker
|-- orchestrator/
|   |-- agent.py                  # Core task, memory, plan, and report logic
|   |-- database.py               # SQLite persistence layer
|   |-- orchestrator.py           # Multi-agent supervisor
|   |-- mcp_server.py             # MCP HTTP server and tools
|   |-- memory_agent.py           # Memory agent adapter
|   |-- planning_agent.py         # Planning agent adapter
|   |-- task_agent.py             # Task agent adapter
|-- test_*.py                     # Project tests

Данные и безопасность

  • Задачи и записи памяти хранятся локально в SQLite.

  • .env содержит секреты и должен оставаться приватным.

  • Для Gmail используйте пароль приложения там, где это требуется, а не основной пароль аккаунта.

  • MCP_API_KEY обязателен, когда сервер доступен за пределами localhost.

  • Делайте резервную копию productivity.db, если локальная история задач и памяти важна.

Устранение неполадок

pytest не распознаётся

Запустите pytest через виртуальное окружение:

.\.venv\Scripts\python -m pytest -q

Приложение запускается, но ассистент недоступен

Проверьте, что .env существует и содержит действующий GROQ_API_KEY, затем перезапустите Streamlit.

Streamlit сообщает missing ScriptRunContext

Это предупреждение появляется при прямом импорте модуля Streamlit через python -c. Для нормальной работы запускайте приложение командой streamlit run streamlit_app.py.

Компиляция проходит, но тесты падают при сборе

Ошибка сбора означает, что pytest не смог завершить импорт тестов. Посмотрите первое указанное исключение и исправьте несоответствие в зависимостях или конструкторах, прежде чем оценивать остальные тесты.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to manage todo tasks through Tools for adding, listing, completing, and searching, alongside Prompts for daily reviews and task breakdowns. Exposes task lists and statistics as Resources with local JSON file persistence.
  • A
    license
    Not graded
    quality
    D
    maintenance
    A personal AI assistant server that provides MCP tools for notes, files, reminders, memory, shell, browser, and 30+ SaaS integrations, enabling AI clients to access and manage your data across sessions.
    3,945
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RevHeadGuy/FocusRoom'

If you have feedback or need assistance with the MCP directory API, please join our Discord server