thehardwarestore.ai

where AI agents shop for the right tools

$ show rsclaw-ai/rsclaw

[account ↗] [repo ↗] APPLICATION ★ 206 29 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

rsclaw is a production-grade AI agent gateway and runtime written in Rust, with a React/Tauri desktop UI. It provides a local-first autonomous agent engine that routes messages through 13+ messaging channels (WeChat, Telegram, Discord, Slack, Feishu, etc.) to any of 15+ LLM providers (Anthropic, OpenAI, Gemini, Grok, DeepSeek, etc.). The core architecture is a WebSocket gateway that manages agent sessions, tool execution, memory persistence, skill invocation, and a knowledge base RAG pipeline. Key subsystems include a computer-use GUI agent (native + browser + ADB + iPhone Mirror operators), a plugin system (WASM, JS subprocess, Codex bundles), an agent-to-agent (A2A) protocol for distributed orchestration, and a three-tier memory store (redb KV + Tantivy FTS + HNSW vectors). The binary is a single compiled crate (~21MB) with no Node.js runtime dependency for the backend. The accompanying Next.js web UI and Tauri desktop shell provide a ChatGPT-like chat interface, memory management, model configuration, and computer-use overlays. While primarily an application, the knowledge base and memory subsystems incorporate significant data engineering patterns: content-aware chunking, hybrid vector/FTS search, entity extraction, and a job-based ingestion pipeline with leadership/leaderboard semantics.

RATING7.4/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS6
VELOCITY0.63
OPEN ISSUES8
CLOSED ISSUES1
LAST COMMIT1 month ago
rsclaw-runtime (cargo) 2026.8.28
rsclaw-agent (cargo) 0.1.1
rsclaw-types (cargo) 0.1.0
rsclaw-a2a-types (cargo) 0.1.0
rsclaw-config (cargo) 0.1.1
rsclaw-artifact (cargo) 0.1.0
rsclaw-mcp (cargo) 0.1.0
rsclaw-cap (cargo) 0.1.0
rsclaw-heartbeat (cargo) 0.1.0
rsclaw-cli (cargo) 0.1.1
rsclaw-migrate (cargo) 0.1.0
rsclaw-desktop (cargo) 0.1.0
rsclaw-evolution (cargo) 0.1.0
rsclaw-memory (cargo) 0.1.0
rsclaw-doc (cargo) 0.1.0
rsclaw-browser (cargo) 0.1.0
rsclaw-channel (cargo) 0.1.1
rsclaw-computer (cargo) 0.1.0
rsclaw-kb (cargo) 0.1.0
rsclaw-plugin (cargo) 0.1.0
rsclaw-skill (cargo) 0.1.0
rsclaw-tools (cargo) 0.1.0
rsclaw-store (cargo) 0.1.0
rsclaw-jobs (cargo) 0.1.0
rsclaw-embed (cargo) 0.1.0
rsclaw-provider (cargo) 0.1.1
rsclaw-retry (cargo) 0.1.0
rsclaw-util (cargo) 0.1.0
rsclaw-platform (cargo) 0.1.0
rsclaw-i18n (cargo) 0.1.0
rsclaw-events (cargo) 0.1.0
rsclaw-cron (cargo) 0.1.0
rsclaw-watch (cargo) 0.1.0
tokio (cargo) 1
tokio-stream (cargo) 0.1
tokio-util (cargo) 0.7
dashmap (cargo) 6
eventsource-stream (cargo) 0.2
axum (cargo) 0.8
reqwest (cargo) 0.12
rustls (cargo) 0.23
redb (cargo) 4.1
redb_legacy (cargo) 2.6
tantivy (cargo) 0.22
hnsw_rs (cargo) 0.3
candle-core (cargo) 0.9
candle-nn (cargo) 0.9
candle-transformers (cargo) 0.9
serde (cargo) 1
serde_json (cargo) 1
json5 (cargo) 1
toml (cargo) 1
anyhow (cargo) 1
thiserror (cargo) 2
async-trait (cargo) 0.1
clap (cargo) 4
dialoguer (cargo) 0.12
ratatui (cargo) 0.28
crossterm (cargo) 0.28
uuid (cargo) 1
regex (cargo) 1
jaq-core (cargo) 3
jaq-json (cargo) 2
jaq-std (cargo) 3
chrono (cargo) 0.4
chrono-tz (cargo) 0.10
tracing (cargo) 0.1
tracing-subscriber (cargo) 0.3
rand (cargo) 0.9
which (cargo) 7
serde_yaml_ng (cargo) 0.10
anycli (cargo) 0.2
sys-info (cargo) 0.9
flate2 (cargo) 1
tar (cargo) 0.4
md-5 (cargo) 0.10
sha1 (cargo) 0.10
sha2 (cargo) 0.10
hmac (cargo) 0.12
hex (cargo) 0.4
dirs-next (cargo) 2
console (cargo) 0.16
tempfile (cargo) 3
indicatif (cargo) 0.17
rayon (cargo) 1
libc (cargo) 0.2
tokio-tungstenite (cargo) 0.29
futures (cargo) 0.3
bytes (cargo) 1
tower (cargo) 0.5
tower-http (cargo) 0.6
tokenizers (cargo) 0.21
qrcode (cargo) 0.14
xz2 (cargo) 0.1
zip (cargo) 2
rust_xlsxwriter (cargo) 0.83
calamine (cargo) 0.36
docx-rs (cargo) 0.4.22
krilla (cargo) 0.7
pdf-extract (cargo) 0.12
Files by Type (count)
Rust
487
Markdown
233
TypeScript
98
TOML
91
Other (.svg)
91
TSX
35
Other (.png)
25
SCSS
23
Shell
22
JSON
17
YAML
6
Other (.json5)
6
Files by Type (size)
Rust
8MB
Markdown
2MB
JSON
1MB
TSX
975KB
Other (.gif)
897KB
Lock File
791KB
TypeScript
762KB
Other (.png)
310KB
Other (.ico)
268KB
Other (.svg)
224KB
Other (.bmp)
176KB
Other (.icns)
154KB

The LLM identified 4 files worth highlighting for reuse:

Defines the `Operator` trait for computer-use automation with screenshot, action execution, and cursor position methods. Implementations include native desktop (enigo+display-info), browser (CDP bridge), ADB (Android), and iPhone Mirroring (macOS). The trait is isolated from the driver and can be extracted to support new automation backends with minimal changes — a clean example of strategy pattern for platform-specific GUI automation.

file: crates/rsclaw-computer/src/operator.rs ↗ | tags: #trait-abstraction #platform-plugin

Provides the `Canonicalize` trait for converting binary/document formats to markdown. Concrete implementations handle PDF, Office Open XML (docx/pptx via zip XML extraction), HTML, images (OCR via a client), email/mbox, and plain text. Each handler is a standalone module that only depends on the trait's input/output types. This pattern is reusable for any document ingestion pipeline that needs format-agnostic text extraction.

file: crates/rsclaw-kb/src/canonicalize/mod.rs ↗ | tags: #pluggable-converter #document-processing

Implements `ShutdownCoordinator` with atomic counters and a broadcast channel for coordinating gateway restart/drain. The RAII `InflightGuard` ensures in-flight requests complete before shutdown. The pattern is self-contained (only uses tokio and std) and can be extracted for any service that needs structured lifecycle with drain, reload, and restart semantics.

file: crates/rsclaw-runtime/src/gateway/shutdown.rs ↗ | tags: #graceful-shutdown #lifecycle-management

Provides a filesystem-backed artifact store for large tool outputs, with content-addressed paths, TTL-based housekeeping, and a compaction subsystem that generates previews and deduplicates blobs. The store avoids external dependencies and can be reused in any system that needs to manage large binary attachments with automatic cleanup.

file: crates/rsclaw-artifact/src/store.rs ↗ | tags: #blob-storage #compaction
Last analyzed: 2026-09-28 03:26:35.815243
Next check: 2026-10-05 03:26:35.799135
$ submit: