Skip to content
/ KitX Public
forked from Crequency/KitX

🎉 An all-purpose toolbox app. | 一个万用的工具箱 🎉

License

Notifications You must be signed in to change notification settings

Cronyeter/KitX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

██╗  ██╗    ██╗    ████████╗              ██╗  ██╗
██║ ██╔╝    ██║    ╚══██╔══╝              ╚██╗██╔╝
█████╔╝     ██║       ██║       █████╗     ╚███╔╝ 
██╔═██╗     ██║       ██║       ╚════╝     ██╔██╗ 
██║  ██╗    ██║       ██║                 ██╔╝ ██╗
╚═╝  ╚═╝    ╚═╝       ╚═╝                 ╚═╝  ╚═╝
💻 Support OS

Windows Linux MacOS Android iOS

📢 Info

LICENSE Downloads Discussions GitHub Repo Size Code Size Commit Activity

状态 | Status

Build Universal Build Loaders Build Plugins

📧 Social

Forks Stars Watches Discord


ScreenShot of About View

更多截图 More Screenshots

ScreenShot of About View ScreenShot of About View ScreenShot of About View



🌐 中文简介 | English Introduction


目录 | Toc

文档总览 | Docs Preview

展开 | Expand
Languages Docs
zh-cn 简体中文
zh-cnt 繁體中文
en-us English (US)
ja-jp 日本語

📃 中文简介

中文简介

ℹ 应用简介

KitX 是一个开放, 共享, 免费的工具平台. 允许开发者(第三方)以任何受支持的语言, 框架为这个平台增添功能.
最终用户可以从市场中自由下载免费插件或是购买付费插件来搭建符合自己工作流快捷自动化环境.
基于 KitX 的三层设计, 使得最终用户可以轻易在终端场景中进行不同设备间的流转与同步, 也可以轻松进行终端场景中的多设备协同.
同样得益于优秀的三层设计, 第三方可以使用自己熟悉的语言, 框架来工作, 同样可以很轻松将旧有的代码进行迁移, 甚至可以保持旧有逻辑的同时支持 KitX 平台.

注解

开发者(第三方) => 指为 KitX 平台开发插件, 新功能或是更新旧有代码使之支持 KitX 平台的开发者们.

受支持的语言, 框架 => 取决于第一方开发者(即我们)为 KitX 开发了哪些 Loader (三层设计中的一层).

最终用户 => 指在终端设备安装 KitX 来使用 KitX 平台以及社区功能并搭建符合自己工作流的用户.

市场 => KitX 当然支持旁加载, 但市场是一个更加方便, 有组织, 安全的插件获取平台(KitX Marketplace).

工作流 => KitX 所有的插件支持管道消息, 可以在插件间进行任务流动, 以达到插件间协作的目的.

快捷自动化环境 => KitX 的任务计划模块允许用户设定触发条件, 触发钩子等使工作流自动化.

三层设计 => 见下方应用架构部分.

终端场景 => 最终用户具体使用 KitX 平台的具体场景, 某些语境下指最终用户的局域网环境.

多设备协同 => KitX Dashboard (三层设计中的一层) 目前已支持的系统参见下方运行要求部分.

第三方 => 同上开发者(第三方).

🗃 应用架构

展开

KitX 采用了三层设计

第三方 开发 =--> Plugins <--= 互操作 =--> Loaders <--= Socket 通信 =--> Dashboard <--= UI 操作 =--> 用户

第三方负责参照文档实现 Plugin 应该实现的接口, 具体如何实现每种语言不同框架以及选择实现的 Loaders 都不同.
每种语言或者说框架都会有一个对应的 Loader 来实现与 Plugin 的互操作, 而 Loader 与 Dashboard 通过 Socket 通信, 汇报情况以及传递命令.
而这三层设计中的每一层都是可以替换的, 任何一层都可以自定义或是采用第三方的解决方案.
如此一来, 局域网中的其它设备上的插件也可以连接到当前设备, 因此可以实现局域网互联.

🪧 运行要求

展开

KitX Dashboard (面向最终用户)

系统支持

桌面端支持: Windows (10, 11) x64 arm, Linux x64 arm, MacOS x64 arm
移动端支持: Android (5+) arm, iOS (12+) arm

环境支持

桌面端支持

全平台支持 .NET AOT 编译, 进一步增强运行速度, 但是缺少测试, 稳定性没有保证
Windows: 可选 带环境 与 不带环境 的便携版, 以及 在线安装包 和 离线安装包.
Linux: 可选 带环境 的便携版, 也可以在 snap 中在线安装, 或者使用 .deb .rpm 包进行安装.
MacOS: 可选 带环境 的便携版, 也可以在 App Store 中在线安装.

移动端支持

Android: 可选 .apk 直接安装, 以及 Crequency Hub 中在线安装.
iOS: 可选 App Store 中在线安装.

⛏ 参与开发

展开
  1. 获取源代码
git clone git@github.com:Crequency/KitX.git
cd KitX
  1. 选择您要开发的领域
  • Windows
ToolKits/start.ps1 <type>
  • Linux/MacOS
chmod +x ToolKits/start.sh
ToolKits/start.sh <type>

<type> 为您要开发的领域, 可选值为 dashboard, mobile, loader, plugin, installer
此脚本会帮助您获取该领域子模块的源代码, 包含其依赖的子模块
如果您要获取全部子模块的源代码, 请执行以下命令:

git submodule update --init --recursive

📃 English Introduction

English Introduction

ℹ App Description

KitX is an open, shared, free tool platform. Allows developers (3rd party) to add functionality to the platform in any supported languages, frameworks.
End users can freely download from market for free Plug-ins or purchase paid plug-ins to build a quick automation environment that conforms to your workflow.
Based on the three-layer design of KitX, end users can easily transfer and exchange between different devices in the terminal scene Synchronization, you can also easily perform multi-device collaboration in terminal scene.
Also thanks to the excellent three-layer design, third parties can use their familiar languages and frameworks to work, and can also easily integrate The old code can be migrated, and even the KitX platform can be supported while maintaining the old logic.

Annotation

Developer (Third Party) => Refers to developers who develop plugins for the KitX platform, new functions or update old code to support the KitX platform.

Supported Languages, Frameworks => Depends on what Loaders (one of the three-tier design) the first-party developer (i.e. us) has developed for KitX.

End user => Refers to installing KitX on the terminal device to use the KitX platform and community functions and build users who conform to their own workflow.

Market => KitX certainly supports sideloading, but the Marketplace is a much more convenient, organized, and secure platform for getting plugins (KitX Marketplace).

Workflow => All KitX plugins support pipeline messages, and tasks can flow between plugins to achieve the purpose of collaboration between plugins.

Quick Automation Environment => KitX's Task Scheduler module allows users to set trigger conditions, trigger hooks, etc. to automate workflows.

Three-Tier Design => See the Application Architecture section below.

Terminal scene => The specific scene of the end user using the KitX platform, in some contexts it refers to the end user's local area network environment.

Multi-device collaboration => KitX Dashboard (one layer of the three-tier design) Currently supported systems see the Running Requirements section below.

Third Party => Same as above Developer (Third Party).

🗃 Application Architecture

Expand

KitX uses a three-layer design

Third Party Development =--> Plugins <--= Interop =--> Loaders <--= Socket Communication =--> Dashboard <--= UI Operation =--> User

The third party is responsible for referring to the documentation to implement the interface that the Plugin should implement, how to implement the different frameworks of each language and the Loaders chosen to implement are different.
Each language or framework will have a corresponding Loader to achieve interoperability with Plugin, and Loader communicates with Dashboard through Socket, reporting the situation and passing commands.
Each of these three-layer designs can be replaced, and any layer can be customized or a third-party solution can be used.
In this way, plug-ins on other devices in the LAN can also be connected to the current device, so LAN interconnection can be achieved.

🪧 Operating requirements

Expand

KitX Dashboard (For end users)

System Support

Desktop support: Windows (10, 11) x64 arm, Linux x64 arm, MacOS x64 arm
Mobile support: Android (5+) arm, iOS (12+) arm

Environmental support

Desktop support

Any platform supports .NET AOT compilation, which further enhances the running speed, but lacks testing and stability is not guaranteed.
Windows: Optional with environment, and portable version without environment, as well as online installation package and offline installation package.
Linux: Optional portable version with environment, can also be installed online in snap, or installed using .deb .rpm package.
MacOS: Optional portable version with environment, can also be installed online in the App Store.

Mobile support

Android: Optional .apk direct installation, and online installation in Crequency Hub. iOS: Optional online installation from the App Store.

⛏ Participating in development

Expand
  1. Get source code
git clone git@github.com:Crequency/KitX.git
cd KitX
  1. Select your development area
  • Windows
ToolKits/start.ps1 <type>
  • Linux/MacOS
chmod +x ToolKits/start.sh
ToolKits/start.sh <type>

<type> is area you want to develop, you can choose dashboard, mobile, loader, plugin, installer
This script help you get source code of this area, include its dependencies.
If you want to get source code of all submodules, please execute following command:

git submodule update --init --recursive

更新周期 Update Plan

旧版 Old versions
Version Info Code Support Term Require Runs on
Beta_10016 Beta Beta1 0 .Net Framework 4.8 Windows
Beta_10213 Beta Beta2 0 .Net Framework 4.8 Windows
Beta_10235 Beta Beta3 0 .Net Framework 4.8 Windows
v1.0.0 Release Hello 0 .Net Framework 4.8 Windows
v1.0.4 Release WoW 0 .Net Framework 4.8 Windows
v1.0.5 Release Nice Try 0 .Net Framework 4.8 Windows
v1.1.0 Release Apple 0 .Net Framework 4.8 Windows
v1.1.1 Release Banana 0 .Net Framework 4.8 Windows
v1.1.2 Release Cabbage 0 .Net Framework 4.8 Windows
v1.1.4 Release Durin 0 .Net Framework 4.8 Windows
v1.1.5 Release Grape 0 .Net Framework 4.8 Windows
v1.2.0 Release Herring 0 .Net Framework 4.8 Windows
v1.2.1 Release Wonderful 0 .Net Framework 4.8 Windows
v1.2.2 Release Abandon 0 .Net Framework 4.8 Windows
v1.2.4 Preview Panda 0 .Net Framework 4.8 Windows
v1.2.4 Release Panda 0 .Net Framework 4.8 Windows
v1.2.5 Release Orange 0 .Net Framework 4.8 Windows
v1.2.6 Release Muik 0 .Net Framework 4.8 Windows
v1.2.7 Release Cookie 0 .Net Framework 4.8 Windows
v2.0.0 Release Sea 0 .Net Framework 4.8 Windows
v2.0.1 Release Ocean 0 .Net Framework 4.8 Windows
v2.0.2 Release Calculator 0 .Net Framework 4.8 Windows
v2.0.3 Release Wood 0 .Net Framework 4.8 Windows
v2.0.4 Release Computer 0 .Net Framework 4.8 Windows
v2.0.5 Preview Laptop 0 .Net Framework 4.8 Windows
Version Info Code Support Term Require Runs on
v3.0.6187.47831 Preview Fly 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows, Linux, MacOS, Android, iOS, Browser, Raspberry Pi
v3.22.04.6230 Preview Telegram 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows, Linux, MacOS, Android, iOS, Browser, Raspberry Pi
v3.22.04.6235 Release Break 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows, Linux, MacOS, Android, iOS, Browser, Raspberry Pi
v3.22.04.6287 Release Evolution 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows, Linux, MacOS, Android, iOS, Browser, Raspberry Pi
v3.22.10.x Release Hi coding 2022.10 -> 2023.04 .Net 6 (Also Self-Contained) Windows, Linux, MacOS, Android, iOS, Browser, Raspberry Pi
v3.23.04.x Release ToYou coding 2023.04 -> 2024.04 .Net 6 (Also Self-Contained) Windows, Linux, MacOS, Android, iOS, Browser, Raspberry Pi

贡献者 Contributors

About

🎉 An all-purpose toolbox app. | 一个万用的工具箱 🎉

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 34.8%
  • Shell 32.7%
  • PowerShell 32.5%