Настройки для pi #14

Open
opened 2026-09-26 15:26:07 +00:00 by forgejo-admin · 4 comments

Нужно в отдельной владке реализовать настройки для pi. Для меня являются важными:

  1. Модель основная.
  2. Fallback модель
  3. Подключенные mcp.
  4. Субагенты
  5. Скиллы

Давай создадим такой вид настроек. Перед реализацией, покажи как это будет выглядеть. Предложи несколько вариантов, я выберу.

Нужно в отдельной владке реализовать настройки для pi. Для меня являются важными: 1. Модель основная. 2. Fallback модель 3. Подключенные mcp. 4. Субагенты 5. Скиллы Давай создадим такой вид настроек. Перед реализацией, покажи как это будет выглядеть. Предложи несколько вариантов, я выберу.
Collaborator

Уточнение по постановке: вы просите перед реализацией показать, как будут выглядеть настройки, и предложить несколько вариантов на выбор. Предлагаю три варианта вида вкладки «Настройки pi»:

Вариант 1 — карточки-секции (рекомендую). Вкладка разбита на 3 карточки: «Модели» (основная + fallback, крупными значениями, ниже — источник: конфиг/сессии), «MCP-серверы» (таблица: имя, тип транспорта, статус), «Агенты и скиллы» (две колонки: субагенты списком с их моделями; скиллы с кратким описанием). Плюсами: ближе всего к стилю дашборда, ничего не ломаем в pi, расширяемо (п.3 из #15 ляжет в ту же сетку). Минус: только просмотр, без редактирования.

Вариант 2 — единая таблица-реестр. Всё в одной таблице: тип (модель / mcp / субагент / скилл), имя, значение/детали, статус, источник. Быстрый поиск. Плюсы: компактно, легко искать, минимальный новый UI. Минусы: менее наглядно, иерархия «основная/fallback» теряется.

Вариант 3 — «живой» просмотр конфига. Слева дерево категорий (модели, mcp, субагенты, скиллы), справа — панель с содержимым выбранной категории в виде привычного YAML/JSON с подсветкой (read-only). Плюсы: виден реальный конфиг как есть, привычно настраивать pi вручную. Минусы: менее дружелюбно, надо тащить подсветку синтаксиса.

По данным: модели и mcp возьму из конфига/логов pi на машине агента (read-only); субагенты — из ~/.pi/agent/ (агенты, их модели); скиллы — из установленных скиллов. Редактирование настроек из UI сейчас не делаю — это отдельная большая задача и риск; если нужно — обсудим отдельно.

Напишите номер варианта (или «1, но …» с правками) — возьму задачу в работу. Пока жду ответа, задача в blocked.

Уточнение по постановке: вы просите перед реализацией показать, как будут выглядеть настройки, и предложить несколько вариантов на выбор. Предлагаю три варианта вида вкладки «Настройки pi»: **Вариант 1 — карточки-секции (рекомендую).** Вкладка разбита на 3 карточки: «Модели» (основная + fallback, крупными значениями, ниже — источник: конфиг/сессии), «MCP-серверы» (таблица: имя, тип транспорта, статус), «Агенты и скиллы» (две колонки: субагенты списком с их моделями; скиллы с кратким описанием). Плюсами: ближе всего к стилю дашборда, ничего не ломаем в pi, расширяемо (п.3 из #15 ляжет в ту же сетку). Минус: только просмотр, без редактирования. **Вариант 2 — единая таблица-реестр.** Всё в одной таблице: тип (модель / mcp / субагент / скилл), имя, значение/детали, статус, источник. Быстрый поиск. Плюсы: компактно, легко искать, минимальный новый UI. Минусы: менее наглядно, иерархия «основная/fallback» теряется. **Вариант 3 — «живой» просмотр конфига.** Слева дерево категорий (модели, mcp, субагенты, скиллы), справа — панель с содержимым выбранной категории в виде привычного YAML/JSON с подсветкой (read-only). Плюсы: виден реальный конфиг как есть, привычно настраивать pi вручную. Минусы: менее дружелюбно, надо тащить подсветку синтаксиса. По данным: модели и mcp возьму из конфига/логов pi на машине агента (read-only); субагенты — из `~/.pi/agent/` (агенты, их модели); скиллы — из установленных скиллов. Редактирование настроек из UI сейчас не делаю — это отдельная большая задача и риск; если нужно — обсудим отдельно. Напишите номер варианта (или «1, но …» с правками) — возьму задачу в работу. Пока жду ответа, задача в `blocked`.
Author
Owner

1 вариант

1 вариант
Collaborator

Принято, вариант 1 (карточки-секции). Беру задачу, ветка feature/14_pi_settings_tab.

Состав вкладки «Настройки pi» (read-only, как согласовано):

  • Модели: основная (defaultModel/defaultProvider из ~/.pi/agent/settings.json), fallback (из настроек расширения pi-omniroute-sync, если задан) — только имя модели, без каких-либо ключей;
  • MCP-серверы: имя, тип транспорта (http/stdio), количество инструментов (из mcp-cache.json, если кэш есть);
  • Агенты и скиллы: субагенты из ~/.pi/agent/agents/*.md, скиллы из установленных пакетов (git-пакеты + npm), с кратким описанием.

Новый эндпоинт GET /api/settings/pi за тем же Bearer-токеном.

Принято, вариант 1 (карточки-секции). Беру задачу, ветка `feature/14_pi_settings_tab`. Состав вкладки «Настройки pi» (read-only, как согласовано): - **Модели**: основная (defaultModel/defaultProvider из `~/.pi/agent/settings.json`), fallback (из настроек расширения pi-omniroute-sync, если задан) — только имя модели, без каких-либо ключей; - **MCP-серверы**: имя, тип транспорта (http/stdio), количество инструментов (из mcp-cache.json, если кэш есть); - **Агенты и скиллы**: субагенты из `~/.pi/agent/agents/*.md`, скиллы из установленных пакетов (git-пакеты + npm), с кратким описанием. Новый эндпоинт `GET /api/settings/pi` за тем же Bearer-токеном.
Collaborator

Готово, PR #24 на ревью, ветка feature/14_pi_settings_tab.

Внутри: вкладка «Настройки pi» (вариант 1, карточки) — модели (основная/fallback), MCP-серверы таблицей с числом инструментов из кэша, субагенты, скиллы по источникам. Данные — новый read-only эндпоинт GET /api/settings/pi; секреты (ключи API) не отдаются и не показываются. Тесты 41/41 зелёные.

Готово, PR #24 на ревью, ветка `feature/14_pi_settings_tab`. Внутри: вкладка «Настройки pi» (вариант 1, карточки) — модели (основная/fallback), MCP-серверы таблицей с числом инструментов из кэша, субагенты, скиллы по источникам. Данные — новый read-only эндпоинт `GET /api/settings/pi`; секреты (ключи API) не отдаются и не показываются. Тесты 41/41 зелёные.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
forgejo-admin/watcherenish#14
No description provided.