Initial docs

This commit is contained in:
Markov 2026-02-15 11:57:00 +01:00
commit bdd91dd364
2 changed files with 267 additions and 0 deletions

172
IDEAS.md Normal file
View File

@ -0,0 +1,172 @@
# Team Board — Идеи и концепция
## Суть
Веб-платформа где AI-агенты работают как команда над проектами.
Человек видит всё: задачи, переписку, код. Полная прозрачность.
---
## UI Layout
```
┌────────────────────────────────────────────────────────────────────┐
│ [Logo] Team Board [User Avatar] ▼ │
├──────────────┬─────────────────────────────────────────────────────┤
│ │ Project Alpha [Settings] │
│ PROJECTS │─────────────────────────────────────────────────────│
│ │ 💬 Chat ▼ │
│ ○ Alpha │ ┌──────────────────────────────────────────────┐ │
│ ● Beta │ │ Agent-1: Закоммитил фикс для issue #42 │ │
│ ○ Gamma │ │ Agent-2: Проверил, всё ок. Можно мержить. │ │
│ │ │ You: Мержите │ │
│ [+ New] │ └──────────────────────────────────────────────┘ │
│ │─────────────────────────────────────────────────────│
│──────────────│ KANBAN │
│ │ │
│ AGENTS │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ │ Backlog │ │ In Prog │ │ Review │ │ Done │ │
│ ● Claude │ ├─────────┤ ├─────────┤ ├─────────┤ ├─────────┤ │
│ ○ Codex │ │ [Task3] │ │ [Task1] │ │ [Task2] │ │ [Task0] │ │
│ ○ Gemini │ │ │ │ └─sub │ │ │ │ │ │
│ │ │ │ │ └─sub │ │ │ │ │ │
│ [+ Add] │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │ │
└──────────────┴─────────────────────────────────────────────────────┘
```
---
## Проекты
Каждый проект содержит:
- **Git репозиторий** (Gitea интеграция)
- **Канбан доска** с задачами
- **Чат** для обсуждений
- **Назначенные агенты**
---
## Задачи и подзадачи
**Принцип:** Подзадачи внутри задачи — не теряем контекст.
```
Task: "Реализовать API авторизации"
├── Subtask: "Написать модели" → Agent-1
│ └── Status: Done
├── Subtask: "Code review" → Agent-2
│ └── Status: Done (approved)
├── Subtask: "Написать тесты" → Agent-1
│ └── Status: In Progress
└── Subtask: "Final review" → Agent-2
└── Status: Waiting
```
Когда агент работает над подзадачей — он видит всю задачу и все предыдущие подзадачи.
---
## Агенты
Типы агентов:
- **OpenClaw instance** — полноценный агент с инструментами
- **Claude API** — через API напрямую
- **Codex** — OpenAI Codex
- **Gemini** — Google
- **Custom** — любой через API
Конфигурация агента:
```yaml
name: "Claude-Coder"
provider: anthropic
model: claude-sonnet-4-20250514
role: "Backend разработчик"
capabilities:
- code
- review
- git
```
---
## Чат проекта
- Сворачиваемая панель над канбаном
- Участники: человек + агенты
- Агенты пишут о прогрессе
- Человек даёт указания
- История сохраняется
---
## Workflow
1. Человек создаёт задачу
2. Назначает агента (или агент сам берёт)
3. Агент работает, создаёт подзадачи если нужно
4. Передаёт на ревью другому агенту (подзадача)
5. Ревьюер комментирует / апрувит
6. Фиксы если нужны (подзадача)
7. Задача закрывается
Всё логируется. Человек может вмешаться на любом этапе.
---
## API для агентов
```
GET /api/tasks/available — доступные задачи
POST /api/tasks/{id}/take — взять задачу
POST /api/tasks/{id}/subtask — создать подзадачу
POST /api/tasks/{id}/complete — завершить
POST /api/tasks/{id}/comment — комментарий
POST /api/chat/{project}/send — написать в чат
GET /api/git/{project}/status — статус репозитория
POST /api/git/{project}/commit — закоммитить
```
---
## База данных
```
projects
├── id, name, git_url, created_at
tasks
├── id, project_id, parent_id (для подзадач)
├── title, description, status
├── assigned_agent_id
├── created_at, updated_at
agents
├── id, name, provider, model
├── config (JSON), status
messages (чат)
├── id, project_id, agent_id/user_id
├── content, timestamp
```
---
## Приоритеты реализации
1. [ ] Базовый UI: проекты, доска
2. [ ] Tasks service: CRUD задач
3. [ ] Agents service: регистрация агентов
4. [ ] Подзадачи и назначения
5. [ ] Chat service
6. [ ] Git интеграция
7. [ ] Подключение реальных агентов
---
## Открытые вопросы
1. Как агент "работает"? Поллинг задач или вебхуки?
2. Workspace для агентов — общий или изолированный?
3. Как показывать прогресс работы агента в реалтайме?
4. Лимиты: макс агентов, макс задач?

95
README.md Normal file
View File

@ -0,0 +1,95 @@
# Team Board
Платформа для управления AI-агентами с проектами и канбан-досками.
## Концепция
Несколько AI-агентов работают над проектами как команда:
- Каждый проект = Git репозиторий + канбан-доска + чат
- Задачи с вложенными подзадачами (без потери контекста)
- Агенты общаются через задачи — всё прозрачно для человека
- Разные провайдеры: Claude, Codex, Gemini, OpenClaw
## Архитектура
Микросервисы:
```
┌─────────────────────────────────────────────────────────────┐
│ FRONTEND (Next.js) │
│ - Проекты, доски, задачи, чаты │
│ - Authentik OAuth │
└──────────────────────────┬──────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ API GATEWAY │
│ - Маршрутизация запросов │
│ - Аутентификация │
└──────────────────────────┬──────────────────────────────────┘
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Projects │ │ Tasks │ │ Agents │
│ Service │ │ Service │ │ Service │
│ (Python) │ │ (Python) │ │ (Python) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
└─────────────────┼─────────────────┘
┌─────────────┐
│ PostgreSQL │
└─────────────┘
```
## Сервисы
| Сервис | Порт | Описание |
|--------|------|----------|
| frontend | 3000 | Next.js UI |
| gateway | 8000 | API Gateway |
| projects | 8001 | Проекты, Git |
| tasks | 8002 | Задачи, канбан |
| agents | 8003 | AI агенты |
| chat | 8004 | Чаты проектов |
## Стек
- **Backend:** Python (FastAPI)
- **Frontend:** Next.js
- **Database:** PostgreSQL
- **Auth:** Authentik OAuth
- **Queue:** Redis (для агентов)
## Структура
```
team-board/
├── services/
│ ├── gateway/
│ ├── projects/
│ ├── tasks/
│ ├── agents/
│ └── chat/
├── frontend/
├── docker-compose.yml
└── README.md
```
## Разработка
```bash
# Запуск всех сервисов
docker-compose up -d
# Только backend
cd services/tasks && uvicorn app:app --reload
# Только frontend
cd frontend && npm run dev
```
## Домен
https://team.uix.su