diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..6f70202 --- /dev/null +++ b/AGENTS.md @@ -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` только главный агент. diff --git a/agents/README.md b/agents/README.md new file mode 100644 index 0000000..5e3ad65 --- /dev/null +++ b/agents/README.md @@ -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. **Задание попадает в `/inbox/`** файлом `ГГГГ-ММ-ДД-краткое-имя.md` + по шаблону [TASK-TEMPLATE.md](TASK-TEMPLATE.md). Если задание пришло голосом + или в чате — агент сам записывает его в свой inbox **до** начала работы. + Незаписанного задания не существует: его нельзя ни проверить, ни повторить. +2. **Агент работает.** Черновики — в `/notes/`. Ветка — с префиксом + из таблицы выше. +3. **Результат — в `/done/`** файлом с тем же именем, что и задание, + по шаблону [REPORT-TEMPLATE.md](REPORT-TEMPLATE.md). Задание остаётся + в inbox до приёмки: пара «задание — отчёт» должна читаться рядом. +4. **Главный агент принимает работу:** сверяет отчёт с тем, что реально + изменилось, объединяет результаты разных агентов, переносит пару файлов + в `agents/_accepted/ГГГГ-ММ-ДД-краткое-имя/` и только после этого пушит. + +Пункт 4 выполняет только главный агент. Остальные в `main` не пушат — иначе +приёмка превращается в разбор того, что уже влито. + +## Что обязано быть в отчёте + +- что сделано и какими файлами; +- как это проверено — команда и её вывод, а не «протестировано»; +- что не сделано и почему; незакрытая часть в отчёте лучше, чем найденная + при приёмке; +- замеченные рядом дефекты — списком, отдельными предложениями задач, без + самовольного исправления. + +## Чего делать нельзя + +- Класть результат в `inbox/`, а задание в `done/`. +- Править чужой отчёт в `done/`. Возражения — отдельным файлом в своём + `done/` со ссылкой на разбираемый отчёт. +- Удалять принятое из `_accepted/`. Это архив приёмки. diff --git a/agents/REPORT-TEMPLATE.md b/agents/REPORT-TEMPLATE.md new file mode 100644 index 0000000..f434508 --- /dev/null +++ b/agents/REPORT-TEMPLATE.md @@ -0,0 +1,27 @@ +# Отчёт: заголовок задания + +- **Задание:** `../inbox/` — файл с тем же именем +- **Агент:** id агента +- **Дата:** ГГГГ-ММ-ДД +- **Ветка / коммиты:** ветка и хеши + +## Что сделано + +Списком, с указанием файлов. + +## Как проверено + +Команда и её фактический вывод. Если проверка не запускалась — так и написать. + +## Что не сделано + +Незакрытая часть задания и причина. Пусто — тоже ответ, но осознанный. + +## Замечено рядом + +Дефекты и улучшения за границами задачи — предложениями отдельных задач, +без самовольного исправления. + +## Вопросы к приёмке + +Места, где решение спорное и нужен взгляд главного агента. diff --git a/agents/TASK-TEMPLATE.md b/agents/TASK-TEMPLATE.md new file mode 100644 index 0000000..ada3c9f --- /dev/null +++ b/agents/TASK-TEMPLATE.md @@ -0,0 +1,27 @@ +# Заголовок задания + +- **Кому:** id агента из таблицы в README +- **Дата:** ГГГГ-ММ-ДД +- **От кого:** владелец проекта / главный агент +- **Ветка:** `<префикс-агента>/краткое-имя` +- **Файл отчёта:** `../done/` с тем же именем, что у этого файла + +## Что нужно сделать + +Одна задача — один файл. Если задач две, это два файла: иначе половину примут, +а половину нет, и состояние станет непонятным. + +## Границы + +Чего в этой задаче делать не нужно, даже если исправление очевидно и занимает +минуту. Замеченное рядом — в отчёт списком. + +## Как проверить результат + +Команды, которые должны пройти, и что считается доказательством. «Работает» — +не критерий приёмки. + +## Контекст и ограничения + +Файлы, документы, решения, которые нельзя нарушать. Если чего-то не знаешь — +пиши «не определено», а не правдоподобную выдумку. diff --git a/agents/_accepted/.gitkeep b/agents/_accepted/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/_salvage-2026-08-18/acc-desktop-create-shortcut.vbs b/agents/_salvage-2026-08-18/acc-desktop-create-shortcut.vbs new file mode 100644 index 0000000..1969454 --- /dev/null +++ b/agents/_salvage-2026-08-18/acc-desktop-create-shortcut.vbs @@ -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 diff --git a/agents/antigravity/done/.gitkeep b/agents/antigravity/done/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/antigravity/inbox/.gitkeep b/agents/antigravity/inbox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/antigravity/inbox/2026-08-18-консолидация-рабочего-пространства.md b/agents/antigravity/inbox/2026-08-18-консолидация-рабочего-пространства.md new file mode 100644 index 0000000..8a6e678 --- /dev/null +++ b/agents/antigravity/inbox/2026-08-18-консолидация-рабочего-пространства.md @@ -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` ничего не изменилось. diff --git a/agents/antigravity/notes/.gitkeep b/agents/antigravity/notes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/claude/done/.gitkeep b/agents/claude/done/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/claude/inbox/.gitkeep b/agents/claude/inbox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/claude/notes/.gitkeep b/agents/claude/notes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/codex/done/.gitkeep b/agents/codex/done/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/codex/inbox/.gitkeep b/agents/codex/inbox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/codex/notes/.gitkeep b/agents/codex/notes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/grok/done/.gitkeep b/agents/grok/done/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/grok/inbox/.gitkeep b/agents/grok/inbox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/grok/notes/.gitkeep b/agents/grok/notes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/hermes/done/.gitkeep b/agents/hermes/done/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/hermes/inbox/.gitkeep b/agents/hermes/inbox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/hermes/notes/.gitkeep b/agents/hermes/notes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/opencode/done/.gitkeep b/agents/opencode/done/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/opencode/inbox/.gitkeep b/agents/opencode/inbox/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/agents/opencode/notes/.gitkeep b/agents/opencode/notes/.gitkeep new file mode 100644 index 0000000..e69de29