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

Ссылки