diff --git a/README.md b/README.md index 8dc1248..b05c09b 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,9 @@

- Intro: 🌐 English | 中文简介 -

- -

- Docs: 🌐 + Docs website: English | 简体中文 + 🌐


@@ -41,12 +38,14 @@
+ - +# About -
+> `KitX Project` is going to build a world that everything is connected. -
-应用架构 +KitX is an open, shared, connected and free tools platform. +After plugins developed by developers with their prefered languages and frameworks uploading to plugins market, users can download and combine plugins they like. +Every plugin contains atomized and platform independent functions, which will be connected with other functions by KitX. -## 应用架构 +For example: +0. KitX is running on user's all devices +1. User pressed `Ctrl + Alt + A` which has been assigned to 'Cast remote screenshot' function from plugin 'Screenshot' +2. This function asked KitX for a remote device and suspended to wait KitX's response +3. User selected device 'DESKTOP-Bedroom' and KitX returned user's selection to function above +4. Function then asked KitX to call 'Cast screenshot' function from plugin 'Screenshot' on device 'DESKTOP-Bedroom' +5. Remote returned a screenshot and displayed on user's current device by local plugin -KitX 采用了三层设计 +# Architecture +KitX uses a three-layer design -`第三方` 开发 =--> `Plugins` <--= 互操作 =--> `Loaders` <--= Socket 通信 =--> `Dashboard` <--= UI 操作 =--> 用户 +`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. -第三方负责参照文档实现 Plugin 应该实现的接口, 具体如何实现每种语言不同框架以及选择实现的 Loaders 都不同. -每种语言或者说框架都会有一个对应的 Loader 来实现与 Plugin 的互操作, 而 Loader 与 Dashboard 通过 Socket 通信, 汇报情况以及传递命令. -而这三层设计中的每一层都是可以替换的, 任何一层都可以自定义或是采用第三方的解决方案. -如此一来, 局域网中的其它设备上的插件也可以连接到当前设备, 因此可以实现局域网互联. +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. -## 运行要求 +## Requirements -| x86 | arm | platforms | -|--------------|----------------------------|--------------------------------------------------------------------------------------| -| `x32`, `x64` | `arm`, `arm64` | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) | -| `x64` | `arm`, `arm64` | ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) | -| `x64` | `arm64` | ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | -| `x64` | `armeabi-v7a`, `arm64-v8a` | ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) | -| | `arm64` | ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) | +| platforms | x86 | arm | loongarch | +|--------------------------------------------------------------------------------------|---------------|-----------------------------|-------------------------------| +| ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) | `x32` , `x64` | `arm` , `arm64` | :x: | +| ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) | `x64` | `arm` , `arm64` | `la32 (todo)` , `la64 (todo)` | +| ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | `x64` | `arm64` | :x: | +| ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) | `x64` | `armeabi-v7a` , `arm64-v8a` | :x: | +| ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) | :x: | `arm64` | :x: | -
+# Development -
- -
-参与开发 +> We strongly suggest you to configure your ssh environment, in order to use git link format like “git@github.com:Crequency/KitX.git” instead of "https://github.com/Crequency/KitX.git" -## 参与开发 +1. Get source code -1. 获取源代码 ```shell git clone git@github.com:Crequency/KitX.git cd KitX ``` -2. 选择您要开发的领域 -- Windows +2. Init submodules + ```shell -ToolKits/start.ps1 +git submodule init ``` -- Linux/MacOS + +3. Select and init your development area + ```shell +# Linux / MacOS chmod +x ToolKits/start.sh ToolKits/start.sh -``` -`` 为您要开发的领域, 可选值为 `dashboard`, `mobile`, `loader`, `plugin`, `installer` -此脚本会帮助您获取该领域子模块的源代码, 包含其依赖的子模块 -如果您要获取全部子模块的源代码, 请执行以下命令: -```shell -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 +# or - -`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](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) | -| `x64` | `arm`, `arm64` | ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) | -| `x64` | `arm64` | ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | -| `x64` | `armeabi-v7a`, `arm64-v8a` | ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) | -| | `arm64` | ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) | - -
- -
- -
-Participating in development - -## Participating in development - -1. Get source code -```shell -git clone git@github.com:Crequency/KitX.git -cd KitX -``` - -2. Select your development area -- Windows -```shell +# Windows OS ToolKits/start.ps1 ``` -- Linux/MacOS -```shell -chmod +x ToolKits/start.sh -ToolKits/start.sh -``` + `` 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: +If you want to get source code of all submodules at once, please execute following command instead: + ```shell git submodule update --init --recursive ``` -
- -
- -# Update Plan | 更新周期 +# Versions Roadmap
-Deprecated Versions | 旧版 (弃用的版本) +Deprecated Versions
@@ -291,22 +180,18 @@ git submodule update --init --recursive
-| Version | Info | Code | Support | Term | Require | Runs on | -|-----------------------------------------------------------------------------------|---------|------------|--------------------|--------------------|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [v3.0.6187.47831](https://github.com/Crequency/KitX/releases/tag/v3.0.6187.47831) | Preview | Fly | :x: | 2022.04 -> 2023.04 | .Net 6 (Also Self-Contained) | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | -| [v3.22.04.6230](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6230) | Preview | Telegram | :x: | 2022.04 -> 2023.04 | .Net 6 (Also Self-Contained) | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | -| [v3.22.04.6235](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6235) | Release | Break | :x: | 2022.04 -> 2023.04 | .Net 6 (Also Self-Contained) | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | -| [v3.22.04.6287](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6287) | Release | Evolution | :x: | 2022.04 -> 2023.04 | .Net 6 (Also Self-Contained) | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | -| [v3.23.04.6488](https://github.com/Crequency/KitX/releases/tag/v3.23.04.6488) | Release | ToYou | :white_check_mark: | 2023.04 -> 2024.04 | .Net 6 (Also Self-Contained) | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | -| v3.23.10.x | Release | No not yet | developing | 2023.04 -> 2024.04 | .Net 6 (Also Self-Contained) | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) ![Browser](https://img.shields.io/badge/Browser-4285F4?logo=GoogleChrome&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | - -
+| Version | Info | Code | Support | Term | Require | Runs on | +|-----------------------------------------------------------------------------------|---------|-----------|--------------------|--------------------|---------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [v3.0.6187.47831](https://github.com/Crequency/KitX/releases/tag/v3.0.6187.47831) | Preview | Fly | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | +| [v3.22.04.6230](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6230) | Preview | Telegram | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | +| [v3.22.04.6235](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6235) | Release | Break | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | +| [v3.22.04.6287](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6287) | Release | Evolution | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | +| [v3.23.04.6488](https://github.com/Crequency/KitX/releases/tag/v3.23.04.6488) | Release | ToYou | :white_check_mark: | 2023.04 -> 2024.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | +| v3.24.10.x | Release | - | developing | 2024.10 -> 2025.04 | `Desktop`: .Net 7 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) ![Browser](https://img.shields.io/badge/Browser-4285F4?logo=GoogleChrome&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | -See Details in [ChangeLog](./ChangeLog.md) | 在 [更新日志](./ChangeLog.md) 中查看更多 - -
+See details in [ChangeLog](./ChangeLog.md) -# Contributors | 贡献者 +# Contributors