Перейти к основному содержимому

Список IPC-каналов

На этой странице перечислены все IPC (межпроцессное взаимодействие) каналы Elftia. Каналы сгруппированы по функциональным доменам; для каждого канала указано направление передачи данных и краткое описание.

Обозначения направлений:

  • R→M: Процесс рендерера → Главный процесс (ipcRenderer.invoke)
  • M→R: Главный процесс → Процесс рендерера (webContents.send; подписка через ipcRenderer.on в Preload)

Аутентификация и аккаунты

Auth Bootstrap

КаналНаправлениеОписание
auth:bootstrapR→M (sync)Синхронно получить токен аутентификации при запуске приложения

Auth Session (authSession:*)

КаналНаправлениеОписание
authSession:getStateR→MПолучить текущее состояние аутентификации
authSession:startBrowserLoginR→MЗапустить процесс входа через браузер
authSession:refreshR→MОбновить сессию аутентификации
authSession:syncProfileR→MСинхронизировать профиль пользователя
authSession:getAccessTokenR→MПолучить токен доступа
authSession:logoutR→MВыйти из аккаунта
authSession:retrySteamLoginR→MПовторить вход через Steam
authSession:subscribeR→M (send)Подписаться на изменения состояния аутентификации
authSession:stateM→RОтправить состояние аутентификации

Account (account:*)

КаналНаправлениеОписание
account:listR→MПеречислить аккаунты указанного типа
account:createR→MСоздать новый аккаунт
account:deleteR→MУдалить аккаунт
account:toggleR→MВключить/отключить аккаунт
account:revealR→MПоказать ключ аккаунта
account:exportR→MЭкспортировать данные аккаунта
account:clearR→MОчистить аккаунты указанного типа

Auth Tokens (authTokens:*)

КаналНаправлениеОписание
authTokens:statusR→MПолучить статус токена
authTokens:getValueR→MПолучить значение токена
authTokens:storeR→MСохранить токен
authTokens:migrateR→MМигрировать токены
authTokens:clearR→MОчистить токены

Usage Limits (limits:*)

КаналНаправлениеОписание
limits:getR→MПолучить информацию о лимитах использования
limits:checkR→MПроверить, превышены ли лимиты

Проекты и файлы

Projects (projects:*)

КаналНаправлениеОписание
projects:listR→MПеречислить все проекты
projects:createR→MСоздать новый проект
projects:renameR→MПереименовать проект
projects:deleteR→MУдалить проект
projects:browseR→MОбзор директорий для выбора пути к проекту
projects:createWorkspaceR→MСоздать рабочее пространство

Files (files:*)

КаналНаправлениеОписание
files:snapshotR→MПолучить снимок дерева файлов для проекта
files:watchR→MНачать отслеживание изменений файлов в проекте
files:unwatchR→MПрекратить отслеживание изменений файлов в проекте
files:readR→MПрочитать содержимое файла (текст)
files:readBinaryR→MПрочитать содержимое файла (двоичные данные)
files:writeR→MЗаписать содержимое файла
files:shallowR→MПолучить поверхностный список директории
files:searchR→MПоиск по содержимому файлов
files:searchMetricsR→MПолучить статистику метрик поиска
files:clearCacheR→MОчистить кэш файлов
file:revealInFolderR→MПоказать файл в системном файловом менеджере
files:patch:{projectId}M→RОтправить патчи изменений файлов

Git (git:*)

КаналНаправлениеОписание
git:statusR→MПолучить статус Git (ветка, изменённые файлы)
git:diffR→MПолучить diff файла

Чат

Chat Sessions (chatSessions:*)

КаналНаправлениеОписание
chatSessions:listR→MПеречислить сессии чата
chatSessions:getR→MПолучить детали отдельной сессии
chatSessions:createR→MСоздать новую сессию
chatSessions:updateR→MОбновить информацию о сессии
chatSessions:deleteR→MУдалить сессию

Chat Messages (chatMessages:*)

КаналНаправлениеОписание
chatMessages:getActivePathR→MПолучить активный путь сообщений (ветку)
chatMessages:getPageR→MПостраничная навигация по сообщениям
chatMessages:getBranchesR→MПолучить ветки сообщений
chatMessages:appendR→MДобавить сообщение
chatMessages:updateR→MОбновить сообщение
chatMessages:switchBranchR→MПереключить ветку сообщений
chatMessages:deleteR→MУдалить сообщение

Chat Assistants (chatAssistants:*)

КаналНаправлениеОписание
chatAssistants:listR→MПеречислить всех ассистентов
chatAssistants:getR→MПолучить детали ассистента
chatAssistants:createR→MСоздать нового ассистента
chatAssistants:updateR→MОбновить ассистента
chatAssistants:deleteR→MУдалить ассистента
chatAssistants:setDefaultR→MУстановить ассистентом по умолчанию

Chat Events

КаналНаправлениеОписание
chat:appendMessageR→MВручную добавить сообщение в чат
chat:getMessagesR→MПолучить историю сообщений чата
chat:sendCommandR→MОтправить команду чата
chat:abortSessionR→MПрервать сессию чата
chat:checkSessionStatusR→MПроверить статус сессии
chat:eventM→RОтправить события чата (потоковый контент и т.д.)
chat:completedM→RСобытие завершения чата

Завершение (Completion)

КаналНаправлениеОписание
completion:completeR→MОдиночный запрос завершения
completion:streamR→MЗапустить потоковое завершение (возвращает streamId)
completion:stream:{id}M→RОтправить события потокового завершения (delta / done / error)
completion:getModelsR→MПолучить доступные модели для провайдера
completion:testModelR→MПротестировать подключение к модели
completion:chatInSessionR→MЗавершение чата внутри сессии (полный цикл)
completion:regenerateInSessionR→MПерегенерировать ответ ассистента
completion:createRPFirstMessageR→MСоздать первое сообщение в сессии ролевой игры

LLM Config (llmConfig:*)

CRUD-операции провайдеров

КаналНаправлениеОписание
llmConfig:getProvidersR→MПеречислить всех провайдеров
llmConfig:getProviderR→MПолучить данные одного провайдера
llmConfig:addProviderR→MДобавить провайдера
llmConfig:updateProviderR→MОбновить провайдера
llmConfig:deleteProviderR→MУдалить провайдера
llmConfig:toggleProviderR→MВключить/отключить провайдера
llmConfig:discoverModelsR→MОбнаружить доступные модели для провайдера

Предустановки

КаналНаправлениеОписание
llmConfig:getProviderPresetsR→MПолучить список предустановок
llmConfig:addFromPresetR→MСоздать провайдера из предустановки

Параметры моделей

КаналНаправлениеОписание
llmConfig:getAgentDefaultModelsR→MПолучить модели Agent по умолчанию
llmConfig:setAgentDefaultModelsR→MУстановить модели Agent по умолчанию
llmConfig:getGlobalModelParametersR→MПолучить глобальные параметры модели
llmConfig:setGlobalModelParametersR→MУстановить глобальные параметры модели

Маршрутизация и трансформеры

КаналНаправлениеОписание
llmConfig:getChatToCodeRoutersR→MПолучить маршрутизаторы Chat→Code
llmConfig:addChatToCodeRouterR→MДобавить маршрутизатор Chat→Code
llmConfig:updateChatToCodeRouterR→MОбновить маршрутизатор Chat→Code
llmConfig:deleteChatToCodeRouterR→MУдалить маршрутизатор Chat→Code
llmConfig:getCodeToChatRoutersR→MПолучить маршрутизаторы Code→Chat
llmConfig:addCodeToChatRouterR→MДобавить маршрутизатор Code→Chat
llmConfig:updateCodeToChatRouterR→MОбновить маршрутизатор Code→Chat
llmConfig:deleteCodeToChatRouterR→MУдалить маршрутизатор Code→Chat
llmConfig:getTransformersR→MПолучить список трансформеров
llmConfig:getBuiltinTransformersR→MПолучить встроенные трансформеры
llmConfig:addTransformerR→MДобавить трансформер
llmConfig:removeTransformerR→MУдалить трансформер
llmConfig:toggleTransformerR→MВключить/отключить трансформер

Пул API-ключей

КаналНаправлениеОписание
llmConfig:getApiKeysR→MПолучить список ключей для провайдера
llmConfig:addApiKeyR→MДобавить ключ в пул
llmConfig:updateApiKeyR→MОбновить ключ
llmConfig:deleteApiKeyR→MУдалить ключ
llmConfig:toggleApiKeyR→MВключить/отключить ключ

Массовые операции

КаналНаправлениеОписание
llmConfig:exportConfigR→MЭкспортировать всю конфигурацию LLM
llmConfig:importConfigR→MИмпортировать конфигурацию LLM

Конфигурация и настройки

Настройки приложения (settings:*)

КаналНаправлениеОписание
settings:getR→MПолучить параметр настройки
settings:setR→MЗадать параметр настройки
settings:getExperimentalFeaturesR→MПолучить флаги экспериментальных функций
settings:setExperimentalFeaturesR→MУстановить флаги экспериментальных функций

Предпочтения приложения (appPreferences:*)

КаналНаправлениеОписание
appPreferences:getR→MПолучить предпочтения приложения
appPreferences:updateR→MОбновить предпочтения приложения

Файловая конфигурация (config:*)

КаналНаправлениеОписание
config:getR→MПолучить значение конфигурации
config:getAllR→MПолучить все значения конфигурации
config:getPathR→MПолучить путь к файлу конфигурации
config:setR→MУстановить значение конфигурации
config:mergeR→MОбъединить значения конфигурации
config:resetR→MСбросить ключ конфигурации
config:changedM→RУведомление об изменении конфигурации

Тема (theme:*)

КаналНаправлениеОписание
theme:getStateR→MПолучить текущее состояние темы (включает все поля обоев/оттенка/пузырьков)
theme:setModeR→MУстановить режим темы (light/dark/system)
theme:updateUserThemeR→MОбновить пользовательскую тему (акцентный цвет + шрифты)
theme:setCustomCssR→MУстановить пользовательский CSS
theme:setWallpaperR→MУстановить изображение в качестве обоев ({ light?, dark? })
theme:setWallpaperGradientR→MУстановить градиентные обои; передаётся WallpaperGradient | null (null очищает)
theme:setWallpaperPreferencesR→MЧастично обновить любое подмножество настроек обоев (см. таблицу ниже)
theme:pickWallpaperFileR→MОткрыть нативный диалог выбора файла обоев; возвращает абсолютный путь
theme:setRemoteAssetsPolicyR→MУстановить политику удалённых ресурсов
theme:exportR→MЭкспортировать конфигурацию темы (ThemeProfileExport, включает все поля обоев)
theme:importR→MИмпортировать конфигурацию темы
theme:resetR→MСбросить тему к настройкам по умолчанию
theme:updatedM→RОтправить изменения состояния темы (любое изменение поля транслирует полное ThemeState)

Поля payload для theme:setWallpaperPreferences

Все поля необязательны; передавайте только те, которые хотите обновить. Схему Zod ThemePreferencesSchema см. в ThemeRouter.ts и configSchema.ts.

ПолеТипОписание
disableWallpaperInCompactWindowsbooleanОтключить обои в компактных окнах
wallpaperOverlayEnabledbooleanВключить/отключить полупрозрачные поверхности
wallpaperBlurIntensitynumber 0–30Размытие эффекта матового стекла
wallpaperDimmingnumber 0–100Общая непрозрачность наложения
wallpaperDimmingHuenumber 0–360Оттенок HSL наложения
wallpaperDimmingSaturationnumber 0–100Насыщенность HSL наложения
wallpaperDimmingLightnessnumber -1..100Светлота наложения; -1 = авто (белый для светлой / чёрный для тёмной темы)
wallpaperDimmingGradientWallpaperGradient | nullГрадиентное наложение; null очищает; отсутствие ключа = сохранить
wallpaperElementTintstring #RRGGBB или ''Цветовой оттенок элементов в hex; пустая строка = выключено
wallpaperElementGradientWallpaperGradient | nullГрадиент элементов (переопределяет сплошной оттенок)
wallpaperBubbleOverridebooleanГлавный переключатель независимого управления пузырьками; false = пузырьки следуют настройкам элементов
wallpaperBubbleTintUserstring #RRGGBB или ''Сплошной цвет пузырька пользователя (только при активном переопределении)
wallpaperBubbleTintAssistantstring #RRGGBB или ''Сплошной цвет пузырька ассистента (только при активном переопределении)
wallpaperBubbleGradientUserWallpaperGradient | nullГрадиент пузырька пользователя (переопределяет сплошной цвет)
wallpaperBubbleGradientAssistantWallpaperGradient | nullГрадиент пузырька ассистента (переопределяет сплошной цвет)
wallpaperBubbleOpacitynumber 0–100Прозрачность заливки пузырька (только при активном переопределении; по умолчанию 35)
wallpaperElementOpacitynumber 0–100Экспериментальное: делает полупрозрачный UI более непрозрачным
wallpaperTransparencynumber 0–100Коэффициент интенсивности оттенка поверхности

Семантика полей градиента: null = явная очистка; отсутствие ключа = сохранить текущее значение. Фронтенд ThemeContext.setWallpaperPreferences различает их через 'wallpaperXxxGradient' in payload; бэкенд ThemeService.setWallpaperPreferences делает то же самое через проверку in.

Валидация hex: все поля wallpaperBubbleTint* / wallpaperElementTint проверяются по регулярному выражению /^(#[0-9a-fA-F]{6})?$/. Некорректные значения бэкенд молча заменяет на '' (без ошибки).


MCP (mcp:*)

КаналНаправлениеОписание
mcp:listR→MПеречислить настроенные MCP-серверы
mcp:addR→MДобавить MCP-сервер
mcp:addJsonR→MДобавить MCP-сервер через JSON-конфигурацию
mcp:removeR→MУдалить MCP-сервер
mcp:testR→MПроверить подключение к MCP-серверу
mcp:discoverR→MОбнаружить возможности MCP-сервера
mcp:updateR→MОбновить конфигурацию MCP-сервера
mcp:list-server-toolsR→MПеречислить инструменты конкретного сервера
mcp:list-all-toolsR→MПеречислить инструменты всех серверов
mcp:call-toolR→MВызвать MCP-инструмент
mcp:check-dependencyR→MПроверить наличие зависимости команды
mcp:install-dependencyR→MУстановить недостающую зависимость

Генерация медиа

Изображения (image:*)

КаналНаправлениеОписание
image:generateR→MСамостоятельная генерация изображений
image:generateInSessionR→MГенерация изображений внутри сессии (включает создание сообщения)
generation:completedM→RСобытие завершения генерации изображения

Видео (video:*)

КаналНаправлениеОписание
video:generateR→MСамостоятельная генерация видео
video:generateInSessionR→MГенерация видео внутри сессии
video:generation:completedM→RСобытие завершения генерации видео

Музыка (music:*)

КаналНаправлениеОписание
music:generateInSessionR→MГенерация музыки внутри сессии

Конфигурация провайдеров медиа

КаналНаправлениеОписание
imageProviders:list/update/createCustom/deleteCustomR→MCRUD провайдеров изображений
imageSettings:get/setR→MНастройки изображений
musicProviders:list/update/createCustom/deleteCustomR→MCRUD провайдеров музыки
musicSettings:get/setR→MНастройки музыки
videoProviders:list/update/createCustom/deleteCustomR→MCRUD провайдеров видео
videoSettings:get/setR→MНастройки видео
asrProviders:list/update/createCustom/deleteCustomR→MCRUD провайдеров ASR
asrSettings:get/setR→MНастройки ASR
ttsProviders:list/update/createCustom/deleteCustomR→MCRUD провайдеров TTS
ttsSettings:get/setR→MНастройки TTS
tts:listVoicesR→MПеречислить доступные голоса TTS

Управление медиаактивами (media:*)

КаналНаправлениеОписание
media:migrateBase64ToFilesR→MМигрировать данные base64 в файловое хранилище
media:getMigrationStatusR→MПолучить статус миграции
media:migrationProgressM→RОтправить прогресс миграции
media:generateMissingThumbnailsR→MСгенерировать отсутствующие миниатюры
media:thumbnailProgressM→RОтправить прогресс генерации миниатюр
media:compressImageR→MСжать одно изображение
media:compressDataUrlR→MСжать изображение в формате Data URL
media:compressManyR→MПакетное сжатие изображений

Agent / Magi

Agent (agent:*)

КаналНаправлениеОписание
agent:checkAvailabilityR→MПроверить доступность Agent
agent:getBackendsR→MПолучить список доступных бэкендов
agent:getBackendInfoR→MПолучить информацию о текущем бэкенде
agent:createSessionR→MСоздать сессию Agent
agent:resumeSessionR→MВозобновить сессию Agent
agent:interruptR→MПрервать сессию Agent
agent:respondPermissionR→MОтветить на запрос разрешения
agent:respondAskUserQuestionR→MОтветить на вызов ask_user_question MCP (отправить ответ или отменить)
agent:getActiveSessionsR→MПолучить список активных сессий
agent:isSessionActiveR→MПроверить, активна ли сессия
agent:sendToSessionR→MОтправить сообщение в сессию
agent:listDispatchesR→MПеречислить задачи диспетчеризации
agent:findBackendForSessionR→MНайти бэкенд для сессии
agent:selectFolderR→MОткрыть диалог выбора папки
agent:openPlaygroundFolderR→MОткрыть временное рабочее пространство
agent:retryDevPreviewR→MПовторить предпросмотр разработки
agent:eventM→RОтправить события Agent
agent:permissionRequestM→RОтправить запросы разрешений
agent:askUserQuestionM→RОтправить вопросы при вызове Agent mcp__elftia-ask__ask ({requestId, sessionId, questions[]})
agent:a2uiM→RСобытия рендеринга A2UI
agent:previewM→RОтправить статус предпросмотра разработки

Пользовательские агенты (agent:customAgents:*)

КаналНаправлениеОписание
agent:customAgents:listR→MПеречислить пользовательские агенты
agent:customAgents:getR→MПолучить детали агента
agent:customAgents:createR→MСоздать пользовательский агент
agent:customAgents:updateR→MОбновить пользовательский агент
agent:customAgents:deleteR→MУдалить пользовательский агент
agent:customAgents:runR→MЗапустить пользовательский агент
agent:customAgents:promptPreviewR→MПредпросмотр промпта
agent:customAgents:export/importR→MЭкспорт/импорт агента
agent:customAgents:toggleFavoriteR→MПереключить избранное

Magi (magi:*)

КаналНаправлениеОписание
magi:getStatusR→MПолучить статус сервиса Magi
magi:getConfigR→MПолучить конфигурацию Magi
magi:updateConfigR→MОбновить конфигурацию Magi
magi:resetSessionR→MСбросить сессию Magi

Elfi (elfi:*)

КаналНаправлениеОписание
elfi:askR→MЗадать вопрос ассистенту Elfi
elfi:getKnowledgeR→MПолучить содержимое базы знаний
elfi:searchKnowledgeR→MПоиск по базе знаний

Плагины каналов

КаналНаправлениеОписание
channelPlugins:listPluginsR→MПеречислить доступные плагины
channelPlugins:listInstancesR→MПеречислить экземпляры плагинов
channelPlugins:addR→MДобавить экземпляр плагина
channelPlugins:removeR→MУдалить экземпляр плагина
channelPlugins:updateR→MОбновить экземпляр плагина
channelPlugins:getDetailsR→MПолучить детали плагина
channelPlugins:changeStatusR→MИзменить статус плагина (запустить/остановить)

Система

Управление окнами

КаналНаправлениеОписание
window-minimizeR→MСвернуть окно
window-maximizeR→MПереключить максимизацию
window-closeR→MЗакрыть окно
open-devtoolsR→MПереключить DevTools
developer-mode:get/enable/disableR→MУправление режимом разработчика

Среда выполнения

КаналНаправлениеОписание
runtime:getEnvironmentR→MПолучить информацию о среде выполнения

Диагностика (diagnostics:*)

КаналНаправлениеОписание
diagnostics:dumpR→MЭкспортировать диагностическую информацию
diagnostics:exportR→MЭкспортировать отчёт диагностики
diagnostics:bundleR→MСобрать пакет диагностических данных
diagnostics:clearCachesR→MОчистить кэши
diagnostics:dbVacuumR→MVACUUM базы данных
diagnostics:dbGetSizeR→MПолучить размер базы данных

Определение среды (env:*)

КаналНаправлениеОписание
env:checkAllR→MПроверить все зависимости среды
env:installToolR→MУстановить инструмент
env:repairAllR→MИсправить всё
env:getLastResultR→MПолучить результат последней проверки
env:progressM→RОтправить прогресс проверки

Веб-поиск (webSearch:*)

КаналНаправлениеОписание
webSearch:searchR→MУнифицированный поиск
webSearch:configureProviderR→MНастроить провайдера поиска
webSearch:configureProvidersR→MПакетная настройка провайдеров
webSearch:isProviderEnabledR→MПроверить статус провайдера
webSearch:getProviderConfigR→MПолучить конфигурацию провайдера
webSearch:getProvidersR→MПеречислить всех провайдеров
webSearch:jinaReaderR→MИзвлечь содержимое страницы через Jina Reader
webSearch:localSearchR→MЛокальный поиск в браузере (устарело)
webSearch:isAvailableR→MПроверить доступность локального поиска

Управление данными

Экспорт (export:*)

КаналНаправлениеОписание
export:sessionsR→MЭкспортировать сессии
export:messagesR→MЭкспортировать сообщения

Промпты (prompts:*)

КаналНаправлениеОписание
prompts:list/get/create/update/deleteR→MCRUD промптов
prompts:reorderR→MИзменить порядок промптов
prompts:incrementUsageR→MУвеличить счётчик использования
prompts:searchR→MПоиск промптов
prompts:quickListR→MБыстрый список
prompts:optimizeR→MОптимизировать промпт

Категории промптов (promptCategories:*)

КаналНаправлениеОписание
promptCategories:list/get/create/update/deleteR→MCRUD категорий
promptCategories:reorderR→MИзменить порядок категорий
promptCategories:getTreeR→MПолучить дерево категорий

Цепочки промптов (promptChains:*)

КаналНаправлениеОписание
promptChains:list/get/create/update/deleteR→MCRUD цепочек
promptChains:incrementUsageR→MУвеличить счётчик использования
promptChainItems:add/remove/update/reorderR→MУправление элементами цепочки

Управление сессиями (sessions:*)

КаналНаправлениеОписание
sessions:listR→MПеречислить сессии проекта
sessions:deleteR→MУдалить сессию
sessions:getTokenUsageR→MПолучить использование токенов
sessions:searchR→MПоиск сессий
sessions:batchMove/batchTag/batchDelete/batchExportR→MПакетные операции
sessionFolders:*R→MУправление папками сессий (CRUD + изменение порядка + getTree)
pinnedMessages:*R→MУправление закреплёнными сообщениями

Шаблоны и работы

КаналНаправлениеОписание
templates:*R→MCRUD шаблонов изображений
works:*R→MCRUD работ с изображениями
musicTemplates:*R→MCRUD музыкальных шаблонов
musicWorks:*R→MCRUD музыкальных работ
videoTemplates:*R→MCRUD шаблонов видео
videoWorks:*R→MCRUD видеоработ

Заметки и задачи

КаналНаправлениеОписание
notes:*R→MCRUD заметок + поиск
tasks:*R→MCRUD задач + список
todo:*R→MУправление задачами
tags:*R→MСистема тегов

Ролевые игры (совместимо с SillyTavern)

КаналНаправлениеОписание
characterCards:*R→MCRUD карточек персонажей
worldInfo:*R→MCRUD информации о мире
regexScripts:*R→MCRUD скриптов регулярных выражений
groupChat:*R→MCRUD группового чата
sprites:*R→MУправление спрайтами персонажей
rpDefaults:*R→MНастройки RP по умолчанию
contextTemplates:*R→MCRUD шаблонов контекста

Обновления

КаналНаправлениеОписание
autoUpdate:*R→MАвтоматическая проверка/загрузка/установка обновлений
download:*R→MУправление загрузкой файлов
webUpdate:*R→MОбновление веб-версии

Skills

КаналНаправлениеОписание
skills:list/create/update/deleteR→MCRUD пользовательских Skill
skills:importZipR→MИмпортировать Skill из ZIP-файла
skillHub:*R→MПросмотр/загрузка в Skill Hub