BR 6.3 — User Service
Расширение permission-каталога двумя permissions для AI-агента.
Задачи
1. Liquibase миграция
Файл: src/main/resources/db/changelog/033-br-6-3-agent-permissions.xml
Никогда не редактировать существующие миграции
Только новый файл (см. memory
feedback_migrations). Liquibase-checksums.
Содержание:
<changeSet id="033-br-6-3-agent-permissions" author="lyosha">
<comment>BR 6.3: Permissions для AI-агента OpenClaw</comment>
<!-- Добавить две новые permissions в каталог -->
<insert tableName="permissions">
<column name="key" value="agent.use"/>
<column name="label" value="AI-агент: использовать"/>
<column name="category" value="AI"/>
</insert>
<insert tableName="permissions">
<column name="key" value="agent.config"/>
<column name="label" value="AI-агент: настраивать и видеть логи всех юзеров"/>
<column name="category" value="AI"/>
</insert>
<!-- Системная роль "Администратор" получает обе автоматически -->
<sql>
INSERT INTO role_permissions (role_id, permission_key)
SELECT id, 'agent.use' FROM permission_roles WHERE name = 'Администратор' AND is_system = true;
INSERT INTO role_permissions (role_id, permission_key)
SELECT id, 'agent.config' FROM permission_roles WHERE name = 'Администратор' AND is_system = true;
</sql>
</changeSet>(Точная схема таблиц — смотри User Service Data Model, адаптировать под реальные имена.)
2. Включить в master changelog
src/main/resources/db/changelog/db.changelog-master.xml:
<include file="db/changelog/033-br-6-3-agent-permissions.xml"/>3. Обновить документацию
- User Service Data Model — добавить
agent.use,agent.configв Permission Catalog - Roles — добавить строку в таблицу новых permissions модулей
Тесты
- Юнит-тест на миграцию (применить → проверить что в
permissionsпоявились две записи и системная роль получила обе)
Готовность
- Миграция написана
- master changelog обновлён
- Применена локально (через docker-compose dev-env) — bootstrapped юзер получает
agent.use - Обновлена документация в vault
- Деплой на test VPS — bootstrapped admin может вызвать
/api/v1/admin/agent/chat