Duck E banner
jedarden jedarden

Duck E

AI community

Description

🦆 DUCK-E: The Duck That Talks Back - An AI-powered voice assistant that revolutionizes rubber duck debugging by actively engaging in your debugging process. Built with OpenAI Realtime API, FastAPI, and AutoGen framework for intelligent, real-time voice conversations about your code.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

DUCK-E: The Duck That Talks Back

**DUCK-E** (Digitally Unified Conversational Knowledge Engine) is an AI-powered voice assistant inspired by rubber duck debugging. Instead of explaining your problem to a silent rubber duck, DUCK-E listens and talks back — asking questions, offering suggestions, and searching the web in real time.

How it works

Browser (WebRTC) → WebSocket → FastAPI → OpenAI Realtime API
                                              (gpt-realtime-2)
  1. Your browser captures audio via the MediaDevices API and opens a WebRTC peer connection.
  2. The FastAPI backend requests an ephemeral key from OpenAI — your real API key never touches the browser.
  3. Speech is transcribed by OpenAI Whisper-1; the Realtime API handles both understanding and voice response natively.
  4. When DUCK-E needs external data (weather, web search), it calls the appropriate tool on the server and folds the result into its reply.

Features

Voice I/O

  • Low-latency, full-duplex voice conversation via the OpenAI Realtime API
  • 11 built-in voices — changeable mid-session without reconnecting
  • Interruption-friendly: DUCK-E handles natural conversation flow

Tools

Tool What it does
get_current_weather Current conditions via Open-Meteo (free, no key required)
get_weather_forecast Multi-day forecast via Open-Meteo
web_search Live web search via OpenAI's gpt-4o-mini + web_search_preview
web_fetch Fetches and parses a URL (SSRF-protected; blocks private IPs)
save_memory / recall_memories Stores and retrieves facts about the user
change_voice Switches voice mid-session

Persistent memory

DUCK-E stores per-user facts with categories, confidence scores, and time decay, and surfaces them at the start of each session. Memory is keyed by user identity via:

  • Google OAuth (recommended): Users sign in with Google, memory is keyed to their email
  • Reverse proxy headers: Falls back