ๆƒฏๆ€ง่šๅˆ ้ซ˜ๆ•ˆ่ฟฝ่ธชๅ’Œ้˜…่ฏปไฝ ๆ„Ÿๅ…ด่ถฃ็š„ๅšๅฎขใ€ๆ–ฐ้—ปใ€็ง‘ๆŠ€่ต„่ฎฏ
้˜…่ฏปๅŽŸๆ–‡ ๅœจๆƒฏๆ€ง่šๅˆไธญๆ‰“ๅผ€

ๆŽจ่่ฎข้˜…ๆบ

Google DeepMind News
Google DeepMind News
ๅš
ๅšๅฎขๅ›ญ_้ฆ–้กต
H
Help Net Security
T
Tailwind CSS Blog
S
SegmentFault ๆœ€ๆ–ฐ็š„้—ฎ้ข˜
GbyAI
GbyAI
Scott Helme
Scott Helme
D
Docker
Hacker News: Ask HN
Hacker News: Ask HN
P
Privacy & Cybersecurity Law Blog
Jina AI
Jina AI
้›ทๅณฐ็ฝ‘
้›ทๅณฐ็ฝ‘
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
G
GRAHAM CLULEY
C
Cisco Blogs
The Hacker News
The Hacker News
F
Full Disclosure
Y
Y Combinator Blog
Blog โ€” PlanetScale
Blog โ€” PlanetScale
Recent Announcements
Recent Announcements
G
Google Developers Blog
้‡
้‡ๅญไฝ
K
Kaspersky official blog
Cisco Talos Blog
Cisco Talos Blog
The Cloudflare Blog
A
About on SuperTechFans
C
Cybersecurity and Infrastructure Security Agency CISA
Last Week in AI
Last Week in AI
ๅš
ๅšๅฎขๅ›ญ - ไธ‰็”Ÿ็ŸณไธŠ(FineUIๆŽงไปถ)
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
T
Tenable Blog
P
Palo Alto Networks Blog
H
Heimdal Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Schneier on Security
Schneier on Security
The Register - Security
The Register - Security
F
Fortinet All Blogs
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
้’›ๅช’ไฝ“๏ผšๅผ•้ข†ๆœชๆฅๅ•†ไธšไธŽ็”Ÿๆดปๆ–ฐ็Ÿฅ
้’›ๅช’ไฝ“๏ผšๅผ•้ข†ๆœชๆฅๅ•†ไธšไธŽ็”Ÿๆดปๆ–ฐ็Ÿฅ
่ฎฉๅฐไบงๅ“็š„็‹ฌ็ซ‹ๅ˜็Žฐๆ›ด็ฎ€ๅ• - ezindie.com
่ฎฉๅฐไบงๅ“็š„็‹ฌ็ซ‹ๅ˜็Žฐๆ›ด็ฎ€ๅ• - ezindie.com
T
The Blog of Author Tim Ferriss
N
News and Events Feed by Topic
Hugging Face - Blog
Hugging Face - Blog
ๅฐไผ—่ฝฏไปถ
ๅฐไผ—่ฝฏไปถ
V
V2EX
็ˆฑ่Œƒๅ„ฟ
็ˆฑ่Œƒๅ„ฟ

Hacker News: Front Page

SPICE simulation โ†’ oscilloscope โ†’ verification with Claude Code โ€” Lucas Gerads GitHub - GainSec/AutoProber: Hardware hackerโ€™s flying probe automation stack for agent-driven target discovery, microscope mapping, safety-monitored CNC motion, probe review, and controlled pin probing. Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Virginia Bans Sale of Geolocation Data Show HN: Agent-cache โ€“ Multi-tier LLM/tool/session caching for Valkey and Redis Ancient DNA reveals pervasive directional selection across West Eurasia [pdf] AI cybersecurity is not proof of work Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. A Better Ludum Dare; Or, How to Ruin a Legacy YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | ใƒžใ‚ฏใƒ‰ใƒŠใƒซใƒ‰ๅ…ฌๅผ Commands โ€” HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndromeโ€™s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected โ‚ฌ54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent Pakistan hospital at centre of child HIV outbreak caught reusing syringes in BBC film Codex Hacked a Samsung TV Tech Valuations Back to Pre-AI Boom Levels A perfectable programming language โ€” Soter GitHub - halfwhey/claudraband: Claude Code for the Power User Partnership through Play: Investigating How Long-Distance Couples Use Digital Games to Facilitate Intimacy Textbooks and Methods of Note-Taking in Early Modern Europe (2008) Eternity in six hours: Intergalactic spreading of intelligent life (2013) Seven countries now generate 100% of their electricity from renewable energy Tell HN: OpenAI silently removed Study Mode from ChatGPT Pro Max 5x Quota Exhausted in 1.5 Hours Despite Moderate Usage Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card) Tell HN: docker pull fails in spain due to football cloudflare block Bring Back Idiomatic Design No one owes you supply-chain security GitHub - xsawyerx/curl-doom: DOOM, played over cURL Apple update turns Czech mate for locked-out iPhone user The Grand Line Cache TTL silently regressed from 1h to 5m around early March 2026, causing quota and cost inflation Building a Z-Machine in the worst possible language The peril of laziness lost Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda AI Will Be Met With Violence, and Nothing Good Will Come of It GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver ยท Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universeโ€™s Expansion Rate Is Clearer Than Ever, but Still Doesnโ€™t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The disturbing white paper Red Hat is trying to erase from the internet โ€“ OSnews NetBlocks (@netblocks@mastodon.social) The Future of Everything is Lies, I Guess: Annoyances โ€˜Abhorrentโ€™: the inside story of the Polymarket gamblers betting millions on war Productive procrastination โ€” Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com โ€“ A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong The FAA wants gamers to apply for air traffic control jobs Artemis II crew splashes down near San Diego after historic moon mission Why weekends are under threat We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClawโ€™s memory is unreliable, and you donโ€™t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master ยท torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Keeping a Postgres queue healthy โ€” PlanetScale Serenity Forge (@serenityforge.com) Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? Uncharted island soon to appear on nautical charts The Problem That Built an Industry Fragments: April 2 Python Release Python install manager 26.1 Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Harness engineering: leveraging Codex in an agent-first world Apple Silicon and Virtual Machines: Beating the 2 VM Limit What have been the greatest intellectual achievements? The APL Programming Language Source Code
GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages.
2026-04-16 ยท via Hacker News: Front Page

agent_icon_256

๐Ÿฆพ Agent! for macOS 26.4.1

image

Agentic AI for your ๏ฃฟ Mac Desktop

Open Source alternative to Claude Code, Cursor and Open Claw

Latest Release GitHub Stars GitHub Forks macOS 26.4+ Swift 6.2

Tip Jar

Thank you for your interest and support!

What's New ๐Ÿš€

  • ๐ŸŒ OpenRouter provider: Full integration with OpenRouter's model catalog โ€” one API key, 200+ models. Smart catalog fetches available models, protocol toggle (OpenAI/Anthropic) routes Claude models through the Anthropic protocol and everything else through OpenAI, and ClaudeService auto-routes when OpenRouter is selected.
  • 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 .app in /Applications, /System/Applications, ~/Applications are 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_tokens is parsed from the response and shown in the LLM Usage panel. JSON request bodies use .sortedKeys so 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.

Star History โญ๏ธ

Star History Chart

One app. Any AI. Total command over your Mac.

Agent! wires 18 LLM providers โ€” Claude, GPT, Gemini, Grok, Mistral, DeepSeek, Qwen, Z.ai, BigModel, Hugging Face, OpenRouter, Ollama (cloud and local), vLLM, LM Studio, Codestral, Mistral Vibe, and on-device Apple Intelligence โ€” into a native macOS app that doesn't just talk about doing things. It does them.

Watch it read your codebase, fix the bug, build the Xcode project, and commit the diff while you make coffee. Tell it to open Safari and text you the price of flights to Tokyo. Say "Agent!" from across the room and have it run your test suite by voice. Text your Mac from iMessage and get a polished answer before you reach your car.

It edits files with surgical string-replace diffs โ€” every change one-click undoable from a Time-Machine-style rollback. It drives any Mac app through the Accessibility API โ€” no AppleScript required. It remembers your preferences across sessions. It spawns parallel sub-agents for work that fans out. It indexes entire codebases into a portable JSONL repo-map that any LLM can consume. It runs shell commands as you, or as root via a Launch Daemon you approve exactly once.

Bring your own API key. Run it fully local on Ollama, vLLM, or LM Studio. Or run it free, forever, on Apple Intelligence. No subscription. No telemetry. No vendor lock-in. Your keys, your machine, your data.

Download it. Say what you need. Watch it happen.

Quick Start (Download)

  1. Download Agent! and drag to Applications
  2. Open Agent! -- it sets up everything automatically
  3. Pick your AI -- Settings โ†’ choose a provider โ†’ enter API key

Quick Start (Build from Source)

  1. Clone the repository:
    git clone https://github.com/macos26/agent.git
    cd Agent

Option A: Build with Xcode (Apple Developer account)

  1. Open Agent.xcodeproj in Xcode.
  2. Build and Run the Agent target.
  3. Approve the Helper Tool: When prompted, authorize the privileged daemon to allow root-level command execution.

Option B: Build without an Apple Developer account

  1. Run the build script (requires only Xcode Command Line Tools):
    ./build.sh              # Debug build
    ./build.sh Release      # Release build
  2. The app lands in build/DerivedData/Build/Products/Debug/Agent!.app
  3. Run it: open "build/DerivedData/Build/Products/Debug/Agent!.app"

โš ๏ธ Without a developer account the app is ad-hoc signed. The Launch Agent/Daemon helpers won't register (SMAppService needs a team ID), but the LLM loop, all tools, accessibility, AppleScript, shell, and MCP all work.

Then:

  1. Configure your AI Provider: Go to Settings and enter your API key or select a local provider like Ollama.

๐Ÿ’ก Cheap GLM setup: GLM-5.1 runs on all four cheap providers โ€” Ollama, Hugging Face, Z.ai, BigModel โ€” at pennies per million tokens. New here? Start with Z.ai (fastest signup, GLM-5.1 is the default, nothing to provision). Running locally? Only GLM-4.7-Turbo (32B) fits on consumer hardware (M2/M3/M4 Mac, 64-128GB, via Ollama) โ€” GLM-5 and GLM-5.1 are too large (~1.6TB), use them via the cloud providers above.

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.

Why there's no manual setCodeSigningRequirement on the XPC listener

Users sometimes ask why AgentHelper's XPC listener accepts connections without a manual connection.setCodeSigningRequirement(...) check. The short answer: SMAppService already enforces signing identity one layer below your code, so the check would be redundant.

That recommendation is a holdover from the pre-SMAppService SMJobBless era, where launchd did not validate identity for you and the XPC server had to set a designated-requirement string itself. SMAppService changed that contract:

  • The app-bundle-embedded plist plus signature-gated registration is the code-signing requirement.
  • The Mach service names (Agent.app.toddbruss.helper, Agent.app.toddbruss.user) are namespaced to the signed bundle that registered them โ€” no other bundle can claim them.
  • Any signature mismatch (tampering, re-signing, different Team ID, bundle swap) breaks the XPC channel at the launchd layer โ€” listener(_:shouldAcceptNewConnection:) is never even invoked.

Empirical proof: Agent! itself attempted to re-sign its own daemons during an experiment and immediately lost the ability to connect. NSXPCConnection to both Mach services failed at the launchd layer before a single byte reached the listener delegate โ€” exactly the behavior a manual setCodeSigningRequirement call would enforce, except SMAppService is doing it in the kernel's XPC lookup path where it cannot be bypassed from userland.

Enforcement Mechanism Bypassable from userland?
Helper must be in signed app bundle Gatekeeper + SMAppService registration No
Helper must match app's Team ID (469UCUB275) Code signing + SMAppService No
Mach service name bound to signed bundle launchd / XPC namespace No
Helper binary hash matches registered identity SMAppService + kernel XPC lookup No (re-signing breaks the channel)
User approved the helper System Settings โ†’ Login Items & Extensions No (user gesture required)

Adding setCodeSigningRequirement explicitly would be reasonable belt-and-braces defense-in-depth (useful only if the app were ever ported off SMAppService, or if SIP were disabled), but it is not a gap in the current architecture. See docs/SECURITY.md for the full trust-anchor write-up.

๐Ÿ–ฅ 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.

๐Ÿค– 18 AI Providers

The provider picker (LLM Settings, toolbar button #7) shows 17 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
OpenRouter Paid 200+ models through one API key โ€” Claude, GPT, Gemini, Llama, Mistral, and more. Smart protocol toggle routes Claude models via Anthropic protocol, everything else via OpenAI
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 โš™๏ธ Services Toggle the Launch Agent / Launch Daemon, manage project folder, scan command output
2 ๐Ÿ’ฌ Messages Monitor Toggle iMessage monitoring on/off โ€” green when active. Opens the recipients list and approval UI
3 โœ‹ Accessibility Open the Accessibility settings sheet (permission status, axorcist diagnostics)
4 ๐Ÿ–ฅ๏ธ MCP Servers Add/remove/configure MCP (Model Context Protocol) servers โ€” extends Agent! with mcp_* tools
5 </> Coding Preferences Toggle auto-verify, visual tests, auto-PR, auto-scaffold. Green when any are on
6 ๐Ÿ”ง Tools Per-provider tool toggles. Enable/disable individual built-in and MCP tools
7 ๐Ÿง  LLM Settings Pick AI provider, model, API key, base URL. Pulses when a task is running
8 ๐Ÿงฌ Apple Intelligence Configure FoundationModels (on-device Apple AI). Filled when available
9 ๐ŸŽ›๏ธ Agent Options Temperature, max iterations, vision auto-screenshot, plan-mode encouragement, etc.
10 ๐Ÿ”„ Fallback Chain Configure provider fallback order โ€” Agent! retries with the next provider when one fails
11 ๐Ÿ”ฒ HUD Toggle the green-CRT scanline overlay on the LLM Output view
12 ๐Ÿ“Š LLM Usage Per-model token usage and cost tracking. Green when there's recorded usage
13 โ†ฉ๏ธ Rollback Time-Machine-style file backup browser. Restore any previous version of any file Agent! edited
14 ๐Ÿ• History Past prompts, errors, and task summaries for the active tab. Re-run a previous prompt with one click
15 ๐Ÿ—‘๏ธ Clear Log Delete the activity log for the active tab (or all task history when no tab is selected). Confirms first

๐ŸŽ™ Voice Control โ€” "Agent!" Hotword

Hotword-anchored dictation via SFSpeechRecognizer. Click the microphone in the input bar to start the hotword session, then say "Agent!" followed by your task. Transcription is on-device, runs in real time, and listens for agent as a complete word (not as a substring of "intelligent" or "management"). Anything you say after the wake word becomes the task โ€” after ~2.5 seconds of silence, it auto-runs. The session loops automatically: when one task completes, it starts listening again. Click the mic to stop.

๐Ÿ“ฑ Remote Control via iMessage

Text your Mac from your iPhone:

Agent! What song is playing?
Agent! Check my email
Agent! Next Song

Your Mac runs the task and texts back the result. Only approved contacts can send commands.

๐ŸŒ Web Automation

Drives Safari hands-free -- search Google, click links, fill forms, read pages, extract information.

๐Ÿ“‹ Smart Planning

For complex tasks, Agent! creates a step-by-step plan, works through each step, and checks them off in real time.

๐Ÿ—‚ Tabs

Work on multiple tasks simultaneously. Each tab has its own project folder and conversation history.

๐Ÿ“ธ Screenshot & Vision

Take screenshots or paste images. Vision-capable AI models analyze what they see -- describe content, read text, spot UI issues.

๐ŸŒ Safari Web Automation (Built-in)

Agent! includes built-in Safari web automation via JavaScript and AppleScript. Search Google, click links, fill forms, read page content, and execute JavaScript -- all hands-free.

To enable: Open Safari โ†’ Settings โ†’ Advanced โ†’ check "Show features for web developers". Then go to Developer menu โ†’ check "Allow JavaScript from Apple Events".

๐ŸŽญ Playwright Web Automation (Optional)

Full cross-browser automation via Microsoft Playwright MCP. Click, type, screenshot, and navigate any website in Chrome, Firefox, or WebKit -- all controlled by the AI.

Setup (one-time):

# 1. Install Node.js (if not already installed)
brew install node

# 2. Install Playwright MCP server globally
npm install -g @playwright/mcp@latest

# 3. Install browser binaries (pick one or all)
npx playwright install chromium          # Chrome (~165MB)
npx playwright install firefox           # Firefox (~97MB)
npx playwright install webkit            # Safari/WebKit (~75MB)
npx playwright install                   # All browsers

Configure in Agent!:

Go to Settings โ†’ MCP Servers โ†’ Add Server, paste this JSON:

{
    "mcpServers": {
        "playwright": {
            "command": "npx",
            "args": ["@playwright/mcp"],
            "transport": "stdio"
        }
    }
}

Note: If npx is not found, use the full path: run which npx in Terminal and replace "npx" with the result (e.g. "/opt/homebrew/bin/npx").

Toggle ON and Playwright tools appear automatically. The AI can now control browsers directly.

Tools โ€” what list_tools actually returns

These are the canonical tool names defined in AgentTools.Name.* and exposed to every LLM provider via AgentTools.tools(for:). Source of truth: ~/Documents/GitHub/AgentTools/Sources/AgentTools/AgentTools.swift. The Agent app's user-pref toggles can hide individual tools per-provider, but the list below is the full set the LLM ever sees.

Core / discovery

Tool Actions / args What it does
done summary Signal task complete. Required at end of every task
list_tools โ€” Returns the live tool list for the current provider (built-in + MCP)
search query Web search via Exa, Tavily, or DuckDuckGo (whichever key is configured)
chat write / transform / fix / about Write prose, transform/fix text, describe Agent capabilities
memory read / write / append / clear Persistent user preferences. "remember X" โ†’ append
plan create / update / read / list / delete Multi-plan CRUD with per-step status tracking
directory get / set / home / documents / library / none / cd Project folder for the current tab
fetch url Fetch URL, strip HTML, cap 8K chars
skill list / invoke / save / delete Reusable prompt templates
ask_user question Mid-task user dialog (waits up to 5 min)

Code / files / build

Tool Actions / args What it does
file read / write / edit / create / apply / undo / diff_apply / list / search / read_dir / mkdir / cd / if_to_switch / extract_function All file operations. edit = single-string replace. diff_apply = preferred for multi-line code edits
git status / diff / log / commit / diff_patch / branch / worktree Git operations โ€” use this instead of shell git
xcode build / run / list_projects / select_project / add_file / remove_file / grant_permission / analyze / snippet / code_review / get_version / bump_version / bump_build Native Xcode integration. Errors in the activity log are clickable
agent_script list / read / create / update / run / delete / combine Swift dylib scripts in ~/Documents/AgentScript/agents/ with full TCC

Shell / privilege tiers

Tool Args What it does
user_shell command Shell as current user via Launch Agent. Primary shell tool
root_shell command Shell as ROOT via Launch Daemon. Admin tasks only โ€” no sudo
shell command Fallback in-process shell (when Launch Agent is off)
batch commands Multiple shell commands in one call (newline-separated)
multi description, tasks Multiple tool calls in one batch

macOS automation

Tool Actions / args What it does
accessibility open_app / find_element / click_element / type_into_element / scroll_to_element / list_windows / inspect_element / get_properties / perform_action / set_properties / get_focused_element / get_children / read_focused / wait_for_element / wait_adaptive / highlight_element / manage_app / show_menu / click_menu_item / set_window_frame / get_window_frame / screenshot / check_permission / request_permission / get_audit_log Element-based AXorcist automation. Every action takes role+title+appBundleId โ€” no coordinates
applescript execute / lookup_sdef / list / run / save / delete NSAppleScript in-process with TCC
javascript execute / list / run / save / delete JXA (JavaScript for Automation)

Web automation

Tool Actions / args What it does
safari open / find / click / type / execute_js / get_url / get_title / read_content / google_search / scroll_to / select / submit / navigate / list_tabs / switch_tab / list_windows / scan / search Safari automation via JavaScript + AppleScript
selenium start / stop / navigate / find / click / type / execute / screenshot / wait Selenium WebDriver session โ€” use safari for normal Safari
mcp_playwright_browser_* (see Playwright MCP) Optional. Cross-browser automation via Playwright MCP

Sub-agents

Tool Args What it does
spawn_agent name, prompt, tools, max_iterations Spawn isolated sub-agent. Max 3 concurrent. Independent message history + mailbox
tell_agent to, message Send a message to a running sub-agent's mailbox

๐Ÿ’ก Note: The on-device app filters this list per-provider โ€” toggle individual tools in the Tools popover (button #6 in the toolbar above). Apple Intelligence has its own minimal default set because of its small context window. MCP tools are appended at runtime as mcp_<server>_<tool> and listed under "--- MCP Tools ---" by list_tools.

Privacy & Safety

  • Your data stays on your Mac. Files, screen contents, and personal data are never uploaded.
  • Cloud AI only sees your prompt text. Use local AI to stay 100% offline.
  • You're in control. Agent! shows everything it does and logs every action.
  • Built on Apple's security model. macOS permissions protect your system.

Defense Layers

Layer What it does
Shell Safety Service Hard-blocks catastrophic commands (rm -rf /, rm -rf ~, dd to /dev/disk, fork bombs, --no-preserve-root) before the Process is even constructed. Cannot be bypassed by the LLM.
TCC In-Process Routing 17-keyword detector routes AppleScript, osascript, JXA, screencapture, accessibility, Shortcuts, and ScriptingBridge commands to run in-process where Agent! holds TCC grants โ€” never through the Launch Agent/Daemon (separate bundle IDs = no TCC).
File Backup on Every Edit FileBackupService auto-snapshots every file before write_file, edit_file, and diff_apply. Recoverable via file(action:"restore") or the Rollback UI. 1-week TTL.
Agent Script .Trash delete_agent copies the script to ~/Documents/AgentScript/agents/.Trash/ before removal. Recoverable via agent_script(action:"restore").
Working Directory Normalization Every shell execution path (executeTCC, UserService, HelperService) normalizes the working directory โ€” if a file path is accidentally passed as cwd, it strips to the parent directory instead of crashing with "Not a directory".
Task Drain-Before-Start Starting a new task awaits the previous task's full termination before beginning โ€” prevents orphaned retry loops from mixing log output across providers.
Fallback Chain When the primary LLM fails (429, timeout, network), Agent! auto-switches to the next provider in the user-configured chain after 2 failures.
Actionable Errors Every tool error includes a Recovery: hint telling the LLM exactly what to try next โ€” no dead-end error messages that waste turns.
Read Cache Invalidation File read cache is invalidated on both successful edits AND failed edits, so the LLM always gets fresh content on the next read.
Basename Search When read_file or edit_file gets a wrong path, Agent! searches nearby directories for files with the same name and returns the correct paths inline โ€” the LLM self-corrects in one turn.
Tool Execution Gating The LLM cannot fabricate tool results. All tool calls flow through the app's dispatchTool() โ†’ actual execution (XPC, shell, in-process) โ†’ real output returned as tool_result. The LLM only sees and summarizes outputs that actually happened. If a tool fails, the real error is returned โ€” the LLM cannot claim success without a matching execution event.
action_not_performed Three-layer defense against false-action claims: (1) Prompt โ€” system prompt instructs the LLM to say "action not performed" if no tool was called. (2) App โ€” if the LLM returns text claiming "I searched/opened/clicked" but made zero tool calls that turn, a correction is injected forcing it to use the real tool. (3) Apple AI โ€” Apple Intelligence tool outputs are verified for substantive results before claiming success; empty/failed outputs automatically forward to the cloud LLM. Every Apple AI tool call is logged to the activity view with ๐ŸŽ prefix.

Keyboard Shortcuts

Source of truth: the TextField .onSubmit in Agent/Views/InputSectionView.swift for Return, and the inline NSEvent.addLocalMonitorForEvents block in Agent/Views/ContentView.swift for everything else.

Shortcut Action
Return Run current task (TextField submit โ€” no modifier needed)
โŒ˜ . / Escape Cancel running task
โŒ˜ B Toggle LLM Output overlay (show/hide)
โŒ˜ D Toggle both LLM chevrons on the current tab (expand/collapse)
โŒ˜ T New tab
โŒ˜ W Close current tab (or quit if no tabs)
โŒ˜ 1โ€“โŒ˜ 9 Switch tab. โŒ˜1 is the main tab; โŒ˜2โ€“โŒ˜9 are script tabs
โŒ˜ Shift โ† / โŒ˜ Shift โ†’ Previous / next tab
โŒ˜ F Toggle activity-log search bar
โŒ˜ L Clear log for the active tab
โŒ˜ V Paste image from clipboard
โ†‘ / โ†“ Prompt history (in the input field)
โŒ˜ Shift M Toggle Messages Monitor on/off
โŒ˜ Shift P Open Settings (system prompt editor lives here)
โŒ˜ Shift K Clear all (full reset)
โŒ˜ Shift L Clear LLM output panel only
โŒ˜ Shift H Clear prompt history
โŒ˜ Shift J Clear task history
โŒ˜ Shift U Clear token counters

Slash Commands

Type these in the input field and press Return โ€” they execute locally without going to any LLM. Source of truth: AgentViewModel+RunStop.swift.

Command Action
/clear or /clear log Clear the activity log for the current tab
/clear all Clear everything (log, LLM output, prompt history, task history, tokens)
/clear llm Clear the LLM output panel only
/clear history Clear prompt history
/clear tasks Clear task history
/clear tokens Reset token counters (task + session)
/memory or /memory show Print the current memory file contents to the activity log
/memory clear Wipe memory
/memory edit Open ~/Documents/AgentScript/memory.md in the system default editor
/memory <text> Append <text> to memory (anything else after /memory becomes the new line)

FAQ

Do I need to know how to code? No. Just type what you want in plain English.

Is it safe? Yes. Standard macOS automation, full activity logging, you approve permissions.

How much does it cost? The Agent! app itself is free (MIT License). Cloud AI providers charge for API usage โ€” the cheapest options for serious work are GLM-5/5.1 via Z.ai, BigModel, or Hugging Face (pennies per million tokens), or DeepSeek for budget coding. Self-hosted local models (Ollama, vLLM, LM Studio) have no API fees but only make sense if you already own the hardware to run them โ€” see the hardware note below.

What Mac do I need? macOS 26.4.1. Apple Silicon required. For cloud providers, any modern Mac works fine. For self-hosted local models (Ollama, vLLM, LM Studio): a 7B model fits in 16GB unified memory, a 13B model in 24GB, a 30B model needs 64GB+ (M2/M3/M4 Ultra Mac Studio territory). Apple Intelligence (the on-device mediator for triage / accessibility intent / token compression) needs an Apple Silicon Mac with Apple Intelligence enabled in System Settings.

How is this different from Siri? Siri answers questions. Agent! performs actions -- controls apps, manages files, builds code, automates workflows.


Documentation


Built-in Xcode Tools

Agent! includes native Xcode integration that works without any MCP server setup. These built-in tools are often faster and more reliable than the MCP alternative since they run directly inside the app.

Tool What It Does
xcode build Build the current Xcode project, capture errors and warnings. Errors in the activity log are clickable and open directly in Xcode.
xcode run Build and run the app
xcode list_projects Discover open Xcode workspaces and projects
xcode select_project Switch the active project
xcode grant_permission Grant file access to the Xcode project folder
xcode get_version Read the current marketing version and build number from the Xcode project
xcode bump_version Bump the marketing version (major, minor, or patch), update the build number, build to verify, and auto-commit
xcode bump_build Increment only the build number

Just say "bump version" and Agent! reads the current version, asks major/minor/patch, updates Info.plist and project settings, builds to verify, and commits the change. No manual plist editing, no missed build numbers.

The AI automatically uses these when you ask it to build, fix errors, or work with Xcode projects. No configuration needed -- just have your project open in Xcode.

๐Ÿš€ iOS/iPadOS Support: Coming soon! Native support for building, running, and testing iOS and iPadOS apps directly from Agent! is in development.

Tip: For most coding workflows, the built-in tools are all you need. The MCP Xcode server below adds extras like SwiftUI Preview rendering and documentation search.


Screenshot 2026-04-02 at 12 00 03โ€ฏPM

Two ways to talk to Agent! โ€” voice and iMessage

Both features use the same wake word: "Agent!" (case-insensitive โ€” Agent!, agent!, AGENT!, even just Agent or agent all work).

๐ŸŽค Voice (dictation hotword)

Click the microphone in the input bar and start the hotword session, then speak. Agent! transcribes in real time using SFSpeechRecognizer and listens for the word "agent" as a complete word (not as a substring of "intelligent" or "management"). Anything you say after "agent" becomes the task. After ~2.5 seconds of silence, the task auto-runs.

Examples:

  • "Agent, what song is playing?"
  • "Agent take a screenshot of Safari"
  • "Agent build the Xcode project"

The hotword session loops automatically โ€” after one task completes, it goes back to listening. Click the mic again to stop.

๐Ÿ“ฑ iMessage (remote control)

Text your Mac from your iPhone. Agent! polls ~/Library/Messages/chat.db every 5 seconds for new messages and reacts to anything starting with Agent! (case-insensitive, exclamation mark optional).

Examples:

Agent! What song is playing?
agent! check my email
AGENT! next song
Agent  open Safari

Agent! sends an immediate "Working on it..." acknowledgment, runs the task on a dedicated Messages tab using your main tab's LLM config, and then texts the result back to you.

Setup (one-time):

  1. Grant Full Disk Access โ€” System Settings โ†’ Privacy & Security โ†’ Full Disk Access โ†’ enable Agent! (required to read chat.db directly via SQLite)
  2. Open the Messages Monitor โ€” toolbar button #2 (chat bubble icon, turns green when on)
  3. Approve a sender โ€” once a message arrives from a new contact, that contact appears in the recipients list. Toggle them on to approve.

Only approved senders can run tasks. Unapproved messages are logged but ignored. Your reply is sent back via AppleScript to the same handle that sent the command, capped at 4000 characters.

Outgoing replies have any leading "Agent!" stripped so the receiving Mac doesn't trigger its own command loop.


Agent! supports MCP servers for extended capabilities. Configure in Settings โ†’ MCP Servers.

Xcode MCP Server

Connect Agent! directly to Xcode for project-aware operations:

{
  "mcpServers" : {
    "xcode" : {
      "command" : "xcrun",
      "args" : [
        "mcpbridge"
      ],
      "transport" : "stdio"
    }
  }
}

Xcode MCP provides:

  • Project-aware file operations (read/write/edit/delete)
  • Build and test integration
  • SwiftUI Preview rendering
  • Code snippet execution
  • Apple Developer Documentation search
  • Real-time issue tracking

License

MIT - free and open source.


Agent! for macOS 26.4.1 - Agentic AI for your ๏ฃฟ Mac Desktop

Note: Claude refers to the Anthropic AI model integrated into Agent! for LLM functionality. It is not a human contributor Agent!


Agent! vs Claude Code โ€” Architectural Comparison

Agent! is a 100% original pure Swift macOS application. It is not a port, fork, or derivative of any other project.

Claude Code Agent!
Language TypeScript/JavaScript Pure Swift 6.2
UI Framework Ink (terminal React) SwiftUI (native macOS)
Platform CLI โ€” Linux, macOS, Windows Native macOS 26.4.1 only
Runtime Node.js/Bun Native compiled binary
Architecture Terminal REPL with streaming Desktop app with XPC daemons
Accessibility None (CLI) Full macOS AX via AXorcist (25 top-level actions, 30+ AX subtypes via perform_action)
AppleScript None Full NSAppleScript + JXA in-process with TCC
Xcode Integration Via Bash (xcodebuild) Native (build/run/analyze/snippet/add_file/bump_version/code_review โ€” 13 actions)
Apple Intelligence None FoundationModels on-device โ€” runs as a real Tool-calling agent for accessibility intent (e.g. "take a photo using Photo Booth" parsed and dispatched locally), task summaries, error explanations, and Tier 1 token compression. Falls through to the cloud LLM only on failure
ScriptingBridge None Full SDEF + 51 event bridges (Finder, Mail, Music, Safari, Calendar, etc.)
Vision Image input via API Image input via API
Auto-screenshots None (no UI) Opt-in auto-verification after UI actions (default OFF โ€” see visionAutoScreenshotEnabled)
iMessage None Remote agent via Messages (Full Disk Access required for chat.db)
Voice None Hotword-anchored dictation via SFSpeechRecognizer
CRT effect None Optional SwiftUI Canvas scanline overlay (toggle via HUD button)
Privilege Model User sandbox XPC Launch Agent (user) + Launch Daemon (root)
Sub-agents Task tool (publicly documented; implementation details not stated by Anthropic) Up to 3 concurrent isolated agents with mailbox messaging
MCP Node.js stdio/SSE Swift AgentMCP package
Scripts None Swift dylib compilation at runtime, dlopen'd in-process with full TCC
Prompt caching Anthropic cache_control ephemeral Anthropic cache_control ephemeral + automatic prefix-cache hit tracking for OpenAI/Z.ai/Grok/Mistral/Gemini/Qwen/DeepSeek; Ollama keep_alive: 30m
Context compaction Cloud Claude (paid tokens; conversation re-sent to Anthropic) Tiered: Tier 1 = on-device Apple Intelligence summarization (free, private, no API tokens). Tier 2 = aggressive prune if Apple AI unavailable. Triggers at 30K est. tokens, summaries memoized, 3-failure circuit breaker

โš ๏ธ Legal Notice & Attribution

Trademark Notice

"๐Ÿฆพ Agent! for macOS26" is an independent software project and is not affiliated with, endorsed by, sponsored by, or otherwise associated with Apple Inc. "Apple," "Mac," "Mac mini," "MacBook," "macOS," and related marks are trademarks of Apple Inc., registered in the U.S. and other countries. All other trademarks, service marks, and trade names referenced herein are the property of their respective owners and are used for identification purposes only.

"๐Ÿฆพ Agent!" and the ๐Ÿฆพ Agent! logo are trademarks of Todd Bruss. Use of these marks requires prior written permission. The MIT license below grants rights to the source code only โ€” it does not grant any trademark rights.

Source Code License (MIT)

The source code of "๐Ÿฆพ Agent! for macOS26" is open source and licensed under the MIT License. You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the source code, subject to the conditions in the LICENSE file (retain copyright notice and the MIT permission notice in all copies or substantial portions of the software).

Compiled Binaries & Releases

Compiled binaries, installers, code-signed builds, and release artifacts distributed through this project's GitHub Releases, agent.macOS26.app, or any other official channel are the copyrighted work of Todd Bruss and are not covered by the MIT license that governs the source code. All rights to the official binaries โ€” including the "๐Ÿฆพ Agent!" name, logo, code-signing identity, and Developer ID โ€” are reserved.

Copyright ยฉ 2000, 2023โ€“2026 Todd Bruss, All Rights Reserved.

You are welcome to build your own binaries from source under the MIT license, provided you do not use the "๐Ÿฆพ Agent!" name, logo, or branding to identify your product.

Warranty Disclaimer

This software is provided "AS IS," without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the author or copyright holder be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.


Thank you for your interest in ๐Ÿฆพ Agent! โ€” an application crafted for Mac mini, MacBook, and Mac desktop computers running macOS 26.4 or later on genuine Mac hardware and software.

Sincerely, Todd Bruss Creator and Founder, ๐Ÿฆพ Agent! for macOS26.4.1 https://agent.macOS26.app https://github.com/macos26/agent