本页列出 Elftia 中所有 IPC 通道。通道按功能域分组,每个通道标注了通信方向和简要说明。
方向说明:
- R→M:渲染进程 → 主进程(
ipcRenderer.invoke)
- M→R:主进程 → 渲染进程(
webContents.send,需在 Preload 中用 ipcRenderer.on 订阅)
认证与账户
认证引导
| 通道 | 方向 | 说明 |
|---|
auth:bootstrap | R→M (sync) | 应用启动时同步获取认证 Token |
认证会话 (authSession:*)
| 通道 | 方向 | 说明 |
|---|
authSession:getState | R→M | 获取当前认证状态 |
authSession:startBrowserLogin | R→M | 启动浏览器登录流程 |
authSession:refresh | R→M | 刷新认证会话 |
authSession:syncProfile | R→M | 同步用户档案 |
authSession:getAccessToken | R→M | 获取访问令牌 |
authSession:logout | R→M | 注销登录 |
authSession:retrySteamLogin | R→M | 重试 Steam 登录 |
authSession:subscribe | R→M (send) | 订阅认证状态变更 |
authSession:state | M→R | 认证状态推送 |
账户 (account:*)
| 通道 | 方向 | 说明 |
|---|
account:list | R→M | 列出指定类型的账户 |
account:create | R→M | 创建新账户 |
account:delete | R→M | 删除账户 |
account:toggle | R→M | 启用/禁用账户 |
account:reveal | R→M | 显示账户密钥 |
account:export | R→M | 导出账户数据 |
account:clear | R→M | 清除指定类型账户 |
认证令牌 (authTokens:*)
| 通道 | 方向 | 说明 |
|---|
authTokens:status | R→M | 获取令牌状态 |
authTokens:getValue | R→M | 获取令牌值 |
authTokens:store | R→M | 存储令牌 |
authTokens:migrate | R→M | 迁移令牌 |
authTokens:clear | R→M | 清除令牌 |
使用限制 (limits:*)
| 通道 | 方向 | 说明 |
|---|
limits:get | R→M | 获取使用限制信息 |
limits:check | R→M | 检查是否超出限制 |
项目与文件
项目 (projects:*)
| 通道 | 方向 | 说明 |
|---|
projects:list | R→M | 列出所有项目 |
projects:create | R→M | 创建新项目 |
projects:rename | R→M | 重命名项目 |
projects:delete | R→M | 删除项目 |
projects:browse | R→M | 浏览目录选择项目路径 |
projects:createWorkspace | R→M | 创建工作区 |
文件 (files:*)
| 通道 | 方向 | 说明 |
|---|
files:snapshot | R→M | 获取项目文件树快照 |
files:watch | R→M | 开始监听项目文件变更 |
files:unwatch | R→M | 停止监听文件变更 |
files:read | R→M | 读取文件内容(文本) |
files:readBinary | R→M | 读取文件内容(二进制) |
files:write | R→M | 写入文件内容 |
files:shallow | R→M | 获取目录浅层列表 |
files:search | R→M | 搜索文件内容 |
files:searchMetrics | R→M | 获取搜索指标统计 |
files:clearCache | R→M | 清除文件缓存 |
file:revealInFolder | R→M | 在系统文件管理器中显示文件 |
files:patch:{projectId} | M→R | 文件变更补丁推送 |
Git (git:*)
| 通道 | 方向 | 说明 |
|---|
git:status | R→M | 获取 Git 状态(分支、变更文件) |
git:diff | R→M | 获取文件 diff |
聊天会话 (chatSessions:*)
| 通道 | 方向 | 说明 |
|---|
chatSessions:list | R→M | 列出聊天会话 |
chatSessions:get | R→M | 获取单个会话详情 |
chatSessions:create | R→M | 创建新会话 |
chatSessions:update | R→M | 更新会话信息 |
chatSessions:delete | R→M | 删除会话 |
聊天消息 (chatMessages:*)
| 通道 | 方向 | 说明 |
|---|
chatMessages:getActivePath | R→M | 获取活跃消息路径(分支) |
chatMessages:getPage | R→M | 分页获取消息 |
chatMessages:getBranches | R→M | 获取消息分支 |
chatMessages:append | R→M | 追加消息 |
chatMessages:update | R→M | 更新消息 |
chatMessages:switchBranch | R→M | 切换消息分支 |
chatMessages:delete | R→M | 删除消息 |
聊天助手 (chatAssistants:*)
| 通道 | 方向 | 说明 |
|---|
chatAssistants:list | R→M | 列出所有助手 |
chatAssistants:get | R→M | 获取助手详情 |
chatAssistants:create | R→M | 创建新助手 |
chatAssistants:update | R→M | 更新助手 |
chatAssistants:delete | R→M | 删除助手 |
chatAssistants:setDefault | R→M | 设为默认助手 |
聊天事件
| 通道 | 方向 | 说明 |
|---|
chat:appendMessage | R→M | 手动追加消息到聊天 |
chat:getMessages | R→M | 获取聊天消息历史 |
chat:sendCommand | R→M | 发送聊天命令 |
chat:abortSession | R→M | 中止聊天会话 |
chat:checkSessionStatus | R→M | 检查会话状态 |
chat:event | M→R | 聊天事件推送(流式内容等) |
chat:completed | M→R | 聊天完成事件 |
补全 (Completion)
| 通道 | 方向 | 说明 |
|---|
completion:complete | R→M | 单次补全请求 |
completion:stream | R→M | 启动流式补全(返回 streamId) |
completion:stream:{id} | M→R | 流式补全事件推送(delta / done / error) |
completion:getModels | R→M | 获取提供商可用模型 |
completion:testModel | R→M | 测试模型连通性 |
completion:chatInSession | R→M | 会话内聊天补全(完整流程) |
completion:regenerateInSession | R→M | 重新生成助手回复 |
completion:createRPFirstMessage | R→M | 创建角色扮演首条消息 |
LLM 配置 (llmConfig:*)
提供商 CRUD
| 通道 | 方向 | 说明 |
|---|
llmConfig:getProviders | R→M | 列出所有提供商 |
llmConfig:getProvider | R→M | 获取单个提供商 |
llmConfig:addProvider | R→M | 添加提供商 |
llmConfig:updateProvider | R→M | 更新提供商 |
llmConfig:deleteProvider | R→M | 删除提供商 |
llmConfig:toggleProvider | R→M | 启用/禁用提供商 |
llmConfig:discoverModels | R→M | 发现提供商可用模型 |
| 通道 | 方向 | 说明 |
|---|
llmConfig:getProviderPresets | R→M | 获取预设列表 |
llmConfig:addFromPreset | R→M | 从预设创建提供商 |
模型参数
| 通道 | 方向 | 说明 |
|---|
llmConfig:getAgentDefaultModels | R→M | 获取 Agent 默认模型 |
llmConfig:setAgentDefaultModels | R→M | 设置 Agent 默认模型 |
llmConfig:getGlobalModelParameters | R→M | 获取全局模型参数 |
llmConfig:setGlobalModelParameters | R→M | 设置全局模型参数 |
路由与转换器
| 通道 | 方向 | 说明 |
|---|
llmConfig:getChatToCodeRouters | R→M | 获取 Chat→Code 路由 |
llmConfig:addChatToCodeRouter | R→M | 添加 Chat→Code 路由 |
llmConfig:updateChatToCodeRouter | R→M | 更新 Chat→Code 路由 |
llmConfig:deleteChatToCodeRouter | R→M | 删除 Chat→Code 路由 |
llmConfig:getCodeToChatRouters | R→M | 获取 Code→Chat 路由 |
llmConfig:addCodeToChatRouter | R→M | 添加 Code→Chat 路由 |
llmConfig:updateCodeToChatRouter | R→M | 更新 Code→Chat 路由 |
llmConfig:deleteCodeToChatRouter | R→M | 删除 Code→Chat 路由 |
llmConfig:getTransformers | R→M | 获取转换器列表 |
llmConfig:getBuiltinTransformers | R→M | 获取内置转换器 |
llmConfig:addTransformer | R→M | 添加转换器 |
llmConfig:removeTransformer | R→M | 移除转换器 |
llmConfig:toggleTransformer | R→M | 启用/禁用转换器 |
API 密钥池
| 通道 | 方向 | 说明 |
|---|
llmConfig:getApiKeys | R→M | 获取提供商的密钥列表 |
llmConfig:addApiKey | R→M | 添加密钥到池 |
llmConfig:updateApiKey | R→M | 更新密钥 |
llmConfig:deleteApiKey | R→M | 删除密钥 |
llmConfig:toggleApiKey | R→M | 启用/禁用密钥 |
批量操作
| 通道 | 方向 | 说明 |
|---|
llmConfig:exportConfig | R→M | 导出全部 LLM 配置 |
llmConfig:importConfig | R→M | 导入 LLM 配置 |
配置与设置
应用设置 (settings:*)
| 通道 | 方向 | 说明 |
|---|
settings:get | R→M | 获取设置项 |
settings:set | R→M | 设置设置项 |
settings:getExperimentalFeatures | R→M | 获取实验性功能开关 |
settings:setExperimentalFeatures | R→M | 设置实验性功能开关 |
应用偏好 (appPreferences:*)
| 通道 | 方向 | 说明 |
|---|
appPreferences:get | R→M | 获取应用偏好 |
appPreferences:update | R→M | 更新应用偏好 |
文件配置 (config:*)
| 通道 | 方向 | 说明 |
|---|
config:get | R→M | 获取配置值 |
config:getAll | R→M | 获取全部配置 |
config:getPath | R→M | 获取配置文件路径 |
config:set | R→M | 设置配置值 |
config:merge | R→M | 合并配置值 |
config:reset | R→M | 重置配置项 |
config:changed | M→R | 配置变更通知 |
主题 (theme:*)
| 通道 | 方向 | 说明 |
|---|
theme:getState | R→M | 获取当前主题状态(含所有壁纸/着色/气泡字段) |
theme:setMode | R→M | 设置主题模式(light/dark/system) |
theme:updateUserTheme | R→M | 更新用户自定义主题(强调色 + 字体) |
theme:setCustomCss | R→M | 设置自定义 CSS |
theme:setWallpaper | R→M | 设置图片壁纸({ light?, dark? }) |
theme:setWallpaperGradient | R→M | 设置壁纸渐变;payload 为 WallpaperGradient | null(null 清空) |
theme:setWallpaperPreferences | R→M | 部分更新壁纸偏好的任意子集(见下表) |
theme:pickWallpaperFile | R→M | 打开原生文件对话框选壁纸图片,返回绝对路径 |
theme:setRemoteAssetsPolicy | R→M | 设置远程资源策略 |
theme:export | R→M | 导出主题配置(ThemeProfileExport,含所有壁纸字段) |
theme:import | R→M | 导入主题配置 |
theme:reset | R→M | 重置主题到默认 |
theme:updated | M→R | 主题状态变更推送(任何字段变更都广播完整 ThemeState) |
theme:setWallpaperPreferences payload 字段
字段都是可选;只传需要更新的子集。Zod schema 见 ThemeRouter.ts 与 configSchema.ts 中的 ThemePreferencesSchema。
| 字段 | 类型 | 说明 |
|---|
disableWallpaperInCompactWindows | boolean | 紧凑窗口禁用壁纸 |
wallpaperOverlayEnabled | boolean | 半透明表面开关 |
wallpaperBlurIntensity | number 0–30 | 毛玻璃模糊 |
wallpaperDimming | number 0–100 | 遮罩整体不透明度 |
wallpaperDimmingHue | number 0–360 | 遮罩 HSL 色相 |
wallpaperDimmingSaturation | number 0–100 | 遮罩 HSL 饱和度 |
wallpaperDimmingLightness | number -1..100 | 遮罩亮度,-1 = 自动(浅白/深黑) |
wallpaperDimmingGradient | WallpaperGradient | null | 渐变遮罩,null 清空;省略 key = 保持 |
wallpaperElementTint | string #RRGGBB 或 '' | 元素表面着色 hex;空字符串 = 关闭 |
wallpaperElementGradient | WallpaperGradient | null | 元素渐变(覆盖纯色) |
wallpaperBubbleOverride | boolean | 气泡独立控制主开关;false 时气泡跟随元素设置 |
wallpaperBubbleTintUser | string #RRGGBB 或 '' | 用户气泡纯色(仅 override 生效) |
wallpaperBubbleTintAssistant | string #RRGGBB 或 '' | 助手气泡纯色(仅 override 生效) |
wallpaperBubbleGradientUser | WallpaperGradient | null | 用户气泡渐变(覆盖纯色) |
wallpaperBubbleGradientAssistant | WallpaperGradient | null | 助手气泡渐变(覆盖纯色) |
wallpaperBubbleOpacity | number 0–100 | 气泡 fill alpha(仅 override 生效,默认 35) |
wallpaperElementOpacity | number 0–100 | 实验性:半透明 UI 整体推向不透明 |
wallpaperTransparency | number 0–100 | 表面着色强度系数 |
渐变字段语义:null = 显式清空;省略 key = 保持现状。前端 ThemeContext.setWallpaperPreferences 通过 'wallpaperXxxGradient' in payload 区分二者,后端 ThemeService.setWallpaperPreferences 同样用 in 检查。
Hex 校验:所有 wallpaperBubbleTint* / wallpaperElementTint 字段经过正则 /^(#[0-9a-fA-F]{6})?$/,非法值会被后端静默替换为 ''(不抛错)。
MCP (mcp:*)
| 通道 | 方向 | 说明 |
|---|
mcp:list | R→M | 列出已配置的 MCP 服务器 |
mcp:add | R→M | 添加 MCP 服务器 |
mcp:addJson | R→M | 通过 JSON 配置添加 MCP 服务器 |
mcp:remove | R→M | 移除 MCP 服务器 |
mcp:test | R→M | 测试 MCP 服务器连接 |
mcp:discover | R→M | 发现 MCP 服务器功能 |
mcp:update | R→M | 更新 MCP 服务器配置 |
mcp:list-server-tools | R→M | 列出指定服务器的工具 |
mcp:list-all-tools | R→M | 列出所有服务器的工具 |
mcp:call-tool | R→M | 调用 MCP 工具 |
mcp:check-dependency | R→M | 检查命令依赖是否可用 |
mcp:install-dependency | R→M | 安装缺失依赖 |
媒体生成
图片 (image:*)
| 通道 | 方向 | 说明 |
|---|
image:generate | R→M | 独立图片生成 |
image:generateInSession | R→M | 会话内图片生成(含消息创建) |
generation:completed | M→R | 图片生成完成事件 |
视频 (video:*)
| 通道 | 方向 | 说明 |
|---|
video:generate | R→M | 独立视频生成 |
video:generateInSession | R→M | 会话内视频生成 |
video:generation:completed | M→R | 视频生成完成事件 |
音乐 (music:*)
| 通道 | 方向 | 说明 |
|---|
music:generateInSession | R→M | 会话内音乐生成 |
媒体提供商配置
| 通道 | 方向 | 说明 |
|---|
imageProviders:list/update/createCustom/deleteCustom | R→M | 图片提供商 CRUD |
imageSettings:get/set | R→M | 图片设置 |
musicProviders:list/update/createCustom/deleteCustom | R→M | 音乐提供商 CRUD |
musicSettings:get/set | R→M | 音乐设置 |
videoProviders:list/update/createCustom/deleteCustom | R→M | 视频提供商 CRUD |
videoSettings:get/set | R→M | 视频设置 |
asrProviders:list/update/createCustom/deleteCustom | R→M | ASR 提供商 CRUD |
asrSettings:get/set | R→M | ASR 设置 |
ttsProviders:list/update/createCustom/deleteCustom | R→M | TTS 提供商 CRUD |
ttsSettings:get/set | R→M | TTS 设置 |
tts:listVoices | R→M | 列出 TTS 可用声音 |
| 通道 | 方向 | 说明 |
|---|
media:migrateBase64ToFiles | R→M | 迁移 base64 到文件存储 |
media:getMigrationStatus | R→M | 获取迁移状态 |
media:migrationProgress | M→R | 迁移进度推送 |
media:generateMissingThumbnails | R→M | 生成缺失缩略图 |
media:thumbnailProgress | M→R | 缩略图生成进度推送 |
media:compressImage | R→M | 压缩单张图片 |
media:compressDataUrl | R→M | 压缩 Data URL 图片 |
media:compressMany | R→M | 批量压缩图片 |
Agent / Magi
Agent (agent:*)
| 通道 | 方向 | 说明 |
|---|
agent:checkAvailability | R→M | 检查 Agent 可用性 |
agent:getBackends | R→M | 获取可用后端列表 |
agent:getBackendInfo | R→M | 获取当前后端信息 |
agent:createSession | R→M | 创建 Agent 会话 |
agent:resumeSession | R→M | 恢复 Agent 会话 |
agent:interrupt | R→M | 中断 Agent 会话 |
agent:respondPermission | R→M | 响应权限请求 |
agent:respondAskUserQuestion | R→M | 响应 ask_user_question MCP 调用(提交答案或取消) |
agent:getActiveSessions | R→M | 获取活跃会话列表 |
agent:isSessionActive | R→M | 检查会话是否活跃 |
agent:sendToSession | R→M | 向会话发送消息 |
agent:listDispatches | R→M | 列出调度任务 |
agent:findBackendForSession | R→M | 查找会话对应后端 |
agent:selectFolder | R→M | 打开文件夹选择对话框 |
agent:openPlaygroundFolder | R→M | 打开临时工作区 |
agent:retryDevPreview | R→M | 重试开发预览 |
agent:event | M→R | Agent 事件推送 |
agent:permissionRequest | M→R | 权限请求推送 |
agent:askUserQuestion | M→R | Agent 调用 mcp__elftia-ask__ask 时的问题推送({requestId, sessionId, questions[]}) |
agent:a2ui | M→R | A2UI 渲染事件 |
agent:preview | M→R | 开发预览状态推送 |
自定义 Agent (agent:customAgents:*)
| 通道 | 方向 | 说明 |
|---|
agent:customAgents:list | R→M | 列出自定义 Agent |
agent:customAgents:get | R→M | 获取 Agent 详情 |
agent:customAgents:create | R→M | 创建自定义 Agent |
agent:customAgents:update | R→M | 更新自定义 Agent |
agent:customAgents:delete | R→M | 删除自定义 Agent |
agent:customAgents:run | R→M | 运行自定义 Agent |
agent:customAgents:promptPreview | R→M | 预览 Prompt |
agent:customAgents:export/import | R→M | 导出/导入 Agent |
agent:customAgents:toggleFavorite | R→M | 切换收藏 |
Magi (magi:*)
| 通道 | 方向 | 说明 |
|---|
magi:getStatus | R→M | 获取 Magi 服务状态 |
magi:getConfig | R→M | 获取 Magi 配置 |
magi:updateConfig | R→M | 更新 Magi 配置 |
magi:resetSession | R→M | 重置 Magi 会话 |
Elfi (elfi:*)
| 通道 | 方向 | 说明 |
|---|
elfi:ask | R→M | 向 Elfi 助手提问 |
elfi:getKnowledge | R→M | 获取知识库内容 |
elfi:searchKnowledge | R→M | 搜索知识库 |
Channel 插件
| 通道 | 方向 | 说明 |
|---|
channelPlugins:listPlugins | R→M | 列出可用插件 |
channelPlugins:listInstances | R→M | 列出插件实例 |
channelPlugins:add | R→M | 添加插件实例 |
channelPlugins:remove | R→M | 移除插件实例 |
channelPlugins:update | R→M | 更新插件实例 |
channelPlugins:getDetails | R→M | 获取插件详情 |
channelPlugins:changeStatus | R→M | 变更插件状态(启动/停止) |
窗口控制
| 通道 | 方向 | 说明 |
|---|
window-minimize | R→M | 最小化窗口 |
window-maximize | R→M | 切换最大化 |
window-close | R→M | 关闭窗口 |
open-devtools | R→M | 切换 DevTools |
developer-mode:get/enable/disable | R→M | 开发者模式管理 |
运行时
| 通道 | 方向 | 说明 |
|---|
runtime:getEnvironment | R→M | 获取运行时环境信息 |
诊断 (diagnostics:*)
| 通道 | 方向 | 说明 |
|---|
diagnostics:dump | R→M | 导出诊断信息 |
diagnostics:export | R→M | 导出诊断报告 |
diagnostics:bundle | R→M | 打包诊断数据 |
diagnostics:clearCaches | R→M | 清除缓存 |
diagnostics:dbVacuum | R→M | 数据库 VACUUM |
diagnostics:dbGetSize | R→M | 获取数据库大小 |
环境检测 (env:*)
| 通道 | 方向 | 说明 |
|---|
env:checkAll | R→M | 检查所有环境依赖 |
env:installTool | R→M | 安装工具 |
env:repairAll | R→M | 修复全部 |
env:getLastResult | R→M | 获取上次检查结果 |
env:progress | M→R | 检查进度推送 |
网络搜索 (webSearch:*)
| 通道 | 方向 | 说明 |
|---|
webSearch:search | R→M | 统一搜索 |
webSearch:configureProvider | R→M | 配置搜索提供商 |
webSearch:configureProviders | R→M | 批量配置提供商 |
webSearch:isProviderEnabled | R→M | 检查提供商状态 |
webSearch:getProviderConfig | R→M | 获取提供商配置 |
webSearch:getProviders | R→M | 列出所有提供商 |
webSearch:jinaReader | R→M | Jina Reader 提取页面内容 |
webSearch:localSearch | R→M | 本地浏览器搜索(已废弃) |
webSearch:isAvailable | R→M | 检查本地搜索可用性 |
数据管理
导出 (export:*)
| 通道 | 方向 | 说明 |
|---|
export:sessions | R→M | 导出会话 |
export:messages | R→M | 导出消息 |
提示词 (prompts:*)
| 通道 | 方向 | 说明 |
|---|
prompts:list/get/create/update/delete | R→M | 提示词 CRUD |
prompts:reorder | R→M | 排序提示词 |
prompts:incrementUsage | R→M | 增加使用计数 |
prompts:search | R→M | 搜索提示词 |
prompts:quickList | R→M | 快速列表 |
prompts:optimize | R→M | 优化提示词 |
提示词分类 (promptCategories:*)
| 通道 | 方向 | 说明 |
|---|
promptCategories:list/get/create/update/delete | R→M | 分类 CRUD |
promptCategories:reorder | R→M | 排序分类 |
promptCategories:getTree | R→M | 获取分类树 |
提示词链 (promptChains:*)
| 通道 | 方向 | 说明 |
|---|
promptChains:list/get/create/update/delete | R→M | 链 CRUD |
promptChains:incrementUsage | R→M | 增加使用计数 |
promptChainItems:add/remove/update/reorder | R→M | 链项管理 |
会话管理 (sessions:*)
| 通道 | 方向 | 说明 |
|---|
sessions:list | R→M | 列出项目会话 |
sessions:delete | R→M | 删除会话 |
sessions:getTokenUsage | R→M | 获取 Token 用量 |
sessions:search | R→M | 搜索会话 |
sessions:batchMove/batchTag/batchDelete/batchExport | R→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→M | RP 默认设置 |
contextTemplates:* | R→M | 上下文模板 CRUD |
| 通道 | 方向 | 说明 |
|---|
autoUpdate:* | R→M | 自动更新检查/下载/安装 |
download:* | R→M | 文件下载管理 |
webUpdate:* | R→M | Web 版本更新 |
Skills
| 通道 | 方向 | 说明 |
|---|
skills:list/create/update/delete | R→M | 用户 Skill CRUD |
skills:importZip | R→M | 从 ZIP 导入 Skill |
skillHub:* | R→M | Skill Hub 浏览/下载 |