A multi-agent AI system that runs your household β tasks, meals, finances, health, maintenance, and more.
π Website Β· π Docs Β· π Get Started Β· π¬ Community
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.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
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.
Your home runs through Telegram. Get briefings, receive nudges, mark tasks complete, and interact with your agents β all from your phone.
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
Agents run on cron schedules without human intervention. Morning briefings, task nudges, meal planning, budget reviews β all automated.
A shared constitution defines how agents behave, communicate, and make decisions. Autonomy levels prevent runaway actions while keeping the system responsive.
Add new integrations, agents, or tools without touching core code. The extension system uses standard Node.js ESM modules.
Built for real families with real needs: dietary restrictions, school schedules, medical appointments, budget constraints, and the chaos of daily life.
- Node.js 20+
- GitHub Copilot CLI (with active subscription)
- Telegram Bot (for notifications)
- Optional: Google Cloud credentials (Calendar, Gmail, Maps)
- Optional: Plaid credentials (banking integration)
# 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# 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.mdThe 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-daemonPhase 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-assistantKey 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(notstopped) so they can be recovered
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-assistantKey Phase 3 behaviors:
- Bootstrap prompts β after spawn, the profile's
bootstrapPromptis automatically sent; response persisted - Tool registration β profiles declare
baseTools(view/glob/grep/shell or groups likefile-tools/dev-tools); resolved and registered with SDK sessions - Streaming send β
--streamflag streams response chunks via SSE as they arrive - YAML profiles β place
*.yamlfiles inconfig/profiles/to define custom profiles without code changes - Error recovery β if
sendToAgentfails, agent is markederrorstatus with the error recorded (visible ininspect) - Tool execution events β
tool_execution_start/endevents are persisted and forwarded to attach subscribers - Improved list β table formatting, ANSI status colors,
--active/--stopped/--statusfilters
Built-in profiles:
home-assistant(file-tools)nicu-care(file-tools)platform-manager(dev-tools)
YAML-defined profiles (config/profiles/):
coding-assistant(dev-tools)
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=trueKey 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=trueon/healthreturns 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
mcpServersarray with name, command, args, env for MCP integration - 50 tests passing (target was 40+)
- Edit
data/constitution.mdβ Set your family's rules and preferences - Add family profiles in
data/family/β Name, dietary needs, schedules - Customize agents in
agents/β Enable/disable, adjust personalities - Configure cron schedules in
cron.jsonβ Match your family's rhythm - Add integrations in
config/β Connect services you use
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
| 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 |
| 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 |
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.
Agents are autonomous. They detect situations, take action, and then notify you. No "would you like me to...?" β just results.
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.
Every agent, every extension, every configuration is complete and working. This isn't a skeleton β it's a production system.
- Getting Started Guide β Full setup walkthrough
- Architecture Overview β How the system works
- Agent Development Guide β Create custom agents
- Memory System β Understanding the 4-tier architecture
- Extension Development β Build new integrations
- Telegram Setup β Configure your bot
- Google Integration β Calendar, Gmail, Maps
- Cron Scheduling β Automate agent execution
- Customization Guide β Make it yours
- Go-to-Market Strategy β Business plan & pricing
- GitHub Copilot CLI β AI backbone for all agent reasoning
- MCP Servers β Tool integration protocol
- Node.js β Runtime for extensions and scripting
- Telegram Bot API β Primary user interface
- Google APIs β Calendar, Gmail, Maps
- Plaid β Banking and financial data
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
MIT License β see LICENSE for details. Use it, fork it, build on it.
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