- Move agent-manager from packages/opencode/ to src/kilocode/ - Add Gitea client for pipeline logging - Add pipeline-runner for workflow orchestration - Create slash commands: /pipeline, /status, /evaluate - Update AGENTS.md with workflow documentation - Update README.md with KiloCode integration details - Add package.json and tsconfig.json for TypeScript compilation - Remove duplicate files from packages/opencode/ This enables: - /pipeline <issue> - run full agent pipeline with Gitea logging - Direct agent invocation via @mention - Performance tracking and prompt optimization
545 lines
25 KiB
Markdown
545 lines
25 KiB
Markdown
# APAW — Automatic Programmers Agent Workflow
|
||
|
||
**Dual-runtime Agent Pipeline** — полная конфигурация автономного ИТ-офиса из 13+ специализированных ИИ-агентов.
|
||
|
||
Поддерживает два runtime:
|
||
- **KiloCode** (VS Code плагин) — через `.kilo/agent/` (`@kilocode/plugin` формат)
|
||
- **Claude Code** (CLI / VS Code extension) — через `.claude/commands/`
|
||
|
||
Система спроектирована как **Self-Healing Repository**: агенты автоматически анализируют задачи, пишут код, тестируют, проводят ревью и деплоят, не переписывая одно и то же дважды благодаря встроенной памяти коммитов.
|
||
|
||
---
|
||
|
||
## Структура репозитория
|
||
|
||
```
|
||
.
|
||
├── install-apaw.sh # Установщик в любой проект (bash)
|
||
├── .claude/ # Claude Code runtime
|
||
│ ├── commands/ # 13 slash-команд (/project:*)
|
||
│ │ ├── pipeline.md # Полный цикл одной командой
|
||
│ │ ├── orchestrate.md # Диспетчер (Sonnet)
|
||
│ │ ├── refine.md # Уточнение требований (Sonnet)
|
||
│ │ ├── mine.md # Поиск дублей в git (Haiku)
|
||
│ │ ├── analyze.md # Системный дизайн (Opus)
|
||
│ │ ├── tests.md # TDD red phase (Sonnet)
|
||
│ │ ├── implement.md # TDD green phase (Opus)
|
||
│ │ ├── skeptic.md # Adversarial ревью (Sonnet)
|
||
│ │ ├── perf.md # Анализ производительности (Sonnet)
|
||
│ │ ├── fix.md # Исправление проблем (Sonnet)
|
||
│ │ ├── security.md # Аудит безопасности (Opus)
|
||
│ │ ├── release.md # Менеджер релизов (Sonnet)
|
||
│ │ ├── evaluate.md # Оценка агентов (Haiku)
|
||
│ │ └── optimize-prompts.md # PromptOps авто-улучшение (Opus)
|
||
│ ├── rules/
|
||
│ │ └── global.md # Глобальные правила кодирования
|
||
│ └── logs/
|
||
│ └── efficiency_score.json # История оценок агентов
|
||
├── .kilo/ # KiloCode plugin runtime (@kilocode/plugin)
|
||
│ ├── agent/ # 19 агентов в формате plugin (YAML frontmatter)
|
||
│ │ ├── orchestrator.md # Диспетчер (GLM-5)
|
||
│ │ ├── requirement-refiner.md # Уточнитель требований (Kimi-k2-thinking)
|
||
│ │ ├── history-miner.md # Архивариус Git (Gemini-3-Flash)
|
||
│ │ ├── system-analyst.md # Системный аналитик (GPT-OSS 120B)
|
||
│ │ ├── product-owner.md # Менеджер задач (Qwen3.5 122B)
|
||
│ │ ├── lead-developer.md # Ведущий разработчик (DeepSeek-v3.2)
|
||
│ │ ├── frontend-developer.md # Frontend (Kimi-k2.5)
|
||
│ │ ├── the-fixer.md # Исправитель (MiniMax-m2.7)
|
||
│ │ ├── sdet-engineer.md # Тестирование TDD (Qwen3-Coder-Next)
|
||
│ │ ├── code-skeptic.md # Критик кода (GPT-OSS 120B)
|
||
│ │ ├── performance-engineer.md # Производительность (Nemotron-3-Super)
|
||
│ │ ├── security-auditor.md # Безопасность (GLM-4.7)
|
||
│ │ ├── release-manager.md # Релизы (Devstral-2 123B)
|
||
│ │ ├── evaluator.md # Оценщик (GPT-o3)
|
||
│ │ ├── prompt-optimizer.md # PromptOps (Claude 4.5)
|
||
│ │ ├── ask.md # Knowledge agent (Gemini-3-Flash)
|
||
│ │ ├── code.md # Quick coder (DeepSeek-v3.2)
|
||
│ │ ├── debug.md # Диагностика (MiniMax-m2.7)
|
||
│ │ └── plan.md # Стратег (GPT-OSS 120B)
|
||
│ ├── package.json # @kilocode/plugin dependency
|
||
│ └── node_modules/ # Plugin runtime
|
||
├── .kilocode/
|
||
│ ├── agents/ # Устаревший формат (заменён .kilo/agent/)
|
||
│ ├── rules/
|
||
│ │ └── global.md # Глобальные правила
|
||
│ └── logs/
|
||
│ └── efficiency_score.json # История оценок
|
||
├── src/
|
||
│ └── kilocode/
|
||
│ ├── index.ts # Точка входа модуля
|
||
│ └── agent-manager/ # TypeScript-интеграция с KiloCode
|
||
│ ├── index.ts # Загрузчик конфигурации агентов
|
||
│ ├── workflow.ts # State Machine пайплайна
|
||
│ ├── router.ts # Маршрутизатор между агентами
|
||
│ ├── prompt-loader.ts # Динамическая загрузка промптов
|
||
│ ├── git-ops.ts # Git-операции (история, коммиты)
|
||
│ ├── evaluator.ts # Логика оценки эффективности
|
||
│ ├── gitea-client.ts # Gitea API для логирования
|
||
│ ├── pipeline-runner.ts # Оркестратор пайплайна
|
||
│ └── types.ts # TypeScript-типы системы
|
||
```
|
||
|
||
---
|
||
|
||
## Состав команды (14 агентов)
|
||
|
||
### Блок А: Вход и Планирование
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 1 | **Requirement Refiner** | Kimi-k2-thinking | Транслирует задачи в строгие технические чек-листы |
|
||
| 2 | **Orchestrator** | GLM-5 | Главный диспетчер, управляет State Machine |
|
||
| 3 | **History Miner** | GPT-OSS 20B | Сканирует git log, предотвращает дублирование работы |
|
||
|
||
### Блок Б: Проектирование
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 4 | **System Analyst** | Qwen3.6-Plus (Free) | Создаёт схемы БД, TypeScript-интерфейсы и API-контракты |
|
||
| 5 | **Product Owner** | Qwen3.6-Plus (Free) | Управляет чек-листами в Issues и статусными лейблами |
|
||
|
||
### Блок В: Производство
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 6 | **Lead Developer** | Qwen3-Coder 480B | Пишет основной код (Go / Node.js) по TDD-спецификации |
|
||
| 7 | **Frontend Dev** | Kimi-k2.5 | UI-компоненты, мультимодальный анализ скриншотов |
|
||
| 8 | **The Fixer** | MiniMax-m2.5 | Итеративно исправляет баги после тестов и ревью |
|
||
|
||
### Блок Г: Контроль Качества
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 9 | **SDET Engineer** | Qwen3-Coder 480B | Пишет падающие тесты до реализации (TDD Red Phase) |
|
||
| 10 | **Code Skeptic** | MiniMax-m2.5 | Ищет race conditions, уязвимости, логические дыры |
|
||
| 11 | **Performance Engineer** | Nemotron-3-Super | Проверяет на N+1, утечки памяти, блокировки event loop |
|
||
| 12 | **Security Auditor** | Kimi-k2.5 | OWASP Top 10, SQL-инъекции, XSS, CVE в зависимостях |
|
||
|
||
### Блок Д: Релиз и Самообучение
|
||
|
||
| # | Роль | Модель | Специализация |
|
||
|---|------|--------|---------------|
|
||
| 13 | **Release Manager** | Qwen3-Coder 480B | SemVer, Git Flow, мердж только при Green Build |
|
||
| 14 | **Performance Evaluator** | GPT-OSS 120B | Оценивает эффективность каждого агента по шкале 1-10 |
|
||
| 15 | **Prompt Optimizer** | Qwen3.6-Plus (Free) | Анализирует ошибки и переписывает системные промпты |
|
||
|
||
---
|
||
|
||
## Жизненный цикл задачи (State Machine)
|
||
|
||
```
|
||
[Пользователь] -> Requirement Refiner -> Orchestrator
|
||
|
|
||
+-------------------------+
|
||
v v
|
||
History Miner (если дубль -> закрыть)
|
||
|
|
||
v
|
||
System Analyst
|
||
|
|
||
v
|
||
SDET Engineer (Red Phase: тесты падают)
|
||
|
|
||
v
|
||
Lead Developer (Green Phase: тесты проходят)
|
||
|
|
||
v
|
||
Code Skeptic ---- замечания ---> The Fixer --+
|
||
| |
|
||
+--------------------------------------+
|
||
| (Approve)
|
||
v
|
||
Performance Engineer -- проблемы -> The Fixer
|
||
| (OK)
|
||
v
|
||
Security Auditor -- уязвимости -> The Fixer
|
||
| (OK)
|
||
v
|
||
Release Manager (SemVer + Merge)
|
||
|
|
||
v
|
||
Performance Evaluator (оценка 1-10)
|
||
|
|
||
v
|
||
Prompt Optimizer (если оценка < 7 -> улучшить промпт)
|
||
|
|
||
v
|
||
Product Owner (закрывает Issue)
|
||
```
|
||
|
||
---
|
||
|
||
## Установка и использование
|
||
|
||
### Вариант A: Claude Code (рекомендуется)
|
||
|
||
#### Глобальная установка — команды работают во ВСЕХ проектах
|
||
|
||
```bash
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
mkdir -p ~/.claude/commands ~/.claude/rules
|
||
cp APAW/.claude/commands/*.md ~/.claude/commands/
|
||
cp APAW/.claude/rules/global.md ~/.claude/rules/
|
||
# Заменить /project: на /user: во внутренних ссылках:
|
||
sed -i 's|/project:|/user:|g' ~/.claude/commands/*.md
|
||
```
|
||
|
||
После этого в **любом проекте** доступны команды `/user:pipeline`, `/user:refine` и т.д.
|
||
|
||
#### Установка в конкретный проект
|
||
|
||
```bash
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
./APAW/install-apaw.sh /path/to/your-project
|
||
```
|
||
|
||
Скрипт создаёт `.claude/` в целевом проекте. Команды доступны как `/project:*`.
|
||
|
||
#### Быстрый старт
|
||
|
||
```
|
||
# Полный цикл от идеи до релиза:
|
||
/project:pipeline добавить эндпоинт авторизации через JWT
|
||
# или глобально (после глобальной установки):
|
||
/user:pipeline добавить эндпоинт авторизации через JWT
|
||
|
||
# Или пошагово:
|
||
/project:refine хочу кнопку экспорта в PDF
|
||
/project:mine экспорт PDF
|
||
/project:analyze экспорт PDF — user story + acceptance criteria
|
||
/project:tests ...
|
||
/project:implement ...
|
||
```
|
||
|
||
#### Таблица команд
|
||
|
||
| Команда | Агент | Модель | Назначение |
|
||
|---------|-------|--------|-----------|
|
||
| `/project:pipeline` | Pipeline Runner | Sonnet | Весь цикл одной командой |
|
||
| `/project:orchestrate` | Orchestrator | Sonnet | Маршрутизация по состоянию |
|
||
| `/project:refine` | Requirement Refiner | Sonnet | Вагные идеи → чеклист |
|
||
| `/project:mine` | History Miner | **Haiku** | Поиск дублей в git |
|
||
| `/project:analyze` | System Analyst | **Opus** | Схемы БД, API-контракты |
|
||
| `/project:tests` | SDET Engineer | Sonnet | TDD — пишет падающие тесты |
|
||
| `/project:implement` | Lead Developer | **Opus** | TDD — делает тесты зелёными |
|
||
| `/project:skeptic` | Code Skeptic | Sonnet | Adversarial ревью кода |
|
||
| `/project:perf` | Performance Engineer | Sonnet | N+1, утечки, блокировки |
|
||
| `/project:fix` | The Fixer | Sonnet | Точечные исправления |
|
||
| `/project:security` | Security Auditor | **Opus** | OWASP Top 10, CVE |
|
||
| `/project:release` | Release Manager | Sonnet | SemVer, gate-check, тег |
|
||
| `/project:evaluate` | Evaluator | **Haiku** | Оценка агентов 1–10 |
|
||
| `/project:optimize-prompts` | Prompt Optimizer | **Opus** | PromptOps авто-улучшение |
|
||
|
||
> Haiku = быстро и дёшево. Opus = максимальное качество. Sonnet = баланс.
|
||
|
||
---
|
||
|
||
## KiloCode Commands (Quick Actions)
|
||
|
||
| Command | Description | Model |
|
||
|---------|-------------|-------|
|
||
| `/plan` | Creates detailed task plans | ollama-cloud/qwen3-coder:480b |
|
||
| `/ask` | Answers codebase questions | openai/qwen3-32b |
|
||
| `/debug` | Analyzes and fixes bugs | ollama-cloud/gpt-oss:20b |
|
||
| `/code` | Quick code generation | ollama-cloud/qwen3-coder:480b |
|
||
|
||
## KiloCode Pipeline Agents
|
||
|
||
| Agent | Role | Model |
|
||
|-------|------|-------|
|
||
| `@RequirementRefiner` | Converts vague ideas to strict User Stories | ollama-cloud/kimi-k2-thinking |
|
||
| `@HistoryMiner` | Finds duplicates and past solutions in git | ollama-cloud/gpt-oss:20b |
|
||
| `@SystemAnalyst` | Designs technical specifications | qwen/qwen3.6-plus:free |
|
||
| `@SDETEngineer` | Writes tests following TDD | ollama-cloud/qwen3-coder:480b |
|
||
| `@LeadDeveloper` | Primary code writer | ollama-cloud/qwen3-coder:480b |
|
||
| `@FrontendDeveloper` | UI implementation with multimodal | ollama-cloud/kimi-k2.5 |
|
||
| `@CodeSkeptic` | Adversarial code reviewer | ollama-cloud/minimax-m2.5 |
|
||
| `@TheFixer` | Iteratively fixes bugs | ollama-cloud/minimax-m2.5 |
|
||
| `@PerformanceEngineer` | Reviews for performance issues | ollama-cloud/nemotron-3-super |
|
||
| `@SecurityAuditor` | Scans for vulnerabilities | ollama-cloud/kimi-k2.5 |
|
||
| `@ReleaseManager` | Git operations and deployments | ollama-cloud/qwen3-coder:480b |
|
||
| `@Evaluator` | Scores agent effectiveness | ollama-cloud/gpt-oss:120b |
|
||
| `@PromptOptimizer` | Improves agent prompts | qwen/qwen3.6-plus:free |
|
||
| `@ProductOwner` | Manages issue checklists | qwen/qwen3.6-plus:free |
|
||
| `@Orchestrator` | Routes tasks between agents | ollama-cloud/glm-5 |
|
||
| `@AgentArchitect` | Manages agent network per Kilo.ai spec | qwen/qwen3.6-plus:free |
|
||
|
||
> **Note:** For AgentArchitect, use `subagent_type: "system-analyst"` with prompt "You are Agent Architect..." (workaround for unsupported agent-architect type).
|
||
|
||
## Конфигурация разрешений агентов
|
||
|
||
Все агенты настроены для автономной работы без запросов разрешений на каждое действие:
|
||
|
||
| Агент | read | edit | write | bash | glob | grep | task |
|
||
|-------|------|------|-------|------|------|------|------|
|
||
| **orchestrator** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 15 subagents |
|
||
| **lead-developer** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | code-skeptic |
|
||
| **frontend-developer** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | deny |
|
||
| **sdet-engineer** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | lead-developer |
|
||
| **the-fixer** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | code-skeptic, orchestrator |
|
||
| **code-skeptic** | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | the-fixer, performance-eng |
|
||
| **performance-engineer** | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | the-fixer, security-auditor |
|
||
| **security-auditor** | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | the-fixer, release-manager |
|
||
| **evaluator** | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | prompt-optimizer, product-owner |
|
||
| **requirement-refiner** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | history-miner, system-analyst |
|
||
| **history-miner** | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | deny |
|
||
| **system-analyst** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | deny |
|
||
| **product-owner** | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | deny |
|
||
| **release-manager** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | evaluator |
|
||
| **prompt-optimizer** | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | deny |
|
||
| **agent-architect** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | deny |
|
||
|
||
**Категории разрешений:**
|
||
- **Code Writers** (lead-developer, frontend-developer, sdet-engineer, the-fixer) — полный доступ для написания кода
|
||
- **Reviewers** (code-skeptic, performance-engineer, security-auditor, evaluator) — только чтение, без редактирования
|
||
- **Analysts** (requirement-refiner, history-miner, system-analyst, product-owner) — чтение + создание спецификаций
|
||
- **Release Manager** — полный доступ для git-операций
|
||
- **Configurators** (prompt-optimizer, agent-architect) — полный доступ для редактирования конфигураций
|
||
|
||
|
||
|
||
---
|
||
|
||
### Вариант B: KiloCode (VS Code плагин)
|
||
|
||
```bash
|
||
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
|
||
cp -r APAW/.kilocode /your-project/
|
||
cp APAW/.kilocodemodes /your-project/
|
||
```
|
||
|
||
KiloCode автоматически обнаружит `.kilocodemodes` и загрузит все режимы агентов.
|
||
Начните с **Requirement Refiner**, введя описание задачи на естественном языке.
|
||
|
||
---
|
||
|
||
## PromptOps: Эволюция промптов через Git
|
||
|
||
Все системные промпты хранятся в `.kilocode/agents/` и версионируются через Git:
|
||
|
||
- **Отслеживать эволюцию** — `git diff` покажет изменения, сделанные Prompt Optimizer
|
||
- **Откатывать изменения** — `git checkout` вернёт предыдущую версию промпта
|
||
- **Анализировать обучение** — частые коммиты в промпт означают, что агент требует доработки
|
||
|
||
Пример коммита от Prompt Optimizer:
|
||
|
||
```
|
||
chore(ai-brain): optimize Lead Dev prompt based on Issue #142 failures
|
||
|
||
- Added: "Always check type compatibility in index.d.ts before implementation"
|
||
- Reason: 4 fix iterations due to TypeScript interface mismatches
|
||
```
|
||
|
||
---
|
||
|
||
## Оценка эффективности
|
||
|
||
Файл `.kilocode/logs/efficiency_score.json` хранит историю оценок по каждому Issue:
|
||
|
||
```json
|
||
{
|
||
"version": "1.0",
|
||
"history": [
|
||
{
|
||
"issue": 142,
|
||
"date": "2026-03-31T10:30:00Z",
|
||
"agents": {
|
||
"requirement-refiner": 8,
|
||
"lead-developer": 6,
|
||
"code-skeptic": 9
|
||
},
|
||
"iterations": 3,
|
||
"duration_hours": 2.5
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## KiloCode Workflows Integration
|
||
|
||
Проект интегрирован с **KiloCode Workflows** (slash commands):
|
||
|
||
### Доступные команды
|
||
|
||
| Команда | Описание | Пример |
|
||
|---------|----------|--------|
|
||
| `/pipeline <issue>` | Запуск полного пайплайна | `/pipeline 42` |
|
||
| `/status <issue>` | Проверка статуса пайплайна | `/status 42` |
|
||
| `/evaluate <issue>` | Генерация отчёта эффективности | `/evaluate 42` |
|
||
| `/plan` | Создание детального плана | `/plan feature X` |
|
||
| `/ask` | Вопросы по кодовой базе | `/ask how does auth work` |
|
||
| `/debug` | Анализ и исправление багов | `/debug error in login` |
|
||
| `/code` | Быстрая генерация кода | `/code add validation` |
|
||
|
||
### Как использовать Pipeline
|
||
|
||
1. Откройте проект в VS Code с плагином KiloCode
|
||
2. Создайте Issue в Gitea
|
||
3. Введите `/pipeline <номер-issue>` в чате KiloCode
|
||
4. Пайплайн автоматически:
|
||
- Получит контекст Issue
|
||
- Проверит дубликаты в git
|
||
- Маршрутизирует через агентов по статусу
|
||
- Логирует прогресс в комментарии Gitea
|
||
- Сгенерирует итоговый отчёт
|
||
|
||
### Workflow файлы
|
||
|
||
| Файл | Назначение |
|
||
|------|------------|
|
||
| `.kilo/commands/pipeline.md` | Основной workflow пайплайна |
|
||
| `.kilo/commands/status.md` | Проверка статуса |
|
||
| `.kilo/commands/evaluate.md` | Оценка эффективности |
|
||
| `.kilo/agents/*.md` | Определения агентов (subagents) |
|
||
| `.kilo/rules/*.md` | Правила кодирования |
|
||
| `.kilo/skills/gitea/` | Gitea integration skill |
|
||
|
||
### Прямой вызов агентов
|
||
|
||
Агентов можно вызывать напрямую через `@mention`:
|
||
|
||
```
|
||
@lead-developer implement authentication flow
|
||
@code-skeptic review the auth module
|
||
@security-auditor check for vulnerabilities
|
||
```
|
||
|
||
---
|
||
|
||
## Технический стек
|
||
|
||
- **Оркестрация**: Node.js / TypeScript (Agent Manager)
|
||
- **Интеграция**: KiloCode VS Code Extension / Claude Code
|
||
- **Версионирование**: Gitea + Git Flow
|
||
- **Язык разработки**: TypeScript / Node.js / Go
|
||
- **Тестирование**: TDD (Red-Green-Refactor)
|
||
|
||
---
|
||
|
||
## Agent Manager API
|
||
|
||
Новый модуль `src/kilocode/` предоставляет программный API для работы с пайплайном:
|
||
|
||
### Установка
|
||
|
||
```bash
|
||
bun install
|
||
bun run build
|
||
```
|
||
|
||
### Использование
|
||
|
||
```typescript
|
||
import {
|
||
PipelineRunner,
|
||
GiteaClient,
|
||
decideRouting,
|
||
WORKFLOW_GRAPH,
|
||
type AgentRole,
|
||
type IssueStatus
|
||
} from './src/kilocode/index.js'
|
||
|
||
// Инициализация пайплайна
|
||
const runner = await createPipelineRunner({
|
||
giteaToken: process.env.GITEA_TOKEN,
|
||
giteaApiUrl: 'https://git.softuniq.eu/api/v1',
|
||
efficiencyThreshold: 7,
|
||
autoLog: true
|
||
})
|
||
|
||
// Запуск пайплайна для Issue
|
||
const result = await runner.run({
|
||
issueNumber: 42,
|
||
files: ['src/auth.ts', 'src/user.ts'],
|
||
testResults: { passed: 5, failed: 0 }
|
||
})
|
||
|
||
// Определение следующего агента
|
||
const decision = decideRouting({
|
||
status: 'implementing',
|
||
labels: ['status: implemented'],
|
||
checklists: { completed: 3, total: 5 },
|
||
comments: [],
|
||
files: ['src/auth.ts']
|
||
})
|
||
|
||
console.log(decision.nextAgent) // 'code-skeptic'
|
||
```
|
||
|
||
### Gitea интеграция
|
||
|
||
```typescript
|
||
const client = new GiteaClient({
|
||
apiUrl: 'https://git.softuniq.eu/api/v1',
|
||
token: process.env.GITEA_TOKEN
|
||
})
|
||
|
||
client.setRepository('UniqueSoft', 'APAW')
|
||
|
||
// Получить Issue
|
||
const issue = await client.getIssue(42)
|
||
|
||
// Установить статус
|
||
await client.setStatus(42, 'implementing')
|
||
|
||
// Добавить комментарий
|
||
await client.createComment(42, {
|
||
body: '## ✅ Implementation Complete\n\nAll tests passed.'
|
||
})
|
||
|
||
// Закрыть Issue
|
||
await client.closeIssue(42)
|
||
```
|
||
|
||
### Логирование эффективности
|
||
|
||
```typescript
|
||
await runner.logEvaluation(42, [
|
||
{ agent: 'lead-developer', score: 8, notes: 'Clean implementation' },
|
||
{ agent: 'code-skeptic', score: 7, notes: 'Found 2 minor issues' },
|
||
{ agent: 'the-fixer', score: 9, notes: 'Fixed issues quickly', iterations: 1 }
|
||
], 2, 1.5)
|
||
```
|
||
|
||
---
|
||
|
||
## Self-Improving Pipeline
|
||
|
||
Система автоматически логирует эффективность каждого агента в Gitea Issues:
|
||
|
||
1. **Pipeline Runner** запускается для каждой задачи
|
||
2. Каждый агент логирует свой прогресс в комментарии Issue
|
||
3. **Evaluator** оценивает эффективность агентов (1-10)
|
||
4. **Prompt Optimizer** получает агентов с низкими оценками (<7)
|
||
5. Промпты автоматически улучшаются на основе анализа
|
||
|
||
Журнал эффективности сохраняется в `.kilo/logs/efficiency_score.json` для аналитики.
|
||
|
||
---
|
||
|
||
## Переменные окружения
|
||
|
||
```bash
|
||
# Gitea API
|
||
GITEA_API_URL=https://git.softuniq.eu/api/v1
|
||
GITEA_TOKEN=your-token-here
|
||
```
|
||
|
||
---
|
||
|
||
## Удаление дубликатов
|
||
|
||
Если в проекте есть старые файлы в `packages/opencode/`, выполните:
|
||
|
||
```bash
|
||
sudo rm -rf packages/opencode/src/kilocode/
|
||
```
|
||
|
||
Код интегрирован в `src/kilocode/`.
|
||
|
||
---
|
||
|
||
*Разработано в рамках проекта APAW (Automatic Programmers Agent Workflow) — 2026*
|