Skip to content

AdelElo13/DockWright-MacOS-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dockwright icon

Dockwright

Your Mac. Your AI. No cloud required.

A native macOS AI assistant that sees your screen, hears your voice,
runs your tools, and remembers what matters — built entirely in Swift.

macOS 14+ Swift 6 30 tools 0 dependencies MIT License Stars

X TikTok Discord Website

Download


This is a solo project. I built Dockwright because I wanted an AI assistant that actually lives on my Mac — not in a browser tab. It's early, it's ambitious, and I'd love for people to try it out and share what works (and what doesn't). If you're into AI tooling, macOS development, or just want a better assistant — pull requests, issues, and feedback are all welcome. Let's build something great together.


30 Tools
Email, calendar, contacts, shell, browser, music, iMessage, files, and more
9 Providers
Claude, OpenAI, Gemini, Grok, xAI, DeepSeek, Mistral, Kimi, Ollama
Voice
Say "Hey Doc" — wake word, speech-to-text, text-to-speech
Screen Aware
OCR every 15s, knows what's on screen, which apps and tabs are open
UI Automation
Click, type, and read any app via Accessibility API
Memory
Remembers facts, ranked retrieval, poison guard, auto-consolidation
Skills
20 community skills pre-bundled, teach it new ones with Markdown
0 Dependencies
Pure Swift + Apple frameworks. No Electron, no Docker, no npm

Dockwright in action


What is Dockwright?

Dockwright is a fully native macOS assistant — not a wrapper around a web app. It connects directly to Claude, OpenAI, Gemini, Grok, xAI, or local models via Ollama, and gives them real access to your system: files, shell, screen, browser, calendar, contacts, reminders, and more.

It doesn't just chat. It acts.


Capabilities

Conversation

  • Streaming responses with full Markdown rendering
  • Multi-provider support — Claude, OpenAI, Gemini, Grok, xAI, DeepSeek, Mistral, Kimi, Ollama
  • OAuth sign-in (Claude, OpenAI) or API key
  • Conversation history with full-text search
  • Image analysis — drag, paste, or screenshot

Tools

Shell commands, file operations, web search, clipboard, system info, Apple Reminders, Apple Notes, Calendar, Contacts, iMessage, Music/Spotify control, Finder operations, and more — 30 tools the AI can call autonomously.

UI Automation (ProcessSymbiosis)

Direct control of any macOS app via the Accessibility API. Click buttons, type text, press keyboard shortcuts, read UI elements — no pixel-guessing. Live AXObserver event stream monitors the frontmost app in real time, building a semantic model the AI can act on instantly.

Voice

Hands-free operation with Apple Speech Recognition. Say "Hey Doc" to activate — no button needed. Speak naturally, get a spoken response. Wake word detection via SFSpeechRecognizer (no external dependencies), silence detection, typewriter-style streaming, TTS with automatic text cleanup (strips markdown, emojis, whitespace), and session coordination to prevent audio conflicts. Supports macOS system TTS and ElevenLabs.

Screen Awareness

A 15-second ambient loop captures your screen, runs OCR, and feeds context to the AI. It knows which app is active, what you're reading, and which browser tabs are open — across Safari, Chrome, Firefox, Edge, Arc, and Brave.

iMessage

Read conversations, search messages, and send texts — directly from the AI. Reads the native Messages database and sends via AppleScript.

Scheduling

Full cron engine with natural language. "Remind me in 2 minutes to stretch" just works. Recurring jobs, one-shot reminders, missed-job catch-up on relaunch, and native macOS notifications.

Agent Mode

Give Dockwright a goal and it will plan, execute, self-correct, and report progress — up to 50 tool calls per task with full cancellation support. Token budgets auto-scale per model (800K for Opus, 160K for Sonnet). Smooth typewriter-style streaming at 30Hz — no stutter, no lag.

Memory

Auto-extracts facts from conversations and recalls them when relevant. Ranked retrieval (importance × relevance), automatic consolidation of stale/duplicate facts, and a PoisonGuard that blocks prompt injection attempts and credential leaks from being stored. Remembers tool failures and adapts — never bans a tool, just learns to call it smarter. SQLite + FTS5 backed.

Skills

Drop a Markdown file in ~/.dockwright/skills/ and Dockwright learns new abilities. No code required. Comes with 20 community skills pre-bundled — web search, image generation, security scanning, Excel/Word creation, and more. Activate them from the Skill Store.

Profile

Set your name, bio, avatar, and shipping address in Settings → Profile. Dockwright uses your name in conversations, shows your picture in chat, and auto-fills checkout forms when shopping on your behalf. You can also rename your assistant — call it whatever you want.

Menu Bar Panel

Floating chat accessible from the macOS menu bar with the Dockwright helm icon. Pin it to stay on top (floating window level) while Dockwright works in Safari or other apps. Resize between compact and expanded. Same AppState, same conversation, same tools — just a different window.

Conversation Pinning

Right-click any conversation in the sidebar to pin it. Pinned conversations stay at the top in their own "Pinned" group, never buried by newer chats.

Integrations

  • Telegram bot — chat with Dockwright from your phone
  • WhatsApp Business — two-way messaging via Meta Cloud API
  • Discord — webhook notifications
  • A2A server — agent-to-agent protocol on port 8766
  • MCP server — Model Context Protocol on port 8767
  • Siri Shortcuts — 9 intents for Spotlight and Siri
  • Menu bar — always one click away
  • Global hotkey — Cmd+Shift+Space

Install

Download: Dockwright-1.0.dmg — open the DMG, drag to Applications, launch.

Build from source:

  1. Open Dockwright.xcodeproj in Xcode 16+
  2. Cmd+R to build and run

First launch:

  1. Sign in with Claude OAuth or paste an API key
  2. Start with: "What's on my screen?" or "Hey Doc, what's in my browser?"

Requirements

OS macOS 14.0 Sonoma or later
Xcode 16.0 or later
AI Provider Anthropic, OpenAI, Google, xAI, DeepSeek, Mistral, Kimi, or Ollama
Dependencies None — pure Apple frameworks + system tools auto-installed via Homebrew when needed

Optional: System Control

Dockwright can control system settings like sleep mode and power management. This requires one-time setup. Open Terminal (press Cmd+Space, type "Terminal", hit Enter) and paste:

Safe option — only allows sleep/power control:

echo '%staff ALL=(ALL) NOPASSWD: /usr/bin/pmset' | sudo tee /etc/sudoers.d/dockwright

Enter your Mac password when asked. You won't see the characters — that's normal. Press Enter.

Full option — allows Dockwright to run any system command without asking for your password:

echo "$(whoami) ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dockwright

⚠️ Only use this if you fully trust Dockwright with system access.

Without either option, Dockwright will simply ask you to run system commands yourself.


Architecture

Dockwright/
├── App/           Entry point, global state, permissions
├── Core/
│   ├── Agent/     Autonomous multi-step execution
│   ├── Channels/  Notification delivery
│   ├── Heartbeat/ Proactive health checks
│   ├── LLM/       Multi-provider streaming
│   ├── Memory/    SQLite + FTS5, auto-formation, error memory
│   ├── Scheduler/ Cron engine, reminders
│   ├── Sensory/   Screen capture, OCR, browser tabs, world model, ProcessSymbiosis, AX control
│   ├── Skills/    Markdown skill loader
│   ├── Tools/     30 tools (incl. UI automation, iMessage, Calendar, Music)
│   └── Voice/     STT, TTS, wake word
├── UI/            SwiftUI (chat, sidebar, settings, onboarding)
└── Utilities/     Keychain, SQLite, OAuth, logging

95+ Swift files · 30,000+ lines · Zero external dependencies


Privacy

Dockwright runs locally on your Mac. Screen captures, voice recordings, and memory stay on disk in ~/.dockwright/. API calls go directly to your chosen provider — nothing passes through third-party servers.


Contributing

See CONTRIBUTING.md for guidelines.

Support

Questions, feedback, or just want to say hi? Reach out at doc@dockwright.com.

License

MIT License — free to use, modify, and distribute.

About

Your Mac. Your AI. A native macOS assistant that sees your screen, hears your voice, runs your tools, and remembers what matters — built entirely in Swift.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages