Перейти к содержанию
GrantTapРуководство
Проекты и агенты

Настройки проекта и секреты

Инструкции, Knowledge, Restrictions и переменные Environment — по шагам.

Концептуальная иллюстрация: три отдельных архитектурных острова с мостами между ними
Связи, которые сохраняют границыИллюстрация · ImageGen
В этой главе · 9 разделов

Четыре разных вида настройки#

Инструкции о том, как писать код, разрешения инструментов, измеримые ограничения и значения environment решают разные задачи. Их нельзя заменить одной заметкой «делай безопасно» или переключателем Allow.

Что нужно задатьГде это находится
Объяснение цели, соглашение или решениеСообщение Task, native project instructions или Knowledge
Какие действия разрешеныProject → Governance
Ограничения размера файлов и функцийProject → Restrictions
Значения для новых agent processesProject → Environment variables

Откройте Mesh, выберите нужный Project и проверьте его repositories и computers. На странице проекта находятся отдельные строки Knowledge, Governance, Restrictions и Environment variables. Настройки относятся к выбранному Mesh; linked Project сохраняет свои значения и права.

Как задавать и менять инструкции#

Для конкретной Task напишите требование в её чате: например, «работаем только с учебными данными; перед изменениями сначала предложи план». Проверьте доставку сообщения. Подтверждённое получение не доказывает само по себе выполнение всех требований.

Долговременные native инструкции проекта принадлежат coding app и checkout. Такие файлы, как AGENTS.md или CLAUDE.md, редактируются в доверенном репозитории по правилам соответствующего провайдера. GrantTap не обещает единый приоритет этих файлов для всех агентов, синхронное перечитывание уже открытых процессов или автоматическую доставку незакоммиченного файла на другой компьютер.

Проверяйте diff, нужную branch и область инструкции. Для нового исполнителя при handoff важен передаваемый commit; uncommitted файл может остаться на source. Не помещайте credentials в instructions и не выдавайте обычный текст за техническую блокировку.

Записать решение через Knowledge#

Для явного решения откройте Project → Knowledge, нажмите + / Record decision, выберите существующую Task, введите statement и нажмите Save. Например: «В GrantTap Lab используем только локальный fixture; внешняя публикация не входит в задачу».

Дождитесь Waiting for Memory confirmation… и ответа компьютера. Нужен Live computer с binding этого Mesh и доступный Engine Memory. При отказе или неизвестном статусе сначала проверьте Knowledge; предусмотренный Retry the same decision сохраняет идентичность запроса.

Это запись контекста с источником и Task, а не изменение native instructions файла и не Deny policy. Подготовленный context packet также не подтверждает, что агент его получил. Исправление решения заменяет его для будущего контекста, сохраняя историю. Подробнее — Knowledge и доказательства.

Измеримые Restrictions#

В Project → Restrictions есть Apply to: This Mesh, Mesh and repository либо Sync from repository. Первый вариант относится к Mesh; второй позволяет поделиться управляемыми правилами с repository tooling; третий читает GrantTap restrictions из точно выбранного repository binding.

Recommended содержит file line limit, function line limit и file size limit. Нажмите строку для изменения порога или Add rule для поддерживаемой проверки. В editor указываются Maximum, Ask/Deny при превышении и необязательные относительные File paths — по одному пути или glob на строку.

Затем нажмите Save restrictions и проверьте acknowledgement. Произвольное имя не создаёт новый алгоритм проверки: legacy named rule без измеримого check не поддерживается. Для сложных конструкций языков проверка функций может запросить человека вместо ложного clean. Наличие repository rules не запускает ваш CI автоматически.

Добавить несекретную переменную#

Откройте Project → Environment variables. В блоке Mesh variables заполните KEY и Value, оставив Secret value выключенным, затем нажмите Add variable. Это добавление в локальный список формы. Отправка выполняется отдельной кнопкой Save environment.

Безопасный пример для своего Lab:

text
LAB_DISPLAY_NAME=GrantTap Lab
LAB_DATA_MODE=fixture

Выбирайте application keys. Ключ приводится к верхнему регистру; допускаются буквы, цифры и подчёркивание с начальной буквой. Служебные имена вроде HOME, PATH, NODE_OPTIONS, а также prefixes GRANTTAP_, OPENAI_, ANTHROPIC_ и других agent runtimes зарезервированы. Этот экран не предназначен для переопределения provider login или внутренней конфигурации helper.

Повторный key добавить нельзя; значение ограничено 4096 символами. Для изменения нажмите существующую строку, отредактируйте Value, сохраните editor, затем снова Save environment на основной странице.

Secret value: хранение и замена#

Включённый Secret value скрывает ввод и заменяет значение в Mesh status на признак секрета. Компьютер хранит необходимое значение для запуска процесса; обратно в обычный snapshot оно не отправляется.

Нажав Secret · tap to replace, вы не увидите прежний secret. Пустое поле при сохранении существующего secret оставляет его без изменения; новое значение заменяет старое. Для превращения его в non-secret нужен явный новый value, а не попытка раскрыть сохранённый secret одним переключателем.

В учебном сценарии используйте только фиктивные значения. Поле с подписью «Value or secret reference» не следует трактовать как обещание универсального разрешения ссылок на все secret managers.

Кому и когда приходят значения#

Save environment отправляет policy выбранного Project компьютерам, связанным с Mesh на момент изменения. Это не отдельный broadcast каждому телефону и не способ автоматически поделиться credentials с участниками. Компьютер, добавленный позже, не получает старый secret только по факту membership: нужны повторное применение и подтверждение endpoint.

Значения становятся environment новых поддерживаемых agent processes после применения на компьютере. Они не переписывают окружение уже запущенного native desktop owner. Новое application value может перекрыть унаследованное одноимённое значение в поддерживаемом launch, но protected runtime keys этим путём не переопределяются.

Проверьте policy revision и acknowledgement, а не только содержимое формы. Environment и Restrictions используют общий revision path Project policy; при конфликте ревизии, invalid key, недоступном Engine или отсутствии компьютера изменение может быть отклонено.

Экспорт и удаление#

Переключатель Export non-secrets to .granttap/env записывает управляемый файл в bound checkouts. В него попадают только non-secret values. Это не делает их публичными в интернете, но файл доступен в repository workspace. Export не выполняет commit или push.

Выключение export удаляет только распознаваемый managed файл. Чужой файл, symlink или небезопасная directory сохраняются с ошибкой, а не перезаписываются молча. Изменённую вручную копию также нельзя считать надёжно управляемой GrantTap.

Чтобы удалить переменную, нажмите корзину возле строки и Save environment. После подтверждённого применения новое окружение больше не получает её из Project Environment. Старый процесс уже мог прочитать значение; его память и внешние копии этим не отзываются. Если значение существует ещё и в host environment, удаление Project override не уничтожает этот независимый источник.

Если Save недоступна или результат неясен#

Проверьте правильный Mesh, опубликованную Governance projection, право редактирования, computer binding и policy error под формой. При свежем подключении нужные сведения могли ещё не прийти. Локальный список значений, отправленная policy и подтверждённая revision — три разных состояния; не обещайте себе применение по одному нажатию.

Для текста используйте Knowledge, для обязательного запрета — Governance, для проверки влияния — безопасный walkthrough. Не отправляйте настоящий secret в чат ради диагностики; достаточно очищенной ошибки и версий компонентов.