Bob is a secure, personal AI computer agent that runs locally on an Apple Silicon Mac. It connects to a local LLM (such as Ollama with Qwen 2.5 Coder), exposes a clean remote web interface accessible over Tailscale, and executes controlled terminal commands, filesystem operations, and display captures with human-in-the-loop security policies.
- 100% Local Inference: Zero dependency on cloud LLMs; powered by local Ollama (
qwen2.5-coder:7b/qwen2.5-coder:14b/llama3.1:8b). - Secure Remote Access: Connect from iPhone or remote laptop via Tailscale mesh VPN without public ports.
- Controlled Tool Execution:
terminal_execโ Safe zsh shell command runner with duration and exit code capture.read_file,write_file,list_directory,search_filesโ Sandboxed workspace file operations.take_screenshotโ macOS display capture.
- Security & Safety Policy Layer:
- Command classification (
SAFE,APPROVAL_REQUIRED,BLOCKED). - Path canonicalization preventing directory traversal (
..) and symlink escapes. - Interactive web UI approval prompts for sensitive commands.
- Automatic secret & token redaction in audit logs.
- Command classification (
- Real-Time Streaming: Live WebSocket and Server-Sent Events (SSE) streaming of agent reasoning, tool starts, tool outputs, and completions.
- macOS Daemon & launchd Service: Runs in the background without needing an open terminal window.
- Future-Ready Extensibility:
ComputerGUI control interface ready for mouse/keyboard automation.CodingAgentinterface ready for AntiGravity delegation.
make sysinfoollama serve
ollama pull qwen2.5-coder:7bmake build
make runAccess Bob at http://localhost:8787 (or your Tailscale IP http://100.x.y.z:8787).
./scripts/bob start # Start background daemon
./scripts/bob status # Check health & status
./scripts/bob logs # Stream daemon logs
./scripts/bob stop # Stop background daemon
./scripts/bob sysinfo # Inspect hardware & recommended modelsbob/
โโโ cmd/
โ โโโ bob/
โ โโโ main.go # Main server & agent entrypoint
โ
โโโ internal/
โ โโโ agent/ # Planner loop, max steps, event streaming
โ โโโ llm/ # LLM interface, Ollama client, Mock LLM
โ โโโ tools/
โ โ โโโ registry/ # Tool registry & schema builder
โ โ โโโ terminal/ # Terminal execution tool
โ โ โโโ filesystem/ # Sandboxed file read/write/list/search
โ โ โโโ screenshot/ # macOS screen capture tool
โ โโโ computer/ # Computer control interface abstraction
โ โโโ coding/ # AntiGravity coding subagent interface
โ โโโ security/ # Policy rules, path sandbox, secret redactor
โ โโโ sessions/ # Session manager & history persistence
โ โโโ audit/ # Structured JSON audit logging
โ โโโ server/ # HTTP REST API, SSE, WebSockets, Auth
โ โโโ config/ # Configuration & hardware auto-detection
โ
โโโ web/ # React + TypeScript + Vite remote web UI
โ โโโ src/
โ โ โโโ components/ # Chat, ToolActivity, Approval, Audit, Modals
โ โ โโโ services/ # API client, WebSocket stream client
โ โ โโโ App.tsx
โ โโโ dist/ # Compiled production UI bundle
โ
โโโ scripts/
โ โโโ bob # CLI daemon manager
โ โโโ install-service.sh # Native macOS launchd service installer
โ
โโโ service/
โ โโโ com.bob.agent.plist # launchd service definition
โ
โโโ docs/
โ โโโ architecture.md # System architecture & component design
โ โโโ setup.md # Setup & quickstart guide
โ โโโ security.md # Security policies & defense in depth
โ โโโ tailscale.md # Tailscale remote networking guide
โ โโโ antigravity.md # AntiGravity integration & findings
โ
โโโ .env.example
โโโ config.example.yaml
โโโ Makefile
โโโ README.md
Run all unit and integration tests:
make testAll tests use hermetic mocks for the LLM and pass without requiring external services.