You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This update brings major performance and feature enhancements:
- Native Pipeline Engine: multi-step chains now execute entirely in Rust.
- Expanded Toolbox: added Parquet Suite (Polars), SQL Formatter, JWT Debugger, Case Converter, Hash Generator, Color Converter, and more (12 total).
- Refined UI/UX: full Dark/Light mode support with persistent state and a keyboard-centric Command Palette.
- SEO & Web: new feature-specific landing pages and high-authority blog content for better discovery.
- High Quality: established Biome linting and achieved 100% Rust unit test coverage for core logic.
**Author:** Principal Software Engineer | **Date:**Feb 13, 2026 | **Version:**1.0
3
+
**Author:** Principal Software Engineer | **Date:**March 21, 2026 | **Version:**0.2.0
4
4
5
5
## 1. Architectural Overview
6
6
7
-
**Omnitool** follows a **hybrid native architecture** using **Tauri**. This provides the performance and system access of a native Rust backend with the flexibility and rapid UI development of a web-based frontend (React/TypeScript).
7
+
**Omnitool** follows a **hybrid native architecture** using **Tauri v2**. This provides the performance and system access of a native Rust backend with the flexibility and rapid UI development of a modern React frontend.
8
8
9
9
### Key Design Principles:
10
-
1.**Rust for Logic:** All heavy lifting (parsing, huge file processing, crypto, plugin execution) happens in the Rust backend to ensure the UI remains responsive (60fps).
11
-
2.**Sandboxed Plugins:**Community plugins run in an isolated JavaScript runtime (Deno Core or QuickJS) embedded within the Rust process, *not* in the UI thread.
12
-
3.**Stateless Chains:**The "Tool Chain" engine is a functional pipeline. `Output(Tool A) -> Input(Tool B)`.
13
-
4.**Local-First AI:**The AI module is an agnostic client that connects to local inference servers (Ollama, LocalAI), treating them as "just another tool."
10
+
1.**Rust for Logic:** All transformations (Parquet parsing, SQL formatting, hashing) happen in the Rust backend via a library crate (`omnitool_lib`).
11
+
2.**Native Pipeline Execution:**Multi-step tool chains ("Omni-Chains") are executed entirely in Rust to minimize IPC overhead and ensure data integrity.
12
+
3.**Atomic Transformations:**Tools implement a shared `Tool` trait, allowing them to be dispatched dynamically by the internal engine.
13
+
4.**Privacy-First:**Zero telemetry. Data remains local and is processed in-memory without persistent logging of sensitive inputs.
***Responsibility:** UI rendering, workspace orchestration, and category filtering.
57
+
***Optimization:** Uses standard CSS variables for instant Dark/Light mode switching.
64
58
65
-
### 3.2 The Rust Core (Controller Layer)
66
-
***Tech:** Rust, Tauri, Serde.
67
-
***Responsibility:** App lifecycle, window management, global shortcuts, and routing commands.
59
+
### 3.2 The Pipeline Engine (`pipeline.rs`)
60
+
The core differentiator of Omnitool. It executes a sequence of `PipelineStep` structs.
61
+
***Efficiency:** Instead of sending results back to the frontend between each step (costly IPC), the engine passes the output of Step N directly to the input of Step N+1 within the Rust runtime.
62
+
***Error Handling:** If any step fails, the pipeline halts immediately and returns the partial results along with the error message.
68
63
69
-
### 3.3 The Tool Registry & Trait System
70
-
To standardize "Native" and "Plugin" tools, we define a strict Rust Trait:
***History:**`history.db` (SQLite) - Encrypted. Stores the last 50 inputs/outputs for "Undo" functionality.
82
+
### 3.5 Data Engineering Layer (Polars)
83
+
* Used for the **Parquet Suite**.
84
+
* Leverages Rust's memory safety to handle large datasets natively without the overhead of a Python runtime.
117
85
118
-
## 5. Security Considerations
119
-
1.**Plugin Sandbox:** Plugins have **no** FS access and **no** Network access unless explicitly granted via a manifest file (`plugin.json` permissions).
120
-
2.**Clipboard Monitoring:** Only active when the app is focused or when "Global Auto-Paste" is explicitly enabled by the user.
121
-
3.**Update Mechanism:** Signed binaries via Tauri's Updater.
86
+
---
122
87
88
+
## 4. Data Flow (Omni-Chain)
89
+
1.**UI:** User types data into the "Initial Input" area.
0 commit comments