{"id":51111378,"url":"https://github.com/fspecii/openfelix","last_synced_at":"2026-06-24T18:00:58.736Z","repository":{"id":364753445,"uuid":"1173768248","full_name":"fspecii/openfelix","owner":"fspecii","description":"😼 OpenFelix — Voice-first AI agent for macOS. Runs local LLMs on Apple Silicon via MLX. Supports all OpenClaw skills. Claude, GPT, or fully offline.","archived":false,"fork":false,"pushed_at":"2026-03-06T15:29:35.000Z","size":2187,"stargazers_count":27,"open_issues_count":1,"forks_count":7,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-14T11:25:09.277Z","etag":null,"topics":["ai-assistant","apple-silicon","claude","llm","local-ai","macos","menu-bar-app","mlx","open-source","openclaw","speech-to-text","swift","tool-calling","voice-assistant"],"latest_commit_sha":null,"homepage":"https://openfelix.com","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fspecii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-05T18:21:00.000Z","updated_at":"2026-06-04T05:11:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fspecii/openfelix","commit_stats":null,"previous_names":["fspecii/openfelix"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fspecii/openfelix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspecii%2Fopenfelix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspecii%2Fopenfelix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspecii%2Fopenfelix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspecii%2Fopenfelix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fspecii","download_url":"https://codeload.github.com/fspecii/openfelix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspecii%2Fopenfelix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34743465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","apple-silicon","claude","llm","local-ai","macos","menu-bar-app","mlx","open-source","openclaw","speech-to-text","swift","tool-calling","voice-assistant"],"created_at":"2026-06-24T18:00:57.652Z","updated_at":"2026-06-24T18:00:58.572Z","avatar_url":"https://github.com/fspecii.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/openfelix-logo.png\" alt=\"OpenFelix\" width=\"300\" /\u003e\n\n# OpenFelix 😼\n\n**The voice-first AI agent for macOS that actually runs locally.**\n\n\u003e ⚠️ **Early-stage functional prototype.** Core features work — voice, tools, skills, cloud backends. Rough edges exist. We need your help to make this the best it can be.\n\n[![License](https://img.shields.io/badge/license-Apache%202.0-amber.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-macOS%2013%2B-black.svg)](https://github.com/fspecii/openfelix)\n[![Apple Silicon](https://img.shields.io/badge/Apple%20Silicon-required-orange.svg)](https://github.com/fspecii/openfelix)\n[![Twitter](https://img.shields.io/badge/follow-%40openfelixai-1DA1F2.svg)](https://x.com/openfelixai)\n\n[**Download DMG**](https://github.com/fspecii/openfelix/releases/tag/v0.1.0) · [**Watch Demo**](https://www.youtube.com/watch?v=tUmCYdsq7Sw) · [**Website**](https://openfelix.com) · [**Follow @openfelixai**](https://x.com/openfelixai)\n\n---\n\n*Named after a real Persian cat. Silver. Amber eyes. Always watching.*\n\n**Created by [@AmbsdOP](https://x.com/AmbsdOP)**\n\n\u003c/div\u003e\n\n---\n\n## 🎬 Demo\n\n[![OpenFelix Demo](https://img.youtube.com/vi/tUmCYdsq7Sw/maxresdefault.jpg)](https://www.youtube.com/watch?v=tUmCYdsq7Sw)\n\n\u003e **[Watch the demo on YouTube →](https://www.youtube.com/watch?v=tUmCYdsq7Sw)**\n\n---\n\n## What is OpenFelix?\n\nOpenFelix is a free, open-source AI agent that lives in your Mac menu bar. Press **Option+Space** anywhere, speak or type your request, and Felix acts — reads your calendar, searches the web, sends messages, runs scheduled tasks, generates music, and talks back in a natural voice.\n\nIt's not a chatbot. It's an agent with tools, voice I/O, and a skill system that extends it to anything. It runs **fully on-device** with local MLX models, and seamlessly upgrades to Claude or any cloud model when you want the best quality.\n\n\u003e *\"When OpenClaw meets Siri.\"* 😼\n\n---\n\n## 🙏 We Need Your Help\n\nI'm **not a Swift developer** — I built this to prove the concept works, and it does. But to make OpenFelix the **best open-source voice assistant for macOS**, we need people who know what they're doing.\n\nIf you're a Swift developer, macOS engineer, AI/ML enthusiast, or just someone who wants a great local voice assistant on your Mac — **this project is for you**.\n\n**This could be the best voice AI project ever built for macOS.** The foundation is here. Help us finish it.\n\n👉 **[Open an issue](https://github.com/fspecii/openfelix/issues)** · **[Submit a PR](https://github.com/fspecii/openfelix/pulls)** · **[Star the repo ⭐](https://github.com/fspecii/openfelix)**\n\nAreas where we especially need help:\n- Swift / macOS native development\n- Whisper integration for local STT\n- UI/UX polish\n- Skill development\n- Testing across different Mac hardware\n\n---\n\n## Download\n\n**Easiest way to get started:**\n\n1. Download [`OpenFelix.dmg`](OpenFelix.dmg)\n2. Open the DMG — double-click **Run Me First.command** (sets up Python + local AI engine)\n3. Drag **OpenFelix.app** to your Applications folder and launch it\n4. Grant **Accessibility** permission when prompted (required for global hotkey)\n\n---\n\n## Features\n\n| Capability | Description |\n|---|---|\n| 🎙️ **Voice \u0026 Text** | Option+Space to speak, Option+T to type |\n| 🧠 **Local AI** | Runs Qwen / Mistral / any MLX model on Apple Silicon — 100% on-device |\n| ☁️ **Cloud Models** | Claude, GPT-4o, or any OpenAI-compatible model |\n| 👁️ **Screen Vision** | Sees and analyzes anything on your screen |\n| ⏰ **Cron Jobs** | Schedule tasks: `daily@09:00`, `every:30m`, `once:ISO8601` |\n| 📲 **Proactive Alerts** | Sends updates to Telegram, Discord, Slack |\n| 🎬 **YouTube** | Search, play, and get spoken summaries |\n| 📖 **Wikipedia** | Instant spoken answers |\n| 💻 **Code \u0026 Files** | Generates, reads, and runs code |\n| 📅 **Calendar** | Reads and creates Apple Calendar events |\n| 🔔 **Reminders** | Full Apple Reminders integration |\n| 🗺️ **Maps** | Location search and directions |\n| 🎵 **Music Generation** | Generates music via ACE-Step |\n| 📈 **Finance** | Stock prices and market data |\n| 🐦 **X / Twitter** | Read your feed and search topics |\n| 🧩 **Skill System** | Extensible — skills auto-install on first run |\n| 🦞 **OpenClaw Native** | Inherits all your OpenClaw skills and API keys automatically |\n\n---\n\n## LLM Backends\n\n### Local (no API key needed)\n\nRuns fully on-device via [MLX](https://github.com/ml-explore/mlx). Switch model size from the menu bar:\n\n| Model | RAM | Tool Calling |\n|-------|-----|-------------|\n| Qwen 3.5 0.8B | ~1 GB | Basic — may miss tools |\n| Qwen 3.5 2B *(default)* | ~2 GB | Decent for simple tasks |\n| **Qwen 3.5 4B** | ~3 GB | **Recommended minimum for tools** |\n| **Qwen 3.5 9B** | ~6 GB | **Best local experience** |\n\n\u003e **Recommendation:** Use at least a **4B–9B model** for reliable tool calling. Smaller models (0.8B–2B) can handle basic Q\u0026A but often fail on multi-step tool use. The local models are genuinely good — but if you want consistent, production-quality results across all features, use a cloud backend.\n\nOverride the default model:\n```bash\nMLX_MODEL_PATH=mlx-community/Qwen2.5-7B-Instruct-4bit bash scripts/run-app.sh\n```\n\n### Cloud (strongly recommended for best experience)\n\nFor the most reliable tool calling, fastest responses, and best reasoning quality, use a cloud backend. **We especially recommend Claude** — it has excellent instruction following, strong tool use, and handles OpenFelix's structured prompts exceptionally well.\n\n```bash\n# Anthropic Claude (recommended)\nexport ANTHROPIC_API_KEY=sk-ant-...\n\n# OpenAI GPT\nexport OPENAI_API_KEY=sk-...\n\n# OpenRouter (access any model)\nexport OPENROUTER_API_KEY=sk-or-...\n```\n\nOr use [**OpenClaw**](https://openclaw.ai) — Felix reads your entire OpenClaw config automatically (models, API keys, skills). Zero duplicate configuration.\n\n---\n\n## OpenClaw Integration 🦞😼\n\nOpenFelix and [OpenClaw](https://openclaw.ai) are designed to work together seamlessly — they share the same skill format, config files, and API keys. If you have OpenClaw installed, Felix picks up your entire setup with **zero additional configuration**:\n\n- **All OpenClaw skills work in OpenFelix out of the box** — same `SKILL.md` format, same `scripts/` structure, write once run in both\n- **LLM config** — same model and API keys, no re-entry\n- **Notifications** — Telegram, Discord, Slack routing inherited automatically\n- **API keys** — all provider keys shared between both apps\n- **Two-way communication** — OpenFelix and OpenClaw can interact, share context, and hand off tasks to each other\n\n**If you're an OpenClaw user, OpenFelix is a zero-friction addition.** You already have everything you need.\n\n---\n\n## Skill System\n\nFelix ships with built-in skills that install automatically on first run:\n\n| Skill | What it does |\n|-------|-------------|\n| **youtube-search** | Searches YouTube and opens the best result |\n| **youtube-info** | Summarizes any YouTube video (paste a link) |\n| **finance-lookup** | Stock prices and market data |\n| **ace-music** | Generates music from a text prompt (requires `ACE_MUSIC_API_KEY`) |\n| **bird** | Reads your X/Twitter feed (requires `npm install -g @steipete/bird` + `bird auth`) |\n\n### Adding skills\n\nSkills live in `~/.openfelix/skills/`. Each skill is a folder with a `SKILL.md` and a `scripts/` directory. They are fully compatible with OpenClaw skills.\n\n### Scheduling skills\n\nAdd a `schedule:` line to any `SKILL.md` frontmatter:\n\n```yaml\nschedule: daily@09:00      # Every morning at 9\nschedule: every:30m        # Every 30 minutes\nschedule: once:2026-03-07T10:00  # One-time\n```\n\n---\n\n## Build from Source\n\n### Requirements\n\n- macOS 13+ (Ventura or later)\n- Apple Silicon (M1/M2/M3/M4)\n- Xcode 15+\n- Python 3.12+\n\n```bash\ngit clone https://github.com/fspecii/openfelix\ncd openfelix\nbash scripts/setup.sh   # one-time: creates Python venv, installs mlx-lm\nbash scripts/run-app.sh # build and launch\n```\n\nFirst launch downloads the default model (~2 GB). Subsequent launches are instant.\n\n### Permissions\n\n- **Accessibility** — System Settings → Privacy \u0026 Security → Accessibility → add OpenFelix (required for global hotkey suppression)\n- **Microphone** — prompted automatically on first use\n\n---\n\n## Architecture\n\n```\nopenfelix/\n├── swift-test/Sources/openfelix-app/\n│   ├── AppController.swift       # Core state machine + menu bar\n│   ├── OpenClawBackend.swift     # Claude via OpenClaw / Anthropic API\n│   ├── MLXBackend.swift          # Local MLX models\n│   ├── OpenAIBackend.swift       # GPT / any OpenAI-compatible\n│   ├── ToolKit.swift             # Tool calling + system prompts\n│   ├── SkillLoader.swift         # Skill discovery and execution\n│   ├── STTEngine.swift           # Speech-to-text (AUHAL + Apple on-device)\n│   ├── TTSSpeaker.swift          # Text-to-speech\n│   └── ...panels, overlay, timers\n├── skills/                       # Built-in skills (auto-installed on first run)\n├── scripts/\n│   ├── setup.sh                  # One-time setup\n│   ├── run-app.sh                # Build and launch\n│   └── channel-daemon/           # Telegram / Discord / Slack daemon\n└── assets/\n```\n\n---\n\n## Status\n\nThis is a **functional prototype** — the core loop (voice → STT → LLM → tools → TTS) works well. The following are known rough edges we're actively working on:\n\n- [ ] Whisper local STT (currently uses Apple's on-device recognizer)\n- [ ] App Store release\n- [ ] Skill marketplace\n- [ ] Multi-language voice support\n- [ ] iOS companion app\n- [ ] Plugin API docs\n\n---\n\n## Contributing\n\nPRs welcome. Open an issue first for major changes.\n\n---\n\n## License\n\nApache 2.0 — free to use, modify, and distribute.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ and a Persian cat named Felix 😼**\n\nCreated by **[@AmbsdOP](https://x.com/AmbsdOP)**\n\n[openfelix.com](https://openfelix.com) · [@openfelixai](https://x.com/openfelixai)\n\n*I'm not a Swift developer — I just wanted a great voice assistant on my Mac.*\n*Help make this the best open-source voice AI for macOS. ⭐*\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffspecii%2Fopenfelix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffspecii%2Fopenfelix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffspecii%2Fopenfelix/lists"}