跳到主要内容

简介

项目概述

OSI(Open Service Interface,开放服务接口)是为本地(on-premises)和网络环境设计的实现。它提供了一套统一、友好且开放的 API,用于核心操作系统级服务,如文件系统操作、进程管理、事件监控和数据库访问。其目标是抽象底层基础设施,为本地和浏览器环境中的桌面应用程序迁移和集成提供一致的接口。

主要使用场景

  • 以最小的改动将传统桌面应用程序快速迁移到云或容器化环境
  • 构建需要直接访问操作系统级资源的自动化、编排和管理工具
  • 开发需要高级文件、进程或事件管理功能的基于 Electron 的桌面应用程序
  • 管理本地文件和目录
  • 执行和监控系统进程
  • 处理系统事件
  • 本地数据存储和检索
  • 访问系统信息

支持的平台

  • macOS、Linux、Windows(需要 Electron)

主要特性

文件系统操作

  • 文件和目录管理
  • 文件内容读写
  • 压缩和解压缩(zip、tar)
  • 文件系统事件监控

进程管理

  • 进程创建和执行
  • 进程状态监控
  • 进程终止
  • 进程日志流式处理

事件系统

  • 事件驱动架构
  • 自定义事件绑定和触发
  • 一次性事件监听器
  • 进程事件处理

数据库操作

  • 表操作
  • 灵活的查询功能
  • 数据持久化

系统信息

  • CPU 架构信息
  • 系统日期和时间
  • 系统消息处理

架构设计

对于本地环境,OSI 设计用于 Electron 主进程,提供了一种安全高效的操作系统交互方式。其核心组件采用单例模式,确保状态管理和资源利用的一致性。

安全性

所有操作都在主进程中执行,为系统级操作提供了安全的环境。SDK 实现了适当的错误处理和资源管理,确保稳定运行。

性能优化

OSI 在性能方面进行了优化:

  • 异步操作
  • 高效的资源管理
  • 最小的内存占用
  • 优化的文件操作