Merge branch 'dev'
CI/CD / deploy (push) Has been cancelled Details

This commit is contained in:
Jeff Emmett 2026-04-09 12:43:28 -04:00
commit 883970442f
2 changed files with 138 additions and 1 deletions

137
README.md Normal file
View File

@ -0,0 +1,137 @@
# rSpace
A composable, local-first platform for collaborative knowledge work, democratic governance, and programmable economic flows.
**Live at [rspace.online](https://rspace.online)**
## What is rSpace?
rSpace is an integrated suite of 35+ collaborative applications ("rApps") built on shared digital primitives — identity, encrypted CRDT data, micropayments, and AI — that gain power through composition on an infinite spatial canvas.
Every rApp works offline-first. Data lives on your device as Automerge CRDTs, encrypted per-document. The server is a sync peer, not a gatekeeper. Identity is a single passkey tap — no passwords, no seed phrases.
## Architecture
```
rStack (Foundation) — Identity, CRDT sync, payments, encryption
rSpace (Platform) — Spaces, infinite canvas, module composition
rApps (Modules) — 35+ apps that compose on the canvas
```
## Digital Primitives
These are the building blocks that all rApps share and compose:
**EncryptID** — Self-sovereign identity via WebAuthn passkeys. One biometric tap derives encryption keys (AES-256-GCM), a DID identity (Ed25519), and a crypto wallet (secp256k1). Social recovery via threshold guardian approval. No passwords or seed phrases, ever.
**Local-First Data** — 7-layer Automerge CRDT stack. All data encrypted client-side before sync. Conflict-free offline editing with automatic merge on reconnect. The server stores only ciphertext.
**x402 Micropayments** — HTTP 402 as a first-class protocol. Any endpoint can require payment. Passkey-derived wallet signs transactions on L2 rollups (~$0.001/tx). No MetaMask popup required.
**CRDT Tokens** — Automerge-based token ledger (cUSDC, $MYCO) with bonding curve dynamics. Instant, free, off-chain transfers that settle to L2 when needed.
**Spatial Canvas** — FolkJS web components on an infinite 2D canvas. Modules render as positioned shapes that can be connected, nested, and linked.
**On-Demand Sidecars** — Docker containers (Ollama, KiCad, FreeCAD, Blender, Scribus) start on first API call and stop after 5 minutes idle. Saves ~8GB RAM when not in use.
**IPFS Pinning** — Generated files auto-pinned to Kubo with `.cid` sidecar files. Encrypted backups also pinned for redundancy.
## rApps
### Information & Documents
| App | Description |
|-----|-------------|
| **rNotes** | Rich-text notebooks with voice transcription, code blocks, file attachments, and Notion/Google Docs sync |
| **rPubs** | Markdown to print-ready pocket books via Typst compilation |
| **rBooks** | Community PDF library with flipbook reader |
| **rFiles** | File sharing with time-limited links, password protection, and Memory Cards for cross-module data interchange |
| **rData** | Privacy-first analytics (cookieless, self-hosted Umami) |
### Planning & Coordination
| App | Description |
|-----|-------------|
| **rCal** | Calendar with lunar/solar/seasonal systems, group scheduling, location-aware events, and spatio-temporal coupling with rMaps |
| **rMaps** | Real-time location sharing with OSM tiles, indoor routing (c3nav), privacy controls (precision fuzzing, ghost mode), and push notifications |
| **rTrips** | Collaborative trip planner with itinerary, routing, expenses, and packing lists |
| **rTasks** | Kanban boards with ClickUp bi-directional sync |
| **rSchedule** | Cron-based job scheduling — emails, webhooks, calendar events, broadcasts, workflow nodes |
### Communication
| App | Description |
|-----|-------------|
| **rInbox** | Collaborative email with shared mailboxes, threaded comments, and Gnosis Safe multisig approval for outgoing mail |
| **rMeets** | Video meetings (Jitsi) with recording transcription and search |
| **rSocials** | Federated social feed — multi-platform posting via Postiz, newsletters via Listmonk, AI content generation |
| **rForum** | One-click self-hosted Discourse forum deployment with Cloudflare DNS auto-provisioning |
### Democratic Governance
| App | Description |
|-----|-------------|
| **rVote** | Conviction voting with credit-weighted decay, ranked proposals, ELO scoring, and delegative trust flows (liquid democracy) |
| **rChoices** | Polls, ranked lists, and multi-criteria spider plots as canvas shapes |
| **rGov** | Modular governance circuits — signoff gates, resource thresholds, tunable knobs, amendable decision flows |
| **CrowdSurf** | Swipe-based activity coordination with commitment thresholds — triggers when enough people join |
### Economic & Financial
| App | Description |
|-----|-------------|
| **rWallet** | Multi-chain Safe wallet viewer with CoinGecko prices, Zerion DeFi positions, CRDT token balances, bonding curve swap UI, and fiat on/off-ramp |
| **rFlows** | Budget river visualization, Openfort smart accounts, outcome tracking, community budgeting with "enoughness" thresholds |
| **rExchange** | P2P crypto/fiat exchange with intent matching, escrow settlement, and reputation tracking |
| **rTime** | Timebank commitment pool — visualizes hour pledges as floating orbs, weaves commitments into tasks with skill-curve matching |
| **rCart** | Group shopping and cosmolocal print-on-demand shop with multi-currency checkout |
| **rNetwork** | Community relationship graph (3D force-directed) with CRM sync and trust visualization |
### Creative & Media
| App | Description |
|-----|-------------|
| **rDesign** | AI-powered desktop publishing — Scribus via noVNC with a Gemini agent that drives the layout |
| **rSwag** | Design print-ready stickers, posters, and tees with dithering, color separation, and fulfillment routing |
| **rPhotos** | Community photo commons (Immich-backed gallery) |
| **rTube** | Video hosting and HLS live streaming via Cloudflare R2 |
| **rSplat** | 3D Gaussian splat viewer for `.ply`/`.splat`/`.spz` files |
### Sharing Economy
| App | Description |
|-----|-------------|
| **rBnb** | Trust-based hospitality and space sharing — gift economy as a first-class option |
| **rVnb** | Peer-to-peer camper and RV rentals with trust, endorsements, and configurable economy models |
### AI Services
The platform integrates multiple AI providers as composable canvas shapes:
- **Gemini** — CAD orchestration (drives KiCad/FreeCAD via MCP tool-calling), design agent, zine generation, image generation
- **Ollama** — Local inference (llama3, qwen-coder, mistral) via on-demand sidecar
- **fal.ai** — Flux Pro image gen, WAN 2.1 text-to-video, Kling image-to-video
- **LiteLLM** — Unified proxy across 9 models
## Tech Stack
- **Runtime**: Bun + Hono
- **Frontend**: Lit web components (FolkJS) + Vite
- **Data**: Automerge CRDT with AES-256-GCM encryption
- **Identity**: WebAuthn PRF + HKDF key derivation
- **Payments**: x402 + ethers.js + Gnosis Safe SDK
- **Infrastructure**: Docker + Traefik + Cloudflare Tunnel
- **AI**: Gemini SDK, Ollama, fal.ai, LiteLLM
## Development
```bash
bun install
bun run dev
```
Requires Bun 1.1+. See `ONTOLOGY.md` for detailed architecture documentation.
## License
All rights reserved.

View File

@ -81,7 +81,7 @@ function dockerApi(method: string, path: string, sendBody?: boolean): Promise<{
const req = http.request(
{
socketPath: DOCKER_SOCKET,
path: `/v1.43${path}`,
path: `/v1.44${path}`,
method,
headers,
},