{"id":50333112,"url":"https://github.com/estebanrfp/gos","last_synced_at":"2026-05-29T11:01:41.468Z","repository":{"id":357422538,"uuid":"1236860626","full_name":"estebanrfp/gos","owner":"estebanrfp","description":"GenosOS — agent operating system, production bundle","archived":false,"fork":false,"pushed_at":"2026-05-12T18:08:39.000Z","size":2841,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T19:19:45.334Z","etag":null,"topics":["agent","ai-agent","bun","genosos","gos","javascript","knowledge-graph","llm","local-first","multiagent","privacy","rag","sip","voice","webauthn"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/estebanrfp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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-05-12T16:35:26.000Z","updated_at":"2026-05-12T18:08:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/estebanrfp/gos","commit_stats":null,"previous_names":["estebanrfp/gos"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/estebanrfp/gos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebanrfp%2Fgos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebanrfp%2Fgos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebanrfp%2Fgos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebanrfp%2Fgos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/estebanrfp","download_url":"https://codeload.github.com/estebanrfp/gos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebanrfp%2Fgos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33648534,"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-05-29T02:00:06.066Z","response_time":107,"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":["agent","ai-agent","bun","genosos","gos","javascript","knowledge-graph","llm","local-first","multiagent","privacy","rag","sip","voice","webauthn"],"created_at":"2026-05-29T11:01:40.573Z","updated_at":"2026-05-29T11:01:41.462Z","avatar_url":"https://github.com/estebanrfp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GenosOS (GOS) — Agent Operating System\n\nA standalone, local-first runtime for autonomous AI agents. Memory, multi-channel messaging, real-time voice, phone calls, and on-device language models — all running on your machine, with cloud as the exception, not the default.\n\n---\n\n[![License-SourceCode-Proprietary](https://img.shields.io/badge/Source%20Code-Proprietary-blue.svg?style=for-the-badge)](https://github.com/estebanrfp/gos/blob/main/LICENSE)\n[![Production Build](https://img.shields.io/badge/Production%20Build-Free%20for%20personal%20%26%20commercial%20use-brightgreen.svg?style=for-the-badge)](https://github.com/estebanrfp/gos/blob/main/LICENSE)\n\n![Project Status](https://img.shields.io/badge/status-beta-orange)\n![Platform](https://img.shields.io/badge/platform-Apple%20Silicon%20ONLY-lightgrey)\n![Runtime](https://img.shields.io/badge/runtime-Bun-black)\n\n\u003e ⚠️ **Apple Silicon only.** GenosOS uses MLX for the voice pipeline (Qwen3-TTS + Qwen3-ASR), which runs exclusively on M-series chips. Intel Macs are not supported and will fail at the `pip install` step.\n\n\u003e 💾 **Disk space:** budget **~35 GB free** — ~33 GB for the local model weights (downloaded on first run from HuggingFace), ~1 GB for JS deps + Chromium, ~1 GB headroom.\n\n\u003e ⏱️ **Total setup time:** ~30 min (fast fiber) to ~2 hours (slow connection). The bulk is the model download in the first-run wizard.\n\n## Table of Contents\n\n- [What is GenosOS](#what-is-genosos)\n- [Highlights](#highlights)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Verify the install](#verify-the-install)\n- [First Run](#first-run)\n- [Troubleshooting](#troubleshooting)\n- [Architecture Overview](#architecture-overview)\n- [License](#license)\n- [Author](#author)\n\n## What is GenosOS\n\nGenosOS is a server runtime that gives an LLM-driven agent the operating-system layer it needs to actually live in your workflow:\n\n- **Persistent semantic memory** — every conversation contributes to a knowledge graph; relevant context is injected automatically on each turn, with zero prompt overhead for memory mechanics.\n- **Multi-channel presence** — the same agent handles WhatsApp, Telegram, Discord, Slack, iMessage and browser chat, with channel-aware tool restrictions.\n- **Real-time voice** — browser microphone and direct SIP phone calls, fully local pipeline (Qwen3-ASR + Qwen 3.6 35B-A3B + Qwen3-TTS), ~1-1.5s round-trip on cached turns.\n- **Multi-agent coordination** — agent-to-agent delegation, multi-participant rooms with autonomous echo conversations, isolated per-agent memory and workspace.\n- **Capability-based runtime sandbox** — every tool call validated against declarative policies; workspace confinement, allowlisted shell commands, secret redaction.\n- **Local-first by design** — 5 local models cover chat, vision, voice and embeddings (~37 GB RAM). Cloud (Anthropic/OpenAI/Gemini) is opt-in via ⌘L.\n\n## Highlights\n\n- **Encrypted memory at rest** — AES-256-GCM derived from your own mnemonic, keys never leave the machine.\n- **Per-account isolation** — each Ethereum address is an independent account with its own encrypted database, workspace, and channel sessions.\n- **WebAuthn + mnemonic identity** — no passwords, no shared secrets, no cloud auth.\n- **Direct SIP trunk** for phone calls — no Twilio, no Cloudflare tunnel, no vendor lock-in.\n- **Zero frameworks** on the client — vanilla JS + DOM API + CSS. No build step required to develop the UI.\n- **Full-state backup engine** — immutable manifests, per-account iCloud sync, standard tar.gz + SQLite (no proprietary formats).\n\n## Requirements\n\n- **Hardware:** Apple Silicon Mac (M1/M2/M3/M4). 64 GB RAM recommended for the full local stack (32 GB works with one model loaded at a time).\n- **OS:** macOS 14+ (Sonoma or newer).\n- **Disk:** ~35 GB free (see warning above).\n- **Runtime:** [Bun](https://bun.sh) `\u003e=1.2.0`.\n- **Python:** 3.11+ (for the Qwen3 MLX server — TTS + ASR).\n- **System packages** via Homebrew:\n  - `llama.cpp` — chat + embedding models\n  - `ffmpeg` — audio conversion for messaging channels\n  - `cliclick` — Computer Use tool (optional, only needed if you want the agent to control your desktop)\n\n## Installation\n\n```sh\n# 1. Clone\ngit clone https://github.com/estebanrfp/gos.git\ncd gos\n\n# 2. Install system dependencies (skip the ones you already have)\nbrew install bun llama.cpp ffmpeg cliclick python@3.11\n\n# 3. Install JavaScript runtime dependencies\nbun install\n\n# 4. Install Python dependencies for the MLX TTS/ASR server\npython3 -m pip install -r dist/qwen3-requirements.txt\n\n# 5. Start GenosOS\nbun start\n```\n\n## Verify the install\n\nWhile the server is running (after step 5), in another terminal:\n\n```sh\ncurl -s -o /dev/null -w '%{http_code}\\n' http://localhost:4400\n# Expected: 200\n```\n\nA `200` confirms the WebSocket server is up. If you see `Connection refused`, the server did not start — check the boot log printed by `bun start`.\n\n## First Run\n\nOpen `http://localhost:4400` in your browser. The setup wizard will:\n\n1. **Ask for a mnemonic passphrase.** This is a [BIP39](https://en.bitcoin.it/wiki/Seed_phrase)-style 12- or 24-word seed used to derive your encryption key. The key never leaves your machine. If you don't have one, the wizard can generate one — **write it down**, because losing it means losing all your encrypted data permanently.\n2. **Pick an LLM provider** for the (optional) cloud boost — Anthropic, OpenAI, or Gemini. You can skip this entirely and stay 100% local.\n3. **Auto-download local GGUF models** from HuggingFace (~33 GB total). Progress bars per model. Resumable if interrupted.\n4. **Start `llama-server`** for chat + embeddings and **launch the Python MLX server** for voice.\n5. **Land you in your first agent's chat session.** A short onboarding conversation will configure the agent's soul, identity, user context, and rules.\n\nAfter the first run, every subsequent boot is fast (~5-10 seconds): models load once, channels reconnect automatically.\n\n## Troubleshooting\n\n**`bun: command not found`** after `brew install bun`\n→ Open a new terminal window so the shell picks up the new PATH entry.\n\n**`Failed to start server. Is port 4400 in use?`**\n→ Another process is bound to `:4400`. Find it with `lsof -i :4400` and stop it, or pass `PORT=4500 bun start` to use a different port.\n\n**`pip install` fails with `error: externally-managed-environment`** on macOS 14+\n→ Use a virtual environment: `python3 -m venv .venv \u0026\u0026 source .venv/bin/activate \u0026\u0026 python3 -m pip install -r dist/qwen3-requirements.txt`. After this, always activate the venv before running `bun start` so the MLX server can find its packages.\n\n**`mlx` install fails** with architecture errors\n→ You are on an Intel Mac. GenosOS does not support Intel — only Apple Silicon (M1/M2/M3/M4).\n\n**HuggingFace download stalls or fails**\n→ Check your network. Downloads are resumable: stop GenosOS and restart it, the wizard picks up where it left off via HTTP `Range` requests and `.part` temp files.\n\n**Bundle boots but voice / channels don't work**\n→ Make sure `llama-server` is on your PATH (`which llama-server` should print a path under `/opt/homebrew/`). Check the boot log of `bun start` for `[local] ...` and `[qwen3] ...` lines confirming the model subprocesses started.\n\n**I forgot my mnemonic**\n→ There is no recovery. Your encrypted data is unrecoverable. Delete `~/.genos/` and start fresh, or restore from a backup if you made one (see the Backup feature in-app).\n\n## Architecture Overview\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  Channels: WhatsApp · Telegram · Discord · Slack · iMessage │\n│  Voice: Browser mic (Talk Local) · SIP phone calls          │\n│  UI: Browser chat at http://localhost:4400                  │\n└─────────────────────────────┬───────────────────────────────┘\n                              │\n                  ┌───────────▼───────────┐\n                  │   GenosOS Server      │  Bun, single process,\n                  │   :4400 (WS + HTTP)   │  encrypted SQLite store\n                  └───────────┬───────────┘\n                              │\n        ┌─────────────────────┼─────────────────────┐\n        │                     │                     │\n  ┌─────▼─────┐         ┌─────▼─────┐         ┌─────▼─────┐\n  │ llama-    │         │ qwen3-    │         │ node-     │\n  │ server    │         │ server.py │         │ llama-cpp │\n  │ :8081     │         │ :8890     │         │ (embed)   │\n  │           │         │           │         │ in-proc   │\n  │ Qwen 3.6  │         │ Qwen3-TTS │         │ Qwen3-Emb │\n  │ 35B-A3B   │         │ Qwen3-ASR │         │           │\n  └───────────┘         └───────────┘         └───────────┘\n```\n\nAll intelligence, all encryption, all routing — runs locally. Cloud APIs (Anthropic, OpenAI, Gemini) are available as an opt-in boost (⌘L) but are not required for any feature.\n\n## License\n\nThe minified production build in `dist/` is **free for personal and commercial use** — integrate, distribute, resell. The source code is **proprietary**; reverse-engineering, decompilation, or modification of the bundle is not permitted.\n\nSee [LICENSE](./LICENSE) for the full terms.\n\n## Author\n\nEsteban Fuster Pozzi (@estebanrfp) — Full Stack JavaScript Developer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Festebanrfp%2Fgos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Festebanrfp%2Fgos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Festebanrfp%2Fgos/lists"}