Правила AGENTS.md на сервере
Правила AGENTS.md на сервере DSH
Это страховка: агент читает запреты из файла, а не из вашей памяти. У вас на сервере правила уже разложены — глава объясняет что где лежит, что внутри и как проверить / обновить.
Зачем это нужно
На сервере DSH агент часто работает с правами root. Без жёстких правил он может:
- полезть в
/etcили соседний проект; - закоммитить в
main; - вытащить секреты в ответ;
- «заодно» сделать деплой туда, куда не просили.
AGENTS.md — тот же смысл, что .cursor/rules в Cursor, только файл лежит на сервере и виден в каждом workspace.
Где лежат файлы (уже установлено)
| Путь | Что это |
|---|---|
/root/AGENTS.md |
Глобальные правила для всего сервера |
/root/projects/AGENTS.md |
Та же копия «рядом с проектами» |
/root/projects/<имя>/AGENTS.md |
Правила этого проекта (+ заголовок с именем) |
Сейчас покрыты проекты: backup, lovetc, maiai, rigintel-form, seo-server, sverka, telegram, textorub.
Папка служебного репо dsh (доки/скрипты) скриптом пропускается — туда правила проекта не кладутся специально.
Шаблоны и скрипт установки живут в репозитории dsh (не в учебнике):
templates/AGENTS.root.md→ глобальный файлtemplates/AGENTS.project.md→ файл в каждом проектеscripts/install-agents-rules.sh→ раскладывает всё одной командой
Что запрещено (кратко)
Файлы и система
- Менять файлы вне текущей папки проекта.
- Трогать
/etc/dsh.env, credentials DSH, nginx htpasswd, launch-token. - Массовые разрушительные команды (
rm -rf /и т.п.), правки firewall/ssh «от себя».
Git
- Работать в
mainбез явного разрешения владельца. - Разрешены ветки:
feature/…,fix/…,docs/…. - Commit / push — только если вы прямо попросили.
- Секреты (
.env, пароли, ключи) в diff и в git — нельзя. git push --forceвmain— нельзя.
Рабочий процесс
- Большая/неясная задача → сначала Plan, код после «делай».
- «Объясни / не меняй» → только чтение (Ask).
- Не расширять scope; минимальный diff.
Деплой
- Самому выкатывать проект на другой сервер/хостинг — нельзя, пока явно не попросили и не дали способ.
- Попросили только push в GitHub → push и стоп.
Если глобальный файл и файл проекта конфликтуют — побеждает более жёсткое правило.
Режимы словами (кнопок Ask/Plan/Agent нет)
| Режим | Триггеры | Поведение |
|---|---|---|
| Ask | «объясни», «не меняй», «только ответь» | Читать / отвечать, не менять файлы |
| Plan | «план», «как лучше» | Шаги без кода, ждать «делай» |
| Agent | «сделай», «почини», «ок» | Правки только в рамках AGENTS.md |
Подробнее про формулировки — глава «Ask / Plan / Agent и Powerdesk».
Как проверить, что правила работают
В UI DSH откройте любой проект → напишите (режим Ask):
Прочитай AGENTS.md и кратко перескажи запреты. Файлы не меняй.
Нормальный ответ: список запретов (workspace, секреты, main, commit только по просьбе, деплой) и пометка, что файлы не менялись.
Если агент говорит «файла нет» — правила не установлены в этом проекте (см. обновление ниже).
Как обновлять правила
Шаблоны правятся в репо dsh, потом снова запускается скрипт на сервере.
Вариант 1 — промпт агенту в папке dsh (на ноутбуке)
Откройте C:\Users\User-PC\Documents\1_cursor_project\dsh и вставьте:
Сделай сам, без вопросов.
Задача: положить правила AGENTS.md на сервер DSH 5.35.89.13 во все проекты.
1. Открой templates/AGENTS.root.md, templates/AGENTS.project.md, scripts/install-agents-rules.sh.
2. Залей их на сервер (как принято в этом проекте).
3. На сервере из папки клона dsh выполни: bash scripts/install-agents-rules.sh
4. Покажи: ls -la /root/AGENTS.md /root/projects/AGENTS.md /root/projects/*/AGENTS.md
5. Секреты (/etc/dsh.env, пароли) не читай и не печатай.
6. Кратко: куда легло и сколько проектов обновлено.
Вариант 2 — сами по SSH на сервере
cd /root/projects/dsh # или ваш путь к клону репо dsh
git fetch && git pull # нужная ветка с шаблонами
bash scripts/install-agents-rules.sh
ls -la /root/AGENTS.md /root/projects/*/AGENTS.md
Скрипт перед перезаписью проекта делает бэкап AGENTS.md.bak.<дата-время>.
Перезапуск сервиса DSH не нужен — файл читается из workspace.
Особые правила для одного проекта
После установки можно дописать в конец /root/projects/<имя>/AGENTS.md, например:
- «не пушить вообще»;
- «деплой только командой …»;
- «не трогать папку data/».
При следующем запуске install-agents-rules.sh файл перезапишется (старый останется в .bak) — кастом лучше держать коротким и после обновления вернуть вручную, либо править шаблон AGENTS.project.md в репо dsh.
Связь с другими главами
| Глава | Связь |
|---|---|
| Безопасность на вашем сервере | Зачем нужны запреты при root |
| Ask / Plan / Agent и Powerdesk | Как словами включать режимы |
| Git и GitHub на сервере | Feature-ветки на практике |
| Страховка | AGENTS.md = замена .cursor/rules |
Итог
- Правила уже на сервере:
/root/AGENTS.md+ каждый проект. - Проверка — Ask: «прочитай AGENTS.md… не меняй».
- Обновление — шаблоны в репо
dsh+bash scripts/install-agents-rules.sh. - Секреты в эти файлы не писать.
Квиз по главе
Ответьте на все вопросы и сдайте квиз — сразу будет оценка и отсылки к тексту, где доучить ошибки.