KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
io
★ 9
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
noteWall_pc_f
:
留言墙功能可以让用户在网站上发表留言,以便其他用户可以看到并回复。它可以帮助网站的用户更好地交流,提高网站的互动性,增加用户体验。使用技术栈: vue3+express+mysql,觉得还可以的话,可以给一个star~
idevicegui
:
A simple GUI for libimobiledevice
shallowMirrorTransformer
:
Implement of Shallow Mirror Transformer
flutter-test
:
A repository for a flutter app I use to test widgets and concepts
iws.mx-dnd
:
A copy of the output from Sheep-y's 4e Compendium Downloader, with various new fixes
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
io
?
Download (.md)
# IO - InputOutput | Your Local IFTTT, SuperCharged! <!-- Badges --> [](https://vitejs.dev/) [](https://www.electronjs.org/) [](https://reactjs.org/) [](https://www.typescriptlang.org/) [](https://mui.com/) [](https://github.com/pmndrs/zustand) <p align="center"> <img width="400" src="https://github.com/user-attachments/assets/99497aee-7eaa-4fcf-a409-e51be6d289e5" alt="IO Application Screenshot - Dark Mode" style="max-width: 450px; border-radius: 8px; margin: 10px;" /> <img width="400" src="https://user-images.githubusercontent.com/28861537/164577765-eb489963-cc7c-4f82-a126-7f1582574930.png#gh-light-mode-only" alt="IO Application Screenshot - Light Mode" style="max-width: 450px; border-radius: 8px; margin: 10px;" /> </p> **IO (InputOutput) is your personal, local automation powerhouse, built to connect your digital world seamlessly.** Think of it as your own IFTTT or Zapier, running right on your machine, giving you total control and privacy. IO lets you link various **Inputs** (like keyboard shortcuts, Alexa commands, MIDI signals, or MQTT messages) to powerful **Outputs** (running shell commands, making REST API calls, controlling smart devices, or triggering text-to-speech). Define "Rows" to connect an input trigger to an output action, and watch your custom automations come to life! ## ✨ Core Features - The IO Powerhouse * **Modular by Design:** Easily extend IO's capabilities by adding new Input and Output modules. The sky's the limit! * **Intuitive Row-Based Automation:** Simply pick an Input, pick an Output, configure them, and you've created an automation "Row." * **Global Keyboard Shortcuts:** Trigger any IO row with system-wide hotkeys, even when IO isn't the focused application. * **Alexa Voice Control:** Emulate local Alexa-compatible devices and assign actions to "On" and "Off" voice commands. * **Customizable Remote Deck:** Access and trigger your IO rows from a sleek web dashboard on any device on your local network. * **Profiles for Context:** Create different sets of active rows for different scenarios (e.g., "Work Mode," "Gaming Mode") and switch between them easily. * **REST Blueprints & Presets:** * **Presets:** Save and reuse common REST API call configurations. * **Blueprints:** Use simple forms (defined by you or bundled) to generate complex REST Presets instantly! Features an advanced **Blueprint Definition Editor** with UI/Code views and `{{ }}` placeholder autocomplete. * **Row Trigger History:** A detailed, filterable, and searchable log of all your row activations, presented in the new versatile `<LogViewer />`. * **Comprehensive Settings UI:** A new fullscreen settings dialog provides organized access to: * General app behavior (startup, close action). * Appearance (Light/Dark/System theme, custom primary/secondary colors). * Profile management. * A "Module Browser" to explore all module capabilities. * "All Module Settings Panels" for direct configuration of individual modules. * Data management tools. * **Modern & Performant:** Built with Electron, React, TypeScript, Vite, Zustand, and Material UI. * **Local & Private:** All your configurations and data stay on your machine. * **Dark/Light Mode Excellence:** Instant theme switching that respects your OS and allows user overrides, consistent across the app and the IO Deck. ## 🧩 Available Modules at a Glance IO connects your world with a growing list of modules. Here's a snapshot: | Input Modules | Output Modules | | :------------------------------------------------ | :---------------------------------------------------- | | [Keyboard Shortcuts](./src/renderer/src/modules/Keyboard/Keyboard.tsx) | [Play Sound](./src/renderer/src/modules/PlaySound/PlaySound.tsx) | | [MIDI Events](./src/renderer/src/modules/Midi/Midi.tsx) | [Say (Text-to-Speech)](./src/renderer/src/modules/Say/Say.tsx) | | [Alexa Voice Commands](./src/renderer/src/modules/Alexa/Alexa.tsx) | [Show Alert](./src/renderer/src/modules/Alert/Alert.tsx) | | [Time & Schedule](./src/renderer/src/modules/Time/Time.tsx) | [Run Shell Command](./src/renderer/src/modules/Shell/Shell.tsx) | | [MQTT Message Received](./src/renderer/src/modules/Mqtt/Mqtt.tsx) | [Press Keys (Keyboard Output)](./src/renderer/src/modules/Keyboard/Keyboard.tsx) | | [Hand Gesture (MediaPipe)](./src/renderer/src/modules/MpHands/MpHands.tsx) | [Activate Profile](./src/renderer/src/modules/ActivateProfile/ActivateProfile.tsx) | | [Holistic Pose (MediaPipe)](./src/renderer/src/modules/MpHolistic/MpHolistic.tsx) | [REST Call (HTTP/S)](./src/renderer/src/modules/Rest/Rest.tsx) | | [Gamepad Events](./src/renderer/src/modules/Gamepad/Gamepad.tsx)| [Publish MQTT Message](./src/renderer/src/modules/Mqtt/Mqtt.tsx) | | | [WLED Control](./src/renderer/src/modules/Wled/Wled.tsx) | | | [LedFx Control](./src/renderer/src/modules/LedFx/LedFx.tsx) | *More A.I. and network modules are in development or planned! Check the "Module Browser" in Settings for the latest.* ## 🚀 Getting Started <details> <summary><strong>Installation & Your First Automation (For Users)</strong></summary> 1. **Download:** Grab the latest release for your OS (Windows, macOS, Linux) from the [**Releases Page**](https://github.com/YeonV/io/releases). 2. **Install & Launch IO.** 3. **Create Your First Row:** * Click the big "[+] Add New IO Row" button. * **Input:** Select "Keyboard," then click into the shortcut field and press your desired hotkey (e.g., `Ctrl+Alt+T`). * **Output:** Select "Say," then type "BeastMode Activated!" into the text field. * Click "Save Row." 4. **Test it!** Press `Ctrl+Alt+T`. Your computer should announce your triumph! 5. **Explore:** Dive into other modules, create Profiles in Settings, and check out the IO Deck! </details> <details> <summary><strong>Development Setup (For Coders & Contributors)</strong></summary> 1. **Prerequisites:** Node.js (v20+ recommended), Yarn (Classic). 2. **Clone:** `git clone https://github.com/YeonV/io.git && cd io` 3. **Install:** `yarn install` (This will also run `electron-builder install-app-deps` to build native modules). 4. **Develop:** `yarn dev` (Starts Electron app with Vite HMR). 5. **Build & Package:** `yarn dist` (Or `build:win`, `build:mac`, `build:linux`). Refer to `package.json` for all build scripts. </details> ## 🔧 Using Key Features <details> <summary><strong>🎛️ Profiles: Contextual Automation Sets</strong></summary> Profiles let you define different sets of active rows. For example, a "Work" profile might enable specific keyboard shortcuts and API calls, while a "Gaming" profile enables different ones. * Manage profiles in **Application Settings -> Profiles**. * Create, edit (select which rows are included), delete, and activate profiles. * Use the "Activate Profile" output module to switch profiles via an IO row itself! </details> <details> <summary><strong>🧩 REST Blueprints: Simplified API Integrations</strong></summary> Tired of configuring complex REST calls repeatedly? Blueprints are here! * **Use Bundled Blueprints:** Find them in **Application Settings -> REST Settings -> Blueprints -> Use a Blueprint**. Select one, fill in a few simple fields (e.g., a repository name for the GitHub Blueprint), and generate a ready-to-use REST Preset. * **Import Blueprints:** Drag & drop `.ioBlueprint` JSON files onto the app to import new ones. * **Create Your Own:** Use the **Advanced Blueprint Editor** (accessible from REST Settings -> Blueprints) to define your own. It features a full GUI for setting up simple user inputs and templating the generated REST call (URL, headers, body, etc.), complete with `{{ }}` placeholder autocomplete! * **Apply to Rows:** Once a Blueprint generates a Preset, or if you configure a row directly using a Blueprint via `RestEditor`, the row can be easily updated later using the Blueprint's simple input form. </details> <details> <summary><strong>📜 Row Trigger History: See What's Happening</strong></summary> IO now keeps a log of every time one of your rows is triggered. * Access it via **Application Settings -> Row History**. * The powerful **LogViewer** displays entries with timestamps, source, summary, and full row details (including any input payload). * Filter by log level, search by text, and export the history to JSON. </details> ## 💡 Project Status & Roadmap IO is under active development by Blade (YeonV) with a focus on robust modularity, user experience, and powerful automation capabilities. <details><summary><strong>Key Milestones Recently Achieved</strong></summary> * **Complete Architectural Refactor:** Solid foundation with Zustand, module registries, and clear separation of concerns. * **REST Blueprints & Advanced Editor:** Full GUI implementation. * **Row Trigger History & LogViewer:** Comprehensive logging and viewing. * **Fullscreen Settings Dialog:** Centralized and polished UI for all app configurations. * **Enhanced Dark/Light Mode:** Seamless, reload-free, and system-aware. * **Time-Based Input Module:** Advanced scheduling for your rows. * **Robust CI/CD:** Automated builds for all platforms, leveraging prebuilt native dependencies where possible. * All core modules (Keyboard, Alexa, MQTT, PlaySound, REST, Say, Shell, Time) are functional and integrated. </details> <details><summary><strong>Exciting Features on the Horizon!</strong></summary> * **MQTT Module Polish:** Even more robust MQTT integration. * **mDNS/Bonjour Discovery:** For easier device setup. * **More Input Modules:** Gamepad, Spotify, System Audio levels, Active Window focus. * **Advanced Workflow/Sequencing Engine:** For multi-step automations. * And much more! Your ideas and contributions are welcome. </details> ## 🤝 Contributing Passionate about local automation? Want to build the next cool module or enhance IO? Contributions are highly encouraged! 1. Fork the repository (`YeonV/io`). 2. Create your feature branch (`git checkout -b feature/AmazingNewThing`). 3. Commit your changes (`git commit -m 'Add some AmazingNewThing'`). 4. Push to the branch (`git push origin feature/AmazingNewThing`). 5. Open a Pull Request with a clear description of your awesome work! Let's make IO the ultimate local automation tool together! --- [<img width="320" src="https://discordapp.com/api/guilds/964992737621475398/widget.png?style=banner2" alt="Join our Discord!" style="max-width: 320px" />](https://discord.com/invite/TGnJrrgQ) --- [](https://github.com/YeonV) [](https://github.com/YeonV)