Agent
Agent! connects any AI to your Mac. 13 LLM providers — cloud, local, or on-device. It writes code, builds Xcode projects, manages git, organizes files, automates Safari, controls any app, and handles whatever you throw at it. Talk to it by text, voice, or iMessage from your iPhone. Just say what you need. One native Mac app. Zero subscriptions.
Install / Use
/learn @macOS26/AgentQuality Score
Category
Development & EngineeringSupported Platforms
README
🦾 Agent! for macOS 26.4+
<img width="1076" height="1034" alt="image" src="https://github.com/user-attachments/assets/9d54b064-37b8-4adc-8b97-cc37691993ac" />Agentic AI for your Mac Desktop
Open Source replacement for Claude Code, Cursor, Cline, OpenClaw
</div>What's New 🚀
- Apple AI as a real tool-calling agent: On-device Apple Intelligence (FoundationModels.Tool) handles UI automation requests like "take a photo using Photo Booth" locally — multi-step tool calls, zero cloud LLM tokens, falls through to the cloud LLM only on failure.
- SDEF + runtime app discovery: Bundle ID resolution is now zero-hardcoded. Apps in
Agent/SDEFs/plus every.appin/Applications,/System/Applications,~/Applicationsare discovered at runtime — installing a new app extends what the agent can target with no code edit. - Prompt caching for every OpenAI-format provider: Z.ai, OpenAI, Grok, Mistral, DeepSeek, Qwen, Gemini, BigModel, Hugging Face —
cached_tokensis parsed from the response and shown in the LLM Usage panel. JSON request bodies use.sortedKeysso byte-stable prefixes actually hit the provider's cache. - On-device token compression: Apple AI summarizes old conversation turns when context exceeds 30K tokens (Tier 1 of
tieredCompact) — free, private, no API tokens consumed. Toggleable in the brain icon popover. - Anti-hallucination prompt rule: Every system prompt now includes explicit guidance against fabricating findings from incomplete tool reads. The 10-consecutive-reads guard pushes the model toward "narrow or call done()" instead of "guess".
- Autonomous task loop, Xcode integration, AXorcist desktop automation, privileged daemon, multi-tab LLM config, Ollama pre-warming via
LLMRegistry— all the previously-shipped fundamentals are still there.
A native macOS AI agent that controls your apps, writes code, automates workflows, and runs tasks from your iPhone via iMessage. All powered by the AI provider of your choice.
Quick Start (Download)
- Download Agent! and drag to Applications
- Open Agent! -- it sets up everything automatically
- Pick your AI -- Settings → choose a provider → enter API key
Quick Start (Build from Source)
- Clone the repository:
git clone https://github.com/toddbruss/Agent.git cd Agent - Open
Agent.xcodeprojin Xcode. - Build and Run the
Agenttarget. - Approve the Helper Tool: When prompted, authorize the privileged daemon to allow root-level command execution.
- Configure your AI Provider: Go to Settings and enter your API key or select a local provider like Ollama.
💡 Cheapest cloud path? GLM-5.1 (the latest) is now available on all four of the cheap cloud providers — Ollama, Hugging Face, Z.ai, and BigModel. Pennies per million tokens vs Claude/GPT pricing. Pick whichever you already have an account with; pricing is competitive across all of them.
💡 Z.ai is still the recommended starting point if you don't have an account anywhere yet — fastest signup, GLM-5.1 is the default model, no infrastructure to provision.
⚠️ Running GLM locally is "free" only if you already own the hardware. GLM-5/5.1 are 32B+ models — to run one well you need an M2/M3/M4 Ultra Mac Studio with 64-128GB unified memory, or a Linux box with 24GB+ VRAM. If you're buying that hardware just to run a local LLM, the cloud APIs above are dramatically cheaper.
What Can It Do?
"Play my Workout playlist in Music" "Build the Xcode project and fix any errors" "Take a photo with Photo Booth" "Send an iMessage to Mom saying I'll be home at 6" "Open Safari and search for flights to Tokyo" "Refactor this class into smaller files" "What calendar events do I have today?"
Just type what you want. Agent! figures out how and makes it happen.
Key Features
🧠 Agentic AI Framework
Built-in autonomous task loop that reasons, executes, and self-corrects. Agent! doesn't just run code; it observes the results, debugs errors, and iterates until the task is complete.
🛠 Agentic Coding
Full coding environment built in. Reads codebases, edits files with precision, runs shell commands, builds Xcode projects, manages git, and auto-enables coding mode to focus the AI on development tools. Replaces Claude Code, Cursor, and Cline -- no terminal, no IDE plugins, no monthly fee. Features Time Machine-style backups for every file change, letting you revert any edit instantly.
🔍 Dynamic Tool Discovery
Automatically detects and uses available tools (Xcode, Playwright, Shell, etc.) based on your prompt. No manual configuration required for core tools.
🛡 Privileged Execution
Securely runs root-level commands via a dedicated macOS Launch Daemon. The user approves the daemon once, then the agent can execute commands autonomously via XPC.
🖥 Desktop Automation (AXorcist)
Control any Mac app through the Accessibility API. Click buttons, type into fields, navigate menus, scroll, drag -- all programmatically. Powered by AXorcist for reliable, fuzzy-matched element finding.
🤖 17 AI Providers
The provider picker (LLM Settings, toolbar button #7) shows 16 providers; Apple Intelligence is reached via the separate brain icon (#8). Source of truth: AgentTools.APIProvider.
| Provider | API key | Best for | |---|---|---| | Claude (Anthropic) | Paid | Long autonomous tasks, complex reasoning, prompt caching | | OpenAI | Paid | General purpose, tool calling, vision | | Google Gemini | Paid (free tier) | Long context, vision, fast | | Grok (xAI) | Paid | Real-time info | | Mistral | Paid | Open-weight cloud, fast tool calling | | Codestral (Mistral) | Paid | Code-specialized Mistral | | Mistral Vibe | Paid | Mistral's chat/agent product | | DeepSeek | Cheap | Budget cloud, strong coding, prompt cache hit reporting | | Hugging Face | Varies | Open-source models hosted serverless or on dedicated endpoints | | Z.ai | Cheap | GLM-5.1 via API — recommended starting point | | BigModel (Zhipu) | Cheap | GLM family via Zhipu's API | | Qwen (Alibaba) | Cheap | Qwen 2.5 / 3 via Dashscope | | Ollama (cloud) | Free tier | Run open models via Ollama's hosted endpoint | | Local Ollama | Free + hardware | Self-hosted Ollama daemon — fully offline, no account | | vLLM | Free + hardware | Self-hosted vLLM server with prefix caching | | LM Studio | Free + hardware | Self-hosted, easiest GUI for local models | | Apple Intelligence | Free, on-device | Triage, summary, accessibility intent (via brain icon, not the provider picker) |
💡 Self-hosted "free" providers (Local Ollama, vLLM, LM Studio) are only free in the API-fee sense. Running a 30B+ model with usable speed needs an M2/M3/M4 Ultra Mac Studio (64-128GB unified memory) or a Linux box with 24GB+ VRAM. If you don't already have that hardware, the cloud paths above (Ollama Cloud, Hugging Face, Z.ai, BigModel, DeepSeek) are dramatically cheaper than buying it.
Toolbar Buttons
The Agent! header contains 15 buttons for quick access to settings, monitors, and tools. Each button opens a popover when clicked. Source of truth: Agent/Views/HeaderSectionView.swift.
| # | Icon | Name | What it does |
|---|------|------|--------------|
| 1 | gearshape.2 | Services | Toggle the Launch Agent / Launch Daemon, manage project folder, scan command output |
| 2 | message.fill | Messages Monitor | Toggle iMessage monitoring on/off — green when active. Opens the recipients list and approval UI |
| 3 | hand.raised | Accessibility | Open the Accessibility settings sheet (permission status, axorcist diagnostics) |
| 4 | server.rack | MCP Servers | Add/remove/configure MCP (Model Context Protocol) servers — extends Agent! with mcp_* tools |
| 5 | chevron.left.forwardslash.chevron.right | Coding Preferences | Toggle auto-verify, visual tests, auto-PR, auto-scaffold. Green when any are on |
| 6 | wrench.and.screwdriver | Tools | Per-provider tool toggles. Enable/disable individual built-in and MCP tools |
| 7 | cpu | LLM Settings | Pick AI provider, model, API key, base URL. Pulses when a task is running |
| 8 | brain.fill / brain | Apple Intelligence | Configure FoundationModels (on-device Apple AI). Filled when available |
| 9 | slider.horizontal.3 | Agent Options | Temperature, max iterations, vision auto-screenshot, plan-mode encouragement, etc. |
| 10 | arrow.triangle.2.circlepath | Fallback Chain | Configure provider fallback order — Agent! retries with the next provider when one fails |
| 11 | viewfinder | HUD | Toggle the green-CRT scanline overlay on the LLM Output view |
| 12 | chart.bar.fill | LLM Usage | Per-model token usage and cost tracking. Green when there's recorded usage |
| 13 | arrow.uturn.backward.circle | Rollback | Time-Machine-style file bac
Related Skills
imsg
353.3kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
353.3kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
lobster
353.3kLobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (s
