Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Home OS

The AI-Powered Home Assistant Platform

MIT License GitHub Stars Built with Copilot CLI Node.js 20+

A multi-agent AI system that runs your household β€” tasks, meals, finances, health, maintenance, and more.

🌐 Website Β· πŸ“– Docs Β· πŸš€ Get Started Β· πŸ’¬ Community


What is Home OS?

Home OS is an autonomous multi-agent platform that manages your household like a well-oiled machine. It's not another smart home hub or IoT controller β€” it's a thinking system that proactively manages your family's daily life.

Think of it as hiring a team of AI specialists:

  • 🧠 A productivity coach that serves you one task at a time (ADD-friendly)
  • 🍽️ A meal planner that knows your dietary needs and generates grocery lists
  • πŸ’° A finance manager that tracks spending and alerts you about bills
  • πŸ₯ A health coach that manages appointments and medications
  • 🏑 A home manager that tracks maintenance schedules
  • πŸ“… A family coordinator that handles logistics and scheduling
  • β˜€οΈ A daily briefing agent that starts your morning with everything you need to know

Each agent runs autonomously on a schedule, communicates via Telegram, and learns your family's patterns over time.


⚑ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        HOME OS PLATFORM                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚  β”‚   Task      β”‚  β”‚   Meal      β”‚  β”‚  Finance    β”‚   ...more    β”‚
β”‚  β”‚   Coach     β”‚  β”‚   Planner   β”‚  β”‚  Manager    β”‚   agents     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜             β”‚
β”‚         β”‚                 β”‚                 β”‚                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚              🧠 MEMORY SYSTEM (4-Tier)                   β”‚    β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚    β”‚
β”‚  β”‚  β”‚ Core   β”‚ β”‚ Working  β”‚ β”‚ Long-term β”‚ β”‚ Event Log  β”‚  β”‚    β”‚
β”‚  β”‚  β”‚ (T1)   β”‚ β”‚ (T2)     β”‚ β”‚ (T3)      β”‚ β”‚ (T4)       β”‚  β”‚    β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚              πŸ”§ EXTENSION LAYER                          β”‚    β”‚
β”‚  β”‚  Tasks β”‚ Shopping β”‚ Meals β”‚ Budget β”‚ Calendar β”‚ Maps    β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚              πŸ“‘ INTEGRATION LAYER                        β”‚    β”‚
β”‚  β”‚  Telegram β”‚ Google Cal β”‚ Gmail β”‚ Plaid β”‚ Maps β”‚ More   β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚              ⏰ CRON SCHEDULER                           β”‚    β”‚
β”‚  β”‚  Heartbeat β”‚ Nudges β”‚ Briefings β”‚ Reviews β”‚ Checks     β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚              πŸ“œ CONSTITUTION & GOVERNANCE                β”‚    β”‚
β”‚  β”‚  Core Principles β”‚ Autonomy Levels β”‚ Communication     β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  πŸ€– BACKBONE: GitHub Copilot CLI + MCP Servers                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎯 Key Features

🧠 Multi-Agent Intelligence

Each domain has its own specialist agent with persistent memory. Agents don't just respond β€” they proactively anticipate needs and generate tasks before you ask.

πŸ“± Telegram-First Interface

Your home runs through Telegram. Get briefings, receive nudges, mark tasks complete, and interact with your agents β€” all from your phone.

🧩 4-Tier Memory Architecture

Agents remember everything:

  • Tier 1 (Core): Identity, rules, preferences β€” always loaded
  • Tier 2 (Working): Today's context, active state β€” always loaded
  • Tier 3 (Long-term): Historical patterns, lessons β€” on-demand
  • Tier 4 (Events): Chronological log β€” append-only audit trail

⏰ Autonomous Scheduling

Agents run on cron schedules without human intervention. Morning briefings, task nudges, meal planning, budget reviews β€” all automated.

πŸ“œ Constitutional Governance

A shared constitution defines how agents behave, communicate, and make decisions. Autonomy levels prevent runaway actions while keeping the system responsive.

πŸ”Œ Extensible Everything

Add new integrations, agents, or tools without touching core code. The extension system uses standard Node.js ESM modules.

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Family-First Design

Built for real families with real needs: dietary restrictions, school schedules, medical appointments, budget constraints, and the chaos of daily life.


πŸš€ Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/htekdev/home-os.git
cd home-os

# Run the interactive setup wizard
npm run setup

# Or manually configure:
cp config/telegram.env.example config/telegram.env
cp config/google.env.example config/google.env

# Edit your configuration
# See docs/getting-started.md for detailed setup

First Run

# Validate your configuration
npm run validate

# Start the cron scheduler
npm run cron

# Or run a specific agent manually
copilot-cli run agents/daily-briefing.agent.md

Home OS CLI (Phase 1)

The first Home OS CLI iteration adds a standalone daemon + CLI for persistent Copilot SDK sessions.

# Install dependencies and build the CLI
npm install
npm run build

# Start the daemon
node ./bin/home-os.js start

# Spawn a persistent agent session
node ./bin/home-os.js spawn home-assistant

# Inspect the tracked agents
node ./bin/home-os.js list
node ./bin/home-os.js logs home-assistant --limit 5

# Stop the daemon when done
node ./bin/home-os.js stop-daemon

Home OS CLI (Phase 2)

Phase 2 expands the runtime with message persistence, live streaming, inspect, and daemon recovery.

# Send a message to an agent β€” persisted and dispatched
node ./bin/home-os.js send home-assistant "What's on the calendar today?"

# Attach to an agent β€” replays recent output then streams live events
node ./bin/home-os.js attach home-assistant
# Use --no-replay to skip history, --replay-limit 5 to limit

# Inspect full metadata for an agent
node ./bin/home-os.js inspect home-assistant

# Resume an orphaned/persisted agent after daemon restart
node ./bin/home-os.js resume home-assistant

Key Phase 2 behaviors:

  • send β€” persists inbound message to SQLite, dispatches to SDK session, returns response
  • attach β€” SSE stream replaying recent output, then live-tailing all events
  • inspect β€” shows full agent metadata (profile, tools, session ID, loaded state, message count)
  • resume β€” reloads an orphaned agent that persists in SQLite but isn't loaded in memory
  • Daemon recovery β€” on startup, daemon auto-resumes all active/idle/orphaned agents
  • Graceful shutdown β€” marks agents as orphaned (not stopped) so they can be recovered

Home OS CLI (Phase 3)

Phase 3 adds tool registration, bootstrap prompts, streaming, YAML profiles, and error recovery.

# List agents with table formatting and filters
node ./bin/home-os.js list --active
node ./bin/home-os.js list --stopped
node ./bin/home-os.js list --status error

# Streaming send β€” response chunks arrive in real-time
node ./bin/home-os.js send home-assistant "Analyze this data" --stream

# Spawn a YAML-defined profile (from config/profiles/*.yaml)
node ./bin/home-os.js spawn coding-assistant --label my-dev

# Inspect shows resolved tools
node ./bin/home-os.js inspect home-assistant

Key Phase 3 behaviors:

  • Bootstrap prompts β€” after spawn, the profile's bootstrapPrompt is automatically sent; response persisted
  • Tool registration β€” profiles declare baseTools (view/glob/grep/shell or groups like file-tools/dev-tools); resolved and registered with SDK sessions
  • Streaming send β€” --stream flag streams response chunks via SSE as they arrive
  • YAML profiles β€” place *.yaml files in config/profiles/ to define custom profiles without code changes
  • Error recovery β€” if sendToAgent fails, agent is marked error status with the error recorded (visible in inspect)
  • Tool execution events β€” tool_execution_start/end events are persisted and forwarded to attach subscribers
  • Improved list β€” table formatting, ANSI status colors, --active/--stopped/--status filters

Built-in profiles:

  • home-assistant (file-tools)
  • nicu-care (file-tools)
  • platform-manager (dev-tools)

YAML-defined profiles (config/profiles/):

  • coding-assistant (dev-tools)

Home OS CLI (Phase 4)

Phase 4 adds agent-to-agent messaging, conversation history, metrics, hot-reload profiles, enhanced health checks, and configuration validation.

# Show full conversation history for an agent
node ./bin/home-os.js history home-assistant
node ./bin/home-os.js history home-assistant --limit 50

# View agent metrics/statistics
node ./bin/home-os.js stats home-assistant

# Send a message between agents (agent-to-agent IPC)
node ./bin/home-os.js message home-assistant nicu-care "Check pumping schedule"

# Detailed health check with per-agent status
curl http://127.0.0.1:44123/health?detailed=true

Key Phase 4 behaviors:

  • Agent-to-agent messaging β€” agents can send messages to each other via sendAgentMessage; delivered as system prompts to target sessions, queued if target is offline
  • Conversation history β€” home-os history <agent> shows full chronological conversation with colored roles and timestamps
  • Agent metrics β€” home-os stats <agent> shows uptime, message counts (in/out), tool call count, and estimated memory usage
  • Hot-reload profiles β€” daemon watches config/profiles/ for YAML changes; profiles are reloaded automatically without restart
  • Enhanced health endpoint β€” ?detailed=true on /health returns per-agent health info (status, memory, message count, last error)
  • Configuration validation β€” YAML profiles are validated against schema on load; clear error messages for invalid fields, bad names, unknown tools, malformed MCP configs
  • MCP server config β€” profiles can declare mcpServers array with name, command, args, env for MCP integration
  • 50 tests passing (target was 40+)

Customize for Your Family

  1. Edit data/constitution.md β€” Set your family's rules and preferences
  2. Add family profiles in data/family/ β€” Name, dietary needs, schedules
  3. Customize agents in agents/ β€” Enable/disable, adjust personalities
  4. Configure cron schedules in cron.json β€” Match your family's rhythm
  5. Add integrations in config/ β€” Connect services you use

πŸ“ Project Structure

home-os/
β”œβ”€β”€ agency.toml              # System-wide configuration
β”œβ”€β”€ cron.json                # Scheduling definitions
β”œβ”€β”€ agents/                  # Agent definitions (Markdown + YAML frontmatter)
β”‚   β”œβ”€β”€ daily-briefing.agent.md
β”‚   β”œβ”€β”€ task-coach.agent.md
β”‚   β”œβ”€β”€ meal-planner.agent.md
β”‚   β”œβ”€β”€ finance-manager.agent.md
β”‚   β”œβ”€β”€ home-manager.agent.md
β”‚   β”œβ”€β”€ health-coach.agent.md
β”‚   β”œβ”€β”€ weekly-planner.agent.md
β”‚   └── family-coordinator.agent.md
β”œβ”€β”€ extensions/              # Tool integrations (Node.js ESM)
β”‚   β”œβ”€β”€ task-manager.mjs
β”‚   β”œβ”€β”€ shopping-list.mjs
β”‚   β”œβ”€β”€ meal-planner.mjs
β”‚   β”œβ”€β”€ budget-tracker.mjs
β”‚   β”œβ”€β”€ home-maintenance.mjs
β”‚   β”œβ”€β”€ telegram-bridge.mjs
β”‚   └── google-integration.mjs
β”œβ”€β”€ data/                    # Persistent data store
β”‚   β”œβ”€β”€ constitution.md      # Governance document
β”‚   β”œβ”€β”€ family/              # Family member profiles
β”‚   β”œβ”€β”€ agents/              # Agent memory (4-tier per agent)
β”‚   └── examples/            # Example configurations
β”œβ”€β”€ config/                  # Service credentials (gitignored)
β”‚   β”œβ”€β”€ telegram.env.example
β”‚   β”œβ”€β”€ google.env.example
β”‚   └── plaid.env.example
β”œβ”€β”€ docs/                    # Comprehensive documentation
β”‚   β”œβ”€β”€ getting-started.md
β”‚   β”œβ”€β”€ architecture.md
β”‚   β”œβ”€β”€ agents-guide.md
β”‚   β”œβ”€β”€ memory-system.md
β”‚   └── go-to-market.md
β”œβ”€β”€ scripts/                 # Utility scripts
β”‚   β”œβ”€β”€ setup.mjs
β”‚   β”œβ”€β”€ validate-config.mjs
β”‚   β”œβ”€β”€ cron-runner.mjs
β”‚   └── health-check.mjs
└── templates/               # Starter templates
    β”œβ”€β”€ constitution.md
    β”œβ”€β”€ agent.md
    └── extension.mjs

🧩 Built-In Agents

Agent Domain Schedule Description
πŸŒ… Daily Briefing Morning routine 6 AM weekdays Weather, calendar, tasks, priorities
🎯 Task Coach Productivity Every 20 min ADD-friendly one-at-a-time task delivery
🍽️ Meal Planner Nutrition Sat 10 AM Weekly meals, recipes, grocery lists
πŸ’° Finance Manager Budget 1st of month Spending review, bill alerts, categorization
🏑 Home Manager Maintenance Mon 8 AM Repair schedules, service providers
πŸ₯ Health Coach Medical Daily 9 AM Appointments, medications, wellness
πŸ“… Weekly Planner Planning Sun 7 PM Full week overview and preparation
πŸ‘¨β€πŸ‘©β€πŸ‘§ Family Coordinator Logistics Weekday 7 AM Activities, carpool, events

πŸ”Œ Integrations

Service Purpose Status
Telegram Primary UI & notifications βœ… Core
Google Calendar Event management βœ… Core
Gmail Email triage & alerts βœ… Core
Google Maps Drive times & routing βœ… Core
Plaid Banking & transactions πŸ”§ Optional
GitHub Issue tracking & automation πŸ”§ Optional

πŸ’‘ Design Philosophy

Task-First System

Every actionable insight becomes a task. The system doesn't just inform β€” it creates trackable, completable work items. This is especially powerful for ADHD/ADD users who need external structure.

Act First, Report After

Agents are autonomous. They detect situations, take action, and then notify you. No "would you like me to...?" β€” just results.

Proactive Intelligence

Agents don't wait to be asked. Doctor appointment tomorrow? The system generates prep tasks: grab insurance cards, leave-by time, pack snacks for the kids. Guest coming over? Clean house tasks appear automatically.

No Placeholders

Every agent, every extension, every configuration is complete and working. This isn't a skeleton β€” it's a production system.


πŸ“š Documentation


πŸ—οΈ Built With


🀝 Contributing

Home OS is open source and welcomes contributions! See our Contributing Guide for details.

Areas where we'd love help:

  • New agent templates (pet care, garden, fitness, education)
  • Additional integrations (Alexa, HomeKit, IFTTT)
  • UI improvements (web dashboard, mobile app)
  • Documentation and tutorials
  • Internationalization

πŸ“„ License

MIT License β€” see LICENSE for details. Use it, fork it, build on it.


🌟 Star History

If Home OS helps your family, give us a ⭐ on GitHub!


Built with ❀️ for families who deserve a smarter home.

⭐ Star on GitHub Β· 🌐 Visit Website Β· πŸ“– Read the Docs

About

🏠 Home OS β€” The AI-powered home assistant platform. Multi-agent system for family management built on GitHub Copilot CLI.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages