Skip to main content
Glama
Wulfgardr

work-assistant

by Wulfgardr

Work Assistant

Почта становится локальным архивом, которым может пользоваться человек или агент.

Независим от провайдера · Несколько ящиков · CLI · MCP · Проверка человеком

Попробовать демо · Подключить агента · Как защищаются данные · Статус проекта


Схема: загрузка почты из ящиков в локальный архив, через брокер к агенту

Что такое Work Assistant

Work Assistant — это локальная система для организации и работы с почтой с помощью интеллектуальных инструментов.

Система получает сообщения из одной или нескольких папок, нормализует их и сохраняет в локальный архив SQLite. На основе этого архива она выстраивает представление контактов и взаимодействий. Системой можно пользоваться из командной строки. Агент, например Codex или Claude, может использовать её по протоколу MCP.

Work Assistant — это не классический почтовый клиент и не простая skill:

  • ядро управляет учётными записями, архивом, проверками и предлагаемыми содержимыми;

  • CLI позволяет человеку работать с ядром без модели;

  • MCP-сервер предлагает агентам структурированные инструменты;

  • skill учит агента использовать эти инструменты в рамках разрешённых ограничений;

  • адаптер подключает конкретный службу электронной почты к ядру.

Публичное ядро не отправляет электронную почту. Подготовленные ответы остаются локальными кандидатами до отдельного авторизованного действия.

Три возможности: локальная память, интерфейс агента и человеческий контроль

Возможность

Что это означает

Локальная память

Нормализованные сообщения остаются на компьютере и сохраняют контрольные хэши целостности.

Интерфейс агента

MCP экспозирует типизированные команды, не передавая шлюзу прямой доступ к архив.

Человеческий контроль

Публичное ядро готовит локальные содержание, но не предоставляет команды отправки.

Related MCP server: Mailing Manager MCP

Зачем существует

Почтовый ящик — это не просто отдельные сообщения. В нём есть переписки, люди, вложения, решения и открытые задачи. Обычные почтовые клиенты хорошо показывают текущую почту, но не делают её историю пригодной для оперативного знания.

Work Assistant разделяет работу на три уровня:

  1. Локальный архив: сохраняет то, что было получено, и проверяет его целостность.

  2. Представление знаний: восстанавливает контакты и взаимодействия из архива. Оно является производным и может быть восстановлено заново.

  3. Интерфейс агента: позволяет модели искать, читать и готовить содержимое с помощью управляемых операций.

Представление знаний — это не исходный источник и само по себе не является проверенным резервным копией. Настоящий бэкап требует также копирования, хранения, проверки и теста восстановления.

Как это работает

flowchart LR
  Persona[Persona] --> Agente[Agente intelligente]
  Agente -->|strumenti MCP| Gateway[Gateway MCP]
  Gateway -->|IPC locale autenticato| Broker[Broker locale]
  Broker --> Archivio[(Archivio locale)]
  Broker --> Vista[Vista di conoscenza]
  Broker --> Candidati[Candidati di risposta]
  Adapter[Adapter del provider] --> Broker

  classDef paper fill:#f7f2e7,stroke:#294b37,color:#172019;
  classDef sage fill:#dce8d8,stroke:#294b37,color:#172019;
  classDef accent fill:#aa593e,stroke:#aa593e,color:#f7f2e7;
  class Persona,Archivio,Vista,Candidati paper;
  class Gateway,Broker,Adapter sage;
  class Agente accent;

Брокер — граница доверия. Он читает открытые данные, применяет правило псевдонизации и возвращает шлюзу только заявленную схему. Идентификаторы провайдера становятся непрозрачными ссылками. Не распознанные метаданные не пересекают границу.

Попробовать демо

Демо использует только синтетические лица и сообщения. Отсутствуют учётные данные и настоящий почтовый ящи кан.

Требования

  • Python 3.11 или новее;

  • Git;

  • macOS, Linux или Windows.

1. Установите проект

git clone https://github.com/Wulfgardr/work-assistant.git
cd work-assistant
python3 -m venv .venv

Активируйте окружение на macOS или Linux:

source .venv/bin/activate

На Windows PowerShell:

.venv\Scripts\Activate.ps1

Установите Work Assistant:

python -m pip install .

2. Создайте конфигурацию

work-assistant --config work-assistant.toml init

Команда выбирает папку данных для конкретной операционной системы. Архив, ключи и реестр личностей не размещаются в репозитории.

3. Загрузите тестовые ящики

work-assistant --config work-assistant.toml sync --account personal
work-assistant --config work-assistant.toml sync --account team
work-assistant --config work-assistant.toml list
work-assistant --config work-assistant.toml knowledge
work-assistant --config work-assistant.toml verify

Команда verify проверяет целостность SQLite и хэши сообщений. Она не показывает, что резервную копию можно восстановить.

Использование Work Assistant с агентом

Codex, Claude и другие MCP-клиенты используют один и тот же интерфейс. Модель не встроена в CLI.

Установите поддержку MCP:

python -m pip install '.[mcp]'

1. Запустите локальный брокер

Откройте надёжный локальный вход в терминал и запустите:

work-assistant --config work-assistant.toml broker

Брокер должен оставаться активным. Если он недоступен, MCP-шлюз завершает работу не читая архив напрямую.

Во втором терминале получите два требуемых пути:

work-assistant --config work-assistant.toml broker-info

2. Регистрация сервера в Codex

Замените оба плейсхолдера на значения из объекта broker-info:

codex mcp add work-assistant -- \
  "$PWD/.venv/bin/work-assistant" \
  mcp \
  --broker-address '<BROKER_ADDRESS>' \
  --broker-auth-file '<BROKER_AUTH_FILE>'

В Windows используйте .venv\Scripts\work-assistant.exe.

Пример запроса:

Используйте Work Assistant. Проверьте режим конфиденциальности, синхронизируйте ящик personal, посмотрите последние сообщения и подготовьте черновик ответа. Ничего не отправляйте.

Необязательная skill находите в каталоге skills/work-assistant. Skill добавляет рабочие правила, но не является заменой MCP-сервера.

3. Регистрация сервера в Claude Code

claude mcp add work-assistant -- \
  "$PWD/.venv/bin/work-assistant" \
  mcp \
  --broker-address '<BROKER_ADDRESS>' \
  --broker-auth-file '<BROKER_AUTH_FILE>'

Для Claude Desktop настройте эквивалентный stdio-сервер:

{
  "mcpServers": {
    "work-assistant": {
      "command": "/percorso/assoluto/work-assistant/.venv/bin/work-assistant",
      "args": [
        "mcp",
        "--broker-address",
        "<BROKER_ADDRESS>",
        "--broker-auth-file",
        "<BROKER_AUTH_FILE>"
      ]
    }
  }
}

Использование CLI без агента

CLI детерминистична: в ней нет модели и она не понимает натурально-язычные запросы.

work-assistant --config work-assistant.toml list --account personal --limit 10
work-assistant --config work-assistant.toml show --account personal --id p-001

Чтобы сохранить локальный черновик ответа:

printf 'Grazie. Verifico il documento entro venerdì.\n' > risposta.txt
work-assistant --config work-assistant.toml draft-candidate \
  --account personal \
  --to sam@example.test \
  --subject 'Re: Revisione del progetto' \
  --in-reply-to p-001 \
  --body-file risposta.txt

Ответ содержит sent: false. Ничего не записывается для провайдера.

Агент, у которого есть доступ к терминалу, должен использовать MCP. Ему не следует читать SQLite напрямую или открытую распечатку CLI.

Настройка нескольких ящиков

Каждая таблица в блоке [accounts] описывает отдельный ящик данных:

schema_version = 1
data_dir = "/percorso/esterno/al/repository"

[privacy]
mode = "all"
default_action = "pseudonymize"

[accounts.personal]
provider = "demo"
source = "./examples/demo-mailbox.jsonl"
address = "alex@example.test"

[accounts.team]
provider = "demo"
source = "./examples/team-mailbox.jsonl"
address = "team@example.test"

Репозиторий содержит только демонстрационный адаптер. Реальные адаптеры должны реализовать контракт, описанный в docs/PROVIDER_ADAPTERS.md.

Zimbra и Carbonio

Публичная версия включает локальный онлайн-влив (onboarding) для подготовки сеанса Zimbra или Carbonio из файла HAR. Рабочий адаптер Zimbra не входит.

sequenceDiagram
  participant A as Agente
  participant P as Persona
  participant B as Browser
  participant C as CLI locale
  A->>P: Spiega i passaggi e controlla lo stato
  P->>B: Esegue login e autenticazione a due fattori
  P->>C: Importa localmente il file HAR
  C-->>P: Conferma solo nomi dei cookie e stato
  Note over A,C: Password, OTP, HAR e valori dei cookie non entrano nel modello

Локальная команда:

work-assistant --config work-assistant.toml import-zimbra-har \
  --account work \
  --har /percorso/locale/session.har

Команда не удаляет HAR. После проверки удалите или переместите экспортируемый файл с подходящей по содержимому процедурой.

Как защищаются данные

Work Assistant предлагает три режима:

Режим

Поведение

off

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

all

Псевдонимизирует структурированные индентификаторы и распознанный тест. Это значение, используемое в example configuration.

selective

Применяет посистематизированные правила по отправителю. Побеждает первое подходящее правило.

Пример selectивных правил:

[privacy]
mode = "selective"
default_action = "pseudonymize"

[[privacy.sender_rules]]
pattern = "newsletter@example.test"
action = "allow_raw"

[[privacy.sender_rules]]
pattern = "*@sensitive.example"
action = "pseudonymize"

Ответ агента содержит только непрозрачный идентификатор правила, а не его прямое значение.

Опциональный реестр лиц по умолчанию находится в <data_dir>/privacy/entities.json. На POSIX-системах он должен принадлежать пользователю и иметь права 0600.

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

Когда брокер представляет границу реальной защиты, папка данных должна находиться вне любого рабочего пространства, доступного агенту для чтения. Брокер отказывает конфигурации, если это условие не выполнено, за исключением явного небезопасное управления инструциями, которое это разрешено только в управляемых демо-режимах.

Прочитайте SECURITY.md перед использованием реальных сообщений.

Обзор безопасности Daybreak

24 августа 2026 года обзор Daybreak проанализировал брокер, псевдонимизацию, IPC и поверхность MCP. Обзор обнаружил семь недостатков: один умеренный и шесть слабых.

Версия 0.3.0 включает следующие corrections:

  • данные и ключи по умолчанию не в репозитории;

  • отказ брокера, когда защищённый замещенный помещается в workspace агента;

  • несерная реестр персон с проверкой прав;

  • MCP-enable-shpos ит чётко определённая схема, прозрачные ссылки и исключённые провайder;

  • прозрачные ключи для выборочного правила;

  • фиксированное количество рабочих потоков и крайний срок для неактивных соединений;

  • общая длительность на подключение, аутентификацию, запрос и ответ.

Отчёт, краткие выводы и остаточные ограничения находятся в docs/security/DAYBREAK-REVIEW.md.

Бэкап и восстановление

Work Assistant хранит нормализованные сообщения и связанные хэши. Это делает архив проверяемым, но не делает автоматически отказо¬erстойчивым.

Чтобы объявить резервную копию проверенной, вы должны определить и подтвердить:

  • какие сообщения и вложения будут включены;

  • шифрование в управление ключами;

  • частоту, период хранения и версии;

  • проверка хэшей;

  • процесс восстановления в изолированной среде;

  • сравнение предполагаемого и восстановленного содержимого.

Функция verify проверяет текущий архив. Она не выполняет восстановление.

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

Work Assistant — это проект стадии alpha.

Доступно:

  • независимость от провайдера ядра;

  • multiple ящики в конфигурации;

  • демо-адаптер на основе synthetic данных;

  • SQLite-архив с хэшами;

  • локальное представление contacts and interactions;

  • CLI;

  • MCP gateway и брокер;

  • reversible pseudonyms;

  • skills for the agent;

  • public preparories for Zimbra/Carbonio.

Недоступно:

  • production-адаптеры для реальных сервисов;

  • sending email;

  • full back-to-restore verification;

  • pseudonymization of binary attachments;

  • сообщение.

Разработка и вклад

python -m pip install '.[dev,mcp]'
pytest
python scripts/privacy_check.py
work-assistant benchmark-privacy --iterations 50

Используйте только synthetic данные в codes, tests, screens, issues and pull requests. Прочитайте CONTRIBUTING.md для правил работы над проектом.

Лицензия

Work Assistant распространяется по лицензии MIT.

A
license - permissive license
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

  • A
    license
    A
    quality
    D
    maintenance
    Enables LLM clients to read and search email via IMAP with tools for listing folders, searching messages, and fetching message content. It supports pagination, snippets, and thread context, and is designed for local AI workflows.
    10
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to query and recall your entire Gmail inbox locally, providing fast summarization and semantic search without relying on Gmail's search API.
    105
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.

  • Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.

  • Email for AI agents — send, receive as a webhook, manage domains, templates, routing.

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/Wulfgardr/work-assistant'

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