[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-16f088fe-899f-46d0-8584-a364159d02bc":3,"$fSgb4Wjl1ceJR31EJPRZTVePDnGd2EcM5-EpH2fQaCqM":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"16f088fe-899f-46d0-8584-a364159d02bc","pipecat-friday-agent","使用Pipecat、Gemini和OpenAI构建一个低延迟、灵感来自钢铁侠的战术语音助手（F.R.I.D.A.Y.）。","cat_coding_backend","mod_coding","sickn33,coding","---\nname: pipecat-friday-agent\ndescription: \"Build a low-latency, Iron Man-inspired tactical voice assistant (F.R.I.D.A.Y.) using Pipecat, Gemini, and OpenAI.\"\ncategory: voice-agents\nrisk: safe\nsource: community\ndate_added: \"2026-03-10\"\ntags: [pipecat, voice, gemini, openai, python]\ntools: [pipecat]\n---\n\n# Pipecat Friday Agent\n\n## Overview\n\nThis skill provides a blueprint for building **F.R.I.D.A.Y.** (Replacement Integrated Digital Assistant Youth), a local voice assistant inspired by the tactical AI from the Iron Man films. It uses the **Pipecat** framework to orchestrate a low-latency pipeline:\n- **STT**: OpenAI Whisper (`whisper-1`) or `gpt-4o-transcribe`\n- **LLM**: Google Gemini 2.5 Flash (via a compatibility shim)\n- **TTS**: OpenAI TTS (`nova` voice)\n- **Transport**: Local Audio (Hardware Mic\u002FSpeakers)\n\n## When to Use This Skill\n\n- Use when you want to build a real-time, conversational voice agent.\n- Use when working with the Pipecat framework for pipeline-based AI.\n- Use when you need to integrate multiple providers (Google and OpenAI) into a single voice loop.\n- Use when building Iron Man-themed or tactical-themed voice applications.\n\n## How It Works\n\n### Step 1: Install Dependencies\n\nYou will need the Pipecat framework and its service providers installed:\n```bash\npip install pipecat-ai[openai,google,silero] python-dotenv\n```\n\n### Step 2: Configure Environment\n\nCreate a `.env` file with your API keys:\n```env\nOPENAI_API_KEY=your_openai_key\nGOOGLE_API_KEY=your_google_key\n```\n\n### Step 3: Run the Agent\n\nExecute the provided Python script to start the interface:\n```bash\npython scripts\u002Ffriday_agent.py\n```\n\n## Core Concepts\n\n### Pipeline Architecture\nThe agent follows a linear pipeline: `Mic -> VAD -> STT -> LLM -> TTS -> Speaker`. This allows for granular control over each stage, unlike end-to-end speech-to-speech models.\n\n### Google Compatibility Shim\nSince Google's Gemini API has a different message format than OpenAI's standard (which Pipecat aggregators expect), the script includes a `GoogleSafeContext` and `GoogleSafeMessage` class to bridge the gap.\n\n## Best Practices\n\n- ✅ **Use Silero VAD**: It is robust for local hardware and prevents background noise from triggering the LLM.\n- ✅ **Concise Prompts**: Tactical agents should give short, data-dense responses to minimize latency.\n- ✅ **Sample Rate Match**: OpenAI TTS outputs at 24kHz; ensure your `audio_out_sample_rate` matches to avoid high-pitched or slowed audio.\n- ❌ **No Polite Fillers**: Avoid \"Hello, how can I help you today?\" Instead, use \"Systems nominal. Ready for commands.\"\n\n## Troubleshooting\n\n- **Problem:** Audio is choppy or delayed.\n  - **Solution:** Check your `OUTPUT_DEVICE` index. Run a script like `test_audio_output.py` to find the correct hardware index for your OS.\n- **Problem:** \"Validation error\" for message format.\n  - **Solution:** Ensure the `GoogleSafeContext` shim is correctly translating OpenAI-style dicts to Gemini-style schema.\n\n## Related Skills\n\n- `@voice-agents` - General principles of voice AI.\n- `@agent-tool-builder` - Add tools (Search, Lights, etc.) to your Friday agent.\n- `@llm-architect` - Optimizing the LLM layer.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,127,1928,"2026-05-16 13:33:57",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"后端开发","backend","mdi-server","API、数据库、服务端架构",296,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"5118b9e2-46b7-4d70-b170-9993221cb5fb","1.0.0","pipecat-friday-agent.zip",4351,"uploads\u002Fskills\u002F16f088fe-899f-46d0-8584-a364159d02bc\u002Fpipecat-friday-agent.zip","53b3d48c44640c0ed1ab676878a0f00bb9ab6e4f378f3c0688a4fe506c5bd36b","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":3495},{\"path\":\"scripts\u002Ffriday_agent.py\",\"isDirectory\":false,\"size\":7264}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]