Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 2.87 KB

File metadata and controls

42 lines (27 loc) · 2.87 KB

VISION

项目概述

translime 是一个基于 Electron 的小功能加载器,用于快速加载以插件形式打包的 Node.js 程序。名称取自 transform 与 slime 的组合词,意为像史莱姆一样拟态:每个插件都是一个"史莱姆",能够轻量适配宿主、即装即用。仓库以 pnpm workspace 组织:packages/app 是宿主应用,packages/sdk 是面向插件开发者的 SDK,packages 下以 translime-plugin- 开头的目录是插件。

要解决的问题

日常开发中的"小功能"(静态文件服务、域名解析更新、截图、存档备份等)往往分散在不同工具中,安装、启动和维护成本高。translime 提供一个统一的 Electron 宿主与插件分发机制,让每个小功能以独立插件的形式快速加载、按需激活,互不干扰。

目标用户

  • 终端用户:通过宿主安装、启用和更新插件,使用各插件提供的小功能。
  • 插件开发者:使用 translime-sdk 与共享脚手架开发并发布新插件。

仓库为公开项目,通过 GitHub Releases 分发宿主安装包,通过 npm 分发 SDK 与插件。

项目目标与成功表现

  • 插件加载快速:宿主只做描述符扫描,插件按声明的事件时机激活,不把所有插件逻辑堆在启动阶段。
  • 插件开发低成本:SDK 提供环境隔离的 API、Vite 集成与 preview 模式;脚手架可生成可构建的插件包。
  • 插件可独立发布:插件包发布到 npm,宿主内可安装、启用与更新。
  • 当前可验证的表现:宿主版本 0.6.x;translime-sdk 1.0.x 已发布到 npm;仓库内已有 10 余个插件包。

非目标和边界

  • 不做大而全的应用平台,插件只承载"小功能"。
  • 当前发布产物仅面向 Windows x64(NSIS 安装包与 portable 版本),不承诺其他平台打包。
  • 不强制插件包含 UI:纯主进程逻辑的插件同样是合法形态。
  • 宿主不内置业务功能,业务能力全部由插件提供。

核心原则

  • 小与快:插件轻量、按需激活,避免启动阶段全量加载。
  • 拟态:插件通过 manifest 声明能力与激活时机,像史莱姆一样适配宿主环境。
  • 隔离:插件 UI 与宿主进程、DOM、样式相互隔离,插件之间通过受控 IPC 与 interop 通信。
  • 宿主优先:真实宿主是插件的主要运行与验证环境,preview 模式只作为辅助调试工具。
  • 声明式:激活时机、依赖与命令都在 manifest 中声明,而不是写在启动代码里。

当前阶段

宿主处于 0.6.x:插件系统已具备描述符扫描、按触发激活、依赖管理、命令与 IPC 反向激活、webview 沙箱 UI、自动更新与深链;SDK 1.0.x 已发布,插件开发以 SDK 为推荐路径。近期方向集中在插件体验与宿主稳定性上,细节见 ARCHITECTURE.md 与仓库提交历史。