id: 39c5b9c2f4004b65b6f58da7247459fb
parent_id: 
item_type: 1
item_id: f56c691dc78b46d391876be7c09f33d6
item_updated_time: 1764345511060
title_diff: "[{\"diffs\":[[1,\"小爱音箱 + nas + 本地音乐 试试 XiaoMusic\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":30}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>小爱音箱 + nas + 本地音乐? 试试 XiaoMusic</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <meta name=\\\"content-class\\\" content=\\\"yinxiang.peso.superNote\\\"/>\\\r\\\n  <meta name=\\\"application-data:yinxiang.noteLayout\\\" content=\\\"{\\\"paragraphSpace\\\":\\\"recommend\\\",\\\"lineSpace\\\":\\\"recommend\\\"}\\\"/>\\\r\\\n  <meta name=\\\"application-data:yinxiang.superNote\\\" content=\\\"{\\\"aiMode\\\":false}\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"44539\\\"></a>\\\r\\\n<h1>小爱音箱 + nas + 本地音乐? 试试 XiaoMusic</h1>\\\r\\\n\\\r\\\n<div><span style=\\\"margin:0px;\\\"><div style=\\\"padding:8px 0px;margin:8px auto;max-width:700px;\\\"> <div><span></span></div>\\\n<p></p>\\\n<div style=\\\"--en-blockquote:true;box-sizing: border-box; padding-left: 19px; padding-top: 6px; padding-bottom: 6px; border-left: 3px solid #b4c0cc; background-position: initial initial; background-repeat: initial initial; margin-top: 6px\\\"><div>原文链接: <a href=\\\"https://mp.weixin.qq.com/s?__biz=MzkwNzQ2MTgyOA==&amp;mid=2247486893&amp;idx=1&amp;sn=625e9df419be9918c59475c9a5c21e15&amp;chksm=c17ebbf8dd4940eba5ced8965ed30ef80b0bfdc416afa0c024eab01f404af323c3921a699e59&amp;mpshare=1&amp;scene=1&amp;srcid=0623Cwk4mZx6j85j38EtsWBT&amp;sharer_shareinfo=4681de465d24615d299f36cf4f1c0867&amp;sharer_shareinfo_first=4681de465d24615d299f36cf4f1c0867#rd\\\"><span>https://mp.weixin.qq.com/s?__biz=MzkwNzQ2MTgyOA==&amp;mid=224748...</span></a></div></div>\\\n<p></p>\\\n<div><span></span></div>\\\n<div style=\\\"\\\"><div><div><h1 style=\\\"margin:0\\\"> 小爱音箱 + nas + 本地音乐? 试试 XiaoMusic</h1><div><span style=\\\"position:relative\\\">原创</span><span> leopai </span><span><a style=\\\"position:relative\\\"> 前端学研社 </a></span><span><em></em></span></div><div style=\\\";\\\"><div style=\\\"text-align: center;margin-bottom: 8px;\\\"><img src=\\\":/53c5ba58711e498780bbe9b81e6f4c40\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" style=\\\"--en-marks:%7B%22align%22%3A%22center%22%7D;\\\"/></div><div style=\\\"border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;letter-spacing: normal;background-color: rgb(255, 255, 255);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;font-size: 15px;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;font-size: 15px;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;font-size: 15px;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;font-size: 15px;\\\"><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;\\\"><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0;color:rgb(10,10,10);font-family:ui-sans-serif,system-ui,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;font-size:0;line-height:0\\\"><span><br/></span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0;color:rgb(10,10,10);font-family:ui-sans-serif,system-ui,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;font-size:0;line-height:0\\\"><span> </span></p><div style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;\\\"><h3 style=\\\"box-sizing:border-box;border-width:0 0 1px 4px;border-style:solid solid dashed;border-color:rgb(229,229,229) rgb(229,229,229) rgb(15,76,129) rgb(15,76,129);font-size:18px;font-weight:bold;margin:0 8px 0.75em 0;text-align:left;line-height:1.2;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;padding-left:12px;color:rgb(63,63,63)\\\"><span>项目简介</span></h3><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><strong style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-weight: bold;text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: inherit;color: rgb(15, 76, 129);\\\"><span>XiaoMusic</span></strong><span> 是由开发者 Hanxi 创建的一个开源项目，旨在让用户可以通过小爱音箱播放本地或网络音乐资源，从而突破原生只能播放小米生态内容的限制。</span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span><img src=\\\":/d61a46a8226249ebb2cd5ca3cadae85a\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" style=\\\"--en-marks:%7B%22align%22%3A%22center%22%7D;width:100%;\\\"/></span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>该项目的核心思路是通过调用小米账号授权接口，将本地音乐、网络音乐或者播放列表资源，推送给小爱音箱进行播放，实现“我说一句，小爱同学就能播我自己的歌”。</span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>项目提供了 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>Python</span></code><span> 包和 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>Docker</span></code><span> 镜像两种部署方式，既方便开发者直接调试，也适合部署在 </span><strong style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-weight: bold;text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: inherit;color: rgb(15, 76, 129);\\\"><span>NAS</span></strong><span> 或服务器上进行长期运行。</span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span><img src=\\\":/96fff95edff34bb6acd9a4546360d7ae\\\" type=\\\"image/jpeg\\\" data-filename=\\\"640.jpg\\\" style=\\\"--en-marks:%7B%22align%22%3A%22center%22%7D;width:100%;\\\"/></span></p><h3 style=\\\"box-sizing:border-box;border-width:0 0 1px 4px;border-style:solid solid dashed;border-color:rgb(229,229,229) rgb(229,229,229) rgb(15,76,129) rgb(15,76,129);font-size:18px;font-weight:bold;margin:2em 8px 0.75em 0;text-align:left;line-height:1.2;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;padding-left:12px;color:rgb(63,63,63)\\\"><span>功能亮点</span></h3><ul style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);list-style:none;margin:0;padding:0 0 0 1.5em;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;color:rgb(63,63,63)\\\"><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 通过提供一个可自部署的服务，来将本地目录下的 mp3、flac、ape 等格式的音乐转化为可以通过小爱音箱播放的资源链接。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 在控制能力上，XiaoMusic 支持常见的语音指令并提供了对小爱音箱语音识别记录的读取和识别功能，从而实现对语音行为的自定义解析。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 项目还支持多个本地目录的同时配置，可以配合 Navidrome、Jellyfin 等音乐服务器进行目录共享；也支持将常见的 m3u 播放列表格式转换为 JSON 文件，从而通过 XiaoMusic 识别并播放。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 用户体验方面还引入了播放记录功能、设备选择功能、歌词下载、自定义 UI 等内容，尤其是对于多设备场景（如多个小爱音箱）的用户提供了额外的灵活性。</span></div></li></ul><h3 style=\\\"box-sizing:border-box;border-width:0 0 1px 4px;border-style:solid solid dashed;border-color:rgb(229,229,229) rgb(229,229,229) rgb(15,76,129) rgb(15,76,129);font-size:18px;font-weight:bold;margin:2em 8px 0.75em 0;text-align:left;line-height:1.2;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;padding-left:12px;color:rgb(63,63,63)\\\"><span>语音口令</span></h3><ul style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);list-style:none;margin:0;padding:0 0 0 1.5em;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;color:rgb(63,63,63)\\\"><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【播放歌曲】，播放本地的歌曲</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【播放歌曲+歌名】，比如：播放歌曲周杰伦晴天</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【上一首】、【下一首】、【单曲循环】、【全部循环】、【随机播放】</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【关机】，【停止播放】，两个效果是一样的。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【刷新列表】，当复制了歌曲进 music 目录后，可以用这个口令刷新歌单。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【播放列表+列表名】，比如：播放列表其他。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【加入收藏】，把当前播放的歌曲加入收藏歌单。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【取消收藏】，把当前播放的歌曲从收藏歌单里移除。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【播放列表收藏】，这个用于播放收藏歌单。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【播放本地歌曲+歌名】，这个口令和播放歌曲的区别是本地找不到也不会去下载。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【播放列表第几个+列表名】</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【搜索播放+关键词】，会搜索关键词作为临时搜索列表播放，比如说【搜索播放林俊杰】，会播放所有林俊杰的歌。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 【本地搜索播放+关键词】，跟搜索播放的区别是本地找不到也不会去下载。</span></div></li></ul><h3 style=\\\"box-sizing:border-box;border-width:0 0 1px 4px;border-style:solid solid dashed;border-color:rgb(229,229,229) rgb(229,229,229) rgb(15,76,129) rgb(15,76,129);font-size:18px;font-weight:bold;margin:2em 8px 0.75em 0;text-align:left;line-height:1.2;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;padding-left:12px;color:rgb(63,63,63)\\\"><span>docker运行</span></h3><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>docker 启动命令如下:</span></p><pre style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);display: flex;padding: 10px 14px 0px;\\\"><span><span></span><span></span><span></span></span></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span>docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /xiaomusic_music:/app/music -v /xiaomusic_conf:/app/conf hanxi/xiaomusic</span></div></pre><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>🔥 国内：</span></p><pre style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);display: flex;padding: 10px 14px 0px;\\\"><span><span></span><span></span><span></span></span></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span>docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /xiaomusic_music:/app/music -v /xiaomusic_conf:/app/conf docker.hanxi.cc/hanxi/xiaomusic</span></div></pre><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>对应的 docker compose 配置如下：</span></p><pre style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);display: flex;padding: 10px 14px 0px;\\\"><span><span></span><span></span><span></span></span></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>services:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>xiaomusic:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>image:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>hanxi/xiaomusic</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>container_name:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>xiaomusic</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>restart:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>unless-stopped</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>ports:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(242, 204, 96);\\\"><span>-</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>58090</span></span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>:8090</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>environment:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>XIAOMUSIC_PUBLIC_PORT:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>58090</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>volumes:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(242, 204, 96);\\\"><span>-</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>/xiaomusic_music:/app/music</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(242, 204, 96);\\\"><span>-</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>/xiaomusic_conf:/app/conf</span></span></div></pre><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>🔥 国内：</span></p><pre style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);display: flex;padding: 10px 14px 0px;\\\"><span><span></span><span></span><span></span></span></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>services:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>xiaomusic:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>image:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>docker.hanxi.cc/hanxi/xiaomusic</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>container_name:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>xiaomusic</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>restart:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>unless-stopped</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>ports:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(242, 204, 96);\\\"><span>-</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>58090</span></span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>:8090</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>environment:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>XIAOMUSIC_PUBLIC_PORT:</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>58090</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>    </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>volumes:</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(242, 204, 96);\\\"><span>-</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>/xiaomusic_music:/app/music</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>      </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(242, 204, 96);\\\"><span>-</span></span><span> </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(165, 214, 255);\\\"><span>/xiaomusic_conf:/app/conf</span></span></div></pre><ul style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);list-style:none;margin:0;padding:0 0 0 1.5em;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;color:rgb(63,63,63)\\\"><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 其中 conf 目录为配置文件存放目录，music 目录为音乐存放目录，建议分开配置为不同的目录。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• /xiaomusic_music 和 /xiaomusic_conf 是 docker 所在的主机的目录，可以修改为其他目录。如果报错找不到 /xiaomusic_music 目录，可以先执行 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>mkdir -p /xiaomusic_{music,conf}</span></code><span> 命令新建目录。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• /app/music 和 /app/conf 是 docker 容器里的目录，不要去修改。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• XIAOMUSIC_PUBLIC_PORT 是用来配置 NAS 本地端口的。8090 是容器端口，不要去修改。</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 后台访问地址为： http://NAS_IP:58090</span></div></li></ul><blockquote style=\\\"box-sizing: border-box;border-width: 0px 0px 0px 4px;border-style: solid;border-color: rgb(229, 229, 229) rgb(229, 229, 229) rgb(229, 229, 229) rgb(15, 76, 129);margin: 0px 0px 1em;text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;font-style: italic;padding: 1em 1em 1em 2em;border-radius: 6px;color: rgba(0, 0, 0, 0.6);background: rgb(247, 247, 247);box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 6px;\\\"><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:1em;display:block;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>docker</span></code><span> 和 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>docker compose</span></code><span> 二选一即可，启动成功后，在 web 页面可以配置其他参数，带有 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>*</span></code><span> 号的配置是必须要配置的，其他的用不上时不用修改。初次配置时需要在页面上输入小米账号和密码保存后才能获取到设备列表。</span></p></blockquote><h3 style=\\\"box-sizing:border-box;border-width:0 0 1px 4px;border-style:solid solid dashed;border-color:rgb(229,229,229) rgb(229,229,229) rgb(15,76,129) rgb(15,76,129);font-size:18px;font-weight:bold;margin:2em 8px 0.75em 0;text-align:left;line-height:1.2;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;padding-left:12px;color:rgb(63,63,63)\\\"><span>pip运行</span></h3><pre style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);display: flex;padding: 10px 14px 0px;\\\"><span><span></span><span></span><span></span></span></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>&gt; </span></span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"><span>pip install -U xiaomusic</span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>&gt; </span></span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"><span>xiaomusic --</span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(255, 166, 87);\\\"><span>help</span></span></span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span> __  __  _                   __  __                 _</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span> \\\\ \\\\/ / (_)   __ _    ___   |  \\\\/  |  _   _   ___  (_)   ___</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  \\\\  /  | |  / _` |  / _ \\\\  | |\\\\/| | | | | | / __| | |  / __|</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  /  \\\\  | | | (_| | | (_) | | |  | | | |_| | \\\\__ \\\\ | | | (__</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span> /_/\\\\_\\\\ |_|  \\\\__,_|  \\\\___/  |_|  |_|  \\\\__,_| |___/ |_|  \\\\___|</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>          XiaoMusic v0.3.69 by: github.com/hanxi</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>usage: xiaomusic [-h] [--port PORT] [--hardware HARDWARE] [--account ACCOUNT]</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>                 [--password PASSWORD] [--cookie COOKIE] [--verbose]</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>                 [--config CONFIG] [--ffmpeg_location FFMPEG_LOCATION]</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>options:</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  -h, --help            show this help message and exit</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --port PORT           监听端口</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --hardware HARDWARE   小爱音箱型号</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --account ACCOUNT     xiaomi account</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --password PASSWORD   xiaomi password</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --cookie COOKIE       xiaomi cookie</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --verbose             show info</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --config CONFIG       config file path</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>  --ffmpeg_location FFMPEG_LOCATION</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span>                        ffmpeg bin path</span><br style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"/><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>&gt; </span></span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);\\\"><span>xiaomusic --config config.json</span></span></div></pre><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>其中 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>config.json</span></code><span> 文件可以参考 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>config-example.json</span></code><span> 文件配置。见 </span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;color: rgb(87, 107, 149);\\\"><span>#94</span></span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>不修改默认端口 8090 的情况下，只需要执行 </span><code style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;\\\"><span>xiaomusic</span></code><span> 即可启动。</span></p><h3 style=\\\"box-sizing:border-box;border-width:0 0 1px 4px;border-style:solid solid dashed;border-color:rgb(229,229,229) rgb(229,229,229) rgb(15,76,129) rgb(15,76,129);font-size:18px;font-weight:bold;margin:2em 8px 0.75em 0;text-align:left;line-height:1.2;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;padding-left:12px;color:rgb(63,63,63)\\\"><span>推荐用户：</span></h3><ul style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);list-style:none;margin:0;padding:0 0 0 1.5em;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;color:rgb(63,63,63)\\\"><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 有大量本地无损音乐收藏的用户</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 使用 NAS 或家用服务器的音频发烧友</span></div></li><li style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);text-align: left;line-height: 1.75;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);\\\"><div><span>• 想拓展小爱音箱智能控制能力的技术用户</span></div></li></ul><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>项目文档详实、社区活跃，值得关注与尝试。</span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:1.5em 8px;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span>项目地址：</span></p><pre style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &quot;PingFang SC&quot;, Cambria, Cochin, Georgia, Times, &quot;Times New Roman&quot;, serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 13.5px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);display: flex;padding: 10px 14px 0px;\\\"><span><span></span><span></span><span></span></span></span><div style=\\\"--en-codeblock:true;--en-meta:{&quot;title&quot;:&quot;&quot;,&quot;lang&quot;:&quot;Plain Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;showLine&quot;:true,&quot;lineWrap&quot;:true};box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &quot;Courier New&quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902); background-position: initial initial; background-repeat: initial initial; margin-top: 6px;\\\"><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(121, 192, 255);\\\"><span>https</span></span><span>:</span><span style=\\\"box-sizing: border-box;border-width: 0px;border-style: solid;border-color: rgb(229, 229, 229);color: rgb(139, 148, 158);\\\"><span>//github.com/hanxi/xiaomusic</span></span></div></pre></div><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0;color:rgb(10,10,10);font-family:ui-sans-serif,system-ui,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;font-size:0;line-height:0\\\"><span> </span></p><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0 8px 1.5em;text-align:left;line-height:1.75;font-family:Optima-Regular,Optima,PingFangSC-light,PingFangTC-light,&quot;PingFang SC&quot;,Cambria,Cochin,Georgia,Times,&quot;Times New Roman&quot;,serif;font-size:15px;letter-spacing:0.1em;color:rgb(63,63,63)\\\"><span><br/></span></p></div><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0;color:rgb(10,10,10);font-family:ui-sans-serif,system-ui,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;font-size:0;line-height:0\\\"><span><br/></span></p></div></div></div><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(229,229,229);margin:0;color:rgb(10,10,10);font-family:ui-sans-serif,system-ui,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;font-size:0;line-height:0\\\"><span><br/></span></p></div></div></div><p style=\\\"box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border));margin:0;color:rgb(10,10,10);font-family:ui-sans-serif,system-ui,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;,&quot;Segoe UI Symbol&quot;,&quot;Noto Color Emoji&quot;;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0;text-transform:none;widows:2;word-spacing:0;-webkit-text-stroke-width:0;white-space:normal;background-color:rgb(255,255,255);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;font-size:0;line-height:0\\\"><span><br/></span></p></div></div></div></div><p style=\\\"border-width:0;border-style:solid;border-color:hsl(var(--border));margin:1.5em 8px;font-size:14px;background-color:rgb(255,255,255);line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,&quot;Helvetica Neue&quot;,&quot;PingFang SC&quot;,&quot;Hiragino Sans GB&quot;,&quot;Microsoft YaHei UI&quot;,&quot;Microsoft YaHei&quot;,Arial,sans-serif;letter-spacing:0.1em;color:rgb(63,63,63);text-align:center\\\"><span style=\\\"color: rgb(136, 136, 136);\\\"><em style=\\\"letter-spacing: 0.578px;text-align: center;\\\"><strong><span style=\\\"font-size: 16px;-webkit-tap-highlight-color: transparent;outline: 0px;\\\"><span>欢迎</span></span><span style=\\\"font-size: 16px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: &quot;Helvetica Neue&quot;, Helvetica, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><span>关注</span></span></strong></em></span><em style=\\\"letter-spacing: 0.578px;text-align: center;\\\"><strong><span style=\\\"font-size: 16px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: &quot;Helvetica Neue&quot;, Helvetica, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><span>“</span></span></strong></em><span style=\\\"letter-spacing: 0.578px;text-align: center;font-size: 16px;color: rgb(113, 147, 190);\\\"><em><strong><span style=\\\"-webkit-tap-highlight-color: transparent;outline: 0px;font-family: &quot;Helvetica Neue&quot;, Helvetica, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><span>前端学研社</span></span></strong></em></span><em style=\\\"letter-spacing: 0.578px;text-align: center;\\\"><strong><span style=\\\"font-size: 16px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: &quot;Helvetica Neue&quot;, Helvetica, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><span>”，</span></span></strong></em><span style=\\\"color: rgb(136, 136, 136);\\\"><em style=\\\"letter-spacing: 0.578px;text-align: center;\\\"><strong><span style=\\\"font-size: 16px;-webkit-tap-highlight-color: transparent;outline: 0px;font-family: &quot;Helvetica Neue&quot;, Helvetica, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif;\\\"><span>获取</span><span style=\\\"-webkit-tap-highlight-color: transparent;outline: 0px;font-family: -apple-system, blinkmacsystemfont, &quot;Helvetica Neue&quot;, helvetica, &quot;segoe ui&quot;, arial, roboto, &quot;PingFang SC&quot;, miui, &quot;Hiragino Sans GB&quot;, &quot;Microsoft Yahei&quot;, sans-serif;letter-spacing: 0.25px;text-align: left;white-space-collapse: preserve;\\\"><span>更多原创内容，第一时间为您送达！</span></span></span></strong></em></span><em style=\\\"letter-spacing: 0.578px;text-align: center;\\\"><strong><span style=\\\"font-size: 16px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(6, 6, 7);font-family: -apple-system, blinkmacsystemfont, &quot;Helvetica Neue&quot;, helvetica, &quot;segoe ui&quot;, arial, roboto, &quot;PingFang SC&quot;, miui, &quot;Hiragino Sans GB&quot;, &quot;Microsoft Yahei&quot;, sans-serif;letter-spacing: 0.25px;text-align: left;white-space-collapse: preserve;\\\"><span>👇👇</span></span></strong></em></p><div><span></span></div></div></div></div></div></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":71149}]"
metadata_diff: {"new":{"id":"f56c691dc78b46d391876be7c09f33d6","parent_id":"061de1401cfc4cfaadf6e74e015970e9","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764345869962,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T16:20:23.738Z
created_time: 2025-11-28T16:20:23.738Z
type_: 13