Skip to main content

IPC 通道清单

本页列出 Elftia 中所有 IPC 通道。通道按功能域分组,每个通道标注了通信方向和简要说明。

方向说明

  • R→M:渲染进程 → 主进程(ipcRenderer.invoke
  • M→R:主进程 → 渲染进程(webContents.send,需在 Preload 中用 ipcRenderer.on 订阅)

认证与账户

认证引导

通道方向说明
auth:bootstrapR→M (sync)应用启动时同步获取认证 Token

认证会话 (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:listR→M列出指定类型的账户
account:createR→M创建新账户
account:deleteR→M删除账户
account:toggleR→M启用/禁用账户
account:revealR→M显示账户密钥
account:exportR→M导出账户数据
account:clearR→M清除指定类型账户

认证令牌 (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→M获取 Git 状态(分支、变更文件)
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→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设置壁纸渐变;payload 为 WallpaperGradient | nullnull 清空)
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 payload 字段

字段都是可选;只传需要更新的子集。Zod schema 见 ThemeRouter.tsconfigSchema.ts 中的 ThemePreferencesSchema

字段类型说明
disableWallpaperInCompactWindowsboolean紧凑窗口禁用壁纸
wallpaperOverlayEnabledboolean半透明表面开关
wallpaperBlurIntensitynumber 0–30毛玻璃模糊
wallpaperDimmingnumber 0–100遮罩整体不透明度
wallpaperDimmingHuenumber 0–360遮罩 HSL 色相
wallpaperDimmingSaturationnumber 0–100遮罩 HSL 饱和度
wallpaperDimmingLightnessnumber -1..100遮罩亮度,-1 = 自动(浅白/深黑)
wallpaperDimmingGradientWallpaperGradient | null渐变遮罩,null 清空;省略 key = 保持
wallpaperElementTintstring #RRGGBB''元素表面着色 hex;空字符串 = 关闭
wallpaperElementGradientWallpaperGradient | null元素渐变(覆盖纯色)
wallpaperBubbleOverrideboolean气泡独立控制主开关;false 时气泡跟随元素设置
wallpaperBubbleTintUserstring #RRGGBB''用户气泡纯色(仅 override 生效)
wallpaperBubbleTintAssistantstring #RRGGBB''助手气泡纯色(仅 override 生效)
wallpaperBubbleGradientUserWallpaperGradient | null用户气泡渐变(覆盖纯色)
wallpaperBubbleGradientAssistantWallpaperGradient | null助手气泡渐变(覆盖纯色)
wallpaperBubbleOpacitynumber 0–100气泡 fill alpha(仅 override 生效,默认 35)
wallpaperElementOpacitynumber 0–100实验性:半透明 UI 整体推向不透明
wallpaperTransparencynumber 0–100表面着色强度系数

渐变字段语义null = 显式清空;省略 key = 保持现状。前端 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通过 JSON 配置添加 MCP 服务器
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→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→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→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→M获取 Agent 详情
agent:customAgents:createR→M创建自定义 Agent
agent:customAgents:updateR→M更新自定义 Agent
agent:customAgents:deleteR→M删除自定义 Agent
agent:customAgents:runR→M运行自定义 Agent
agent:customAgents:promptPreviewR→M预览 Prompt
agent:customAgents:export/importR→M导出/导入 Agent
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搜索知识库

Channel 插件

通道方向说明
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→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本地浏览器搜索(已废弃)
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获取 Token 用量
sessions:searchR→M搜索会话
sessions:batchMove/batchTag/batchDelete/batchExportR→M批量操作
sessionFolders:*R→M会话文件夹管理 (CRUD + reorder + getTree)
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→MWeb 版本更新

Skills

通道方向说明
skills:list/create/update/deleteR→M用户 Skill CRUD
skills:importZipR→M从 ZIP 导入 Skill
skillHub:*R→MSkill Hub 浏览/下载