electerm 插件市场实战:3 步装好第一个终端扩展
2026/9/19 11:12:41 网站建设 项目流程

electerm 插件市场实战:3 步装好第一个终端扩展

【免费下载链接】electerm📻Free and open-sourced terminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(Linux, Mac, Windows, Android, HarmonyOS, iOS)项目地址: https://gitcode.com/GitHub_Trending/el/electerm

你刚用 electerm 连上一台远端机器,想顺手把日志目录拉下来看看,又想在本地起个 SFTP 服务验证传输链路。终端负责"连得上",这些零碎的事就交给 electerm 插件市场:它把可运行的能力做成 widget,选中、配置、运行,扩展即可上岗。

🧩 插件到底替你做了什么

终端解决"连得上、敲得进",但帮不了你搭链路。想验证 SFTP 账号、代理或跳板配置对不对,先得有一台可控机器可连;SSH Server widget 能在本地直接起一个 SSH/SFTP 服务,把 electerm 书签指向它就能实测。

重复操作也不用手动点:批量操作、批量重命名这类能力都做成了 widget,填好表单就有一个进程在跑,结果直接显示在面板里。

electerm 还拿 widget 给外部工具留了接口:MCP Server widget 把应用能力以本地服务形式暴露出来,方便外部工具接入。

货架整体由 load-widget.js 扫描加载:每个 widget 用widgetInfo声明名称、描述与配置项,设置表单按声明自动生成——表单里看到什么,就是它会做什么。

场景插件能力
验证 SFTP 传输链路本地 SSH Server(含 SFTP)随起随连
临时文件分发本地 FTP 服务器 / 文件服务器 widget
批量操作、批量重命名batch-op、rename widget
外部工具驱动 electermMCP Server widget

⚡ 第一次安装:三步跑通 electerm 插件市场

打开入口:点击左侧边栏的插件图标

点击左侧边栏的 widgets 图标,插件面板直接打开 widget 列表。绿色数字角标是当前运行中的实例数,入口定义在 left-sidebar-icons.jsx。

定位目标:用搜索框过滤列表

在列表顶部搜索框按名称过滤,条目不多时直接滚动也行,列表逻辑见 widgets-list.jsx。

安装并验证:运行表单,核对运行实例

点击某个 widget,在右侧自动生成的表单里填参(字段与默认值都来自该 widget 声明的 configs),点运行。实例进入"运行实例"页签,可一键停止;需要开机自启就勾选 autoRun。运行链路见 widget-control.jsx。以 SSH Server 为例:跑起来后用默认账号 test/test 连 127.0.0.1:22225,能进就通了。

📦 按场景挑插件:逛一圈 electerm 插件市场

文件传输是 widget 最能打的场景。SSH Server widget 在本地起一个带 SFTP 的 SSH 服务,随起随连,正好用来验证 SFTP 插件链路与账号配置;本地 FTP 服务器、文件服务器两个 widget 也适合随手搭上传下载测试环境,实现可参考 widget-ssh-server.js。

终端外观其实是内置能力而非插件:点左侧边栏的图片图标打开终端主题列表,选内置配色或自己微调,样式入口在 terminal-theme-list.styl。想让终端换个样子,从这里开始即可,不必找 widget。

远程监控方面,当前 widget 列表里没有专门的监控插件,但内置的远程监控栏可以挂会话指标(remote-monitor-bar.jsx);想让外部工具来查机器状态,跑一个 MCP Server widget 再接入。

✍️ 写一个最小插件看看

最小插件就是一个文件,放进你本地 electerm 应用的 widgets 目录(对应源码中的 src/app/widgets/ 位置):

widgets/ └── widget-my-plugin.js

文件名必须是widget-加 ID 加.js,ID 只允许小写字母、数字和连字符;扫描器读到文件后取widgetInfo作为列表元数据,按configs自动生成设置表单。最小代码长这样:

const widgetInfo = { name: 'My Plugin', description: 'A minimal electerm widget', version: '1.0.0', type: 'instance', configs: [ { name: 'port', type: 'number', default: 8080, description: 'listen port' } ] } function widgetRun (config) { return { instanceId: 'demo', start () { return { serverInfo: `listening on ${config.port}` } }, stop () { return {} } } } module.exports = { widgetInfo, widgetRun }

生命周期一句话:点运行后主进程调用widgetRun拿到实例并执行start(),停止实例或应用退出时自动回调stop()并统一清理。

🔧 装不上或不生效,先看这里

插件管理的问题大多出在下面几处,按序排查:

  • 放进去的文件列表里没有 → 检查文件名是否为widget-xxx.js、xxx 是否只含小写字母/数字/连字符;模块加载报错会被打印但跳过该文件。
  • 运行提示已有运行实例 → 该 widget 标记了 singleInstance,先去"运行实例"页签把旧实例停掉。
  • 服务起完端口连不上 → 默认端口可能被占用(SSH Server 默认 22225),回表单换个端口再运行。
  • 插件没有随启动自启 → 确认运行时勾选了 autoRun,只有标记过的实例才进入自启列表(widgets.js)。
  • 停止后实例还在 → 实例只保存在内存,重启应用即清空,属正常现象。

现在就点开左侧边栏的插件图标,挑一个 widget 跑一遍,五分钟摸清 electerm 插件市场的门道。

提示:插件列表在面板打开时刷新,新加的插件文件没出现的话,重启应用再试一次。

【免费下载链接】electerm📻Free and open-sourced terminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(Linux, Mac, Windows, Android, HarmonyOS, iOS)项目地址: https://gitcode.com/GitHub_Trending/el/electerm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询