본문으로 건너뛰기

IPC 채널 목록

이 페이지는 Elftia의 모든 IPC (Inter-Process Communication, 프로세스 간 통신) 채널을 나열합니다. 채널은 기능 도메인별로 묶여 있으며, 각 채널에는 통신 방향과 간략한 설명이 포함됩니다.

방향 범례:

  • R→M: 렌더러 프로세스 → 메인 프로세스 (ipcRenderer.invoke)
  • M→R: 메인 프로세스 → 렌더러 프로세스 (webContents.send; Preload에서 ipcRenderer.on으로 구독)

인증 및 계정

Auth 부트스트랩

채널방향설명
auth:bootstrapR→M (동기)앱 시작 시 인증 토큰을 동기적으로 조회

Auth 세션 (authSession:*)

채널방향설명
authSession:getStateR→M현재 인증 상태 조회
authSession:startBrowserLoginR→M브라우저 로그인 흐름 시작
authSession:refreshR→M인증 세션 갱신
authSession:syncProfileR→M사용자 프로필 동기화
authSession:getAccessTokenR→M액세스 토큰 조회
authSession:logoutR→M로그아웃
authSession:retrySteamLoginR→MSteam 로그인 재시도
authSession:subscribeR→M (send)인증 상태 변경 구독
authSession:stateM→R인증 상태 푸시

계정 (account:*)

채널방향설명
account:listR→M지정한 타입의 계정 목록 조회
account:createR→M새 계정 생성
account:deleteR→M계정 삭제
account:toggleR→M계정 활성화/비활성화
account:revealR→M계정 키 확인
account:exportR→M계정 데이터 내보내기
account:clearR→M지정한 타입의 계정 초기화

Auth 토큰 (authTokens:*)

채널방향설명
authTokens:statusR→M토큰 상태 조회
authTokens:getValueR→M토큰 값 조회
authTokens:storeR→M토큰 저장
authTokens:migrateR→M토큰 마이그레이션
authTokens:clearR→M토큰 초기화

사용 한도 (limits:*)

채널방향설명
limits:getR→M사용 한도 정보 조회
limits:checkR→M한도 초과 여부 확인

프로젝트 및 파일

프로젝트 (projects:*)

채널방향설명
projects:listR→M모든 프로젝트 목록 조회
projects:createR→M새 프로젝트 생성
projects:renameR→M프로젝트 이름 변경
projects:deleteR→M프로젝트 삭제
projects:browseR→M프로젝트 경로 선택을 위한 디렉터리 탐색
projects:createWorkspaceR→M워크스페이스 생성

파일 (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→MGit 상태 조회 (브랜치, 변경 파일)
git:diffR→M파일 diff 조회

채팅

채팅 세션 (chatSessions:*)

채널방향설명
chatSessions:listR→M채팅 세션 목록 조회
chatSessions:getR→M단일 세션 세부 정보 조회
chatSessions:createR→M새 세션 생성
chatSessions:updateR→M세션 정보 업데이트
chatSessions:deleteR→M세션 삭제

채팅 메시지 (chatMessages:*)

채널방향설명
chatMessages:getActivePathR→M활성 메시지 경로(브랜치) 조회
chatMessages:getPageR→M메시지 페이지 조회
chatMessages:getBranchesR→M메시지 브랜치 조회
chatMessages:appendR→M메시지 추가
chatMessages:updateR→M메시지 업데이트
chatMessages:switchBranchR→M메시지 브랜치 전환
chatMessages:deleteR→M메시지 삭제

채팅 어시스턴트 (chatAssistants:*)

채널방향설명
chatAssistants:listR→M모든 어시스턴트 목록 조회
chatAssistants:getR→M어시스턴트 세부 정보 조회
chatAssistants:createR→M새 어시스턴트 생성
chatAssistants:updateR→M어시스턴트 업데이트
chatAssistants:deleteR→M어시스턴트 삭제
chatAssistants:setDefaultR→M기본 어시스턴트로 설정

채팅 이벤트

채널방향설명
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 설정 (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→MAgent 기본 모델 조회
llmConfig:setAgentDefaultModelsR→MAgent 기본 모델 설정
llmConfig:getGlobalModelParametersR→M전역 모델 파라미터 조회
llmConfig:setGlobalModelParametersR→M전역 모델 파라미터 설정

라우팅 및 트랜스포머

채널방향설명
llmConfig:getChatToCodeRoutersR→MChat→Code 라우터 조회
llmConfig:addChatToCodeRouterR→MChat→Code 라우터 추가
llmConfig:updateChatToCodeRouterR→MChat→Code 라우터 업데이트
llmConfig:deleteChatToCodeRouterR→MChat→Code 라우터 삭제
llmConfig:getCodeToChatRoutersR→MCode→Chat 라우터 조회
llmConfig:addCodeToChatRouterR→MCode→Chat 라우터 추가
llmConfig:updateCodeToChatRouterR→MCode→Chat 라우터 업데이트
llmConfig:deleteCodeToChatRouterR→MCode→Chat 라우터 삭제
llmConfig:getTransformersR→M트랜스포머 목록 조회
llmConfig:getBuiltinTransformersR→M내장 트랜스포머 조회
llmConfig:addTransformerR→M트랜스포머 추가
llmConfig:removeTransformerR→M트랜스포머 제거
llmConfig:toggleTransformerR→M트랜스포머 활성화/비활성화

API Key 풀

채널방향설명
llmConfig:getApiKeysR→M프로바이더의 키 목록 조회
llmConfig:addApiKeyR→M풀에 키 추가
llmConfig:updateApiKeyR→M키 업데이트
llmConfig:deleteApiKeyR→M키 삭제
llmConfig:toggleApiKeyR→M키 활성화/비활성화

일괄 작업

채널방향설명
llmConfig:exportConfigR→M모든 LLM 설정 내보내기
llmConfig:importConfigR→MLLM 설정 가져오기

설정 및 환경 설정

앱 설정 (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 브로드캐스트)

theme:setWallpaperPreferences 페이로드 필드

모든 필드는 선택 사항이며, 업데이트할 필드만 전달하면 됩니다. ThemePreferencesSchema Zod 스키마는 ThemeRouter.tsconfigSchema.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 or ''요소 서피스 색조 hex; 빈 문자열 = 비활성화
wallpaperElementGradientWallpaperGradient | null요소 그라디언트 (단색 색조 대체)
wallpaperBubbleOverrideboolean버블 독립 제어 마스터 스위치; false = 버블이 요소 설정을 따름
wallpaperBubbleTintUserstring #RRGGBB or ''사용자 버블 단색 (override 활성 시에만)
wallpaperBubbleTintAssistantstring #RRGGBB or ''어시스턴트 버블 단색 (override 활성 시에만)
wallpaperBubbleGradientUserWallpaperGradient | null사용자 버블 그라디언트 (단색 대체)
wallpaperBubbleGradientAssistantWallpaperGradient | null어시스턴트 버블 그라디언트 (단색 대체)
wallpaperBubbleOpacitynumber 0–100버블 채우기 알파 (override 활성 시에만; 기본값 35)
wallpaperElementOpacitynumber 0–100실험적: 반투명 UI를 불투명 방향으로 조정
wallpaperTransparencynumber 0–100서피스 색조 강도 계수

그라디언트 필드 의미론: null = 명시적 초기화; 키 생략 = 현재 값 유지. 프론트엔드 ThemeContext.setWallpaperPreferences'wallpaperXxxGradient' in payload로 구분하며, 백엔드 ThemeService.setWallpaperPreferencesin 검사로 동일하게 처리합니다.

Hex 검증: 모든 wallpaperBubbleTint* / wallpaperElementTint 필드는 정규식 /^(#[0-9a-fA-F]{6})?$/로 검증됩니다. 유효하지 않은 값은 백엔드에서 오류 없이 자동으로 ''로 대체됩니다.


MCP (mcp:*)

채널방향설명
mcp:listR→M설정된 MCP 서버 목록 조회
mcp:addR→MMCP 서버 추가
mcp:addJsonR→MJSON 설정으로 MCP 서버 추가
mcp:removeR→MMCP 서버 제거
mcp:testR→MMCP 서버 연결 테스트
mcp:discoverR→MMCP 서버 기능 탐색
mcp:updateR→MMCP 서버 설정 업데이트
mcp:list-server-toolsR→M특정 서버의 도구 목록 조회
mcp:list-all-toolsR→M모든 서버의 도구 목록 조회
mcp:call-toolR→MMCP 도구 호출
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→M이미지 프로바이더 CRUD
imageSettings:get/setR→M이미지 설정
musicProviders:list/update/createCustom/deleteCustomR→M음악 프로바이더 CRUD
musicSettings:get/setR→M음악 설정
videoProviders:list/update/createCustom/deleteCustomR→M비디오 프로바이더 CRUD
videoSettings:get/setR→M비디오 설정
asrProviders:list/update/createCustom/deleteCustomR→MASR 프로바이더 CRUD
asrSettings:get/setR→MASR 설정
ttsProviders:list/update/createCustom/deleteCustomR→MTTS 프로바이더 CRUD
ttsSettings:get/setR→MTTS 설정
tts:listVoicesR→M사용 가능한 TTS 음성 목록 조회

미디어 에셋 관리 (media:*)

채널방향설명
media:migrateBase64ToFilesR→Mbase64 데이터를 파일 저장소로 마이그레이션
media:getMigrationStatusR→M마이그레이션 상태 조회
media:migrationProgressM→R마이그레이션 진행 상황 푸시
media:generateMissingThumbnailsR→M누락된 썸네일 생성
media:thumbnailProgressM→R썸네일 생성 진행 상황 푸시
media:compressImageR→M단일 이미지 압축
media:compressDataUrlR→MData URL 이미지 압축
media:compressManyR→M이미지 일괄 압축

Agent / Magi

Agent (agent:*)

채널방향설명
agent:checkAvailabilityR→MAgent 사용 가능 여부 확인
agent:getBackendsR→M사용 가능한 백엔드 목록 조회
agent:getBackendInfoR→M현재 백엔드 정보 조회
agent:createSessionR→MAgent 세션 생성
agent:resumeSessionR→MAgent 세션 재개
agent:interruptR→MAgent 세션 중단
agent:respondPermissionR→M권한 요청에 응답
agent:respondAskUserQuestionR→Mask_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→RAgent 이벤트 푸시
agent:permissionRequestM→R권한 요청 푸시
agent:askUserQuestionM→RAgent가 mcp__elftia-ask__ask를 호출할 때 질문 푸시 ({requestId, sessionId, questions[]})
agent:a2uiM→RA2UI 렌더링 이벤트
agent:previewM→R개발 미리보기 상태 푸시

커스텀 Agent (agent:customAgents:*)

채널방향설명
agent:customAgents:listR→M커스텀 Agent 목록 조회
agent:customAgents:getR→MAgent 세부 정보 조회
agent:customAgents:createR→M커스텀 Agent 생성
agent:customAgents:updateR→M커스텀 Agent 업데이트
agent:customAgents:deleteR→M커스텀 Agent 삭제
agent:customAgents:runR→M커스텀 Agent 실행
agent:customAgents:promptPreviewR→M프롬프트 미리보기
agent:customAgents:export/importR→MAgent 내보내기/가져오기
agent:customAgents:toggleFavoriteR→M즐겨찾기 토글

Magi (magi:*)

채널방향설명
magi:getStatusR→MMagi 서비스 상태 조회
magi:getConfigR→MMagi 설정 조회
magi:updateConfigR→MMagi 설정 업데이트
magi:resetSessionR→MMagi 세션 초기화

Elfi (elfi:*)

채널방향설명
elfi:askR→MElfi 어시스턴트에 질문
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→MDevTools 토글
developer-mode:get/enable/disableR→M개발자 모드 관리

런타임

채널방향설명
runtime:getEnvironmentR→M런타임 환경 정보 조회

진단 (diagnostics:*)

채널방향설명
diagnostics:dumpR→M진단 정보 내보내기
diagnostics:exportR→M진단 보고서 내보내기
diagnostics:bundleR→M진단 데이터 번들
diagnostics:clearCachesR→M캐시 초기화
diagnostics:dbVacuumR→M데이터베이스 VACUUM
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→MJina Reader로 페이지 콘텐츠 추출
webSearch:localSearchR→M로컬 브라우저 검색 (deprecated)
webSearch:isAvailableR→M로컬 검색 사용 가능 여부 확인

데이터 관리

내보내기 (export:*)

채널방향설명
export:sessionsR→M세션 내보내기
export:messagesR→M메시지 내보내기

프롬프트 (prompts:*)

채널방향설명
prompts:list/get/create/update/deleteR→M프롬프트 CRUD
prompts:reorderR→M프롬프트 순서 변경
prompts:incrementUsageR→M사용 횟수 증가
prompts:searchR→M프롬프트 검색
prompts:quickListR→M빠른 목록 조회
prompts:optimizeR→M프롬프트 최적화

프롬프트 카테고리 (promptCategories:*)

채널방향설명
promptCategories:list/get/create/update/deleteR→M카테고리 CRUD
promptCategories:reorderR→M카테고리 순서 변경
promptCategories:getTreeR→M카테고리 트리 조회

프롬프트 체인 (promptChains:*)

채널방향설명
promptChains:list/get/create/update/deleteR→M체인 CRUD
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 + 순서 변경 + 트리 조회)
pinnedMessages:*R→M고정 메시지 관리

템플릿 및 작품

채널방향설명
templates:*R→M이미지 템플릿 CRUD
works:*R→M이미지 작품 CRUD
musicTemplates:*R→M음악 템플릿 CRUD
musicWorks:*R→M음악 작품 CRUD
videoTemplates:*R→M비디오 템플릿 CRUD
videoWorks:*R→M비디오 작품 CRUD

노트 및 태스크

채널방향설명
notes:*R→M노트 CRUD + 검색
tasks:*R→M태스크 CRUD + 목록 조회
todo:*R→M할 일 관리
tags:*R→M태그 시스템

롤플레이 (SillyTavern 호환)

채널방향설명
characterCards:*R→M캐릭터 카드 CRUD
worldInfo:*R→M월드 정보 CRUD
regexScripts:*R→M정규식 스크립트 CRUD
groupChat:*R→M그룹 채팅 CRUD
sprites:*R→M캐릭터 스프라이트 관리
rpDefaults:*R→MRP 기본 설정
contextTemplates:*R→M컨텍스트 템플릿 CRUD

업데이트

채널방향설명
autoUpdate:*R→M자동 업데이트 확인/다운로드/설치
download:*R→M파일 다운로드 관리
webUpdate:*R→M웹 버전 업데이트

스킬 (Skills)

채널방향설명
skills:list/create/update/deleteR→M사용자 Skill CRUD
skills:importZipR→MZIP 파일에서 Skill 가져오기
skillHub:*R→MSkill Hub 탐색/다운로드