From 27f3da86a77745436ef25a416a67bbd2faeeeecd Mon Sep 17 00:00:00 2001 From: Mikhail Putilovskij Date: Wed, 1 Apr 2026 01:55:56 +0300 Subject: [PATCH] docs: update README for current telegram and matrix workflow --- README.md | 47 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index aedfc16..8cdae7c 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ | Поверхность | Статус | Описание | |---|---|---| -| Telegram | 🔨 В разработке | Forum Topics: одна группа, чат = тема | -| Matrix | 🔨 В разработке | Space + комнаты: чат = отдельная комната | +| Telegram | 🔨 В разработке | DM + Forum Topics mode, активная реализация сейчас в отдельном worktree | +| Matrix | 🔨 В разработке | Незашифрованные комнаты: новый чат = новая Matrix room | --- @@ -40,7 +40,7 @@ surfaces-bot/ telegram/ — aiogram 3.x адаптер matrix/ — matrix-nio адаптер - platform/ + sdk/ interface.py — PlatformClient Protocol (контракт к SDK) mock.py — MockPlatformClient (заглушка) @@ -57,17 +57,20 @@ surfaces-bot/ ### Telegram ([подробнее](docs/telegram-prototype.md)) -- **Чаты** — Forum Topics: бот создаёт личную группу пользователя, каждый чат = отдельная тема +- **Чаты** — основной Telegram UX сейчас развивается в отдельном worktree `feat/telegram-adapter` +- **Forum Topics mode** — бот умеет подключать forum-группу через `/forum`; чат может быть привязан к отдельной теме +- **DM-режим** — базовый диалог и переключение чатов сохраняются - **Аутентификация** — привязка Telegram аккаунта к аккаунту платформы - **Диалог** — typing indicator, передача файлов, подтверждение опасных действий через inline-кнопки - **Настройки** через `/settings`: коннекторы (Gmail, GitHub, Notion...), скиллы, личность агента (SOUL), безопасность, подписка ### Matrix ([подробнее](docs/matrix-prototype.md)) -- **Чаты** — Space + комнаты: бот создаёт личное пространство, каждый чат = комната -- **Аутентификация** — привязка Matrix аккаунта к аккаунту платформы -- **Диалог** — typing, файлы, подтверждение действий через реакции 👍/❌, треды для долгих задач -- **Настройки** — отдельная комната «Настройки» с командами `!connectors`, `!skills`, `!soul`, `!safety`, `!status` +- **Чаты** — `!new` создаёт реальную новую Matrix room и приглашает туда пользователя +- **Онбординг** — DM-first: инвайт в комнату, приветствие, затем работа через команды `!` +- **Диалог** — сообщения, вложения, реакции 👍/❌ и базовый routing через `EventDispatcher` +- **Настройки** — команды `!skills`, `!connectors`, `!soul`, `!safety`, `!plan`, `!status`, `!whoami` +- **Текущее ограничение** — encrypted DM пока не поддержан в этом репозитории; ручное тестирование Matrix сейчас ведётся в незашифрованных комнатах --- @@ -86,7 +89,7 @@ class PlatformClient(Protocol): Бот не управляет lifecycle контейнеров — это делает Master (платформа). Бот передаёт `user_id` + `chat_id` + сообщение; платформа сама решает нужно ли поднять контейнер. -Сейчас: `MockPlatformClient` в `platform/mock.py`. +Сейчас: `MockPlatformClient` в `sdk/mock.py`. Когда SDK готов: добавляем `SdkPlatformClient`, меняем одну строку в DI. Адаптеры и ядро не трогаем. --- @@ -100,13 +103,29 @@ uv sync # или: pip install -e ".[dev]" # Тесты pytest tests/ -v -# Запустить Telegram бота -cp .env.example .env # заполнить TELEGRAM_BOT_TOKEN -python -m adapter.telegram.bot - # Запустить Matrix бота cp .env.example .env # заполнить MATRIX_* переменные -python -m adapter.matrix.bot +PYTHONPATH=. uv run python -m adapter.matrix.bot +``` + +### Telegram worktree + +Текущая Telegram-разработка идёт в отдельном worktree: + +```bash +cd .worktrees/telegram +export BOT_TOKEN=... +PYTHONPATH=. python -m adapter.telegram.bot +``` + +### Matrix manual QA + +Пока Matrix-бот тестируется в незашифрованных комнатах: + +```bash +cd /path/to/surfaces-bot +rm -f lambda_matrix.db +PYTHONPATH=. uv run python -m adapter.matrix.bot ``` ---