wchenyi / KitX

参考风格

Home Page:https://kitx.apps.catrol.cn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KitX Logo


Intro: 🌐 English | 中文简介

Docs: 🌐 English | 简体中文


Build Universal Build Loaders Build Plugins

License Release Downloads GitHub Repo Size Code Size Commit Activity

Forks Stars Watches Discussions Discord


ScreenShot of About View


More Screenshots | 更多截图

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


中文简介

应用简介

应用简介

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 通信, 汇报情况以及传递命令.
而这三层设计中的每一层都是可以替换的, 任何一层都可以自定义或是采用第三方的解决方案.
如此一来, 局域网中的其它设备上的插件也可以连接到当前设备, 因此可以实现局域网互联.


运行要求

运行要求

x86 arm platforms
x32, x64 arm, arm64 Windows
x64 arm, arm64 Linux
x64 arm64 MacOS
x64 armeabi-v7a, arm64-v8a Android
arm64 iOS

参与开发

参与开发

  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

App Description

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.

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

Application Architecture

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

Operating requirements

x86 arm platforms
x32, x64 arm, arm64 Windows
x64 arm, arm64 Linux
x64 arm64 MacOS
x64 armeabi-v7a, arm64-v8a Android
arm64 iOS

Participating in development

Participating in development

  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 | 更新周期


Deprecated 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
v3.22.04.6230 Preview Telegram 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows Linux MacOS
v3.22.04.6235 Release Break 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows Linux MacOS
v3.22.04.6287 Release Evolution 2022.04 -> 2023.04 .Net 6 (Also Self-Contained) Windows Linux MacOS
v3.23.04.6488 Release ToYou 2023.04 -> 2024.04 .Net 6 (Also Self-Contained) Windows Linux MacOS Android Raspberry Pi
v3.23.10.x Release No not yet developing 2023.04 -> 2024.04 .Net 6 (Also Self-Contained) Windows Linux MacOS Android iOS Browser Raspberry Pi

See Details in ChangeLog | 在 更新日志 中查看更多


Contributors | 贡献者



██╗  ██╗    ██╗    ████████╗              ██╗  ██╗
██║ ██╔╝    ██║    ╚══██╔══╝              ╚██╗██╔╝
█████╔╝     ██║       ██║       █████╗     ╚███╔╝ 
██╔═██╗     ██║       ██║       ╚════╝     ██╔██╗ 
██║  ██╗    ██║       ██║                 ██╔╝ ██╗
╚═╝  ╚═╝    ╚═╝       ╚═╝                 ╚═╝  ╚═╝

About

参考风格

https://kitx.apps.catrol.cn

License:GNU Affero General Public License v3.0


Languages

Language:C# 33.8%Language:Shell 33.2%Language:PowerShell 33.0%