程序聚合 软件案例 基于flutter的跨平台SSH开发调试工具-DeckTerm

基于flutter的跨平台SSH开发调试工具-DeckTerm

2026-05-03 22:51:20
行业:物联网、人工智能
载体:安卓APP、Windows应用
技术:C++、Dart

业务和功能介绍

DeckTerm: 现代化的一站式远程管理终端
DeckTerm 是一款基于 Dart 与 Flutter 构建的现代化、跨平台远程管理客户端,专为开发者和系统管理员设计。它将强大的功能与基于 Tdesign 的优雅界面无缝融合,为您在 Windows 和 Android 平台上提供一致、高效的操作体验。
核心功能:
SSH 终端: 功能完备的 SSH 客户端,提供稳定、安全的远程命令行访问。
SFTP 文件传输: 直观的远程文件浏览器,支持上传和下载。
VNC 远程桌面: 实现图形化远程控制,轻松管理桌面环境。
实时状态监控: 以仪表盘形式清晰展示远程设备的 CPU、内存等关键性能指标。
便捷的设备管理: 集中管理您的所有设备和会话,一键连接。
DeckTerm 同时支持浅色/深色主题切换与多语言,致力于成为您工具箱中最高效、最美观的远程利器

项目实现

1、整体架构和设计思路,不同模块使用的技术栈
整体架构与设计思路:
DeckTerm 是一个基于 Flutter 构建的跨平台(Android / Windows)移动终端与文件管理应用,旨在为平板等边缘设备提供“桌面级”的开发调试体验。
架构上采用了界面展示层(UI)与业务逻辑层(Function)严格分离的分层设计。为了保证代码的可维护性,针对平台特定功能(如文件系统访问、软硬件键盘调起)进行了独立目录隔离,并通过 shared_preferences 实现了响应式工作台分割面板布局比例和连接配置的本地持久化机制。
模块技术栈:
前端 UI 模块: 采用 Flutter (^3.11.0) 结合腾讯 TDesign 组件库 (tdesign_flutter ^0.2.7) 进行界面开发。
SSH 终端模块: 使用 dartssh2 (^2.2.5) 提供底层 SSH / SFTP 协议通信支持;xterm (^4.0.0) 负责完整的 VT100/xterm-256color 终端仿真与流式渲染。
系统权限与交互模块: permission_handler 处理 Android 端的运行时权限申请。
2、“我”的负责模块和结果(尽可能量化)
负责模块: 核心 SSH 终端仿真交互模块、跨平台软硬件键盘驱动适配、多平台文件传输管理模块。
量化工作与结果:
极大降低交互延迟: 深入优化 SSH 底层网络通信,通过禁用 Nagle 算法(开启 TCP_NODELAY)解决延迟 ACK 叠加问题,将 SSH 键盘输入到回显的交互延迟从 ~500ms 大幅降低至数十毫秒的无感级别。
高可用多会话管理: 利用 IndexedStack 与状态保持(AutomaticKeepAliveClientMixin)实现了终端 Tab 标签页管理系统,支持 10+ 个并发 SSH 会话切换时保持 100% 连接存活,做到零断线重连。
完善外设生态输入: 成功适配了 100% 的 Windows/Android 物理全键盘快捷键(包含 F1-F12、方向键、Ctrl组合键),建立跨平台的本地与远程(上传/下载)进度可视化任务队列。
3、“我”遇到的难点、坑,和解决方案
遇到的难点1:中文输入法(IME)冲突导致终端无法正常输入。
坑点: 在 Windows 上使用 xterm 时,系统 IME 会拦截特定字符事件导致终端识别错乱;在 Android 端,原生软键盘与终端焦点争抢极易导致键盘掉落或输入错位。
解决方案: 我采取了平台差异化方案。对 Windows 端,给 xterm 注入 hardwareKeyboardOnly 标识跳过框架层的 TextInputClient,直接从底层硬件捕获物理按键;对 Android 端,我独立封装了一个隐藏 TextField 并追踪

示例图片视频


Yuedi
24小时内活跃
方向: 后端-Python、人工智能-大模型和多模态、
交付率:100.00%
相似推荐
水库数字孪生项目-石门黄坡数字孪生可视化大屏
项目介绍:石门黄坡为二个项目,功能一样,只是接口数据和UE三维场景不同。在虚拟的场景通过和 现实同样的经纬度坐标在场景中放置渗压计,水位计,雨量计所有设备通过真实设备接口获取真实数 据来直观显示数据,项目中有开闸放水,防洪四预,溃坝模块前端通过调用UE方法,场景会执行相应 的动画效果,通过虚拟的场景来模拟现实真实的情况。首页有各种场景切换,泄洪闸,水电站,泄洪 道等,项目中还通过three.js来展示各类设备的模型,以及各类模型的各个部件展示。还有在场景漫游 动画和实时天气的模拟,有下雨下雪阴天晴天的动画模拟。 技 术 栈:vue2框架,前端和UE场景通信,sse设备实时数据的推送,three.js展示fbx格式模型,以 及模型切换,管理员账号登陆时优先获取三维场景。
基于Qt的地理信息数据管理与可视化平台
本项目为轻量级桌面 GIS 工具,用于地理空间数据的管理与可视化分析,支持加载CSV、 Shapefile、GeoJSON 等矢量数据,实现地图缩放平移、要素属性查询、空间数据编辑、专题图渲染、数据导入导出、地理实体构建等功能,可对接 PostgreSQL+PostGIS 空间数据库,支持本地 SQLite 数据缓存,满足中小场景下的 GIS 数据处理与可视化需求。
南京XX大楼数字孪生-数字孪生平台
1.在南京的某个大楼进行数字孪生开发,目标是完成整个大楼的监控,道闸等多安防系统系统,人员进出控制,人脸识别等系统,在系统中控制大楼所有基础设施,在系统中看出所有设备的基本信息。 2.软件对接入的硬件传感器进行控制,通过tcp socket协议传入unity。
图新地球核心引擎-Locaspace
本人参与过知名国产数字地球软件“图新地球”的核心渲染引擎Locaspace的部分研发工作,并实现了多项渲染,地理分析与数据转换功能。实现了KML保存,填挖方分析,高程点测算,缓冲区提取,四七参数转换功能。
多端数字人交互平台(支持离线部署)-灵犀
项目介绍: 本项目为企业级多端数字人交互平台,采用Unity3D做前端渲染,Java做后端服务,可在Windows、安卓手机、全息仓、立式大屏设备上运行。 适用于展厅讲解、政务咨询、企业迎宾、智能导购等场景,支持语音交互、智能问答、RAG知识库检索、AI Agent自主决策、3D真人形象实时驱动交互。 核心功能: • 3D数字人模型实时渲染、表情动作驱动 • ASR语音识别,支持实时语音转文字 • TTS语音合成,拟人化自然语音播报 • 大模型AI智能对话,支持上下文理解 • RAG企业知识库,精准问答与专业解答 • 多终端自适应,一套代码多端运行
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服