Loading repository data…
Loading repository data…
Arturski / repository
Crew AI Studio — no-code studio for CrewAI: visually design, run, and observe agentic workflows, then export a portable CrewAI project. Apache-2.0.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Quick Start · Features · Architecture · Docs · Contributing
Crew AI Studio is a self-hosted, no-code studio that puts a visual front door on CrewAI. Design a multi-agent crew in the browser, run it live, watch events stream in real-time, then export a clean, idiomatic Python project you own completely.
No API key required to start — dry-run mode uses a built-in mock LLM so you can build and explore without touching a provider.
| 🎨 Visual workflow builder | Drag-and-drop canvas with agent/task nodes, live run glow, and a full inspector |
| 🤖 103 built-in tools | Searchable catalog; configure API keys per tool and attach to any agent |
| 🔌 MCP integrations | Connect local or remote MCP servers; browse the official registry with security ratings |
| 📚 Knowledge bases | Keyless vector RAG (fastembed) + Kuzu knowledge graph; ingest text, files, URLs, GitHub repos |
| 🏃 Batch runs | Paste a CSV → one tracked run per row, with aggregate cost and per-row drill-in |
| 📅 Scheduling + webhooks | Cron schedules and webhook triggers with per-run input pinning |
| 🧪 Eval suite | Define test cases, score with contains/regex/equals or LLM-as-judge |
| 💰 Cost tracking | Per-run estimated spend from a curated pricing table; shown on the timeline and dashboard |
| 🛑 Human-in-the-loop | Approve, edit output, or request changes mid-run from the Runs page |
| 📤 Code export | Download a complete, runnable CrewAI Python project — no vendor lock-in |
| 🔑 Secrets vault | Provider keys encrypted at rest (Fernet); never returned to the client |
| 🌐 Multi-LLM | Per-workflow and per-agent LLM selection; any OpenAI-compatible provider |
| 🔁 Replay & duplicate | Re-run any past run with the same inputs; duplicate workflows in one click |
| ⚡ Dry-run mode | Built-in mock LLM; zero network calls; every feature works without a key |
Prerequisites: Python 3.10+, uv, Node.js 18+
git clone https://github.com/Arturski/crew-ai-studio.git
cd crew-ai-studio
uv sync
npm --prefix web install && npm --prefix web run build
uv run crew-ai-studio
# → open http://localhost:8765
No API key needed. The demo workspace runs immediately in dry-run mode.
Works with any OpenAI-compatible provider: OpenAI, Anthropic, MiniMax (api.minimaxi.chat/v1), Ollama, Groq, Together AI, and hundreds more via LiteLLM.
# Terminal 1 — API with hot reload
uv run uvicorn server.app:app --reload --port 8765
# Terminal 2 — Vite dev server
npm --prefix web run dev # → http://localhost:5180
Key design decisions:
compiler/manifest.py introspects the installed crewai at startup, building a field manifest that drives the UI dynamically. New CrewAI fields surface as form controls with no code changes.FakeLLM implements BaseLLM and returns a ReAct Final Answer so agents complete cleanly. Every feature is exercisable without a key.| Doc | Description |
|---|---|
| Quick Start Guide | Step-by-step: first workflow, going live, batch & eval |
| Architecture | Module breakdown, data model, design decisions |
| Deployment | Self-hosting, reverse proxy, Docker, environment variables |
| API Reference | All REST endpoints with request/response shapes |
| Contributing | Dev setup, code conventions, adding new features |
| Roadmap | What's shipped and what's next |
| Security | Threat model, key storage, hardening roadmap |
| Layer | Technology |
|---|---|
| Backend | Python 3.10+, FastAPI, SQLite (WAL), uvicorn |
| AI framework | CrewAI 1.14+, crewai-tools |
| Embeddings | fastembed (bge-small-en-v1.5, keyless, local) |
| Knowledge graph | Kuzu (embedded, per-KB) |
| Encryption | cryptography (Fernet) |
| Scheduling | croniter |
| Frontend | React 19, Vite, TypeScript, Tailwind v4 |
| UI components | Radix UI primitives + shadcn/ui-style system |
| Canvas | XyFlow (React Flow) |
| Icons | lucide-react |
Crew AI Studio/
├── server/ # FastAPI backend
│ ├── app.py # All REST + SSE endpoints (~50 routes)
│ ├── store.py # SQLite: all CRUD (workspaces, runs, KBs, …)
│ ├── runner.py # Run execution, event capture, HITL, cancel
│ ├── batches.py # Batch-run driver (CSV → N tracked runs)
│ ├── evals.py # Eval suite + LLM-as-judge scoring
│ ├── schedules.py # Cron daemon + webhook trigger handler
│ ├── llms.py # Multi-LLM connection management
│ ├── mcp.py # MCP server connect/discover/registry
│ ├── secrets.py # Fernet encryption at rest
│ ├── pricing.py # Token cost estimates
│ ├── compiler/
│ │ ├── manifest.py # CrewAI field introspection → UI manifest
│ │ ├── adapter.py # Spec → live Crew/Agent/Task + FakeLLM
│ │ ├── exporter.py # Spec → runnable CrewAI project (zip)
│ │ └── tools.py # 103 built-in crewai_tools catalog
│ └── knowledge/
│ ├── kb.py # KB CRUD + background ingest orchestration
│ ├── vector.py # fastembed chunking + cosine search
│ ├── graph.py # Kuzu graph: entities, relations, hybrid retrieval
│ ├── extract.py # LLM entity/relation extraction
│ ├── web.py # URL ingest + same-host crawl
│ └── github.py # GitHub repo ingest via tarball
├── web/ # React 19 SPA
│ └── src/
│ ├── pages/ # Dashboard, Builder, Runs, Tools, Knowledge, Settings, Code
│ └── components/ # CrewCanvas, EventTimeline, ui.tsx, Sidebar
├── tests/ # 52 pytest tests (no network required)
├── docs/ # This documentation + architecture diagrams
└── spikes/ # Architecture proof-of-concept scripts
# 52 tests, ~5 seconds, no network, no API key
uv run --extra dev pytest -q
# Lint
uv run --extra dev ruff check server tests
# TypeScript strict + production build
npm --prefix web run build
All tests pass green. Zero browser console errors (verified with Playwright across all pages + mobile viewport).
Contributions are very welcome — see CONTRIBUTING.md for the dev setup, code conventions, and how to add support for new CrewAI features.
git clone https://github.com/Arturski/crew-ai-studio.git && cd crew-ai-studio
uv sync && npm --prefix web install
uv run --extra dev pytest -q # all green
npm --prefix web run build # tsc strict pass
See ROADMAP.md for what's shipped and what's coming. Highlights on deck:
@router/@listenApache-2.0 — free to use, modify, and distribute.