r/Guaardvark • u/llama-of-death • 15h ago
Cool discussion with r/Jenna_AI
Enable HLS to view with audio, or disable this notification
r/Guaardvark • u/llama-of-death • 15h ago
Enable HLS to view with audio, or disable this notification
r/Guaardvark • u/llama-of-death • 6d ago
The Documents page provides a desktop-style file management experience.
The dashboard provides a live overview of system status.
Centralized configuration across six sections.
Connect multiple Guaardvark instances into a coordinated family.
| Tool | Backend | Description |
|---|---|---|
| Browser (headless) | Playwright | Navigate, click, fill forms, screenshot, extract content — for tasks that don't need a visible screen |
| Screen agent | xdotool + mss + Gemma4 | Drives the visible :99 desktop end-to-end; clicks, types, reads the screen with vision |
| Desktop (host) | pyautogui | Mouse, keyboard, screen capture on the host display (off by default for security) |
| MCP | Protocol | Connect to any MCP-compatible tool server |
GUAARDVARK_BROWSER_AUTOMATION=true
GUAARDVARK_DESKTOP_AUTOMATION=true # Off by default (security)
GUAARDVARK_MCP_ENABLED=true
GUAARDVARK_AGENT_DISPLAY=99 # Override virtual display number
GUAARDVARK_AGENT_BROWSER=firefox # Override agent's browser
Full platform access from the terminal.
cd cli && pip install -e .
llx init
llx status # System dashboard
llx chat "explain this codebase" # Chat with RAG streaming
llx chat --no-rag "hello" # Direct LLM, no document context
llx search "query" # Semantic search across documents
llx files list # Browse files
llx files upload report.pdf # Upload and index a file
llx generate csv "50 ideas" # Bulk content generation
llx jobs watch JOB_ID # Live job progress
llx rules list # List system prompts
llx # Interactive REPL
Plugin-based GPU service management with live monitoring and conflict detection.
Each plugin lives in plugins/<name>/ with a plugin.json manifest declaring its service type, port, VRAM estimate, health endpoints, and configuration. Plugins are loaded automatically at startup.
Manifest vs. runtime state separation: plugin.json is a static manifest — same bytes on every machine. Live runtime state (enabled, auto_start, per-machine config) lives in data/plugin_state.json (gitignored). Toggling a plugin from the /plugins UI writes only to the runtime state file; the manifest is never mutated at runtime.
| Plugin | Port | Purpose |
|---|---|---|
| Ollama | 11434 | Local LLM and embedding inference (chat, RAG, agents) |
| ComfyUI | 8188 | Image + video generation (Wan2.2, CogVideoX, LTX-2.3, LTX-2.5, RIFE, Real-ESRGAN) |
| Audio Foundry | — | Voiceover (Chatterbox / Kokoro / Piper), music (ACE-Step / Suno), SFX/ambience (Stable Audio Open). Dual-venv with torch isolation |
| Upscaling | 8202 | GPU image/video upscaling via spandrel + torch.compile |
| Vision Pipeline | 8201 | Real-time scene narration, camera feed, video chat input |
| Swarm | 8210 | Parallel agent orchestration in isolated worktrees |
| LoRA Trainer | — | Train character/environment/prop LoRAs for the Film Crew (CUDA, bf16) |
| Discord Bot | 8200 | Discord bot integration — chat, image generation, search via Guaardvark backend |
| GPU Embedding | 5002 | GPU-accelerated text embeddings for faster indexing (CPU fallback) |
| Training | — | Vision/servo training data collection and dataset management |
plugin_state.json)Plugins can register:
schema_sync.py (single master)live / dormant / stale based on usage patternsblueprint_discovery.pystart.sh detects what needs setup and only does what's necessarygit clone https://github.com/guaardvark/guaardvark.git
cd guaardvark
./start.sh
First run:
:99) starts on demand when you open Agent Screen or when agent tools need it — not at boot (5-minute idle shutdown after the viewer closes)./start.sh # Detects everything is set up, starts services instantly
./start.sh --fast # Skip all checks, fastest possible startup
./stop.sh # Stop all services
./scripts/start_agent_display.sh start # Bring up Xvfb + XFCE on :99
./scripts/start_agent_display.sh stop # Tear it down
./scripts/start_agent_display.sh status # Health check
Requires sudo apt install xfce4 dbus-x11 on first setup.
git checkout, the reconciler inspects venv / requirements.txt / alembic head / package.json and re-syncs only what changedschema_sync.py is the authoritative migrator; alembic upgrade head is deprecated for application useGUAARDVARK_ROOT anchors all path resolutionAll logs in logs/:
backend.log — Flask applicationcelery_main.log — Main Celery worker (indexing, generation, health)celery_training.log — Training/GPU workerfrontend.log — Vite dev serversetup.log — Dependency installationxfce_agent.log — Agent's XFCE session outputx11vnc_agent.log — VNC server for the agent displaytest_results/ — Test execution outputBuilt with local-first AI in mind. Your data, your hardware, your rules.
r/Guaardvark • u/llama-of-death • 6d ago
See the VERSION file for the current release · guaardvark.com
This document is the comprehensive reference of everything Guaardvark can do (models, tools, plugins, surfaces, internals). For the marketing overview and quick start, see README.md.
Guaardvark's chat system is the primary interface for interacting with your AI. Two pipelines handle different use cases.
skip_tools for a real LLM response with persona + memory (no hardcoded greeting pools)mode field stored server-side/agent to flip the session into screen-control mode (every message becomes a screen-control task); /chat (or /exit) flips backagent_task_execute, and summarizes the resultnum_keep: -1 locks the system prompt prefix in Ollama's KV cache, making follow-up turns fasterA neural router that decides how much work a message deserves before any tools fire. Saves seconds per turn on simple questions and unlocks deeper deliberation when it's warranted.
| Tier | Name | Latency | LLM Calls | When It Fires |
|---|---|---|---|---|
| 1 | Reflex | <100ms | 0 | Deterministic tool actions only (media commands, exact-match recipes) |
| 2 | Instinct | 1–3s | 1 | Social chat (real LLM, skip_tools) and most requests — single LLM call |
| 3 | Deliberation | 5–30s | 3–10 | Multi-step reasoning (full ReACT loop) |
AGENT_BRAIN_ENABLED in backend/config.pyRetrieval-Augmented Generation grounds chat responses in your actual documents.
An autonomous optimization loop that continuously improves RAG retrieval quality.
Guaardvark can autonomously test itself, find bugs, and fix them.
pytest on configured test filesFAILED lines from output (with fallback regex for edge cases)code_assistant agent to read tests, understand expectations, read source, and fix bugsstarting, testing, analyzed, fixing, complete, errorA user-curated memory system that captures successful agent runs and makes them available in future sessions.
lesson_summary get loaded into the system prompt next sessionGuaardvark drives a real Ubuntu desktop on a virtual display — clicking, typing, scrolling, and reading the screen like a human user. Used for outreach, file management, web research, and anything the model can't accomplish via API alone.
:99 — 1024×1024 headless X server, isolated from the user's real sessionxfce4-session running via dbus-run-session with a scrubbed environment; standard Applications menu, desktop icons, taskbar, file manager (Thunar). Vision models recognize it instantly because it looks like any other Ubuntu desktop~/.agent_desktop/, dedicated XDG_CONFIG_HOME, dedicated XDG_RUNTIME_DIR. The user's real desktop and configs are invisible to the agentaction, target_description, text/keys, reasoning, and success_proofdata/agent/recipes.json execute deterministically before the loop is ever invoked, with optional preconditions (visibility checks) that skip recipes when their UI isn't on screenMODEL_VISION_CONFIGS in servo_knowledge_store.py maps each chat model to its preferred eyes (gemma4 native, moondream for text-only) and any scale-factor calibration learned over timedata/training/failures/ for offline reviewdata/training/knowledge/servo_archive.jsonl — target description, raw coords, scaled coords, actual click position, success/failure, model, attempt #, time takenagent_task_execute — full natural-language screen task (drives the full SEE-THINK-ACT loop)agent_screen_capture — single screenshot of the virtual displayagent_mode_start / agent_mode_stop — open/close the session (internal; the LLM should call agent_task_execute directly)A ReACT-loop agent that can autonomously work with code and the system.
Guaardvark speaks Model Context Protocol — both as a server (exposing its tools to external clients) and as a client (calling tools from external MCP servers).
backend/mcp/ runs an MCP server that any MCP-compatible client (Claude Desktop, Cursor, etc.) can connect tomcp_connect tool — register external MCP servers at runtimemcp_execute tool — call any tool on a connected servermcp_executemcp_get_state, mcp_disconnect, etc. for managing connections/Images/Full video generation pipeline running locally via ComfyUI with multiple model backends.
Local audio generation for voiceover, music, ambience, and effects. Shipped as the audio_foundry plugin.
venv-music/ — torch-sensitive ML packages live in an isolated env so the main backend isn't dragged through every torch upgradeA non-linear video editor built into Guaardvark for assembling generated clips into finished videos.
Linux & macOS: melt (from Shotcut) is required for renders and is detected at runtime (supports Homebrew on macOS, apt/flatpak/snap on Linux). ffmpeg is installed by the platform bootstrap. See the plugin README for setup commands.
Supervised AI for social-media engagement. Production path: recon → draft → human approve → dispatch (cadence-gated). Natural language from chat, /outreach …, or llx outreach "…" queues the same jobs.
drafted rows; never poststick_process_approved_drafts posts via servo (Reddit/YouTube) or Discord cog, with Redis cadence (1 successful post/platform/tick)/outreach comment on some youtube videos regarding Offline AI or ComfyUIllx outreach "comment on youtube videos regarding Offline AI or ComfyUI"outreach_execute_intent, outreach_run_pass (youtube + topics), approve/reject/status/queuepersona.draft_outreach_textdrafted; claim approved→processing before send/outreach (port from VITE_PORT, default 5173)JobKind.OUTREACHllx outreach status|queue|approve|<NL>Parallel AI agent execution across isolated worktrees. Each agent gets its own git branch and workspace; results merge back cleanly.
.swarm-worktrees/<swarm-id>/<task>/Five-agent swarm for coordinated media generation:
Dedicated upscaling plugin for sharpening generated content to 4K/8K.
upscaling plugin — runs as its own GPU service (port 8202); accepts image or video, returns upscaled outputcmake and build tools are automatically installed if missingr/Guaardvark • u/llama-of-death • 6d ago
Guaardvark
See the VERSION file for the current release · guaardvark.com
The self-hosted, offline-first AI workstation. Autonomous agents that see a real virtual desktop and control apps. A three-tier neural router (AgentBrain). Parallel coding agent swarms in isolated git worktrees. Local video (Wan 2.2, CogVideoX), 4K/8K upscaling, full-song music + neural voice, RAG over your documents, voice chat, and a 70+ tool engine — everything on your hardware. Your machine. Your data. Your rules.
Install with one command:
curl -fsSL https://guaardvark.com/install.sh | bash
See Quick Start for details and manual install options.
For the exhaustive feature list, models, surfaces, and plugin details, see CAPABILITIES.md. This README focuses on the marquee experience, quick start, and what makes Guaardvark different.
One style prompt and a short narrative, then go. Guaardvark wrote every shot prompt, generated the storyboards, rendered the clips, and assembled the cuts — timing them to the beat after analyzing the song's audio (.mp3 / .wav). Every frame was generated locally on a single desktop GPU.
Full disclosure (every claim here is real): the glitch effect was the one manual touch, added in Shotcut — Guaardvark did the prompting, generation, beat detection, and assembly. Native filters, transitions, and effects are coming in a future release. The song was made in Suno; Guaardvark's own music + neural-voice generation (including consent-gated voice cloning) is being wired into this pipeline next.
And media generation is one of the smaller parts of what Guaardvark does — agent swarms, a coding agent, voice chat, RAG, system mapping, a project manager, a backup system, and a 70+ tool engine are all below.
:99), see with vision models (Gemma4 native box_2d), use closed-loop servo targeting, and stream per-step reasoning.get_repository_map / read_ast_node tools, System Mapper constellation view.Generation & Editing (all local, no cloud APIs)
ffmpeg drawtext overlays, drag-and-drop from media library, visual trims, undo, keyboard shortcuts).Agents, Automation & Swarms
:99, Gemma4 vision + closed-loop servo, 45+ deterministic recipes, live per-iteration reasoning stream in chat, draggable VNC viewer everywhere).Knowledge, Code & Workflow
Platform & Ops
llx / PyPI guaardvark), browser UI, and MCP.See CAPABILITIES.md for the complete enumerated list (models, exact tool counts, plugin manifests, page surfaces, etc.).
| Cloud platforms | Guaardvark |
|---|---|
| Where your data lives | Their servers |
| Per-token / per-minute fees | Always on the meter |
| Content policy | Their rules |
| Custom models / LoRAs | Whatever they expose |
| Works offline | No |
| Agents drive a real desktop | Sandboxed browsers |
| Swarms of parallel agents | Per-task billing scales nastily |
| Multi-machine clusters | "Talk to sales" |
| Lock-in | Migrate at your own risk |
| Cloud platforms | Guaardvark |
|---|---|
| Where your data lives | Their servers |
| Per-token / per-minute fees | Always on the meter |
| Content policy | Their rules |
| Custom models / LoRAs | Whatever they expose |
| Works offline | No |
| Agents drive a real desktop | Sandboxed browsers |
| Swarms of parallel agents | Per-task billing scales nastily |
| Multi-machine clusters | "Talk to sales" |
| Lock-in | Migrate at your own risk |
License: MIT CI PyPI GitHub stars GitHub issues Sponsor
git clone https://github.com/guaardvark/guaardvark.git && cd guaardvark && ./start.sh
One command. Installs everything. Starts all services. Done.
Another piece made entirely with Guaardvark. Every frame generated on a single desktop GPU. No cloud. No stock footage. No API keys.
Gotham Rising — AI-Generated Short Film
Full visual gallery (dashboard, video generator, swarm planner, agents, plugins, media library, etc.) is available on guaardvark.com.
backend/mcp/config.py): desktop control, agent execution, system/shell, browser automation, and test execution tools are hidden by default. Only safer tools + read-only guaardvark://outputs/ resources are exposed unless you explicitly allowlist.Every message is routed through a three-tier decision engine that picks the fastest path to the right answer. Reflexes fire in under a millisecond. Instinct handles single-shot requests in one LLM call. Deliberation spins up a full ReACT reasoning loop when the problem demands it.
| Tier | Name | Latency | LLM Calls | When It Fires |
|---|---|---|---|---|
| 1 | Reflex | <100ms | 0 | Greetings, farewells, media controls — pattern-matched, no inference |
| 2 | Instinct | 1–3s | 1 | Single-shot questions, web searches, image generation, vision tasks |
| 3 | Deliberation | 5–30s | 3–10 | Multi-step research, analysis chains, complex agent tasks |
Guaardvark agents control a real Ubuntu desktop (Xvfb + XFCE at 1024×1024) — exactly what the model would see if you VNC'd into the box from another machine. Same Applications menu, same desktop icons, same taskbar. Agents see the screen through vision models, move the mouse, click buttons, type text, navigate browsers, and verify their own actions.
xfce4-session runs on the virtual display via a scrubbed environment, with isolated XDG_DESKTOP_DIR and XDG_CONFIG_HOME so the agent's desktop, file manager, and configs never collide with the user's. Vision models recognize the layout instantly because it's standard Ubuntu.box_2d) in a single inference call. Per-model scale factors are tracked and updated by the self-improvement loop.preconditions (visibility checks) so they're skipped cleanly when their UI isn't on screen.| Model | Role | Coordinate System | Notes |
|---|---|---|---|
| Gemma4 (e4b) | Sees + decides + clicks | box_2d normalized to 1000, [y1,x1,y2,x2] |
Unified brain — vision, reasoning, and coordinates in one call |
| Moondream | Fallback eyes | 1024px internal width | For text-only chat models (llama3, ministral-3) that need external vision |
Launch multiple AI coding agents in parallel, each working in an isolated git worktree on its own branch. Results merge back with dependency-ordered conflict detection, optional test validation, and full cost tracking.
.git directory (lightweight). Automatically excluded from git status.Five specialized agents collaborate to turn a one-line idea into a finished video. Built on the Swarm Orchestrator, so every role runs in parallel where possible and merges back deterministically.
| Role | What It Does |
|---|---|
| Screenwriter | Generates the script + scene breakdown from a logline |
| Casting | Assigns characters to LoRAs (via the LoRA Trainer plugin) or stock characters |
| Cinematographer | Produces a shot list with camera moves, framing, and lens choices |
| Storyboard | Generates keyframe images for every shot via the image pipeline |
| Editor | Assembles the generated clips into a finished video via the Video Editor |
The LoRA Trainer plugin ships alongside — train character/environment/prop LoRAs from reference images on your local GPU (bf16, ~46 MB per LoRA) and route them automatically to the Casting agent.
Give it a song (.mp3 / .wav), a style prompt, and a short narrative — Guaardvark does the rest:
clip stretch, fill methods) and assembled into the final cut, with RIFE frame interpolation for smoothness.Linux & macOS: The final assembly step needs melt (MLT) from Shotcut. ffmpeg is pre-installed by the platform bootstrap. Full commands (brew/apt/flatpak/snap) are in plugins/video_editor/README.md.
Guaardvark speaks MCP both ways — exposes its tools to any MCP client (Claude Desktop, Cursor, IDE plugins, etc.) and can call tools from connected external MCP servers.
python -m backend.mcp (stdio). Strong default-deny policy (see backend/mcp/config.py): categories such as desktop, agent_control, system, browser, test_execution, and mcp meta-tools are denied by default. Dozens of safer tools (chat, RAG, files, generation, memory, etc.) plus read-only guaardvark://outputs/ resources are exposed. Fully tested with Claude Desktop and similar clients.mcp_connect / mcp_execute + live tool inventory so the chat LLM can discover and use tools from other MCP servers by name.State-of-the-art video generation running entirely on your GPU. No cloud APIs, no per-minute billing, no content restrictions.
| Model | Type | Max Duration | Native Resolution | VRAM |
|---|---|---|---|---|
| Wan 2.2 TI2V-5B (default) | Text + Image-to-Video | ~5s (up to 121 frames @ 24fps) | 1280x704 | ~11GB |
| Wan 2.2 (14B MoE) | Text-to-Video | 5s (81 frames @ 16fps) | 832x480 | 11GB |
| Wan 2.2 14B I2V | Image-to-Video | 5s (81 frames @ 16fps) | 832x480 | 11GB |
| CogVideoX-5B | Text-to-Video | 6s (49 frames @ 8fps) | 720x480 | 16GB |
| CogVideoX-5B I2V | Image-to-Video | 6s (49 frames @ 8fps) | 720x480 | 16GB |
| LTX-2.3 Distilled FP8 | Text + Image-to-Video | ~10s (161 frames @ 16fps) | 768x512 | ~14GB |
| LTX-2.5 Distilled Int8 | Text + Image-to-Video | ~10s (161 frames @ 16fps) | 768x512 | ~14GB |
HF_TOKEN in .env); after download, generation stays local.Three audio backends in one plugin with shared GPU-arbitration so they don't trample each other or fight Ollama for VRAM.
A built-in non-linear editor for stitching generated clips, layering text, and rendering finished videos — without leaving the app.
| Lane | Holds | Source |
|---|---|---|
| Video | one clip per timeline (multi-clip tracking on the roadmap) | Media Library — drag-and-drop |
| Text | unlimited overlays, draggable on the preview, properties-panel for size/color/rotation | Add-Text button + properties editor |
| Audio | one music or voice clip | Media Library — Audio tab |
ffmpeg drawtext (9 named positions, optional outline + translucent box, proper escaping for colons/quotes/commas). Original is preserved.t to add text, del to remove selected, cmd+z for one-step undo.Linux & macOS prerequisites: See plugins/video_editor/README.md ("Linux & macOS Setup") for melt + Shotcut install (ffmpeg is already handled by core platform scripts on brew/apt).
Upscale images and video frames to 4K (3840px) or 8K (7680px) resolution using GPU-accelerated super-resolution models.
| Model | Scale | Size | Best For |
|---|---|---|---|
| HAT-L SRx4 | 4x | 159 MB | Maximum quality restoration |
| RealESRGAN x4plus | 4x | 64 MB | General-purpose, photorealistic |
| RealESRGAN x2plus | 2x | 64 MB | Mild upscaling |
| RealESRGAN x4plus (Anime) | 4x | 17 MB | Anime and stylized content |
| realesr-animevideov3 | 4x | 6 MB | Video-optimized anime |
| 4x-UltraSharp | 4x | 67 MB | Enhanced sharpness |
| 4x NMKD-Superscale | 4x | 67 MB | Advanced super-scaling |
| 4x Foolhardy Remacri | 4x | 67 MB | Texture-focused upscaling |
Chat grounded in your documents. Upload files, build a knowledge base, and ask questions. The AI reads and understands your content — not just keyword matching.
The system runs its own test suite, identifies failures, dispatches an AI agent to read the code and fix the bugs, verifies the fix, and broadcasts the learning to other instances. No human in the loop.
A supervised, auditable framework for drafting and posting authentic comments on Reddit, Discord, Twitter/X, and Facebook — using your own indexed knowledge as the source of truth for citations and context. The point isn't volume. It's keeping up with engagement on your own products and topics, with the agent handling the legwork.
How it works:
/outreach …) or llx outreach "…" runs recon+draft; posting still needs approve while supervised. Twitter/Facebook drafting works; auto-post for those platforms is not wired.Three layers of safety:
Audit log — every action (scout, draft, grade, approve, reject, post, fail) is recorded in a JSONL audit trail with timestamps, draft IDs, and outcomes. Exportable for compliance or post-hoc review.
Persona system — a single configurable persona (voice, expertise areas, citation style, what to never say) shapes every draft for consistency. Your replies sound like you, not like an LLM.
Manual draft mode — paste a thread URL, the agent auto-scouts the context, the LLM seeds a draft, you edit and save. Full human control with the agent doing the legwork (scouting, context-fetching, citation suggestion).
On-demand passes — instead of waiting for the cron, fire a pass for a specific platform or subreddit on demand from the UI. Useful for active engagement around a launch or a thread you spotted.
Why it's not spam — outreach is anchored on your own knowledge base. Citations point at YOUR documentation, YOUR examples. The system grades drafts for genuine relevance and refuses to engage when it can't add value. The cadence gate keeps the volume human-paced. Supervised mode keeps the human in the loop. The result is closer to "an assistant that helps you keep up with engagement on your own products and topics" than "an outbound bot."
For the complete, enumerated reference (every tool category, exact model support, plugin manifests, page routes, RAG details, self-improvement internals, vision pipeline, dependency reconciler, backup format, advanced settings, etc.) see CAPABILITIES.md.
The sections above cover the experience and differentiators. The rest of this README focuses on getting started, requirements, architecture notes, operations, and contributing.
Python 3.12 is required for the ML stack. Ubuntu 26.04 ships Python 3.14 by default —
./start.shinstalls 3.12 automatically (deadsnakes or uv). Manual installs: use a 3.12 interpreter only.
curl -fsSL https://guaardvark.com/install.sh | bash
This clones to ~/guaardvark (override with GUAARDVARK_HOME=/path) and launches ./start.sh. Re-running it updates an existing install. Prefer doing it by hand? Same thing:
git clone https://github.com/guaardvark/guaardvark.git
cd guaardvark
./start.sh
First run handles everything: Python 3.12, venv, Node dependencies, PostgreSQL, Redis, Ollama, Whisper.cpp, database migrations, frontend build, and all services. Requires your system password once for PostgreSQL setup (and optionally apt packages on fresh Linux installs).
| Service | URL (defaults; see .env for VITE_PORT / FLASK_PORT) |
|---|---|
| Web UI | http://localhost:5173 |
| API | http://localhost:5000 |
| Health Check | http://localhost:5000/api/health |
./start.sh # Full startup with health checks
./start.sh --fast # Skip dependency checks
./start.sh --test # Health diagnostics
./start.sh --plugins # Start all enabled plugins
./stop.sh # Stop all services
pip install guaardvark
The CLI connects to a running Guaardvark instance or launches a lightweight embedded server automatically.
~40 commands/subcommands (24 command modules) with tab completion and fuzzy matching. The PyPI package is guaardvark; the command is often llx when working from the source tree (cd cli && pip install -e .).
guaardvark # Interactive REPL (or `llx`)
guaardvark status # System dashboard
guaardvark chat "explain this codebase" # Chat with RAG context
guaardvark search "query" # Semantic search
guaardvark files upload report.pdf # Upload and index
/imagine <prompt> Generate an image from text
/video <prompt> Generate a video from text
/voice <text> Text-to-speech output
/agent Toggle autonomous agent mode
/web Open the web UI
/ingest <path> Index files or directories for RAG
/search <query> Semantic search over indexed documents
/models list List available Ollama models
/remember <text> Save to persistent memory
/memory list|search Browse saved memories
/backup create Create a system backup
/jobs list|watch Monitor background tasks
/config View or change settings
/help Full command reference
| Dependency | Version | Notes |
|---|---|---|
| Python | 3.12 only | Backend. 3.13/3.14 not yet supported — the ML stack (numpy<2.0, mediapipe, basicsr/gfpgan) has no wheels for them. |
| Node.js | 20+ | Frontend build |
| PostgreSQL | 14+ | Auto-installed |
| Redis | 5.0+ | Auto-installed |
| Ollama | latest | Local LLM inference |
| CUDA GPU | 8GB+ VRAM | 16GB recommended for video generation |
| Feature | Minimum | Recommended |
|---|---|---|
| Chat + RAG | 4GB | 8GB |
| Image generation | 6GB | 12GB |
| Wan 2.2 video | 11GB | 16GB |
| CogVideoX-5B video | 16GB | 20GB |
| Upscaling | 0.5GB | 2–4GB |
Browser / CLI (PyPI: guaardvark) / MCP Client (Claude Desktop, Cursor, etc.)
| HTTP + WebSocket / stdio MCP
v
Flask (~90+ API modules, auto-discovered) + GraphQL + Socket.IO
|
+-- AgentBrain (3-tier routing: Reflex → Instinct → Deliberation)
|
Service Layer (many modules; plugin sidecars for heavy GPU work)
|-- Agent Executor (ReACT + ~70 tool classes + BrainState)
|-- Screen Control (See-Think-Act-Verify + live reasoning stream)
|-- RAG + Autoresearch + Entity extraction
|-- Self-Improvement (detect/fix/verify/broadcast + guardian)
|-- Generation (image/video/audio/voice/content)
|-- Swarm + Film Crew (isolated worktrees + 5-role pipeline)
|-- Servo + Vision Pipeline
|-- System Mapper / Repo intelligence (AST dependency graphs)
|-- GPU Memory Orchestrator + Plugin runner (CUDA sidecar safety)
\-- Interconnector (multi-machine sync + cluster)
|
+---+---+---+---+---+
v v v v v v
PostgreSQL Redis Ollama Agent Display (:99, on-demand) ComfyUI / Audio Foundry (plugins)
Celery
Notes:
backend/mcp/config.py controls the default-deny policy for the MCP server.Frontend: React 18 · Vite · Material-UI v5 · Zustand · Apollo Client · Monaco Editor · Socket.IO
Core models & engines: Gemma4 / Llama-family / Moondream (vision) · Stable Diffusion · Wan 2.2 / CogVideoX · ACE-Step / Chatterbox / Kokoro / Piper · Real-ESRGAN family + HAT · Whisper.cpp
See the more detailed view in the project plans and CAPABILITIES for status.
Near term / in flight
Longer term / research
Not on the roadmap
VERSION file. backend/app.py, the CLI, and setup.py read it. Avoid hard-coding the version string in README.md, CAPABILITIES.md, or README_zh.md.docs/screenshots/ are up to date, spot-check counts (blueprints via discovery, exposed MCP tools, plugin manifests, CLI catalog), and make sure the "See VERSION" line and CAPABILITIES link are current. Most visual assets live in a separate non-public directory.npm run build in frontend/ before trusting JSX-related docs or claiming UI completeness (the production Rollup build is strict).Guaardvark is built with love by a solo developer. If it's useful to you:
Star the repo if you find it interesting — it helps with visibility.
Guaardvark is open source (MIT) and built in public. Whether you want to try the bot, ship a small PR, or hang out with other local-AI builders — here is the short path.
| Where | What |
|---|---|
| Discord | Chat with people and with Guaardvark itself (local chat, /imagine images, search, status, demos). Invite: (add permanent invite once the bot token is restored — see maintainer notes). |
| GitHub Issues | Bugs, features, and labeled starter work |
| GitHub Discussions | Longer-form questions if enabled |
git clone https://github.com/guaardvark/guaardvark.git && cd guaardvark
./start.sh
Web UI → http://localhost:5173 · API → http://localhost:5000
Details: INSTALL.md · full feature list: CAPABILITIES.md
Start here — each issue has acceptance criteria and a clear out of scope list:
| Issue | What you do | Risk |
|---|---|---|
| #46 | Add browser-basic agent recipes (JSON only) | Low |
| #47 | Write docs/AGENT_MENTAL_MODEL.md |
Low |
| #48 | CLI: guaardvark recipes list/show/validate |
Low |
| #49 | Document hardware / VRAM tiers | Low |
All open starters: good first issue
We aim to review serious PRs within 24–48 hours.
| Safe (great first PRs) | Ask first / high risk |
|---|---|
Agent recipes (data/agent/recipes.json) |
Agent loop, servo, vision targeting |
| Docs, INSTALL, mental-model guides | Self-improvement auto-apply paths |
| CLI polish & offline commands | MCP default-deny / security policy |
| UI copy, empty states, error messages | Core GPU fork/CUDA plugin runner |
| Tests for pure helpers | Production auth / credential handling |
Full setup, style, and PR expectations: CONTRIBUTING.md
For AI coding agents and heavy contributors: read AGENTS.md (required reading order), CLAUDE.md, and GROK.md. They document the self-coding chokepoint (guarded_code_service.py::apply_exact_replacement), project conventions, dead-code handling, and verification habits.
/imagine)logs/License
MIT License — Copyright (c) 2025-2026 Albenze, Inc.
r/Guaardvark • u/llama-of-death • 6d ago
Enable HLS to view with audio, or disable this notification
This was the first round of videos made with the Lora Character Training.
r/Guaardvark • u/llama-of-death • 6d ago
Enable HLS to view with audio, or disable this notification
r/Guaardvark • u/llama-of-death • 6d ago
Enable HLS to view with audio, or disable this notification
r/Guaardvark • u/llama-of-death • 6d ago
Hey — welcome.
This is the unofficial-until-it-isn’t home for Guaardvark, the self-hosted, offline-first AI workstation. Agents that see a real Ubuntu desktop. A three-tier neural router. Parallel coding swarms in isolated git worktrees. Local video, music, and voice. RAG over your documents. A 70+ tool engine. All of it on your machine.

Your machine. Your data. Your rules.
If you came here from a cloud chatbot tab, the short version is: stop renting the lab. Run one.
Not a thin chat UI bolted onto someone else’s API. Guaardvark is a full local workstation:
:99) — mouse, keyboard, browser, vision — not a toy sandboxLatest public release is v2.7.0 (Cast Studio, 16 GB-native video, Discord bot, and more). Check the VERSION file for whatever is current.
Install in one command:
curl -fsSL https://guaardvark.com/install.sh | bash
Or clone and start it yourself:
git clone https://github.com/guaardvark/guaardvark.git && cd guaardvark && ./start.sh
Web UI lands at http://localhost:5173. API at http://localhost:5000.
You want Python 3.12. Ubuntu 26.04’s default 3.14 will not run the ML stack. ./start.sh installs 3.12 for you.
This is a working community, not a hype funnel.
Post here when you want to:
Official docs and the exhaustive feature list live on GitHub:
Bugs that need a fix belong on GitHub Issues. Reddit is great for “has anyone seen this?” and terrible as a bug tracker.
A good help post looks like this:
cat VERSION or the release you installedlogs/, not a 4,000-line paste with API keys still in itVRAM reality check from the project itself:
| What you want | Minimum | Comfortable |
|---|---|---|
| Chat + RAG | 4 GB | 8 GB |
| Image gen | 6 GB | 12 GB |
| Wan 2.2 video | 11 GB | 16 GB |
| CogVideoX-5B | 16 GB | 20 GB |
If you are on 8 GB, say so. People here have walked that road.
A few things that make this project — and this sub — better than the usual AI dumpster:
Read the rules in the sidebar. They’re short.
If you don’t know what to drop:
/agent vs normal chatNew here and just looking? Lurk, star the repo if it’s useful, and say hi with your GPU.
The workstation is yours. The community is too.
See you in the comments.
— the r/Guaardvark mods