chore(agents): единая структура заданий и приёмки #1
25 changed files with 258 additions and 0 deletions
34
AGENTS.md
Normal file
34
AGENTS.md
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
# Правила работы агентов — agent-control-center
|
||||||
|
|
||||||
|
Документ адресован любому исполнителю: человеку или агенту. Он описывает не
|
||||||
|
устройство проекта, а порядок работы над ним.
|
||||||
|
|
||||||
|
## 1. Границы задачи
|
||||||
|
|
||||||
|
Задание определяет область. Выход за неё запрещён, даже когда исправление
|
||||||
|
очевидно и занимает минуту: перемешанные изменения нельзя ни отревьюить, ни
|
||||||
|
откатить по отдельности. Замеченное рядом — списком в отчёт, отдельными
|
||||||
|
предложениями задач.
|
||||||
|
|
||||||
|
## 2. Факты и догадки
|
||||||
|
|
||||||
|
Выдумывать нельзя. Если решение не принято, версия неизвестна, а поведение не
|
||||||
|
проверено — так и пишем. Правдоподобная выдумка дороже честного «не определено»:
|
||||||
|
по ней начнут работать.
|
||||||
|
|
||||||
|
## 3. Проверка
|
||||||
|
|
||||||
|
«Работает» — не результат проверки. В отчёт идёт команда и её фактический
|
||||||
|
вывод. Если проверка не запускалась, это пишется прямо.
|
||||||
|
|
||||||
|
## 4. Задания и результаты
|
||||||
|
|
||||||
|
Задания и отчёты живут в `agents/`. Схема одинакова во всех репозиториях
|
||||||
|
рабочего пространства `Agent_projects`, полные правила — в `agents/README.md`.
|
||||||
|
|
||||||
|
Коротко: задание — в `agents/<твой-id>/inbox/`, результат — в
|
||||||
|
`agents/<твой-id>/done/`, черновики — в `agents/<твой-id>/notes/`. Задание,
|
||||||
|
пришедшее в чате, агент сначала записывает в свой `inbox/`, и только потом
|
||||||
|
работает. Своих папок за пределами `agents/<твой-id>/` не заводить.
|
||||||
|
|
||||||
|
Принимает работу и пушит в `main` только главный агент.
|
||||||
62
agents/README.md
Normal file
62
agents/README.md
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Задания агентов — agent-control-center
|
||||||
|
|
||||||
|
Единая схема для всех репозиториев в `Agent_projects`. Смысл один: задание,
|
||||||
|
результат и приёмка лежат в репозитории, а не в переписке и не в личных папках
|
||||||
|
агента на диске. Через месяц найти работу можно только так.
|
||||||
|
|
||||||
|
## Правило, из-за которого всё это заведено
|
||||||
|
|
||||||
|
Агент не создаёт папок за пределами `agents/<свой-id>/`. Черновики, логи
|
||||||
|
прогонов, промежуточные заметки — в `notes/`. Если своей папки не хватило,
|
||||||
|
это повод изменить схему в этом файле, а не завести `my_review/` в корне.
|
||||||
|
|
||||||
|
## Кто есть кто
|
||||||
|
|
||||||
|
| id | Агент | Папка | Префикс ветки |
|
||||||
|
|----|-------|-------|---------------|
|
||||||
|
| `claude` | Claude | `agents/claude/` | `claude/` |
|
||||||
|
| `codex` | Codex | `agents/codex/` | `codex/` |
|
||||||
|
| `antigravity` | Antigravity | `agents/antigravity/` | `antigravity/` |
|
||||||
|
| `hermes` | Hermes | `agents/hermes/` | `hermes/` |
|
||||||
|
| `grok` | Grok | `agents/grok/` | `grok/` |
|
||||||
|
| `opencode` | OpenCode | `agents/opencode/` | `opencode/` |
|
||||||
|
|
||||||
|
Внутри каждой папки:
|
||||||
|
|
||||||
|
- `inbox/` — задания агенту;
|
||||||
|
- `done/` — готовые результаты и отчёты;
|
||||||
|
- `notes/` — рабочие черновики агента.
|
||||||
|
|
||||||
|
## Маршрут задания
|
||||||
|
|
||||||
|
1. **Задание попадает в `<agent>/inbox/`** файлом `ГГГГ-ММ-ДД-краткое-имя.md`
|
||||||
|
по шаблону [TASK-TEMPLATE.md](TASK-TEMPLATE.md). Если задание пришло голосом
|
||||||
|
или в чате — агент сам записывает его в свой inbox **до** начала работы.
|
||||||
|
Незаписанного задания не существует: его нельзя ни проверить, ни повторить.
|
||||||
|
2. **Агент работает.** Черновики — в `<agent>/notes/`. Ветка — с префиксом
|
||||||
|
из таблицы выше.
|
||||||
|
3. **Результат — в `<agent>/done/`** файлом с тем же именем, что и задание,
|
||||||
|
по шаблону [REPORT-TEMPLATE.md](REPORT-TEMPLATE.md). Задание остаётся
|
||||||
|
в inbox до приёмки: пара «задание — отчёт» должна читаться рядом.
|
||||||
|
4. **Главный агент принимает работу:** сверяет отчёт с тем, что реально
|
||||||
|
изменилось, объединяет результаты разных агентов, переносит пару файлов
|
||||||
|
в `agents/_accepted/ГГГГ-ММ-ДД-краткое-имя/` и только после этого пушит.
|
||||||
|
|
||||||
|
Пункт 4 выполняет только главный агент. Остальные в `main` не пушат — иначе
|
||||||
|
приёмка превращается в разбор того, что уже влито.
|
||||||
|
|
||||||
|
## Что обязано быть в отчёте
|
||||||
|
|
||||||
|
- что сделано и какими файлами;
|
||||||
|
- как это проверено — команда и её вывод, а не «протестировано»;
|
||||||
|
- что не сделано и почему; незакрытая часть в отчёте лучше, чем найденная
|
||||||
|
при приёмке;
|
||||||
|
- замеченные рядом дефекты — списком, отдельными предложениями задач, без
|
||||||
|
самовольного исправления.
|
||||||
|
|
||||||
|
## Чего делать нельзя
|
||||||
|
|
||||||
|
- Класть результат в `inbox/`, а задание в `done/`.
|
||||||
|
- Править чужой отчёт в `done/`. Возражения — отдельным файлом в своём
|
||||||
|
`done/` со ссылкой на разбираемый отчёт.
|
||||||
|
- Удалять принятое из `_accepted/`. Это архив приёмки.
|
||||||
27
agents/REPORT-TEMPLATE.md
Normal file
27
agents/REPORT-TEMPLATE.md
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Отчёт: заголовок задания
|
||||||
|
|
||||||
|
- **Задание:** `../inbox/` — файл с тем же именем
|
||||||
|
- **Агент:** id агента
|
||||||
|
- **Дата:** ГГГГ-ММ-ДД
|
||||||
|
- **Ветка / коммиты:** ветка и хеши
|
||||||
|
|
||||||
|
## Что сделано
|
||||||
|
|
||||||
|
Списком, с указанием файлов.
|
||||||
|
|
||||||
|
## Как проверено
|
||||||
|
|
||||||
|
Команда и её фактический вывод. Если проверка не запускалась — так и написать.
|
||||||
|
|
||||||
|
## Что не сделано
|
||||||
|
|
||||||
|
Незакрытая часть задания и причина. Пусто — тоже ответ, но осознанный.
|
||||||
|
|
||||||
|
## Замечено рядом
|
||||||
|
|
||||||
|
Дефекты и улучшения за границами задачи — предложениями отдельных задач,
|
||||||
|
без самовольного исправления.
|
||||||
|
|
||||||
|
## Вопросы к приёмке
|
||||||
|
|
||||||
|
Места, где решение спорное и нужен взгляд главного агента.
|
||||||
27
agents/TASK-TEMPLATE.md
Normal file
27
agents/TASK-TEMPLATE.md
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Заголовок задания
|
||||||
|
|
||||||
|
- **Кому:** id агента из таблицы в README
|
||||||
|
- **Дата:** ГГГГ-ММ-ДД
|
||||||
|
- **От кого:** владелец проекта / главный агент
|
||||||
|
- **Ветка:** `<префикс-агента>/краткое-имя`
|
||||||
|
- **Файл отчёта:** `../done/` с тем же именем, что у этого файла
|
||||||
|
|
||||||
|
## Что нужно сделать
|
||||||
|
|
||||||
|
Одна задача — один файл. Если задач две, это два файла: иначе половину примут,
|
||||||
|
а половину нет, и состояние станет непонятным.
|
||||||
|
|
||||||
|
## Границы
|
||||||
|
|
||||||
|
Чего в этой задаче делать не нужно, даже если исправление очевидно и занимает
|
||||||
|
минуту. Замеченное рядом — в отчёт списком.
|
||||||
|
|
||||||
|
## Как проверить результат
|
||||||
|
|
||||||
|
Команды, которые должны пройти, и что считается доказательством. «Работает» —
|
||||||
|
не критерий приёмки.
|
||||||
|
|
||||||
|
## Контекст и ограничения
|
||||||
|
|
||||||
|
Файлы, документы, решения, которые нельзя нарушать. Если чего-то не знаешь —
|
||||||
|
пиши «не определено», а не правдоподобную выдумку.
|
||||||
0
agents/_accepted/.gitkeep
Normal file
0
agents/_accepted/.gitkeep
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
Set oShell = CreateObject("WScript.Shell")
|
||||||
|
Set oLink = oShell.CreateShortcut(oShell.SpecialFolders("Desktop") & "\Agent Control Center.lnk")
|
||||||
|
oLink.TargetPath = oShell.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\hermes\hermes-agent\node_modules\.bin\electron.cmd"
|
||||||
|
oLink.Arguments = oShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\acc-desktop"
|
||||||
|
oLink.WorkingDirectory = oShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\acc-desktop"
|
||||||
|
oLink.Description = "Agent Control Center — управление ИИ-агентами"
|
||||||
|
oLink.Save
|
||||||
0
agents/antigravity/done/.gitkeep
Normal file
0
agents/antigravity/done/.gitkeep
Normal file
0
agents/antigravity/inbox/.gitkeep
Normal file
0
agents/antigravity/inbox/.gitkeep
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
# Развернуть рабочее пространство Agent_projects на этой машине
|
||||||
|
|
||||||
|
- **Кому:** antigravity
|
||||||
|
- **Дата:** 2026-08-18
|
||||||
|
- **От кого:** владелец проекта (через Claude)
|
||||||
|
- **Ветка:** ветка не нужна, работа идёт только на диске
|
||||||
|
- **Файл отчёта:** `../done/2026-08-18-консолидация-рабочего-пространства.md`
|
||||||
|
|
||||||
|
## Что нужно сделать
|
||||||
|
|
||||||
|
Собрать в `C:\Users\Ochenstarik\Agent_projects` клоны всех проектов и
|
||||||
|
убедиться, что в каждом есть папка `agents/`. Ничего разбирать, переносить и
|
||||||
|
удалять не нужно — только выгрузка из git и проверка структуры.
|
||||||
|
|
||||||
|
### 1. Каталог
|
||||||
|
|
||||||
|
Создать `C:\Users\Ochenstarik\Agent_projects`, если его нет. Все проекты
|
||||||
|
живут здесь и только здесь.
|
||||||
|
|
||||||
|
### 2. Выгрузить репозитории
|
||||||
|
|
||||||
|
Владелец — `ochenstarik-ui`. Проверить, что `gh auth status` показывает
|
||||||
|
именно его, и склонировать 17 репозиториев:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd "C:/Users/Ochenstarik/Agent_projects"
|
||||||
|
for r in business-platform kagent hermes-config-backup server-monitor-manager \
|
||||||
|
randomayzer trade-signal-platform trading-knowledge-base \
|
||||||
|
finance-telegram-bot agent-control-center agent-control-center-server \
|
||||||
|
lightweight-server safetest-platform agent-engineering-quality-system \
|
||||||
|
hermes-lossless-context-layer hermes-task-inbox singbox-ai-router \
|
||||||
|
trade-signal-bot-legacy; do
|
||||||
|
gh repo clone "ochenstarik-ui/$r" "$r"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
Часть репозиториев приватные — без авторизованного `gh` они не склонируются.
|
||||||
|
Если какой-то не выгрузился, это в отчёт, а не «пропустил и пошёл дальше».
|
||||||
|
|
||||||
|
### 3. Структура agents/
|
||||||
|
|
||||||
|
Структура уже лежит в самих репозиториях, отдельно её создавать не надо.
|
||||||
|
На 2026-08-18 она находится в ветке `chore/agents-workspace` и ждёт приёмки в
|
||||||
|
открытом PR. Поэтому в каждом клоне:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git fetch origin
|
||||||
|
git checkout chore/agents-workspace 2>/dev/null || git checkout main
|
||||||
|
```
|
||||||
|
|
||||||
|
Если к моменту выполнения PR уже смержены — структура будет в `main`, и
|
||||||
|
переключаться никуда не нужно.
|
||||||
|
|
||||||
|
Проверить, что в каждом проекте есть:
|
||||||
|
|
||||||
|
```
|
||||||
|
agents/
|
||||||
|
README.md TASK-TEMPLATE.md REPORT-TEMPLATE.md
|
||||||
|
claude/ codex/ antigravity/ hermes/ grok/ opencode/
|
||||||
|
inbox/ done/ notes/
|
||||||
|
_accepted/
|
||||||
|
```
|
||||||
|
|
||||||
|
Если в каком-то репозитории `agents/` не оказалось ни в `main`, ни в
|
||||||
|
`chore/agents-workspace` — не выдумывать структуру самому: записать в отчёт,
|
||||||
|
какой это репозиторий.
|
||||||
|
|
||||||
|
### 4. Как здесь работать дальше
|
||||||
|
|
||||||
|
Коротко, полные правила — в `agents/README.md` внутри любого проекта:
|
||||||
|
задание — в `agents/antigravity/inbox/`, черновики — в `notes/`, результат —
|
||||||
|
в `done/`. Задание, пришедшее в чате, сначала записывается в `inbox/`, и
|
||||||
|
только потом начинается работа. Своих папок за пределами
|
||||||
|
`agents/antigravity/` не заводить — из-за этого всё и разъехалось.
|
||||||
|
|
||||||
|
## Границы
|
||||||
|
|
||||||
|
- Ничего не удалять и не переносить с диска. Эта задача — только выгрузка.
|
||||||
|
- В `main` не пушить, PR не мержить.
|
||||||
|
- Существующие папки с проектами вне `Agent_projects` не трогать: что с ними
|
||||||
|
делать, решается отдельной задачей.
|
||||||
|
|
||||||
|
## Что здесь ломается
|
||||||
|
|
||||||
|
- **Длинные пути Windows.** Часть репозиториев имеет глубокую вложенность и
|
||||||
|
падает с `Filename too long`. Лечится `git config --global core.longpaths true`
|
||||||
|
до клонирования.
|
||||||
|
- **Ветка по умолчанию.** У `agent-control-center-server` это `master`, а не
|
||||||
|
`main`. Не считать `main` данностью.
|
||||||
|
- **Занятые файлы.** Если клон не создаётся из-за занятого файла — значит, в
|
||||||
|
этой папке работает другой процесс. Не ломать, записать в отчёт.
|
||||||
|
|
||||||
|
## Как проверить результат
|
||||||
|
|
||||||
|
Считается сделанным, когда:
|
||||||
|
|
||||||
|
1. в `Agent_projects` лежат все 17 клонов;
|
||||||
|
2. в каждом есть `agents/` с полным набором папок;
|
||||||
|
3. в отчёте приведён вывод проверки — по строке на репозиторий: имя, текущая
|
||||||
|
ветка, наличие `agents/`;
|
||||||
|
4. на диске за пределами `Agent_projects` ничего не изменилось.
|
||||||
0
agents/antigravity/notes/.gitkeep
Normal file
0
agents/antigravity/notes/.gitkeep
Normal file
0
agents/claude/done/.gitkeep
Normal file
0
agents/claude/done/.gitkeep
Normal file
0
agents/claude/inbox/.gitkeep
Normal file
0
agents/claude/inbox/.gitkeep
Normal file
0
agents/claude/notes/.gitkeep
Normal file
0
agents/claude/notes/.gitkeep
Normal file
0
agents/codex/done/.gitkeep
Normal file
0
agents/codex/done/.gitkeep
Normal file
0
agents/codex/inbox/.gitkeep
Normal file
0
agents/codex/inbox/.gitkeep
Normal file
0
agents/codex/notes/.gitkeep
Normal file
0
agents/codex/notes/.gitkeep
Normal file
0
agents/grok/done/.gitkeep
Normal file
0
agents/grok/done/.gitkeep
Normal file
0
agents/grok/inbox/.gitkeep
Normal file
0
agents/grok/inbox/.gitkeep
Normal file
0
agents/grok/notes/.gitkeep
Normal file
0
agents/grok/notes/.gitkeep
Normal file
0
agents/hermes/done/.gitkeep
Normal file
0
agents/hermes/done/.gitkeep
Normal file
0
agents/hermes/inbox/.gitkeep
Normal file
0
agents/hermes/inbox/.gitkeep
Normal file
0
agents/hermes/notes/.gitkeep
Normal file
0
agents/hermes/notes/.gitkeep
Normal file
0
agents/opencode/done/.gitkeep
Normal file
0
agents/opencode/done/.gitkeep
Normal file
0
agents/opencode/inbox/.gitkeep
Normal file
0
agents/opencode/inbox/.gitkeep
Normal file
0
agents/opencode/notes/.gitkeep
Normal file
0
agents/opencode/notes/.gitkeep
Normal file
Loading…
Reference in a new issue