Repository navigation
v0.1.0 — 2026-04-23
Initial release.
Core
- GitHub Copilot as a conversation agent in Home Assistant's Assist voice pipeline
- Zero pip dependencies — all API calls use raw aiohttp
- OpenAI-compatible streaming SSE responses with progressive text display in the HA UI
Authentication - GitHub Device Flow OAuth (same flow as VS Code) — no API keys to copy/paste
- Automatic Copilot token exchange with proactive refresh (60-second buffer before expiry)
- Retry-on-401 with transparent token renewal
- Re-authentication flow when credentials become invalid
Models - Dynamic model discovery from the Copilot /models API (filtered to chat-capable model families)
- Model selection during initial setup and in the options flow
- Default model: gpt-4.1
Conversation - Streaming chat completions via chat_log.async_add_delta_content_stream
- Tool calling support for Home Assistant device control via HA's native LLM API (up to 10 round-trips)
- Configurable system prompt with Jinja2 template support ({{ ha_name }}, {{ now() }}, etc.)
- Configurable temperature (0.0-2.0) and max tokens (64-16384)
- Continue conversation mode (Experimental) — keeps the microphone open after question responses
Infrastructure - Shared CopilotRuntimeData with thread-safe token management via asyncio.Lock
- Model fetching extracted to shared utils.py (used by both config flow and runtime)
- Payload sanitization to prevent JSON serialization errors from HA's internal types
- HACS-compatible repository structure