books-reader

data-ai MCP Server

Open-source macOS desktop AI agent

Verified
data-aidata-ai
3 views23 stars3 forksv0.1.0

Why This Matters

Discovered via agent-topic:ai-agent and last synced 3mo ago.

Verified
Source
agent-topic:ai-agent
Stars
23
Last synced
3mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
54
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (54)

Desktop

[Electron](https://www.electronjs.org/) (Chromium + Node main process)

Referential

"translate this", "what does that say"

Yes

Limited

discard_last_turn

Erase the last turn from memory ("that wasn't me")

Animation

[Rive](https://rive.app)

Vision

GPT-4o Vision

set_control_mode

Switch background / observe / ask / takeover

OAuth

PKCE + built-in client IDs (Google, GitHub, Spotify)

computer_use

GPT-5.5 visual desktop control — sees screen, operates any app via CGEvent

set_listening_mode

Switch normal / passive listening

Intent

Example

No

--- ## FAQ **What is Samuel?** An open-source voice AI desktop agent that continuously sees your screen and hears your audio, lets you control it by voice, browses the web like a human, and writes and repairs its own tools at runtime using GPT-5.5 with reasoning. **What can I use it for?** Language learning while watching content, hands-free web browsing ("show me my emails"), building custom AI tools by voice, live meeting interpretation, searching and summarizing anything on the web, ambient monitoring ("tell me when you hear X"), and general desktop automation. **How is this different from ChatGPT Voice?** ChatGPT can't see your screen continuously, can't browse the web as a real browser, can't write persistent tools, and can't auto-repair when things break. Samuel does all of these, and runs locally on your Mac. **What models does it use?** OpenAI Realtime API for voice, GPT-5.5 with reasoning for code generation and failure diagnosis, GPT-4o Vision for screen capture, GPT-4o-mini for code review, Whisper for transcription. **How does auto-repair work?** Every plugin declares a `validates()` function. If output fails validation, or the user says "that's wrong," GPT-5.5 diagnoses the failure (syntax bug? API change? structural issue?), picks a repair strategy (patch, rewrite, or ask user), generates a fix, and verifies it before deploying. Max 2 attempts, then clean escalation. **Can Samuel modify its existing tools?** Yes, via the wraps/middleware pattern. A plugin can wrap any existing tool — intercepting calls, modifying inputs/outputs, adding caching or logging — without replacing the original. **Does Samuel browse the web?** Three ways: (1) API-based search via SerpAPI, (2) AI-powered deep search via OpenAI, (3) real browser automation via Playwright where he opens a visible Chromium window, you sign in, and he reads/interacts with the page. **Is my data private?** Screen captures and audio are sent to OpenAI for processing. Memory, preferences, skills, plugins, and secrets are stored locally in `~/.samuel/`. Browser sessions run locally via Playwright. **Is it free?** The code is MIT-licensed. You pay OpenAI API costs directly. **Does it work on Windows or Linux?** Currently macOS only. Cross-platform is on the roadmap. --- ## Contributing Samuel is growing fast. Every contribution — code, skills, ideas, bug reports — shapes where this goes. ### What we need help with - **Windows + Linux ports** — ScreenCaptureKit alternatives (WASAPI, PipeWire/PulseAudio) - **One-click installer** — signed `.dmg` packaging via `electron-builder` - **Persistent browser sessions** — save Playwright cookies/profiles across launches - **Plugin sandboxing** — Web Worker isolation for plugin execution - **MCP integration** — `@openai/agents` + MCP servers for Notion, Slack, etc. - **Skill contributions** — write workflows you'd actually use - **Tool description tuning** — better descriptions = more reliable tool selection - **Documentation** — install walkthroughs and "what tripped me up" reports ### How to help, by time available

set_learning_language

Activate ambient language tutoring

Layer

Technology

Mode

Approx. cost

Model

Purpose

web_browse

Search the internet (3 tiers) and read web pages

Voice

[OpenAI Realtime API](https://platform.openai.com/docs/guides/realtime) (WebRTC, SCTP-bounded payloads)

Granola

Cluely

Stage

What happens

Tool

What it does

recording

Start/stop system audio capture

store_secret

Secure API key storage

remember_preference

Persistent user facts and preferences

Frontend

React 19 + Vite + TypeScript

Capability

**Samuel**

GPT-4o-mini

Plugin code review, trigger classification, screen text extraction

plugin_manage

Self-modification — propose, write, **repair**, remove, list plugins

vocab_card

Vocabulary cards (manual/auto mode)

update_ui

Voice-controlled UI changes

pronounce

Speak correct pronunciation

Lyrics

[LRCLIB](https://lrclib.net) + [Genius](https://genius.com) + web search fallback

Type

Example

Tier

When Samuel uses it

gpt-4o-transcribe

Recording transcription (high-fidelity)

whisper-1

Song segmentation with timestamps

observe_screen

Captures and analyzes what's on screen

browser_use

Opens real browser, navigates, reads, clicks, types, screenshots

skill_manage

Save, search, and replay multi-step workflows

song_control

Play, pause, lyrics, refetch, correct

watch_for

Register ambient triggers — keyword or classifier-based

set_volume

Adjust Samuel's voice or macOS system volume

oauth_connect

Zero-config OAuth for Google/GitHub/Spotify

file_op

Read, write, list files on disk

record_correction

Behavioral feedback storage

get_recent_actions

Self-awareness — recall recent tool calls

Screenpipe

Cluely

Limited

✅

read_app

Reads any macOS app via Accessibility Tree (Chrome, WeChat, Slack, Notes...)

recall_audio

Pull-model transcript-on-demand: "translate the last 30s", "what did they say?"

show_content

Float a styled HTML panel over the desktop ("show me a panel with…")

Active

Active

listen_in_background

Toggle the rolling system-audio buffer (consent popup the first time it flips on)

Time

What you can do