Skip to content

MTPython406/Chitty-Workspace

Repository files navigation

Chitty Workspace

Your Machine  |  Your AI  |  Your Rules

Local-first AI assistant with agents, tools, browser, and marketplace.
Bring your own API keys. No cloud server required.

chitty.ai · Marketplace · Docs · Download

Release MIT License Platform Rust


What is Chitty Workspace?

Chitty Workspace is a standalone desktop AI assistant that runs entirely on your machine. Bring your own API keys, install tool packages from the marketplace, automate your browser, and schedule agents to work for you — all without sending data to a third-party server.

Key highlights:

  • 100% Local — All data stays on your machine. API keys stored in your OS keyring, never in plain text.
  • Bring Your Own Key — Use OpenAI, Anthropic, Google, xAI, or run models locally on your GPU.
  • Local AI Engine — Run GGUF models, generate images/video/speech, transcribe audio, and fine-tune with LoRA — all on your hardware.
  • Marketplace Packages — Extend capabilities with one-click installs: Google Cloud, Gmail, Calendar, Slack, and more.
  • Browser Automation — Control your real Chrome/Edge browser via the Chitty Browser Extension.
  • Agent System — Create specialized agents with custom instructions, scoped tools, and scheduled execution.

Features

Feature Description
Default Chitty Agent Built-in system administrator that knows your entire setup
Agent Builder Describe what you need — Chitty builds the agent for you
Marketplace Packages Install tool packages for Google Cloud, Gmail, Calendar, Slack, social media, and more
Sub-Agent Architecture Packages generate focused sub-agents scoped to specific datasets or workflows
Browser Automation Navigate, click, type, screenshot — agents control your actual browser sessions
Slash Commands /schedule, /help, and more — extensible command system
Agent Scheduler Schedule agents to run autonomously on cron expressions
Native Tools File operations, terminal commands, code search, web search & scraping
Persistent Memory Remembers preferences, project context, and feedback across sessions
Project Context Drop a chitty.md in any project — Chitty automatically understands it
Multi-Panel Run multiple agents side-by-side with cross-panel delegation
Approval System Approve once, auto-approve for the session, or set agents to full auto mode

Quick Start

Install

Download the latest installer from Releases and run it. Single binary, no dependencies.

Build from Source

# Prerequisites: Rust toolchain (https://rustup.rs)
git clone https://github.com/MTPython406/Chitty-Workspace.git
cd Chitty-Workspace
cargo build --release

The binary will be at target/release/chitty-workspace.exe (Windows) or target/release/chitty-workspace (macOS/Linux).

Run

# Start Chitty Workspace (opens system tray + WebView2 UI)
chitty-workspace

# Show configuration
chitty-workspace config

# List installed agents
chitty-workspace agents

Architecture

┌──────────────────────────────────────────────────┐
│              Chitty Workspace                     │
├──────────────────────────────────────────────────┤
│  UI (WebView2 + System Tray)                      │
│  ├── Multi-panel chat interface                   │
│  ├── Dynamic Action Panel (browser, media, config)│
│  ├── Agent Builder & Marketplace                  │
│  └── Settings (providers, keys, integrations)     │
├──────────────────────────────────────────────────┤
│  Chat Engine                                      │
│  ├── Context assembly (agent + chitty.md +        │
│  │   memories + tools + history)                  │
│  ├── Tool calling loop with approval system       │
│  ├── Streaming SSE responses                      │
│  └── Slash command system (/schedule, /help)      │
├──────────────────────────────────────────────────┤
│  Agents            │  Providers (BYOK)            │
│  ├── Chitty (sys)  │  ├── OpenAI                  │
│  ├── Custom agents │  ├── Anthropic               │
│  └── Agent Builder │  ├── Google AI               │
│                    │  ├── xAI                      │
│  Tools             │  └── Local (sidecar)          │
│  ├── Native        │                               │
│  ├── Custom        │  Local Engine                  │
│  ├── Marketplace   │  ├── GGUF inference           │
│  └── Browser ext.  │  ├── Image / Video / TTS      │
│                    │  ├── Speech-to-Text (Whisper)  │
│  Scheduler         │  └── LoRA/QLoRA fine-tuning   │
│  └── Cron tasks    │                               │
├──────────────────────────────────────────────────┤
│  SQLite (local)    │  OS Keyring (API keys)        │
└──────────────────────────────────────────────────┘

Providers

Bring your own keys for cloud, or run models entirely on your hardware.

Cloud Providers (BYOK)

Provider Models
OpenAI GPT-4o, GPT-4o-mini, o1, o3
Anthropic Claude Opus, Sonnet, Haiku
Google AI Gemini 2.5 Flash, Pro
xAI Grok 3, Grok 3 Mini

Local Engine (Zero Dependencies)

Chitty includes a built-in Python sidecar for running models locally on your GPU. No Ollama or external services needed.

Capability Supported Models
Text Inference Any GGUF model (Llama, Qwen, Mistral, DeepSeek, Phi, etc.) via llama.cpp
Image Generation Flux, SDXL, Stable Diffusion 3, SD 1.5, Kandinsky, PixArt
Video Generation CogVideoX, Wan, LTX-Video, AnimateDiff, Mochi
Text-to-Speech Bark, XTTS, SpeechT5, Parler
Speech-to-Text Whisper (large-v3-turbo, auto-downloads on first use)
Fine-Tuning LoRA/QLoRA via transformers + peft + trl (4-bit training fits 7B-14B on 24GB+ GPUs)

Marketplace Packages

Packages extend Chitty with new tools. Browse and install from the Chitty Marketplace, or build your own.

Package Tools Description
google-cloud BigQuery, Cloud Storage Query data and manage storage
google-gmail Gmail read, send Read and send email
google-calendar Calendar list, create, update, delete, freebusy Manage your calendar
web-tools web_search, web_scraper Search the web and scrape pages
social-media x_twitter Post and search on X/Twitter

See the Package Development Guide to build and publish your own packages.

Building Marketplace Packages

Packages are directories with a package.json manifest and tool subdirectories. Each tool has a manifest.json and a script (Python, Node, PowerShell, or Shell).

my-package/
├── package.json          # Package manifest
├── SKILL.md              # Agent instructions (optional)
├── my-tool/
│   ├── manifest.json     # Tool definition (name, params, instructions)
│   └── tool.py           # Script — reads JSON from stdin, writes JSON to stdout
└── another-tool/
    ├── manifest.json
    └── tool.js

Tools receive JSON on stdin and output JSON to stdout:

import sys, json

input_data = json.loads(sys.stdin.read())
params = input_data.get("parameters", {})

result = {"processed": params.get("url"), "status": "ok"}
print(json.dumps({"success": True, "result": result}))

Supported runtimes: python, node, powershell, shell.

Data Storage

Everything stays on your machine:

~/.chitty-workspace/
├── config.toml              # Settings
├── workspace.db             # SQLite database (conversations, agents, memories, schedules)
├── tools/
│   ├── marketplace/         # Installed marketplace packages
│   └── custom/              # User-created tools
├── models/                  # Local GGUF model files
├── datasets/                # Training datasets (JSONL, CSV)
├── adapters/                # LoRA adapters from training jobs
└── media/                   # Generated images, videos, audio

Local API

Chitty runs a local server at http://localhost:8770 with a REST API:

Endpoint Method Description
/api/agents GET/POST List or create agents
/api/agents/:id GET/PUT/DELETE Manage a specific agent
/api/agents/:id/sub-agents POST Create a scoped sub-agent
/api/schedules GET/POST List or create scheduled tasks
/api/skills GET List available skills
/api/tools GET List all available tools
/api/marketplace/packages GET List installed packages
/api/providers GET List configured providers

Tech Stack

  • Language: Rust (2021 edition)
  • Async Runtime: Tokio
  • UI: System tray (tray-icon + tao) + WebView2 (wry)
  • Storage: SQLite (rusqlite, WAL mode)
  • HTTP: reqwest (LLM API calls) + axum (local UI server)
  • Scheduling: cron crate
  • Secure Storage: OS keyring (keyring crate)

Contributing

Chitty Workspace is open source and we welcome contributions! Please see our contributing guidelines (coming soon) for details.

License

MIT


Built by DataVisions.ai
chitty.ai — Free, open-source AI desktop assistant