Initial docs
This commit is contained in:
commit
bdd91dd364
172
IDEAS.md
Normal file
172
IDEAS.md
Normal 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
95
README.md
Normal 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
|
||||||
Loading…
Reference in New Issue
Block a user