Architecture: unified Member model (human=agent), auth methods, MCP Client as human

This commit is contained in:
Markov 2026-02-21 12:24:30 +01:00
parent 3353e2ea53
commit 6f4e910e18

View File

@ -130,15 +130,45 @@ ChatMessage: id, chat_id, author_type, author_slug,
voice_url?, attachments[], reactions[], created_at 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` | Владелец доски. Полные права. Один на инстанс. | Все | | `owner` | Владелец доски. Полные права. | Все |
| `agent` | AI-агент. Выполняет задачи, пишет в чат. | send_messages, update_tasks | | `member` | Участник. Выполняет задачи, пишет в чат. | send_messages, create_tasks, update_tasks |
| `bridge` | Мост (Telegram, Slack). Пересылает сообщения, не берёт задачи. | send_messages | | `observer` | Только чтение. | — |
| `observer` | Только чтение. Получает события, но не может действовать. | — | | `bridge` | Мост (Telegram). Пересылает сообщения, не берёт задачи. | send_messages |
### Права (permissions) ### Права (permissions)
| Право | Описание | | Право | Описание |