Разрешения
Что агент делает сам, а что — только после вашего «да». Настраивается под ваш уровень доверия.
Команды и файлы
Агент на вашем компьютере запускает команды и правит файлы с ограничениями: внутри проекта —
свободно, за его пределами и в настройках инструментов проекта (.git, .svedum, .vscode,
.husky, .npmrc) — только с разрешения. Кэши менеджеров пакетов в домашней папке — npm,
bun, pnpm, pip, Go, Cargo и других — открыты: зависимости ставятся без полного доступа. Кто
даёт разрешение, решает режим разрешений; по умолчанию это «Проверять». Общий режим для всех
чатов на этом компьютере задают в «Настройки → Чат → Режим разрешений». Кнопка со щитом под
полем ввода, рядом с проектом, меняет режим только этого чата; агенты, которых он запускает,
начинают с того же режима. У рутины по расписанию режим её запусков выбирают в её настройках
на странице «Рутины» в боковой панели.
Ключи и токены в домашней папке — ~/.ssh, облачные, gh, профили браузеров — агенту закрыты
в любом режиме, кроме «Разрешать всё». Команда, которой они нужны, например git push по SSH,
упирается в эти ограничения и просит запуск с полным доступом.
Сеть
На Mac командам агента закрыт интернет. Открыты «Разрешённые сайты» из «Настройки → Чат», а в режиме «Спрашивать» — ещё и реестры пакетов: npm, PyPI, crates, Go. Когда команде нужен другой сайт, появляется карточка «Выполнить команду» со списком сайтов:
- Разрешить — открыть эти сайты только для этого запуска;
- Открывать всегда — добавить их в разрешённые сайты;
- Пропустить — оставить закрытыми.
Если агент заранее знает, какие сайты нужны команде, он называет их сразу, и карточка появляется до запуска. В режиме «Проверять» карточку сначала решает проверка. Локальные адреса (localhost) открыты: тесты с локальным сервером работают. Закрыты только прокси вашей системы — через них команда вышла бы в интернет.
У сотрудника сеть команд закрыта так же: в его облачном компьютере команда выходит только на сайты, которые вы ему открыли навсегда («Открывать всегда» на карточке в его чате), а в режиме «Спрашивать» — ещё и в реестры пакетов. Другой сайт открывает карточка. Скрипты рутин и хуки сеть сохраняют, поэтому скрипт рутины до сохранения показывается на карточке «Скрипт рутины». На Windows сеть пока открыта.
Программы, которые соединяются с сервером напрямую, а не через сайты по списку, — ssh,
whois, dig, клиенты баз данных, docker — агент запускает с полным доступом, и на Mac, и
у сотрудника. Появляется карточка «Выполнить команду» с пометкой «С полным доступом: команда
сможет менять любые файлы и ходить в сеть»; в режиме «Проверять» её сначала решает проверка.
Если на Mac такая программа всё же запустилась с ограничениями и не смогла соединиться,
«Сведум» это видит и показывает ту же карточку.
| Режим | Как работает |
|---|---|
| Проверять | Каждый шаг, который может что-то изменить, сначала проверяет модель; опасное она останавливает |
| Спрашивать | Спрашивать, прежде чем выйти за папки проекта |
| Разрешать всё | Разрешает всё: команды и запись файлов — без вопросов и без ограничений |
В режиме «Спрашивать», а в «Проверять» — когда решать нужно вам, в чате появляется карточка «Выполнить команду» или «Изменить файл»:
- Разрешить — один раз;
- Запускать всегда / Разрешать всегда — добавить команду или путь в разрешённые;
- Пропустить — отказать, агент поищет другой путь.
Проверять
В режиме «Проверять» вместо вас решает отдельная проверка. Она видит до запуска каждую команду, кроме чтения, запросы в интернет, действия в подключениях, запуск агентов и запись вне проекта. Обычную работу проверка пропускает, опасное останавливает, а агент получает причину и ищет другой путь. Если проверка трижды подряд остановила агента или не смогла ответить, появляется обычная карточка. Что именно проверяется, как задать запрет или разрешение словами в чате и где у режима пределы — → Проверка разрешений
Разрешённые команды и пути
В тех же настройках видны и редактируются списки. Команды и пути из списков идут без вопроса. В режиме «Проверять» действуют списки путей и сайтов. Список команд там не действует: без проверки идут только команды, которые только читают, их перечень показан под списком.
- Разрешённые команды — совпадение по началу команды с границей слова:
gitразрешаетgit status, но неgitea. - Разрешённые сайты — хосты, куда команды агента ходят без вопроса, в обоих режимах:
registry.npmjs.orgили*.example.comдля поддоменов. - Разрешённые пути — файлы и папки вне проекта, которые агент может менять без вопроса. Разрешение папки покрывает всё внутри.
Действия во внешних сервисах
Перед изменениями во внешних сервисах — отправить письмо, опубликовать пост, создать задачу — агент спрашивает карточкой. На ней действие и подключение, например «Отправка письма · Яндекс Почта», и поля, которые уйдут в сервис: кому, тема, текст. «Показать как JSON» показывает вызов целиком. Если подключение не назвало действие и поля, на карточке «Действие в подключении» и их технические имена. В режиме «Проверять» карточку сначала решает проверка. Чтение данных разрешения не требует.
«Разрешать всегда» запоминает конкретное действие. Список таких действий — «Настройки → Чат → Действия в подключениях без запроса»; оттуда же можно вернуть вопрос.
Сотрудники и внешний мир
Сотрудники вдобавок следуют правилу: письма и сообщения людям, публикации, отправка форм, заказы и оплаты — только если вы попросили именно это или подтвердили черновик. → Сотрудники
Запуски на вашем компьютере из облака
Сотрудники и облачные агенты не могут запустить работу на вашем компьютере без вашего согласия. Постоянные разрешения видны в «Настройки → Этот компьютер». → Как сотрудник раздаёт работу
