From 6f4e910e1851579130956cc1c52172ab99d231e9 Mon Sep 17 00:00:00 2001 From: Markov Date: Sat, 21 Feb 2026 12:24:30 +0100 Subject: [PATCH] Architecture: unified Member model (human=agent), auth methods, MCP Client as human --- ARCHITECTURE.md | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 277538a..0a6a054 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -130,15 +130,45 @@ ChatMessage: id, chat_id, author_type, author_slug, voice_url?, attachments[], reactions[], created_at ``` -## Агенты (Picogent) +## Участники (Members) + +### Ключевой принцип: все равны +Агент и человек — **одна модель**. Различие только в type и методе авторизации. + +``` +Member: + id: UUID + name: string + slug: string (уникальный) + type: human | agent + role: owner | member | observer | bridge + auth_method: password | oauth | token + capabilities: string[] # для агентов: coding, review... + listen_mode: all | mentions # для агентов (human сам решает) + prompt: string? # system prompt (только для агентов) + model: string? # LLM модель (только для агентов) + status: online | offline | busy + avatar_url: string? +``` + +### Авторизация +| Тип | Метод | Пример | +|-----|-------|--------| +| human (Web UI) | login/password, OAuth (Authentik) | Человек в браузере | +| human (MCP Client) | login/password, OAuth | Claude Code CLI, Cursor | +| agent (Picogent) | token (сгенерирован в UI) | Автономный AI-агент | +| agent (Марков/OpenClaw) | token (REST API) | AI через скилл | +| bridge | token | Telegram Bridge | + +MCP Client (Claude Code, Cursor) — это **человек с инструментами**, не агент. Авторизация как у человека. ### Роли | Роль | Описание | Права по умолчанию | |------|----------|-------------------| -| `owner` | Владелец доски. Полные права. Один на инстанс. | Все | -| `agent` | AI-агент. Выполняет задачи, пишет в чат. | send_messages, update_tasks | -| `bridge` | Мост (Telegram, Slack). Пересылает сообщения, не берёт задачи. | send_messages | -| `observer` | Только чтение. Получает события, но не может действовать. | — | +| `owner` | Владелец доски. Полные права. | Все | +| `member` | Участник. Выполняет задачи, пишет в чат. | send_messages, create_tasks, update_tasks | +| `observer` | Только чтение. | — | +| `bridge` | Мост (Telegram). Пересылает сообщения, не берёт задачи. | send_messages | ### Права (permissions) | Право | Описание |