Skip to content

lacymorrow/juno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,048 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Juno

Juno

AI that controls your Mac.
Describe a task. Watch it happen.

Website · Install · Use Cases · Agent Integration · Development

GitHub stars Version License macOS npm


Juno is a native macOS desktop app that gives AI full control of your computer. It uses Anthropic's Computer Use to see your screen, move the mouse, type on the keyboard, and complete tasks autonomously.

You talk (or type). Juno does the rest.

What can Juno do?

Anything you can do with a mouse and keyboard:

  • Fill out forms — "Apply to this job posting with my resume"
  • Research and summarize — "Find the 5 best-reviewed coffee shops near me and put them in a spreadsheet"
  • Automate workflows — "Download all invoices from my email and organize them by date"
  • Navigate apps — "Open Figma, export this frame as PNG, and upload it to Slack"
  • Browse the web — "Go to HN, find posts about Rust, and bookmark the top 3"
  • Manage files — "Sort my Downloads folder — move images to Photos, PDFs to Documents"

Juno sees your screen, understands what's on it, and takes action. No scripting. No macros. Just describe what you want.

Key Features

Native macOS app — Built with Tauri and Rust. Fast, lightweight, no Electron. Uses real macOS accessibility APIs for precise interaction.

Voice control — Say "Hey Juno" (or set a custom wake word) and speak your task. Always-on listening with local Whisper transcription. 99+ languages.

Multi-agent orchestration — Complex tasks get split across specialized agents (Desktop, Browser, File) coordinated by an orchestrator. They work in parallel.

MCP integration — Extend Juno with any Model Context Protocol server. Add custom tools, connect to APIs, integrate with your existing stack.

Floating UI — A minimal, always-on-top bar that stays out of your way. Expand to chat, collapse to a sliver, or hide completely.

CLI for AI agentsjuno-cua gives Claude Code, Cursor, Codex, and other AI coding agents the ability to see and control your desktop.

Install

Desktop App (macOS 14+)

Download the latest .dmg from junebug.ai or GitHub Releases.

Homebrew

brew install lacymorrow/tap/juno-cua

npm (CLI / Agent Integration)

npx juno-cua

This installs the juno-cua tool that gives AI coding agents (Claude Code, Cursor, Codex, Gemini CLI) desktop automation capabilities via MCP.

For AI Agents

Juno bridges the gap between AI coding agents and the real desktop. With juno-cua, your agent can:

  • Take screenshots and analyze what's on screen
  • Click, type, scroll, and drag
  • Open apps and URLs
  • Read the accessibility tree for precise element targeting
  • Chain actions: screenshot → analyze → click → type
# Give Claude Code desktop superpowers
npx juno-cua

Works with Claude Code, Cursor, Codex, Gemini CLI, and any agent that supports MCP tools.

How It Works

You (voice or text)
  → Orchestrator (routes to specialist agents)
    → Desktop Agent (screen, mouse, keyboard)
    → Browser Agent (web automation, scraping)
    → File Agent (filesystem operations)
  → Task complete

Juno uses Anthropic's Computer Use API to give Claude vision and control of your screen. The orchestrator breaks complex tasks into subtasks and delegates to specialist agents that run in parallel. All processing happens locally — your screen data stays on your machine.

Architecture

Layer Tech Purpose
Frontend React, TypeScript, Vite, Tailwind Display layer, chat UI, floating bar
Backend Rust, Tauri v2 All business logic, agent execution, I/O
Voice Custom Whisper plugin Local speech-to-text, always-on listening
AI Anthropic Claude (Computer Use) Vision, reasoning, tool calling
Platform macOS Accessibility APIs Screen capture, UI automation
Extensions MCP (Model Context Protocol) Custom tool servers

The backend owns everything — the frontend is a thin display layer. Juno can run headlessly as a CLI without any UI.

Development

# Prerequisites: Rust, Bun, macOS 14+

# Setup
bun install && cp .env.example .env

# Run the full app (Tauri + Vite)
bun run tauri:dev

# Frontend only (Vite dev server on :1420)
bun run dev

# Run tests
bun test              # Frontend (Vitest)
cargo test --manifest-path src-tauri/Cargo.toml  # Backend

# Build
bun tauri build       # Production app

See CLAUDE.md for detailed development rules and architecture docs.

Project Structure

juno/
├── src/                    # React frontend
├── src-tauri/              # Rust backend (Tauri v2)
│   ├── src/
│   │   ├── anthropic.rs    # Main orchestrator
│   │   ├── agent/          # Multi-agent system (tools, providers, prompts)
│   │   ├── commands/       # 50+ Tauri command handlers
│   │   └── cloud/          # Cloud sync & device management
│   └── mcp-server-os-level/  # macOS platform library
├── tauri-plugin-voice-transcription/  # Custom Whisper plugin
└── packages/juno-cua/      # CLI & MCP server for AI agents

Security

Juno includes enterprise-grade security controls:

  • Tiered permission system (5 levels) for agent actions
  • File path validation with workspace boundary enforcement
  • Command execution whitelist
  • Tool approval system for sensitive operations
  • Full audit logging

See SECURITY_AUDIT.md for details.

License

FSL-1.1-MIT — Source-available. Free to use, modify, and create derivative works. Converts to MIT after 2 years.

Community

Contributions welcome. See CLAUDE.md for architecture docs and development rules.


Built by Lacy Morrow

About

AI that controls your Mac. Describe a task, watch it happen. Native macOS desktop app powered by Anthropic Computer Use.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors