đŠŸ AgentiLoop Agent!
September 21, 2026 · View on GitHub
Volle Offenheit: Ich benutze Cursor und Claude Code nicht mehr. Agent! von AgentiLoop hat diese Coding-Tools nicht nur ersetzt â ich nutze es, um E-Mails zu automatisieren, Software zu deployen, mit uÌber 12 Suchmaschinen in Safari im Web zu suchen und Websites zu bauen, die sich selbst aktualisieren. Agent! ist zum leistungsstaÌrksten agentischen KI-Tool fuÌr macOS 26 und 27 geworden.
Agentische KI fĂŒr deinen Mac-Desktop
Agent! steuert Photo Booth uÌber die Bedienungshilfen â keine Klicks, keine Skripte, nur âmach ein Fotoâ.
README-Ăbersetzungen
- English
- Español
- Français
- Deutsch
- äžæ (çźäœ)
- Đ ŃŃŃĐșĐžĐč
- áá Ąá«áá źášáá „
- æ„æŹèȘ
Schach in Agent
Was ist Agent!?
Eine App. Jede KI. Volle Kontrolle ĂŒber deinen Mac.
Agent! ist eine zu 100 % native Swift-6.2-/SwiftUI-App, die 21 LLM-Anbieter â Claude, Codex, OpenAI, Gemini, Grok, Mistral, Mistral Vibe, DeepSeek, Hugging Face, Z.ai, BigModel, Alibaba DashScope, Qwen, Qwen Code, MiniMax, OpenRouter, Requesty, A2Agent, OrcaRouter, Ollama (Cloud und lokal), vLLM und LM Studio â plus die geraÌteinterne Apple Intelligence â mit einer autonomen Aufgabenschleife verbindet, die wirklich etwas tut: Sie liest deinen Code, behebt den Fehler, baut das Xcode-Projekt, committet den Diff, steuert jede Mac-App ĂŒber die Accessibility-API, fĂŒhrt Shell-Befehle als du oder als root aus, schickt dir Ergebnisse per iMessage und reagiert auf ein gesprochenes âAgent!".
Kein NPM, kein Electron, kein Abo, keine Telemetrie. Bring deinen eigenen API-SchlĂŒssel mit, lauf komplett lokal oder kostenlos mit Apple Intelligence. Jedes Swift-Paket, von dem die App abhĂ€ngt, wurde vom selben Autor geschrieben. Siehe Entstehungsgeschichte unten.
Was ist neu đ
v1.1.x â Das Hardened-Harness-Release · Releases â
- Kontext-Kompaktierung, neu gebaut. Schwellwert = Modellfenster â reservierte Ausgabe â Puffer, gesteuert durch echte
input_tokens. Eine anbieterseitige 9-Abschnitte-LLM-Zusammenfassung ersetzt die gerĂ€teinternen 4K-Zusammenfassungen; offenes Ziel, Plan-Checkliste und bearbeitete Dateien werden nach jeder Kompaktierung wieder angehĂ€ngt. ĂbergroĂe Tool-Ergebnisse werden beim Entstehen auf die Festplatte ausgelagert und sind ĂŒberrestore_tool_resultwiederherstellbar. 413-ĂberlĂ€ufe laufen durch erzwungene Kompaktierung mit kĂŒrzerem Retry;max_tokens-Ăberschreitungen erholen sich durch Eskalation und anschlieĂendes Fortsetzen. - Read-before-edit-Gate.
edit_file/apply_diff/diff_applyverweigern Ănderungen an Dateien, die das LLM in dieser Aufgabe nicht gelesen hat oder die sich seit dem letzten Lesen auf der Festplatte geĂ€ndert haben (SHA-256). Die Verweigerung liest die Datei automatisch, sodass der nĂ€chste Aufruf die Bearbeitung ist. Externe DateiĂ€nderungen werden in jedem Zug als Diff-Snippets angezeigt. - Echte Kontextfenster fĂŒr lokale Modelle. LM Studio, Ollama und vLLM melden ihre tatsĂ€chliche KontextlĂ€nge pro Modell â keine fest kodierte 32K-Annahme mehr.
- Schnellere ZĂŒge. Nur-Lese-Tools starten, wĂ€hrend die Claude-Antwort noch streamt; eingabebewusste Shell-ParallelitĂ€t; gejitterter exponentieller Retry mit
Retry-Afterbei 429/529; Fehler mitten im SSE-Stream werden bei jedem Anbieter sichtbar. - Defense-in-Depth.
ShellSafetyServicewird jetzt sowohl daemon-seitig (AgentHelper + AgentUser) als auch client-seitig durchgesetzt; Release-Builds lehnen XPC-Clients ohne Team ab; beide XPC-Listener verlangen Code-Signing mit demselben Team, abgeleitet aus der eigenen Signatur der App. - AktivitĂ€tsprotokoll. Keine 50K-KĂŒrzung und kein 500K-Trimmen beim Neustart mehr â groĂe Logs werden abseits des Main-Threads mit einem âProcessing tab dataâŠ"-Overlay gerendert; optionales Layout âActivity Log Below HUD".
- App-MenĂŒ: Nach Updates suchen⊠(GitHub-Releases), Website, GitHub. CI-Build-&-Test-Workflow bei jedem PR; 273 bestandene Tests.
- AuĂerdem:
goal_statemit evidenzgeprĂŒften Kriterien, optionale Kritiker-Diff-PrĂŒfung vor Abschluss, aufgabenbezogenesrewind_task, Extended Thinking fĂŒr Claude,reasoning_effort-Durchreichung, Sub-Agenten mit Modell-Override pro Agent (3 parallel, 6 nur lesend), typisierte Tool-Fehler mit Wiederherstellungshinweisen, Event-Hooks.
Schnellstart (Download)
- Lade Agent! herunter und ziehe es in âProgramme" â oder mit Homebrew:
brew update && brew install --cask agentiloop-agent - Ăffne Agent! â es richtet alles automatisch ein
- WĂ€hle deine KI â Einstellungen â Anbieter wĂ€hlen â API-SchlĂŒssel eingeben
â Du musst nie aus dem Quellcode kompilieren. Jedes Release und jedes Pre-Release enthĂ€lt eine vorkompilierte Mac-Binary (
.dmg+.zip), die von CI gebaut und von Apple signiert, notarisiert und gestapelt ist (AgentiLoop Team ID). Weil die offiziellen Binaries eine echte Developer ID tragen, registrieren sich Launch Agent und Launch Daemon immer und gehen nie âverlorenâ â das passiert nur bei ad-hoc signierten Quellcode-Builds (siehe Option B unten). Sind deine Helfer verschwunden, installiere einfach die neueste Release-Binary.
Schnellstart (Aus dem Quellcode bauen)
Nur nötig, wenn du an Agent! selbst arbeiten willst. Alle anderen: nutzt die signierte Binary oben.
git clone https://github.com/AgentiLoop/agent.git
cd Agent
Option A â Xcode (Apple-Developer-Konto): Agent.xcodeproj öffnen, dein Development Team setzen, Target Agent bauen & starten, den Helper bei Aufforderung genehmigen.
Option B â ohne Developer-Konto (nur Xcode Command Line Tools):
./build.sh # Debug
./build.sh Release # Release
open "build/DerivedData/Build/Products/Debug/Agent!.app"
â ïž Option-B-Builds sind ad-hoc signiert. Die Launch-Agent-/Daemon-Helper registrieren sich nicht (SMAppService braucht eine Team ID), aber LLM-Schleife, alle Tools, Accessibility, AppleScript, Shell und MCP funktionieren trotzdem.
đĄ GĂŒnstiges Setup: GLM-5.3 ĂŒber Z.ai (schnellste Anmeldung, Standardmodell) kostet nur Cents pro Million Tokens. Lokal? Nur GLM-4.7-Turbo (32B) passt auf Consumer-Hardware (64â128 GB Apple Silicon ĂŒber Ollama).
Fehlerbehebung (Aus dem Quellcode bauen)
xcode-selectzeigt auf die Command Line Tools âsudo xcode-select -s /Applications/Xcode.app/Contents/Developer- Seltsames
BUILD FAILEDnach dem Pull â veraltete DerivedData:./build.sh clean && ./build.sh - Helper registrieren sich nie â bei Option B erwartet; fĂŒr die Helper Option A verwenden
- Fehler bei Deployment Target / SDK â Agent! zielt auf macOS 26; macOS und Xcode aktualisieren
- Konfigurationsargument ist case-sensitiv â
./build.sh(Debug) oder./build.sh Release
Was kann es?
âBaue das Xcode-Projekt und behebe alle Fehler" · âSpiel meine Workout-Playlist in Musik" · âMach ein Foto mit Photo Booth" · âSchick Mama eine iMessage, dass ich um 6 zu Hause bin" · âĂffne Safari und such nach FlĂŒgen nach Tokio" · âTeile diese Klasse in kleinere Dateien auf" · âWelche Kalendertermine habe ich heute?"
Tipp einfach, was du willst. Agent! findet heraus wie und setzt es um.
Hauptfunktionen
- đ§ SelbstprĂŒfende Aufgabenschleife â denkt, fĂŒhrt aus, beobachtet Ergebnisse, korrigiert sich selbst. Eine Aufgabe kann sich nicht als erledigt erklĂ€ren, bis die
goal_state-Kriterien mit Beweisen markiert sind; ein optionaler Kritiker prĂŒft zuerst den Diff. - đ Agentisches Coding â liest Codebasen, bearbeitet mit String-Replace-Diffs, baut Xcode-Projekte nativ (klickbare Fehler), verwaltet Git, indiziert Repos in eine portable JSONL-Repo-Map. Jede Ănderung wird gesichert â Ein-Klick-Rollback oder
rewind_taskfĂŒr die ganze Aufgabe. - đ„ Desktop-Automatisierung â steuert jede Mac-App ĂŒber die Accessibility-API (AXorcist), elementbasiert mit unscharfem Auto-Retry. Dazu NSAppleScript, JXA und 51 ScriptingBridge-App-Bridges, alle in-process mit TCC.
- đ AgentScript â Swift-Dylibs, zur Laufzeit kompiliert und per
dlopenin-process mit vollem TCC geladen. Gelöschte Skripte landen im.Trashund sind wiederherstellbar. - đĄ Privilegierte AusfĂŒhrung â Shell als du ĂŒber einen Launch Agent oder als root ĂŒber einen Launch Daemon, den du genau einmal genehmigst (SMAppService + XPC). Siehe docs/SECURITY.md, warum SMAppService die SignaturidentitĂ€t bereits durchsetzt.
- đ Sprache â sag âAgent!" gefolgt von deiner Aufgabe; gerĂ€teinterner
SFSpeechRecognizer, startet automatisch nach ~2,5 s Stille, lĂ€uft in Schleife. - đ± iMessage-Fernsteuerung â schreib
Agent! next songvon deinem iPhone; nur genehmigte Absender. Braucht Vollzugriff auf die Festplatte fĂŒrchat.db. - đ Web â eingebaute Safari-Automatisierung (JavaScript + AppleScript); optional Selenium und Playwright MCP fĂŒr mehrere Browser.
- đ€ Sub-Agenten â bis zu 3 parallel (6 nur lesend) isolierte Agenten mit Mailbox-Messaging und Modell-Override pro Agent.
- đ§© MCP â beliebige MCP-Server unter Einstellungen â MCP-Server hinzufĂŒgen; Tools erscheinen als
mcp_<server>_<tool>. Xcode MCP:{"mcpServers":{"xcode":{"command":"xcrun","args":["mcpbridge"],"transport":"stdio"}}}. - đ Tabs, Verlauf, GedĂ€chtnis, PlĂ€ne, Skills â jeder Tab hat eigenen Projektordner und eigenes Log; persistentes NutzergedĂ€chtnis; Multi-Plan-Checklisten in jedem Prompt.
- đ Fallback-Kette â automatischer Wechsel zum nĂ€chsten konfigurierten Anbieter bei 429/Timeout/Netzwerkfehler.
đ€ 21 KI-Anbieter
| Anbieter | Kosten | Am besten fĂŒr |
|---|---|---|
| A2Agent | GĂŒnstig | DeepSeek, GLM, Kimi, MiniMax und Qwen mit einem OpenAI-kompatiblen SchlĂŒssel zu einem Bruchteil der offiziellen Preise |
| Apple Intelligence | Kostenlos, auf dem GerĂ€t | Triage, Zusammenfassungen, Token-Kompression (Gehirn-Symbol, nicht in der Anbieterauswahl verfĂŒgbar) |
| Claude | Pro Token (API-Key) oder Abo (OAuth) | Lange autonome Aufgaben, Extended Thinking, Prompt-Caching |
| Codex | ChatGPT-Abo | OpenAI-Modelle ĂŒber ChatGPT-OAuth â kein API-Key, keine Token-Kosten |
| DeepSeek | GĂŒnstig | Budget-Coding, Cache-Hit-Reporting |
| Google Gemini | Kostenpflichtig (Free Tier) | Langer Kontext, Vision |
| Grok (xAI) | Kostenpflichtig | Echtzeit-Informationen |
| Hugging Face | Variabel | Offene Modelle, serverless oder dedizierte Endpunkte |
| Lokales Ollama / vLLM / LM Studio | Kostenlos + Hardware | Komplett offline; echtes Kontextfenster pro Modell wird erkannt |
| MiniMax | GĂŒnstig | 1M-Token-Kontext |
| Mistral / Mistral Vibe | Kostenpflichtig | Open-Weight-Cloud, Code, Agent-Produkt |
| Ollama (Cloud) | Free Tier | Gehostete offene Modelle |
| OpenAI | Kostenpflichtig | Allzweck, Tool-Calling, Vision, reasoning_effort |
| OpenRouter | Kostenpflichtig | 200+ Modelle, ein SchlĂŒssel; Claude ĂŒber Anthropic-Protokoll |
| OrcaRouter | Kostenpflichtig | 190+ Modelle mit einem OpenAI-kompatiblen SchlĂŒssel zum Anbieterpreis; Auto-/Fusion-/Fallback-Routing |
| Alibaba DashScope (Model Studio / QwenCloud Pay-as-you-go) | GĂŒnstig | Qwen 3.8 ĂŒber DashScope |
| Qwen (qwen.ai Token Plan) | Abo | QwenCloud Token Plan (sk-sp--SchlĂŒssel): qwen3.8-max, qwen3.7-plus, GLM-5.2, DeepSeek V4 |
| Qwen Code | Abo | Alibaba Coding Plan (sk-sp--SchlĂŒssel): qwen3-coder-plus, qwen3.7-plus, GLM-5, Kimi K2.5, MiniMax-M2.5 |
| Requesty | Kostenpflichtig | 300+ Modelle mit einem OpenAI-kompatiblen SchlĂŒssel; Preise und FĂ€higkeiten pro Modell |
| Z.ai / BigModel | GĂŒnstig | GLM-5.3 â empfohlener Einstieg |
đĄ Selbst gehostete Anbieter sind nur im Sinne der API-GebĂŒhren kostenlos â ein brauchbares 30B+-Modell braucht einen M2/M3/M4 Ultra Mac Studio (64â128 GB). Ohne diese Hardware sind die gĂŒnstigen Cloud-Wege oben deutlich billiger.
Tools
Die kanonischen Namen stammen aus AgentTools.Name.* (Quelle: das AgentTools-Paket). Pro Anbieter lassen sich einzelne Tools ausblenden.
| Gruppe | Tools |
|---|---|
| Core | done · list_tools · search · web_search · fetch · chat · memory · plan · goal_state · restore_tool_result · directory · skill · ask_user · index |
| Code / Build | file (read/write/edit/diff_apply/undo/list/search/mkdir/âŠ) · git · xcode (build/run/analyze/snippet/code_review/add_file/bump_version/âŠ) · agent_script |
| Shell | user_shell (Launch Agent) · root_shell (Launch Daemon) · shell (In-Process-Fallback) · batch · multi |
| macOS-Automatisierung | accessibility (25 elementbasierte Aktionen) · applescript (mit lookup_sdef) · javascript (JXA) |
| Web | safari · selenium · mcp_playwright_browser_* (optional) |
| Sub-Agenten | spawn_agent · tell_agent |
VollstÀndige Referenz pro Aktion: docs/TECHNICAL.md.
AgentScript â Swift-Skripte mit vollem TCC
AgentScripts sind einfache Swift-Dateien in ~/Documents/AgentScript/agents/Sources/Scripts/. Agent! kompiliert jede davon per SwiftPM zu einer .dylib (Package.swift listet jedes Skript plus die 51 ScriptingBridge-App-Bridges) und lĂ€dt sie per dlopen mit Agent!s eigenen TCC-Freigaben â Bedienungshilfen, Automation, Kalender, Kontakte, Mail, Fotos usw. Das LLM verwaltet sie ĂŒber agent_script (create / edit / run / delete / restore / pull); ~35 Beispiele liegen im Ordner (Hello, TodayEvents, NowPlaying, CheckMail, CreateDmg, ArchiveXcode, âŠ).
Einstiegspunkt â kein Top-Level-Code, kein exit(); stdout geht zurĂŒck ans LLM, der RĂŒckgabewert ist der Exit-Status:
import Foundation
import CalendarBridge // jedes `import XBridge` wird automatisch verdrahtet â keine Package.swift-Ănderung nötig
@_cdecl("script_main")
public func scriptMain() -> Int32 {
print("Hello from AgentScript! đ")
return 0
}
Umgebungsvariablen â wie sie GESETZT werden. Das LLM fasst die Umgebung nie selbst an. Es ruft das Tool auf, und Agent!s ScriptService exportiert die Variablen in den Prozess des Skripts (env["AGENT_PROJECT_FOLDER"] = cwd, env["AGENT_SCRIPT_ARGS"] = arguments in ScriptService+Execution.swift; setenv(...) fĂŒr die In-Process-Variante). Dieselben zwei Variablen werden in jeden user_shell- / root_shell- / shell-Befehl exportiert.
LLM-Tool-Aufruf Was Agent! ins Skript exportiert
âââââââââââââââââââââââââââââââââââââââââââââââââââââ âââââââââââââââââââââââââââââââââââââââââââââ
agent_script(action:"run", name:"TodayEvents") AGENT_PROJECT_FOLDER=/Users/du/Documents/GitHub/Agent
(AGENT_SCRIPT_ARGS ist NICHT gesetzt)
agent_script(action:"run", name:"TodayEvents", AGENT_PROJECT_FOLDER=/Users/du/Documents/GitHub/Agent
arguments:"days=3,location=false,json=true") AGENT_SCRIPT_ARGS="days=3,location=false,json=true"
| Variable | Wann gesetzt | Bedeutung |
|---|---|---|
AGENT_PROJECT_FOLDER | Immer | Der Projektordner des aktiven Tabs (oder $HOME, falls keiner). Auch das cwd des Runners wird darauf gesetzt. |
AGENT_SCRIPT_ARGS | Nur wenn das LLM arguments:"âŠ" ĂŒbergibt | Genau der String, den das LLM ĂŒbergeben hat. Die Beispiele nutzen die Konvention key=value,key=value. |
Umgebungsvariablen â wie sie EINGELESEN werden. Im Skript kommen beide aus ProcessInfo.processInfo.environment. Das ist exakt das Parsing-Muster aus Hello.swift / TodayEvents.swift:
import Foundation
@_cdecl("script_main")
public func scriptMain() -> Int32 {
let env = ProcessInfo.processInfo.environment
// 1. Projektordner â immer vorhanden; zur Sicherheit auf cwd zurĂŒckfallen
let folder = env["AGENT_PROJECT_FOLDER"] ?? FileManager.default.currentDirectoryPath
// 2. Argumente â fehlen, sofern das LLM nicht `arguments:"âŠ"` ĂŒbergeben hat
let argsString = env["AGENT_SCRIPT_ARGS"] ?? ""
// 3. Standardwerte, dann "key=value,key=value" parsen
var daysAhead = 0
var showLocation = true
var outputJSON = false
for pair in argsString.split(separator: ",") {
let parts = pair.split(separator: "=", maxSplits: 1).map { \$0.trimmingCharacters(in: .whitespaces) }
guard parts.count == 2 else { continue }
switch parts[0] {
case "days": daysAhead = Int(parts[1]) ?? 0
case "location": showLocation = parts[1].lowercased() == "true"
case "json": outputJSON = parts[1].lowercased() == "true"
default: break
}
}
print("Projektordner: \(folder)")
print("days=\(daysAhead) location=\(showLocation) json=\(outputJSON)")
return 0
}
Beide Variablen sind unabhĂ€ngig â den Projektordner nie aus AGENT_SCRIPT_ARGS herauslesen. Bash-Ăquivalent in user_shell: ls "$AGENT_PROJECT_FOLDER/Sources" (cwd ist bereits dort, kein cd nötig).
Echte AGENT_SCRIPT_ARGS-Konventionen aus den mitgelieferten Skripten (~/Documents/AgentScript/agents/Sources/Scripts/):
| Skript | arguments:, die das LLM ĂŒbergibt | Stil |
|---|---|---|
TodayEvents | days=3,location=false,json=true | key=value,⊠|
CheckMail | unreadOnly=true,inboxCount=true,json=true | key=value,⊠|
ListReminders | completed=false,limit=5 | key=value,⊠|
QuitApps | excluded=Xcode,Agent,Terminal | key=value mit Liste |
NowPlaying | json=true,artwork=true | key=value,⊠|
ArchiveXcode | /path/to/Project.xcodeproj MyScheme 469UCUB275 | positionsbasiert, leerzeichengetrennt (Scheme/Team-ID werden automatisch erkannt, wenn weggelassen) |
CreateDmg | --app /path/to/App.app --output /path/out.dmg --name "My App" --compress | Flag-Stil, leerzeichengetrennt, AnfĂŒhrungszeichen werden beachtet |
JSON-Eingabe / -Ausgabe â ein SEPARATER Mechanismus, unabhĂ€ngig von den Umgebungsvariablen. Umgebungsvariablen werden von Agent! in den Prozess exportiert; JSON-Dateien sind einfache Dateien auf der Festplatte, die das Skript selbst mit FileManager / JSONSerialization liest und schreibt. Agent! erzeugt, ĂŒbergibt oder parst sie nicht. Zwei echte Muster aus den mitgelieferten Skripten:
1. Nur JSON-Eingabe (SendMessage) â gar keine Env-Argumente; das Skript verlangt SendMessage_input.json und gibt 1 zurĂŒck, wenn sie fehlt:
// ~/Documents/AgentScript/json/SendMessage_input.json (vom LLM per file(action:"write") vor dem Lauf geschrieben)
{ "recipient": "Mama", "message": "Um 6 zu Hause", "imagePath": "~/Pictures/Photos Library.photoslibrary/originals/A/IMG_0001.jpeg" }
// ~/Documents/AgentScript/json/SendMessage_output.json (vom Skript geschrieben)
{ "success": true, "timestamp": "2026-09-03T21:14:02Z", "recipient": "Mama", "message": "Um 6 zu Hause" }
// bei Fehler: { "success": false, "timestamp": "âŠ", "error": "Missing required field: recipient" }
// SendMessage.swift â so liest das Skript die Datei
let inputPath = "\(NSHomeDirectory())/Documents/AgentScript/json/SendMessage_input.json"
guard let inputData = FileManager.default.contents(atPath: inputPath) else {
writeOutput(outputPath, success: false, error: "Input file not found: \(inputPath)"); return 1
}
guard let json = try? JSONSerialization.jsonObject(with: inputData) as? [String: Any],
let recipientHandle = json["recipient"] as? String else { /* ⊠*/ return 1 }
let message = json["message"] as? String
let imagePath = json["imagePath"] as? String
2. Env-Argumente fĂŒr Optionen, JSON fĂŒr strukturierte Ausgabe (TodayEvents, NowPlaying, CheckMail, ListReminders) â Optionen kommen aus AGENT_SCRIPT_ARGS (oder der optionalen <Name>_input.json); bei json=true schreibt das Skript <Name>_output.json zusĂ€tzlich zur lesbaren stdout-Ausgabe, die ans LLM zurĂŒckgeht:
// agent_script(action:"run", name:"TodayEvents", arguments:"days=3,json=true")
// â ~/Documents/AgentScript/json/TodayEvents_output.json
{ "success": true, "timestamp": "âŠ", "count": 2,
"events": [ { "summary": "Standup", "calendar": "Work", "startTime": "âŠ", "endTime": "âŠ", "allDay": false, "location": "âŠ" }, ⊠] }
// agent_script(action:"run", name:"NowPlaying", arguments:"json=true,artwork=true")
// â ~/Documents/AgentScript/json/NowPlaying_output.json
{ "success": true, "playerState": "playing",
"track": { "name": "âŠ", "artist": "âŠ", "album": "âŠ", "duration": 240 },
"artwork": { "saved": true, "path": "~/Documents/AgentScript/images/âŠ.png", "width": 500, "height": 500 } }
// TodayEvents.swift â so schreibt das Skript die Datei
func writeTodayEventsOutput(_ path: String, success: Bool, error: String? = nil,
events: [[String: Any]]? = nil, count: Int? = nil, outputJSON: Bool) {
guard outputJSON else { return }
var result: [String: Any] = ["success": success, "timestamp": ISO8601DateFormatter().string(from: Date())]
if !success, let error { result["error"] = error }
if success { if let events { result["events"] = events }; if let count { result["count"] = count } }
try? FileManager.default.createDirectory(atPath: (path as NSString).deletingLastPathComponent, withIntermediateDirectories: true)
if let out = try? JSONSerialization.data(withJSONObject: result, options: .prettyPrinted) {
try? out.write(to: URL(fileURLWithPath: path))
}
}
Gelöschte Skripte landen in ~/Documents/AgentScript/agents/.Trash/ (agent_script(action:"restore")); action:"pull" holt die Upstream-Version aus dem AgentScripts-Repo.
đ Jev â eine zweite Meinung vor Shell-Befehlen
Jev (TypeSafe System One) ist eine optionale Entscheidungsschicht, die Shell-Befehle prĂŒft, bevor Agent! sie ausfĂŒhrt. Sie ergĂ€nzt den von dir gewĂ€hlten LLM-Anbieter â sie ersetzt ihn nie.
- Was sie tut. Jeder Befehl, der die fest verdrahteten Regeln von
ShellSafetyServicebereits passiert hat, geht an Jev, das bewertet, wie wahrscheinlich er Daten unwiderruflich zerstört. Oberhalb deiner Schwelle wird der Befehl mit Prozentwert und Befehlstext abgelehnt; darunter lÀuft er. - Wo sie greift. Auf allen Shell-Pfaden: die In-Process-Shell, der Benutzer-Launch-Agent (
user_shell) und der privilegierte Launch Daemon (root_shell). - Einstellbare Schwelle. Einstellungen â LLM Common Settings â Reject at ⊠% destructive, 0â100 % in 10-%-Schritten. Standard: 70 %.
- Bewusst fail-open. Ohne API-SchlĂŒssel, bei ausgeschaltetem Schalter Consult Jev before tools oder bei einer TypeSafe-Störung gilt âkeine Meinungâ: Der Befehl lĂ€uft weiter und der Fehler wird protokolliert, nie stillschweigend als sicheres Urteil ausgegeben. Wird eine Aufgabe wĂ€hrend einer Jev-PrĂŒfung abgebrochen, startet der Befehl nicht.
- Sichtbar. Jede PrĂŒfung protokolliert den Zerstörungsrisiko-Prozentwert, das Urteil erlaubt/abgelehnt, das antwortende Modell sowie Ein-/Ausgabe-Tokens.
- Konfiguration. API-SchlĂŒssel (im SchlĂŒsselbund gespeichert), Modellauswahl mit Katalog-Aktualisierung und der Beratungsschalter liegen in LLM Common Settings. Der Client steckt im mitgelieferten Swift-Paket
TypeSafeKit/TypeSafeMiddleware.
Datenschutz & Sicherheit
Deine Dateien, Bildschirminhalte und persönlichen Daten verlassen deinen Mac nie â Cloud-Anbieter sehen nur den Prompt-Text; lokale Anbieter halten alles offline. Jede Aktion wird protokolliert.
| Schicht | Was sie tut |
|---|---|
| Shell Safety Service | Blockiert rm -rf /, rm -rf ~, rm -rf mit nacktem Glob, --no-preserve-root hart â client-seitig und daemon-seitig durchgesetzt. Vom LLM nicht umgehbar. |
| XPC-Client-Vertrauen | Beide Listener verlangen Code-Signing mit demselben Team, abgeleitet aus der eigenen Signatur der App; Release-Builds lehnen Clients ohne Team ab. |
| Read-before-edit-Gate | Ănderungen an ungelesenen oder extern geĂ€nderten Dateien werden verweigert (SHA-256), mit Auto-Read bei Verweigerung. |
| Datei-Backups + Rewind | Jede Ănderung gesichert (1 Woche TTL); Rollback-UI, file(action:"undo") oder aufgabenbezogenes rewind_task. |
| TCC-In-Process-Routing | AppleScript-/JXA-/screencapture-/Accessibility-Befehle laufen in-process, wo Agent! die TCC-Freigaben hĂ€lt, nie ĂŒber die Daemons. |
| Tool-AusfĂŒhrungs-Gating | Das LLM kann keine Ergebnisse erfinden â jeder Aufruf lĂ€uft durch dispatchTool() und liefert echte Ausgaben. Behauptungen wie âich habe geklickt/gesuchtâŠ" ohne Tool bekommen eine Korrektur injiziert. |
| Typisierte Fehler + Guards | Jedes fehlgeschlagene Tool-Ergebnis trÀgt einen Wiederherstellungshinweis; Broken-Record- und Stuck-Guards stupsen an und stoppen dann; Abschluss-Gates begrenzen Verweigerungen auf 3 pro Aufgabe. |
| Konsolen-Audit-Trail | Jeder Tool-Aufruf und jeder Helper-Befehl wird protokolliert. |
TastaturkĂŒrzel & Slash-Befehle
| KĂŒrzel | Aktion |
|---|---|
Return | Aufgabe starten · â . / Esc abbrechen |
â T / â W / â 1â9 / â â§ ââ | Tab neu / schlieĂen / wechseln / vor-zurĂŒck |
â B / â D | LLM-Output-Overlay / Chevrons umschalten |
â F / â L / â V | Log durchsuchen / Log leeren / Bild einfĂŒgen |
â / â | Prompt-Verlauf |
â â§ M / â â§ P | Messages-Monitor / Einstellungen |
â â§ K L H J U | Alles / LLM-Panel / Prompt-Verlauf / Aufgabenverlauf / Token-ZĂ€hler leeren |
Slash-Befehle laufen lokal: /clear [log|all|llm|history|tasks|tokens], /memory [show|clear|edit|<text>].
FAQ
Muss ich programmieren können? Nein â einfaches Deutsch (oder deine Muttersprache). Was kostet es? Die App ist fuÌr nichtkommerzielle und private Nutzung kostenlos (PolyForm Noncommercial 1.0.0). Du bezahlst deinen Anbieter; GLM-5.3 uÌber Z.ai/BigModel oder DeepSeek sind fuÌr ernsthafte Arbeit am guÌnstigsten. Lokale Modelle sind kostenlos, wenn du die Hardware besitzt. Welchen Mac brauche ich? Apple Silicon, macOS 26.4.1+. Jeder moderne Mac fĂŒr Cloud-Anbieter; 64 GB+ fĂŒr lokale 30B-Modelle. Was unterscheidet das von Siri? Siri antwortet. Agent! handelt â Apps, Dateien, Code, System.
Mehr: docs/FAQ.md · Technische Architektur · Vergleiche (vs. Claude Code, Cursor, Cline, OpenClaw) · Sicherheitsmodell
Entstehungsgeschichte
Agent! ist das Ergebnis von drei Jahren Entwicklung agentischer KI-Apps â ANIE, Game Changer, BattleScript, XCF MCP Server and Client, D1F und rund acht originale Swift-Pakete. Das fehlende PuzzlestĂŒck war eine intelligente autonome Schleife; sobald sie erreicht war, floss das Beste dieser Projekte in Agent! zusammen. Es hat Videospiele geschrieben (Boss-Man), Apps erstellt, Gedichte per AppleScript in Pages verfasst, Disk-Images erzeugt und an GitHub-Releases angehĂ€ngt. Wo Claude Code auf ~65 NPM-Pakete von Drittanbietern setzt, ist Agent! zu 100 % nativ, braucht sehr wenig RAM und bringt Xcode-Automatisierung, Swift-Syntax-6.2-Analyse, Accessibility, AppleScript, AgentScript/ScriptingBridge, Safari-Automatisierung und MCP-UnterstĂŒtzung direkt mit.
Mitwirken
Siehe CONTRIBUTING.md â in ~5 Minuten mit ./build.sh aus dem Quellcode bauen, kein Developer-Konto nötig. Pull Requests durchlaufen den CI-Build-&-Test-Workflow. Schau dir die good first issues an.
Lizenz
PolyForm Noncommercial 1.0.0 â kostenlos fuÌr nichtkommerzielle und private Nutzung. Kommerzielle Nutzung und kommerzielle Versionen der Software sind ausschlieĂlich AgentiLoop.ai, einem Unternehmen von Logos InkPen LLC, vorbehalten. FuÌr eine kommerzielle Lizenz kontaktiere AgentiLoop.
â ïž Rechtlicher Hinweis & Zuschreibung
Markenhinweis
âAgentiLoop Agent! for Mac" ist ein unabhĂ€ngiges Softwareprojekt und nicht mit Apple Inc. verbunden, von Apple genehmigt, gesponsert oder anderweitig assoziiert. âApple", âMac", âMac mini", âMacBook", âmacOS" und verwandte Marken sind Marken von Apple Inc., eingetragen in den USA und anderen LĂ€ndern. Alle anderen hier erwĂ€hnten Marken, Dienstleistungsmarken und Handelsnamen sind Eigentum ihrer jeweiligen Inhaber und werden nur zu Identifikationszwecken verwendet.
âAgentiLoop Agent!" und das AgentiLoop-Agent!-Logo sind Marken von AgentiLoop.ai, einem Unternehmen von Logos InkPen LLC. Die Nutzung dieser Marken erfordert vorherige schriftliche Genehmigung. Die untenstehende PolyForm-Noncommercial-Lizenz gewĂ€hrt Rechte nur am Quellcode â sie gewĂ€hrt keine Markenrechte.
Quellcode-Lizenz (PolyForm Noncommercial 1.0.0)
Der Quellcode von âAgentiLoop Agent! for Mac" ist quelloffen einsehbar und unter der PolyForm Noncommercial License 1.0.0 lizenziert. Es steht dir frei, den Quellcode fuÌr jeden nichtkommerziellen Zweck zu nutzen, zu kopieren, zu modifizieren und zu verteilen, vorbehaltlich der Bedingungen in der LICENSE-Datei (Beibehaltung des Required Notice sowie einer Kopie der Lizenzbedingungen oder eines Links darauf). Kommerzielle Nutzung und kommerzielle Versionen der Software sind ausschlieĂlich AgentiLoop.ai, einem Unternehmen von Logos InkPen LLC, vorbehalten.
Kompilierte BinÀrdateien & Releases
Kompilierte BinĂ€rdateien, Installationsprogramme, code-signierte Builds und Release-Artefakte, die ĂŒber die GitHub Releases dieses Projekts, AgentiLoop.ai, oder jeden anderen offiziellen Kanal verteilt werden, sind das urheberrechtlich geschĂŒtzte Werk von AgentiLoop.ai, einem Unternehmen von Logos InkPen LLC und nicht von der PolyForm-Noncommercial-Lizenz abgedeckt, die den Quellcode regelt. Alle Rechte an den offiziellen BinĂ€rdateien â einschlieĂlich des Namens âAgentiLoop Agent!", des Logos, der Code-Signing-IdentitĂ€t und der Developer ID â sind vorbehalten.
Copyright © 2026 AgentiLoop.ai, ein Unternehmen von Logos InkPen LLC. Alle Rechte vorbehalten.
Du bist herzlich eingeladen, deine eigenen BinĂ€rdateien aus dem Quellcode fuÌr nichtkommerzielle Nutzung unter der PolyForm-Noncommercial-Lizenz zu bauen, solange du nicht den Namen âAgentiLoop Agent!", das Logo oder das Branding zur Identifikation deines Produkts verwendest.
GewÀhrleistungsausschluss
Diese Software wird âWIE BESEHEN" bereitgestellt, ohne GewĂ€hrleistung jeglicher Art, weder ausdrĂŒcklich noch stillschweigend, einschlieĂlich, aber nicht beschrĂ€nkt auf die GewĂ€hrleistungen der MarktgĂ€ngigkeit, der Eignung fĂŒr einen bestimmten Zweck und der Nichtverletzung von Rechten Dritter. In keinem Fall haften der Autor oder der Urheberrechtsinhaber fĂŒr AnsprĂŒche, SchĂ€den oder sonstige Haftung, sei es aus einer vertraglichen Handlung, unerlaubter Handlung oder anderweitig, die sich aus der Software oder der Nutzung oder anderen VorgĂ€ngen mit der Software ergeben.
Danke fĂŒr dein Interesse an AgentiLoop Agent! â einer Anwendung, entwickelt fĂŒr Mac-mini-, MacBook- und Mac-Studio-Computer, die macOS 26.4 oder neuer auf originaler Mac-Hardware und -Software ausfĂŒhren.
- Website: https://AgentiLoop.ai
- Github : https://github.com/AgentiLoop/agent