docs/IDEAS.md
2026-02-15 11:57:00 +01:00

173 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. Лимиты: макс агентов, макс задач?