[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81224":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":13,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":14,"starSnapshotCount":14,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},81224,"Claudio-FM","bingyanglu\u002FClaudio-FM","bingyanglu","An AI private radio station that acts like a real DJ: choosing songs, speaking on air, taking listener calls, bridging tracks, and keeping the music going.",null,"HTML",43,10,24,0,8,15,19,65.52,false,"main",true,[],"2026-06-12 04:01:32","# Claudio FM\n\n**Claudio FM is a private AI radio station.**\n\nIt acts like a real DJ: it chooses music, speaks on air, bridges between songs, and keeps the station going based on your taste and the current moment.\n\nClaudio is not a playlist generator or a chatbot that waits for commands. Open it, press play, and it begins programming a small radio show for you. It reads the hour, remembers your recent listening, follows your music taste, and turns each DJ line into spoken audio before the next song comes in.\n\n## Preview\n\n![Claudio FM preview](assets\u002Fclaudio-fm-preview.png)\n\n## What It Feels Like\n\nClaudio is for moments when you do not want to build a playlist.\n\nYou might be working, cooking, resting, or just letting the afternoon pass. Claudio listens to the shape of that moment and creates a short set: a few songs, a warm opening, a bridge between tracks, and sometimes silence when the music should speak for itself.\n\nYou can also call into the station through the request line. Claudio can play a caller-style voice moment, take your message as a signal, adjust the mood, and keep the broadcast moving.\n\n## What Claudio Does\n\n- Chooses songs based on your taste and the current time.\n- Opens a set with DJ narration.\n- Takes listener calls through the request line.\n- Speaks in short, separate radio segments.\n- Bridges between songs like a live host.\n- Turns DJ lines into voice with TTS.\n- Keeps music buffered so the station can continue.\n- Lets you choose whether the DJ speaks English or Chinese.\n- Lets you control DJ voice volume and music volume separately.\n\n## Why It Is Different\n\nMost music apps help you find tracks.\n\nClaudio tries to make the music feel hosted.\n\nThe important part is not just recommendation. It is the feeling that someone is running the station: choosing what fits, saying only what helps, leaving space when needed, and carrying one song into the next.\n\n## Inspiration\n\nThe creative inspiration for Claudio FM came from the Douyin creator **mmguo**.\n\n## Running Locally\n\nInstall dependencies:\n\n```bash\nyarn install\n```\n\nCreate your environment file:\n\n```bash\ncp .env.example .env\n```\n\nThen configure the services you want to use, such as your LLM provider, TTS provider, and music provider settings.\n\n### Required Configuration\n\nClaudio uses DeepSeek for DJ planning and Volcengine Doubao Speech for the default DJ voice. Fill these values in `.env`:\n\n```bash\nDEEPSEEK_API_KEY=your_deepseek_api_key\nVOLCENGINE_TTS_API_KEY=your_volcengine_tts_api_key\nVOLCENGINE_TTS_RESOURCE_ID=volc.service_type.10029\nVOLCENGINE_TTS_VOICE_TYPE=en_female_nadia_tips_emo_v2_mars_bigtts\n```\n\n- Get a DeepSeek API key from [DeepSeek API Keys](https:\u002F\u002Fplatform.deepseek.com\u002Fapi_keys).\n- Activate and get the Doubao Speech API key from [Volcengine Speech Settings](https:\u002F\u002Fconsole.volcengine.com\u002Fspeech\u002Fnew\u002Fsetting\u002Factivate?ResourceID=volc.service_type.10029&projectName=default).\n- Doubao Speech currently includes 20,000 free characters for the 1.0 voice model and 20,000 free characters for the 2.0 voice model.\n\nStart Claudio:\n\n```bash\nyarn start\n```\n\nOn startup, Claudio checks the local NeteaseCloudMusicApi sidecar. If\n`NETEASE_COOKIE` is not configured and no saved local cookie exists, it creates\na Netease QR login page at `data\u002Fnetease\u002Fqr-login.html`. Scan it with the\nNetease Cloud Music app to save a local cookie for later runs. The saved cookie\nstays under `data\u002Fnetease\u002F` and is ignored by Git.\n\nOpen:\n\n```text\nhttp:\u002F\u002Flocalhost:8080\n```\n\n## Current Version\n\n`v1.1.1` is the single-user radio version.\n\nIt is designed for one local listener experience: one private station, one local playback session, and one AI DJ running the show.\n\n---\n\n# Claudio FM 中文介绍\n\n![Claudio FM preview](assets\u002Fclaudio-fm-preview.png)\n\n**Claudio FM 是一个 AI 私人电台。**\n\n它会像真正的 DJ 一样，根据你的品味和当下时刻，自动选歌、播报、串场和续播。\n\nClaudio 不是歌单生成器，也不是等你下命令的聊天机器人。你打开它，按下播放，它就开始为你经营一小段电台节目：看现在是什么时间，参考你的音乐品味和最近播放，挑几首合适的歌，再把每一句 DJ 播报转成语音，插入到音乐之间。\n\n## 它听起来像什么\n\nClaudio 适合那些你不想自己整理歌单的时刻。\n\n你可能在工作、做饭、休息，或者只是想让下午自然流过去。Claudio 会感知这个时刻的气氛，生成一小组节目：几首歌，一段开场，歌曲之间的串场，以及在该安静时的留白。\n\n你也可以通过 request line 打进电台。Claudio 会播放一段类似听众来电的声音，把你的话当成一个信号，调整接下来的节目方向，然后继续播下去。\n\n## Claudio FM 会做什么\n\n- 根据你的品味和当前时间选歌。\n- 在一组歌曲开始前进行 DJ 开场。\n- 通过 request line 接听听众来电。\n- 把播报拆成一句一句的电台片段。\n- 像真实主持人一样在歌曲之间串场。\n- 用 TTS 把 DJ 文案转成语音。\n- 自动补歌，让电台继续播下去。\n- 支持选择 DJ 使用英文或中文播报。\n- 支持分别控制 DJ 音量和音乐音量。\n\n## 它特别在哪里\n\n大多数音乐产品是在帮你找歌。\n\nClaudio 想做的是让音乐“有人主持”。\n\n重点不只是推荐了哪几首歌，而是有一个 AI DJ 在后台运营这档节目：判断当下适合什么，知道什么时候该说话，什么时候该安静，以及如何把一首歌自然带到下一首歌。\n\n## 创意来源\n\nClaudio FM 的创意灵感来自抖音博主 **mmguo**。\n\n## 本地运行\n\n安装依赖：\n\n```bash\nyarn install\n```\n\n创建环境变量文件：\n\n```bash\ncp .env.example .env\n```\n\n然后配置你要使用的 LLM、TTS 和音乐服务。\n\n### 必要配置\n\nClaudio 默认使用 DeepSeek 生成 DJ 节目内容，使用火山引擎豆包语音生成 DJ 声音。请在 `.env` 中填写：\n\n```bash\nDEEPSEEK_API_KEY=你的_DeepSeek_API_Key\nVOLCENGINE_TTS_API_KEY=你的_火山引擎_豆包语音_API_Key\nVOLCENGINE_TTS_RESOURCE_ID=volc.service_type.10029\nVOLCENGINE_TTS_VOICE_TYPE=en_female_nadia_tips_emo_v2_mars_bigtts\n```\n\n- DeepSeek API Key 获取地址：[DeepSeek API Keys](https:\u002F\u002Fplatform.deepseek.com\u002Fapi_keys)。\n- 豆包语音 API Key 激活与获取地址：[火山引擎语音技术控制台](https:\u002F\u002Fconsole.volcengine.com\u002Fspeech\u002Fnew\u002Fsetting\u002Factivate?ResourceID=volc.service_type.10029&projectName=default)。\n- 豆包语音目前赠送 1.0 语音模型 20,000 字免费用量，以及 2.0 语音模型 20,000 字免费用量。\n\n启动 Claudio：\n\n```bash\nyarn start\n```\n\n启动时，Claudio 会检查本地 NeteaseCloudMusicApi sidecar。如果没有配置\n`NETEASE_COOKIE`，也没有已保存的本地 cookie，它会生成网易云二维码登录页：\n`data\u002Fnetease\u002Fqr-login.html`。用网易云音乐 App 扫码后，Claudio 会把 cookie\n保存到 `data\u002Fnetease\u002F`，后续启动自动复用；该目录会被 Git 忽略。\n\n打开：\n\n```text\nhttp:\u002F\u002Flocalhost:8080\n```\n\n## 当前版本\n\n`v1.1.1` 是单人电台版本。\n\n它面向一个本地听众体验：一个私人电台、一个本地播放会话，以及一个在后台运营节目的 AI DJ。\n","Claudio FM 是一个私人AI广播电台，能够像真正的DJ一样选择音乐、在空中讲话、接听听众来电、连接曲目并根据你的口味和当前时刻保持音乐播放。其核心功能包括基于用户喜好和时间选歌、使用TTS技术将DJ台词转换为语音、支持中英文切换以及独立控制DJ和音乐音量等。Claudio FM 适用于那些不想自己创建播放列表的场合，如工作、烹饪或休息时，它能根据当前氛围自动生成一套包含几首歌曲的小型广播节目，并通过自然流畅的过渡让整个体验更加生动。",2,"2026-06-11 04:03:57","CREATED_QUERY"]