SWire.Redis
0.8.5-beta.2
dotnet add package SWire.Redis --version 0.8.5-beta.2
NuGet\Install-Package SWire.Redis -Version 0.8.5-beta.2
<PackageReference Include="SWire.Redis" Version="0.8.5-beta.2" />
<PackageVersion Include="SWire.Redis" Version="0.8.5-beta.2" />
<PackageReference Include="SWire.Redis" />
paket add SWire.Redis --version 0.8.5-beta.2
#r "nuget: SWire.Redis, 0.8.5-beta.2"
#:package SWire.Redis@0.8.5-beta.2
#addin nuget:?package=SWire.Redis&version=0.8.5-beta.2&prerelease
#tool nuget:?package=SWire.Redis&version=0.8.5-beta.2&prerelease
<div align="center">
<picture> <source media="(max-width: 600px)" srcset=" <div align='center'> <img src='assets/SWire-Logo_Big.png' width='100' style='display:block; margin:auto;' /> <h1 style='font-family:monospace; margin-top:10px;'> <span style='color:#54CFC0;'>S</span>Wire </h1> </div> "> <div align="center"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="middle"> <img src="assets/SWire-Logo_Big.png" width="120" style="padding-right: 20px;" /> </td> <td valign="middle"> <h1 style="font-family: 'Courier New', monospace; font-size: 3em; border-bottom: none; margin: 0;"> <span style="color: #54CFC0;">S</span>Wire </h1> </td> </tr> </table> </div> </picture>
<p align="center"> <strong>The Essential Secure Plumbing for Agents as a Service (AaaS)</strong> </p>
<p align="center"> <img src="https://img.shields.io/github/actions/workflow/status/Swire-Labs/SWire/ci-cd.yml?branch=dev&style=for-the-badge&logo=github&label=Build" alt="Build Status" /> <img src="https://img.shields.io/badge/NuGet-v0.8.5--beta.2-blue.svg?style=for-the-badge&logo=nuget" alt="NuGet Version" /> <img src="https://img.shields.io/badge/Coverage-100%25-brightgreen.svg?style=for-the-badge&logo=codecov" alt="Code Coverage" /> <img src="https://img.shields.io/badge/.NET-10.0-512bd4.svg?style=for-the-badge&logo=dotnet" alt=".NET 10" /> <img src="https://img.shields.io/github/license/Swire-Labs/SWire?style=for-the-badge" alt="License" /> </p>
</div>
π The Vision: AaaS Tunneling Plumbing
SWire provides the critical secure infrastructure required for modern Agents as a Service (AaaS) architectures. It fills the gap by acting as a high-performance, encrypted nervous system, enabling agents to establish secure, bidirectional tunnels through any network barrier.
π¦ Installation (NuGet)
SWire is modular. Install only what you need:
| Package | Purpose | Version |
|---|---|---|
SWire |
Core Logic, E2EE, Interfaces | 0.8.5-beta.2 |
SWire.SignalR |
Web-based bidirectional transport | 0.8.5-beta.2 |
SWire.Redis |
Redis Persistence & Backplane | 0.8.5-beta.2 |
SWire.Mcp |
Model Context Protocol Support | 0.8.5-beta.2 |
# Core installation
dotnet add package SWire --version 0.8.5-beta.2
# For a SignalR client
dotnet add package SWire.SignalR --version 0.8.5-beta.2
π Architecture & Strategy
SWire follow an Open-Core model:
- Core (Community): Secure plumbing, E2EE, SignalR transport, and basic discovery.
- Premium (Enterprise): High-performance gRPC Bridge, advanced Redis scaling, and specialized connectors.
π Protocol & HTTP Version Bridge
The Hub acts as a protocol-agnostic relay, enabling seamless communication across different network generations. SWire handles the complexity of bridging HTTP/1.1 (SignalR) and HTTP/2 (gRPC) flows:
- Legacy Compatibility: Agents on restrictive networks or older hardware can use HTTP/1.1.
- Modern Performance: High-speed agents can leverage HTTP/2 multiplexing.
- Seamless Interop: A SignalR agent can talk to a gRPC agent without knowing the underlying transport or HTTP version.
π‘οΈ Strategy-Based Routing
Since v0.8.0, the routing logic is fully decoupled using the Strategy Pattern. This allows adding new routing rules (like MCP-specific routing or user groups) without modifying the core MessageRouter.
π Quick Start
1. Hub Setup (Server)
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSWireServer(); // Core Relay & Hub Logic
var app = builder.Build();
app.MapSWireHub(); // Expose SignalR Endpoint
app.Run();
2. Agent Setup (Client)
var services = new ServiceCollection();
services.AddSWire();
services.AddSWireSignalRClient("https://hub.your-aaas-cloud.com/agentHub");
var provider = services.BuildServiceProvider();
var transport = provider.GetRequiredService<IMessageTransport>();
// Establish secure tunnel
await transport.ConnectAsync();
π‘οΈ Security & Privacy
- Zero-Knowledge: The server never sees unencrypted payloads.
- E2EE: AES-256-GCM encryption with RSA trust establishment.
- Anonymization: Built-in metadata scrubbing before any telemetry broadcast.
For more details, see our Security Policy.
π Open-Core Strategy
SWire is built on an Open-Core model, providing universal secure plumbing to the community while offering advanced binary optimizations for high-scale enterprise environments.
| Feature | SWire Core (OS) | SWire Enterprise |
|---|---|---|
| E2EE Tunneling | β | β |
| Multi-Protocol Bridge (SignalR/gRPC) | β | β |
| JSON-in-Binary Interop | β | β |
| Discovery Service | β | β |
| Native Binary Optimization (Protobuf) | β | β (Premium) |
| Advanced Audit Logs | β | β (Premium) |
| Redis Multi-Region | β | β (Premium) |
β‘ Performance & Efficiency
SWire is designed to be ultra-lean, making it suitable even for legacy hardware or low-power IoT devices.
Benchmark Results (Legacy Hardware)
Tested on: Dell Inspiron 1520 (Core 2 Duo @ 2.2GHz) - JSON-in-Binary Payload
| Protocol Bridge | Avg Latency (E2EE) | Efficiency Gain | Tier |
|---|---|---|---|
| SignalR β SignalR | 12.5 ms | Base | Core |
| SignalR β gRPC | 8.2 ms | +35% | Core |
| gRPC β gRPC | 3.4 ms | +72% | Core |
| Native Protobuf | < 2.0 ms (est.) | +85% | Premium |
Why gRPC even in Core? Even with JSON payloads, gRPC over HTTP/2 significantly reduces CPU overhead on older hardware compared to the SignalR management layer. Premium tier takes this further by removing JSON parsing entirely.
πΊοΈ Roadmap & Contributing
We are now at v0.8.5. Our path to v1.0.0 includes:
- Implementing the "Invisible Office" marketing sample (US#9.2).
- Generalizing the
Result<T>pattern for all services. - Finalizing the High-Performance gRPC Bridge (Premium).
Want to help? Check out our Contributing Guide.
<p align="center"> Built with β€οΈ for the Privacy-Conscious AI future.<br/> <strong>Official Website: <a href="https://www.swire.be">www.swire.be</a></strong><br/> <strong>Part of the <a href="https://github.com/Swire-Labs">Swire-Labs</a> ecosystem.</strong><br/> Contact: <a href="mailto:swire-labs@proton.me">swire-labs@proton.me</a> </p>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- StackExchange.Redis (>= 2.8.24)
- SWire (>= 0.8.5-beta.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|