
VibeDesk
A security-first desktop app: AI trading agents, local wallets, live multi-source data — all local
Demo
About
> **Wallet (account) + Data + AI = Agentic Trading** A local-first desktop application where your AI agents read live multi-source market data, analyze the news, and — with your wallet's explicit approval — execute real on-chain trades. Your wallet, your AI, your data: nothing leaves your machine except signed transactions. **Out of the box** — the agent runtime ships inside the app, no server to install or run yourself. --- ## 01 · Safe Account **Your keys. Your rules.** - **Local-first wallet vault** — manage multiple wallets on your own machine; seed phrases and private keys are generated locally and never shown in plain text - **Per-wallet agent approval** — grant an agent access to a specific wallet with one click, revoke it anytime - **Process isolation** — the agent and the wallet live in separate processes; the agent can only *request signatures* over IPC and can never read your secrets ## 02 · AI **Agents that actually do things.** - **Multi-agent by design** — run a general chat agent, a trading agent and news bots side by side, each with its own context, tools and memory - **Powered by the Pi engine** — a full agent runtime with persistent context and tool-calling built in - **Pluggable skills** — extend any agent with data-source skills, strategy skills, or skills the agent builds for you on the fly *(partially implemented)* ## 03 · Data **Every price. Every signal. One desk.** - **Unified multi-source prices** — Hyperliquid, Binance, Robinhood and more in a single view, refreshed in real time - **News & social feeds** — watch the price and the narrative at the same time, on one screen - **AI-driven analysis** — agents turn raw prices and headlines into actionable recommendations ---
How it's made
**How it's made** VibeDesk is an Electron + React desktop app with a hand-rolled Windows 95-style shell — a custom window manager with draggable multi-window layering, taskbar, start menu and desktop shortcuts built on top of React95. The whole "local OS" feel is just our own React state machine over DOM windows, which let us ship a demo where a trade agent window, a chat window and a live markets window all run side by side. **Architecture: the wallet and the agents are strictly separated.** The wallet vault lives in the Electron main process — keys are AES-encrypted on disk, decrypted in memory only, and never leave main; agents can only *request signatures* over IPC, they can never read the keys themselves. Agents are built on the mature **Pi engine** (the harness from the OpenClaw ecosystem), giving us a production-grade multi-agent runtime out of the box — persistent per-agent context, tool-calling, and a pluggable skill system we'll keep extending with more data sources, strategies, and agent-created skills. The data layer is also main-process-bound: a multi-source aggregator fetches live quotes from Robinhood, Yahoo Finance, Hyperliquid and Binance. We deliberately fetch from Electron main instead of the renderer, because public endpoints like Robinhood and Yahoo throw CORS errors in the browser — running Node `fetch` in main completely sidesteps that. Every tick is written into a local SQLite store (one point per symbol/provider/minute) so the price-history charts overlay multiple sources on the same time axis. One hacky note: better-sqlite3's native prebuild hung inside the Electron main process, so we swapped to sql.js via WASM, which turned out to be more reliable across rebuilds. LLM access is OpenAI-compatible — any base URL + key works, plus Ollama for fully local inference, plus a deterministic rule mode that runs with zero API keys (great for demo machines with no network key). **Partner technologies.** Arc (Circle) is our execution chain: real swaps run on the Arc testnet against the Minara deployment of **Uniswap v4** — we call the V4 Quoter (`quoteExactInputSingle`) for live quotes including pool/hook fees, handle Permit2 dual approval (token → Permit2 → Universal Router), sign locally with viem, and broadcast; gas on Arc is native USDC, which makes the demo feel like a real agentic-trading OS. The same module already has mainnet placeholder configs for switching networks. **The agentic trading loop.** In the trade agent, a user can simply type "buy 1 USDC worth of ETH"; the Pi agent quotes, checks the authorized wallet, executes the swap in the main process, and returns the tx link while the balance panel refreshes live. Data + AI + Wallet = Auto Trading, all local-first.