From b0f3f3c67c40909a223619bdd0075b93a397d50a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?=
Date: Thu, 19 Mar 2026 23:16:25 +0800
Subject: [PATCH] update doc
---
.../vitepress-plugin-github-issues.mts | 276 ++++++---------
docs/issues/101.md | 29 +-
docs/issues/105.md | 73 +---
docs/issues/182.md | 23 +-
docs/issues/19.md | 17 +-
docs/issues/210.md | 25 +-
docs/issues/211.md | 71 +---
docs/issues/212.md | 35 +-
docs/issues/235.md | 29 +-
docs/issues/269.md | 49 +--
docs/issues/285.md | 27 +-
docs/issues/294.md | 23 +-
docs/issues/297.md | 39 +--
docs/issues/312.md | 15 +-
docs/issues/333.md | 6 +-
docs/issues/350.md | 13 +-
docs/issues/360.md | 27 +-
docs/issues/365.md | 9 +-
docs/issues/366.md | 13 +-
docs/issues/389.md | 6 +-
docs/issues/398.md | 9 +-
docs/issues/417.md | 9 +-
docs/issues/520.md | 9 +-
docs/issues/533.md | 17 +-
docs/issues/595.md | 6 +-
docs/issues/600.md | 6 +-
docs/issues/637.md | 17 +-
docs/issues/655.md | 145 --------
docs/issues/688.md | 81 +----
docs/issues/764.md | 6 +-
docs/issues/767.md | 10 +-
docs/issues/78.md | 61 +---
docs/issues/86.md | 37 +-
docs/issues/88.md | 19 +-
docs/issues/94.md | 17 +-
docs/issues/96.md | 17 +-
docs/issues/99.md | 319 +-----------------
docs/issues/changelog.md | 18 +
docs/package.json | 2 +-
39 files changed, 220 insertions(+), 1390 deletions(-)
delete mode 100644 docs/issues/655.md
diff --git a/docs/.vitepress/vitepress-plugin-github-issues.mts b/docs/.vitepress/vitepress-plugin-github-issues.mts
index 81c8eab..5655bb3 100644
--- a/docs/.vitepress/vitepress-plugin-github-issues.mts
+++ b/docs/.vitepress/vitepress-plugin-github-issues.mts
@@ -1,66 +1,51 @@
-// vitepress-plugin-github-issues.mts
-
import axios from 'axios';
import fs from 'fs';
import path from 'path';
import type { Plugin } from 'vitepress';
interface ReplaceRule {
- baseUrl: string; // 要匹配的基地址
- targetUrl: string; // 替换后的目标地址
+ baseUrl: string;
+ targetUrl: string;
}
interface GitHubIssuesPluginOptions {
- repo: string; // GitHub repository info in the format 'owner/repo'
+ repo: string;
token: string;
replaceRules: ReplaceRule[];
githubProxy: string;
}
+// 增强超时 + 重试
+axios.defaults.timeout = 15000;
+
async function fetchAllIssues(repo: string, token: string): Promise {
- const maxRetries = 3; // 最大重试次数
+ const maxRetries = 5;
let attempt = 0;
const allIssues: any[] = [];
let page = 1;
while (true) {
- while (attempt < maxRetries) {
- try {
- const response = await axios.get(`https://api.github.com/repos/${repo}/issues`, {
- headers: {
- Authorization: `token ${token}`
- },
- params: {
- page: page,
- per_page: 100 // 每页最多返回100条记录
- }
- });
+ try {
+ const response = await axios.get(`https://api.github.com/repos/${repo}/issues`, {
+ headers: { Authorization: `token ${token}` },
+ params: { page, per_page: 100 },
+ });
- // 如果没有更多问题了,退出循环
- if (response.data.length === 0) {
- return allIssues;
- }
-
- allIssues.push(...response.data);
- page++; // 下一页
- attempt = 0; // 重置尝试次数
- break; // 退出尝试循环
- } catch (error) {
- if (error.response && error.response.status === 503) {
- console.error(`服务不可用, 正在重试...`);
- attempt++;
- const waitTime = Math.pow(2, attempt) * 1000; // 指数等待时间
- await new Promise(resolve => setTimeout(resolve, waitTime));
- } else {
- throw error; // 如果不是503错误,抛出错误并停止重试
- }
+ if (response.data.length === 0) break;
+ allIssues.push(...response.data);
+ page++;
+ attempt = 0;
+ } catch (error: any) {
+ attempt++;
+ console.error(`[Issue 获取失败] page ${page}, 重试 ${attempt}/${maxRetries}`);
+ if (attempt >= maxRetries) {
+ console.error(`❌ 终止获取 Issue,已获取数量:${allIssues.length}`);
+ break;
}
- }
-
- if (attempt >= maxRetries) {
- throw new Error('最大重试次数已达,请检查 API 状态(可能是请求过于频繁)');
+ await new Promise(r => setTimeout(r, 3000 * attempt));
}
}
+ return allIssues;
}
async function fetchIssueComments(repo: string, issueNumber: number, token: string): Promise {
@@ -69,92 +54,68 @@ async function fetchIssueComments(repo: string, issueNumber: number, token: stri
const allComments: any[] = [];
let page = 1;
- while (true) {
- while (attempt < maxRetries) {
- try {
- const response = await axios.get(
- `https://api.github.com/repos/${repo}/issues/${issueNumber}/comments`,
- {
- headers: {
- Authorization: `token ${token}`,
- },
- params: {
- page: page,
- per_page: 100,
- },
- }
- );
-
- if (response.data.length === 0) {
- return allComments; // 如果没有更多评论,退出循环
+ while (attempt < maxRetries) {
+ try {
+ const res = await axios.get(
+ `https://api.github.com/repos/${repo}/issues/${issueNumber}/comments`,
+ {
+ headers: { Authorization: `token ${token}` },
+ params: { page, per_page: 100 },
}
-
- allComments.push(...response.data);
- page++;
- attempt = 0;
- break; // 成功获取评论数据,退出重试
- } catch (error: any) {
- if (error.response && error.response.status === 503) {
- console.error('服务不可用,正在重试...');
- attempt++;
- const waitTime = Math.pow(2, attempt) * 1000;
- await new Promise((resolve) => setTimeout(resolve, waitTime));
- } else {
- throw error;
- }
- }
- }
-
- if (attempt >= maxRetries) {
- throw new Error('最大重试次数已达,请检查 API 状态(可能是请求过于频繁)');
+ );
+ if (res.data.length === 0) break;
+ allComments.push(...res.data);
+ page++;
+ } catch (err) {
+ attempt++;
+ if (attempt >= maxRetries) break;
+ await new Promise(r => setTimeout(r, 2000));
}
}
+ return allComments;
}
function clearDirectory(dir: string) {
if (fs.existsSync(dir)) {
- fs.readdirSync(dir).forEach((file) => {
- const filePath = path.join(dir, file);
- if (fs.lstatSync(filePath).isDirectory()) {
- clearDirectory(filePath); // 递归清理子目录
- fs.rmdirSync(filePath);
- } else {
- fs.unlinkSync(filePath); // 删除文件
- }
+ fs.readdirSync(dir).forEach(file => {
+ const p = path.join(dir, file);
+ fs.lstatSync(p).isDirectory() ? clearDirectory(p) : fs.unlinkSync(p);
});
- console.log(`Cleared directory: ${dir}`);
}
}
-function copyFile(source: string, destination: string) {
- if (fs.existsSync(source)) {
- fs.copyFileSync(source, destination);
- console.log(`Copied file from ${source} to ${destination}`);
- } else {
- console.error(`file not found at ${source}`);
- }
+function copyFile(src: string, dest: string) {
+ if (fs.existsSync(src)) fs.copyFileSync(src, dest);
}
-// 在文件开头插入内容
-function prependToFile(filePath: string, text: string) {
- const content = fs.readFileSync(filePath, 'utf-8');
- const updatedContent = `${text}\n\n${content}`;
- fs.writeFileSync(filePath, updatedContent, 'utf-8');
- console.log(`Prepended text to ${filePath}`);
+function prependToFile(file: string, text: string) {
+ if (!fs.existsSync(file)) return;
+ const c = fs.readFileSync(file, 'utf8');
+ fs.writeFileSync(file, `${text}\n\n${c}`);
}
-function replaceGithubAssetUrls(content: string, githubProxy: string): string {
- const pattern1 = /https:\/\/github\.com\/[^\/]+\/[^\/]+\/assets\/[\w-]+/g;
- const pattern2 = /https:\/\/github\.com\/user-attachments\/assets\/[\w-]+/g;
+function replaceGithubAssetUrls(content: string, proxy: string): string {
+ return content
+ .replace(/https:\/\/github\.com\/[^\/]+\/[^\/]+\/assets\/[\w-]+/g, m => m.replace('https://github.com', proxy))
+ .replace(/https:\/\/github\.com\/user-attachments\/assets\/[\w-]+/g, m => m.replace('https://github.com', proxy));
+}
- // 使用正则表达式替换符合条件的链接
- const transformedContent = content.replace(pattern1, (match) => {
- return match.replace("https://github.com", githubProxy);
- }).replace(pattern2, (match) => {
- return match.replace("https://github.com", githubProxy);
- });
+// 核心修复:生成空文件占位,防止构建报错
+function ensureIssueFile(number: number, dir: string, htmlUrl: string) {
+ const file = path.join(dir, `${number}.md`);
+ if (fs.existsSync(file)) return;
- return transformedContent;
+ const content = `---
+title: Issue #${number} (加载失败)
+---
+# Issue #${number} 加载失败
+
+原因:GitHub API 请求失败 / 网络超时
+
+[前往查看](${htmlUrl})
+`;
+ fs.writeFileSync(file, content, 'utf8');
+ console.log(`⚠️ 自动生成占位文件:${file}`);
}
export default function GitHubIssuesPlugin(options: GitHubIssuesPluginOptions): Plugin {
@@ -164,96 +125,63 @@ export default function GitHubIssuesPlugin(options: GitHubIssuesPluginOptions):
name: 'vitepress-plugin-github-issues',
async buildStart() {
+ console.log('🚀 开始从 GitHub Issues 生成文档...');
+
try {
const issues = await fetchAllIssues(repo, token);
+ console.log(`✅ 成功获取 Issue 数量:${issues.length}`);
- console.log(`Fetched ${issues.length} issues from GitHub`); // Log the number of issues fetched
+ const issuesDir = path.join(process.cwd(), 'issues');
+ clearDirectory(issuesDir);
+ if (!fs.existsSync(issuesDir)) fs.mkdirSync(issuesDir);
- const docsDir = path.join(process.cwd(), 'issues');
-
- // 清空 issues 目录
- clearDirectory(docsDir);
-
- // Create a directory to store markdown files if it doesn't exist
- if (!fs.existsSync(docsDir)) {
- fs.mkdirSync(docsDir);
- console.log(`Created docs directory: ${docsDir}`);
- }
-
- // 拷贝 ../README.md 文件到当前目录
- const readmeSource = path.join(process.cwd(), '../README.md');
- const readmeDestination = path.join(docsDir, 'index.md');
- copyFile(readmeSource, readmeDestination);
-
- // 拷贝 ../CHANGELOG.md 文件到当前目录
- const changelogSource = path.join(process.cwd(), '../CHANGELOG.md');
- const changelogDestination = path.join(docsDir, 'changelog.md');
- copyFile(changelogSource, changelogDestination);
- prependToFile(changelogDestination, '# 版本日志');
+ // 复制 README / CHANGELOG
+ copyFile(path.join(process.cwd(), '../README.md'), path.join(issuesDir, 'index.md'));
+ copyFile(path.join(process.cwd(), '../CHANGELOG.md'), path.join(issuesDir, 'changelog.md'));
+ prependToFile(path.join(issuesDir, 'changelog.md'), '# 版本日志');
+ // 遍历处理 Issue
for (const issue of issues) {
- // 仅处理包含 "文档" 标签的 issue
- const hasDocumentLabel = issue.labels.some(label => label.name === '文档');
- if (hasDocumentLabel) {
+ try {
+ const hasDocLabel = issue.labels?.some(l => l.name === '文档');
+ if (!hasDocLabel) continue;
+
+ const comments = await fetchIssueComments(repo, issue.number, token);
const title = issue.title.replace(/[\/\\?%*:|"<>]/g, '-');
const fileName = `${issue.number}.md`;
- // 获取评论数据
- const comments = await fetchIssueComments(repo, issue.number, token);
-
- let content =
- `---
+ let content = `---
title: ${issue.title}
---
-
# ${title}
-
-${issue.body}
-
+${issue.body || '无内容'}
## 评论
-
`;
- // 插入评论
- if (comments.length > 0) {
- comments.forEach((comment, index) => {
- content += `
-### 评论 ${index + 1} - ${comment.user.login}
-
-${comment.body}
-
----
-`;
- });
- } else {
- content += "没有评论。\n";
- }
+ comments.forEach((c, i) => {
+ content += `\n### 评论 ${i + 1} - ${c.user.login}\n${c.body}\n---\n`;
+ });
replaceRules.forEach(({ baseUrl, targetUrl }) => {
- // 将 baseUrl 转换为正则表达式,匹配后接的路径部分
- const pattern = new RegExp(`${baseUrl.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')}(/\\d+)`, 'g');
- // 替换为目标 URL
- content = content.replace(pattern, `${targetUrl}$1.html`);
+ const reg = new RegExp(`${baseUrl.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')}(/\\d+)`, 'g');
+ content = content.replace(reg, `${targetUrl}$1.html`);
});
content = replaceGithubAssetUrls(content, githubProxy);
+ content += `\n[Issue 链接](${issue.html_url})\n`;
- content += `[链接到 GitHub Issue](${issue.html_url})\n`;
-
- const filePath = path.join(docsDir, fileName);
-
- fs.writeFileSync(filePath, content, { encoding: 'utf8' });
- console.log(`Created file: ${filePath}`); // Log each created file
- } else {
- console.log(`Skipped issue: ${issue.title}`); // Log skipped issues
+ fs.writeFileSync(path.join(issuesDir, fileName), content, 'utf8');
+ console.log(`✅ 生成:${fileName}`);
+ } catch (e) {
+ console.error(`❌ 处理 Issue #${issue.number} 失败:`, e);
+ ensureIssueFile(issue.number, issuesDir, issue.html_url); // 自动生成占位文件
}
}
- console.log(`Successfully created markdown files from GitHub issues.`);
- } catch (error) {
- console.error('Error fetching GitHub issues:', error);
+ console.log('🎉 所有 Issue 文档生成完成(失败项已自动占位)');
+ } catch (e) {
+ console.error('💥 整体流程异常:', e);
}
},
- };
+ };
}
-
diff --git a/docs/issues/101.md b/docs/issues/101.md
index 64fe28d..7e01466 100644
--- a/docs/issues/101.md
+++ b/docs/issues/101.md
@@ -1,9 +1,7 @@
---
title: 群晖docker安装 xiaomusic
---
-
# 群晖docker安装 xiaomusic
-
由于现在群晖已经无法正常下载 docker 里的镜像了,绕了好多弯;现在用 ssh 服务命令拉取镜像来创建容器;
## 1. ssh 输入账号密码进入群晖
@@ -48,74 +46,55 @@ docker pull dockerhub.anzu.vip/hanxi/xiaomusic:latest
-
## 评论
-
### 评论 1 - kiwi5656
-
MI_DID=前面第4 步骤获取的,第4步骤在哪?
-
---
### 评论 2 - hanxi
-
> MI_DID=前面第4 步骤获取的,第4步骤在哪?
不用设置 MI_DID
-
---
### 评论 3 - hanxi
-
国内 docker 镜像
```
docker pull m.daocloud.io/docker.io/hanxi/xiaomusic:latest
docker tag m.daocloud.io/docker.io/hanxi/xiaomusic:latest hanxi/xiaomusic:latest
```
-
---
### 评论 4 - SenyFish
-
如果手头上有能科学上网的机器,直接把群辉的代理服务器IP填写成可以科学上网的机器IP+端口,翻墙软件打开允许局域网连接就可以
-
---
### 评论 5 - SmartElec
-
文档中 `docker pull dockerhub.anzu.vip/xiaomusic:latest`这句命令写错了
修改为
```
docker pull dockerhub.anzu.vip/hanxi/xiaomusic:latest
```
-
---
### 评论 6 - hanfz123
-

你好。为什么我这个地方的文字不是中文的?求解
-
---
### 评论 7 - hanxi
-
@hanfz123 你是不是屏蔽了谷歌的某些域名?
-
---
### 评论 8 - hanfz123
-
> [@hanfz123](https://github.com/hanfz123) 你是不是屏蔽了谷歌的某些域名?
不确定,但是我访问谷歌啥的都正常啊
-
---
### 评论 9 - 22555642
-
你好,我在群辉DOCKER上部署运行后,一直打不开设置页面,点开日志里面写的是这个,请问要怎么办呢?
2025/07/18 17:15:55 | stdout | [2025-07-18 17:15:54] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
-- | -- | --
@@ -139,11 +118,9 @@ docker pull dockerhub.anzu.vip/hanxi/xiaomusic:latest
2025/07/18 17:15:33 | stdout | [2025-07-18 17:15:32] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
2025/07/18 17:15:33 | stdout | [2025-07-18 17:15:32] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
2025/07/18 17:15:33 | stdout | ==> /app/xiaomusic.log.txt <==
-
---
### 评论 10 - hanxi
-
> 你好,我在群辉DOCKER上部署运行后,一直打不开设置页面,点开日志里面写的是这个,请问要怎么办呢?
>
> 2025/07/18 17:15:55 stdout [2025-07-18 17:15:54] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
@@ -169,11 +146,9 @@ docker pull dockerhub.anzu.vip/hanxi/xiaomusic:latest
> 2025/07/18 17:15:33 stdout ==> /app/xiaomusic.log.txt <==
看不出来为啥
-
---
### 评论 11 - 22555642
-
我把日志发给您,您可以帮我看看嘛?
@@ -220,6 +195,6 @@ hanxi left a comment (hanxi/xiaomusic#101)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/101)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/101)
diff --git a/docs/issues/105.md b/docs/issues/105.md
index 8dcffa2..21cdab2 100644
--- a/docs/issues/105.md
+++ b/docs/issues/105.md
@@ -1,9 +1,7 @@
---
title: 【插件】自定义口令功能
---
-
# 【插件】自定义口令功能
-
自定义口令配置需要配置到 config.json 文件里,使用 config.json 方式启动。参考 。
口令的配置方式见 config-example.json 文件。口令对应的代码需要写到 `plugins/` 目录下面,如果是容器启动,则需要把这个目录挂载出来。
@@ -125,26 +123,19 @@ async def code1(arg1):
感兴趣的可以体验一下,写了有什么好玩的插件也可以在这里分享,或者提 pr 合并进官方库里作为自带插件。
-
## 评论
-
### 评论 1 - carson512
-
如果开启服务的状态下 如何唤醒才能调用原有的播放QQ 网易云?而特定唤醒词调用xiaoai播放?
-
---
### 评论 2 - hanxi
-
> 如果开启服务的状态下 如何唤醒才能调用原有的播放QQ 网易云?而特定唤醒词调用xiaoai播放?
不使用 xiaomusic 的唤醒词就会调用音箱自带的,比如说播放音乐
-
---
### 评论 3 - shellingford37
-
```
[23:26:12] [0.3.30] [INFO] xiaomusic.py:531: 收到消息:测试自定义口令 控制面板:False did:290874427
[23:26:12] [0.3.30] [INFO] xiaomusic.py:577: 完全匹配指令. query:测试自定义口令 opvalue:exec#code1("hello")
@@ -163,79 +154,57 @@ TypeError: XiaoMusic.do_tts() missing 1 required positional argument: 'value'
```
我用code1的代码执行报错,有大佬知道为什么吗?
-
---
### 评论 4 - hanxi
-
@shellingford37 重构后漏改了,修复了。
-
---
### 评论 5 - guoxiangke
-
先说播放歌曲,再说 测试自定义口令 就行
-
---
### 评论 6 - CZJCC
-
想请教下插件那个功能,如何把用户的语音输入作为参数内容传到自定义函数里
-
---
### 评论 7 - hanxi
-
> 想请教下插件那个功能,如何把用户的语音输入作为参数内容传到自定义函数里
现在获取不到,等我加个接口获取吧。
-
---
### 评论 8 - CZJCC
-
666,支持以后我可以贡献一个接入通义模型的插件
-
---
### 评论 9 - hanxi
-
@CZJCC 你可以更新看看 plugins/code1.py 的测试代码,我测试了是可以拿到语音输入的原始内容的。
-
---
### 评论 10 - hanxi
-
文档更新了下,active_cmd 也需要配置一下才能正常唤醒。
-
---
### 评论 11 - CZJCC
-
> @CZJCC 你可以更新看看 plugins/code1.py 的测试代码,我测试了是可以拿到语音输入的原始内容的。
我原先设想的事用户的话术是”通义提问为什么地球是圆的“,指令匹配的时候通义提问前缀匹配到类似于code1方法,为什么地球是圆的作为参数传入这个函数,但我看现在是拿历史记录实现的
-
---
### 评论 12 - hanxi
-
是的,插件函数里面再切割一下前缀就行。last_record就是当前的那条语音数据。
-
---
### 评论 13 - hanxi
-
> > @CZJCC 你可以更新看看 plugins/code1.py 的测试代码,我测试了是可以拿到语音输入的原始内容的。
>
> 我原先设想的事用户的话术是”通义提问为什么地球是圆的“,指令匹配的时候通义提问前缀匹配到类似于code1方法,为什么地球是圆的作为参数传入这个函数,但我看现在是拿历史记录实现的
是的,这样比较简单,交给插件里面处理也比较自由。
-
---
### 评论 14 - mogeqian
-
key_word_dict中的“播放歌曲”口令是不能修改的是吧?因为以前用小爱同学播放歌曲说习惯了,总是触发xiaomusic自动下载歌曲,我想把口令改成“查找歌曲”,这样我当说播放歌曲的时候就调用网易云音乐或者QQ音乐,当我说查找歌曲的时候就先看本地有没有歌曲,没有话就自动下载到本地。
当我先按照config-example.json的模板写好如下配置并重命名为config.json
```
@@ -289,11 +258,9 @@ key_word_dict中的“播放歌曲”口令是不能修改的是吧?因为以
-
---
### 评论 15 - hanxi
-
> key_word_dict中的“播放歌曲”口令是不能修改的是吧?因为以前用小爱同学播放歌曲说习惯了,总是触发xiaomusic自动下载歌曲,我想把口令改成“查找歌曲”,这样我当说播放歌曲的时候就调用网易云音乐或者QQ音乐,当我说查找歌曲的时候就先看本地有没有歌曲,没有话就自动下载到本地。 当我先按照config-example.json的模板写好如下配置并重命名为config.json
>
> ```
@@ -344,11 +311,9 @@ key_word_dict中的“播放歌曲”口令是不能修改的是吧?因为以
> 似乎自定义的口令只能以插入的方式添加上去,并不能替换掉原来的口令
可以在网页后台设置页面改。
-
---
### 评论 16 - mogeqian
-
不行,后台设置如图

日志如下:
@@ -387,23 +352,17 @@ services:
command: ['--config', '/app/config.json']
根据日志的提示,'播放歌曲': 'play'依然存在,只是增加了 '查找歌曲': 'play', '下载歌曲': 'play', 这两个关于play的自定义口令,所以实际上play有三条口令 “播放歌曲、查找歌曲、下载歌曲”,能否删除掉'播放歌曲': 'play'这个系统默认的口令?只使用 '查找歌曲': 'play', '下载歌曲': 'play', 这两个关于play的自定义口令
-
---
### 评论 17 - hanxi
-
@mogeqian 另外提个 issue 吧,现在应该是不支持删除默认的口令。
-
---
### 评论 18 - mogeqian
-
好的,已经重开了一个issue #259
-
---
### 评论 19 - wjcroom
-
@hanxi 你好大神 , 自定义口令基本搞定了,还有些不确定对不对
在项目命令中只有停止,没有继续.
能把stop.做成, 乒乓吗.继续. 暂停的切换.pause play
@@ -429,21 +388,17 @@ async def set_myvolume(self, did="", arg1=0, **kwargs):
await self.devices[did].thdplay('volume',str(volume))
```
-
---
### 评论 20 - hanxi
-
激活cmd支持配置 key 和 value,用于决定是否能在 xiaomusic 不播放的时候能否唤醒 xiaomusic 。
config.json 是基本废弃了,作为一个初始化配置存在。
暂停不方便做,没有好的接口控制音箱暂停,所以就没加这个口令。
-
---
### 评论 21 - wjcroom
-
> 激活cmd支持配置 key 和 value,用于决定是否能在 xiaomusic 不播放的时候能否唤醒 xiaomusic 。
>
> config.json 是基本废弃了,作为一个初始化配置存在。
@@ -453,32 +408,24 @@ config.json 是基本废弃了,作为一个初始化配置存在。
2. 有没有可能让小爱在技能中心增加自己的【小音乐】技能,进入xiaomusic对话模式,直到退出。这样不再互相干扰。
-
---
### 评论 22 - hanxi
-
1. 目前会记录最后一次播放的歌曲,正常说播放歌曲,不带歌曲名字应该就会重头播放的。
2. 对话模式有些设备不支持,实现也比较复杂,xiaogpt那些项目是支持对话模式的,我就懒得支持了。
-
---
### 评论 23 - thefreezoo
-
我想写个可以读小说的,现在就是可以读不能关闭了,只能一次读完,我本想重新发送一条关闭命令,上一个自定义命令没有结束,似乎不能接受新的命令,包括关机,有什么语音控制接口可以关闭这个运行中的任务吗
-
---
### 评论 24 - hanxi
-
> 我想写个可以读小说的,现在就是可以读不能关闭了,只能一次读完,我本想重新发送一条关闭命令,上一个自定义命令没有结束,似乎不能接受新的命令,包括关机,有什么语音控制接口可以关闭这个运行中的任务吗
可以看看你是怎么写的?估计得用 asyncio 异步的写法。
-
---
### 评论 25 - thefreezoo
-
> > 我想写个可以读小说的,现在就是可以读不能关闭了,只能一次读完,我本想重新发送一条关闭命令,上一个自定义命令没有结束,似乎不能接受新的命令,包括关机,有什么语音控制接口可以关闭这个运行中的任务吗
>
> 可以看看你是怎么写的?估计得用 asyncio 异步的写法。
@@ -516,17 +463,13 @@ def read():
global log, xiaomusic
loop=asyncio.get_event_loop()
loop.run_until_complete(getbook(xiaomusic))
-
---
### 评论 26 - hanxi
-
@thefreezoo 你用了个死循环,把整个服务卡住了。你可以在死循环里加个 asyncio.sleep ,然后再写一个自定义口令杀掉你的这个 task 。
-
---
### 评论 27 - thefreezoo
-
> [@thefreezoo](https://github.com/thefreezoo) 你用了个死循环,把整个服务卡住了。你可以在死循环里加个 asyncio.sleep ,然后再写一个自定义口令杀掉你的这个 task 。
似乎还是不行,不能识别其他口令
import json
@@ -558,46 +501,34 @@ async def read():
print(f"{e}")
break
await asyncio.sleep(1)
-
---
### 评论 28 - hanxi
-
要不你问问ai吧,你缺少一个自定义指令干掉你这个死循环。
-
---
### 评论 29 - thefreezoo
-
> 要不你问问ai吧,你缺少一个自定义指令干掉你这个死循环。
插件是同步调用的,需要把插件包装成任务放回当前事件循环,我把plugins.py异步调用那里直接改成在事件循环中执行,然后放回running_task,stop的时候在终止任务,这样就可以用关机命令了
-
---
### 评论 30 - hu847266
-
能不能实现播放玩一个歌曲自动暂停
-
---
### 评论 31 - hanxi
-
> 能不能实现播放玩一个歌曲自动暂停
设置为单曲播放模式就行。
-
---
### 评论 32 - hu847266
-
问一下这个如果设置了离家后停止播放音乐,改了这个还能实现吗
-
---
### 评论 33 - hu847266
-
用服务器配置,容器端口和ip填什么,ip填公网ip吗
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/105)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/105)
diff --git a/docs/issues/182.md b/docs/issues/182.md
index a023036..60c256a 100644
--- a/docs/issues/182.md
+++ b/docs/issues/182.md
@@ -1,9 +1,7 @@
---
title: 定时任务配置格式
---
-
# 定时任务配置格式
-
支持采用 crontab 的格式配置定时任务,已经支持下面的任务类型:
- stop 关机
@@ -134,32 +132,23 @@ title: 定时任务配置格式
- tts 的 arg1 表示要说的语音文字。
可以去 里检查 json 配置是否合法。
-
## 评论
-
### 评论 1 - hanxi
-
0.3.38版本功能。
-
---
### 评论 2 - F-loat
-
小程序已支持可视化配置定时任务
-
---
### 评论 3 - hanxi
-
有想法增加一个参数来决定法定工作日,法定节假日执行。
-
---
### 评论 4 - hanxi
-
计划这样配工作日或者休息日,末尾加上 ` #workday` 表示工作日才执行,末尾加上 ` #offday` 表示休息日才执行。
```json
[
@@ -177,31 +166,23 @@ title: 定时任务配置格式
}
]
```
-
---
### 评论 5 - sycflash
-
想问下这个怎么配置?修改哪个配置文件?
-
---
### 评论 6 - xcysy32
-
蹲,请问要定时从歌单地址获取歌单列表json并更新应该怎么写
-
---
### 评论 7 - fc1250
-
定时播放失效了
-
---
### 评论 8 - dumashsu
-
超小白請問
範例做好了, 要放在那個檔案內 才會生效
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/182)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/182)
diff --git a/docs/issues/19.md b/docs/issues/19.md
index 145bc4b..a22197e 100644
--- a/docs/issues/19.md
+++ b/docs/issues/19.md
@@ -1,9 +1,7 @@
---
title: 如何修改默认的8090端口
---
-
# 如何修改默认的8090端口
-
docker-compose 修改映射端口会播放失败
```
@@ -56,12 +54,9 @@ xiaomusic | INFO 251秒后将会播放下一首
xiaomusic | INFO 匹配到指令. opkey:set_volume# xiaomusic.py:441
xiaomusic | opvalue:set_volume oparg:24
```
-
## 评论
-
### 评论 1 - hanxi
-
需要添加环境变量
```
environment:
@@ -69,11 +64,9 @@ environment:
ports:
- 80:80
```
-
---
### 评论 2 - newrookie001
-
> 需要添加环境变量
>
> ```
@@ -88,11 +81,9 @@ ports:
> XIAOMUSIC_PORT: 5678 #就是“5678”可以根据自己要求设置,但要求上下的5678都设置成一个
> ports:
> - 5678:5678
-
---
### 评论 3 - hanxi
-
如果换端口,需要3个数字一致,比如
```
@@ -101,17 +92,13 @@ environment:
ports:
- 6874:6874
```
-
---
### 评论 4 - hanxi
-
文档类型的我都打开下,方便其他人看到。
-
---
### 评论 5 - flymin
-
docker-compose 中对应关系应该是
```yaml
ports:
@@ -125,6 +112,6 @@ environment:
如果使用反向代理,则转发 localhost:aaaa,XIAOMUSIC_PUBLIC_PORT 设置成代理的监听端口 cccc
另外,setting 文件存在会覆盖环境变量。启动过之后需要直接修改 settings.json 或者在后台修改
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/19)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/19)
diff --git a/docs/issues/210.md b/docs/issues/210.md
index 2f2f719..deaf055 100644
--- a/docs/issues/210.md
+++ b/docs/issues/210.md
@@ -1,9 +1,7 @@
---
title: yt-dlp cookies 文件上传功能
---
-
# yt-dlp cookies 文件上传功能
-
此功能用于解决 yt-dlp 下载资源失败时使用,比如 **ip 被 B站或者 youtube 加入黑名单**后才需要使用。
上传的文件用于 yt-dlp 的 `--cookies` 参数。
@@ -43,60 +41,45 @@ title: yt-dlp cookies 文件上传功能
2. 歌曲批量下载工具下载歌曲或者歌单时也会带上 cookies.txt 文件。
-
## 评论
-
### 评论 1 - kingfly2016
-
0.3.37的版本并没有发现可以开启yt-dlp-cookies 并上传cookies文件的地方,尝试把导出的cookies.txt手工上传到conf目录下,没有生效.

-
---
### 评论 2 - hanxi
-
需要等38版本,或者用测试版本,镜像名后面加 :main
-
---
### 评论 3 - kingfly2016
-
> 需要等38版本,或者用测试版本,镜像名后面加 :main
谢谢
-
---
### 评论 4 - sunmiao0301
-
20250117实测可用
-
---
### 评论 5 - Lonely-Sit
-
> 20250117实测可用
佬你今天还可以使用吗?我按照教程操作了但是下载不下来歌曲
-
---
### 评论 6 - sunmiao0301
-
> > 20250117实测可用
>
> 佬你今天还可以使用吗?我按照教程操作了但是下载不下来歌曲
用cookie的方式可能会被封号,ytb限制的是ip,更好的办法是,切换一下梯子节点,多试几个。
-
---
### 评论 7 - Lonely-Sit
-
> > > 20250117实测可用
> >
> >
@@ -105,11 +88,9 @@ title: yt-dlp cookies 文件上传功能
> 用cookie限制的方式可能会被封号,ytb是ip,更好的办法是,切换一下梯子节点,多试几个。
我使用相同ip在电脑端下载歌曲就没有问题 我无法理解
-
---
### 评论 8 - wyyang1978-debug
-
现在的提示显示formats缺失
stdout: [youtube] Extracting URL: https://www.youtube.com/watch?v=KqjgLbKZ1h0
stdout: [youtube] KqjgLbKZ1h0: Downloading webpage
@@ -118,12 +99,10 @@ stdout: [youtube] KqjgLbKZ1h0: Downloading web safari player API JSON
stderr: WARNING: [youtube] KqjgLbKZ1h0: Signature solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS
stderr: WARNING: [youtube] KqjgLbKZ1h0: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS
-
---
### 评论 9 - hanxi
-
没办法的,yt限制越来越厉害了
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/210)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/210)
diff --git a/docs/issues/211.md b/docs/issues/211.md
index 050c1c8..0fbc221 100644
--- a/docs/issues/211.md
+++ b/docs/issues/211.md
@@ -1,9 +1,7 @@
---
title: 📝 文档汇总
---
-
# 📝 文档汇总
-
## 1️⃣ 基础文档
- [💬 FAQ问题集合](/issues/99.html)
@@ -46,164 +44,122 @@ title: 📝 文档汇总
- [简单免费!教你用绿联NAS联动小爱音箱,私人音乐库也能语音点播](https://post.m.smzdm.com/p/a8pldgg7/)
- [飞牛教程](https://mp.weixin.qq.com/s?t=pages/image_detail&__biz=MzkxODc1NDMwOA==&mid=2247483725&idx=1&sn=2d615f14733b9bf989557fa766b4e1fc)
-
## 评论
-
### 评论 1 - sghuenn
-
redmi小爱触屏音箱8,仍然需要打开“型号兼容模式”才能播放
打开兼容模式后的问题有:每首歌曲播放完毕后都要再从头播放4、5秒才播放下一曲;语音命令小爱同学播放下一曲,它会从头开始播放当前歌曲。
-
---
### 评论 2 - hanxi
-
> redmi小爱触屏音箱8,仍然需要打开“型号兼容模式”才能播放 打开兼容模式后的问题有:每首歌曲播放完毕后都要再从头播放4、5秒才播放下一曲;语音命令小爱同学播放下一曲,它会从头开始播放当前歌曲。
播放歌曲的接口应该是有点问题,等有设备有开发能力的人来搞吧。
-
---
### 评论 3 - zhoukk37
-
想问下如何利用反向代理,完成使得小爱外网访问nas呢,您能提供一下关键词,我自己去检索学下一下吗
-
---
### 评论 4 - hanxi
-
> 想问下如何利用反向代理,完成使得小爱外网访问nas呢,您能提供一下关键词,我自己去检索学下一下吗
内网穿透,frp能实现,就是把局域网的端口映射成公网的端口。
-
---
### 评论 5 - Justlook99
-
按照飞牛的教程,部署成功了,一直没有设备显示出来,然后我也按照相应的问题集去处理:关闭本地代理。
如果是nas运行的,网络由bridge改为host。
米家app重新登陆。
mi.com官网重新登陆。
但是还是没有办法显示设备出来,请问到底是什么原因?最新的37版本。
-
---
### 评论 6 - hanxi
-
> 按照飞牛的教程,部署成功了,一直没有设备显示出来,然后我也按照相应的问题集去处理:关闭本地代理。 如果是nas运行的,网络由bridge改为host。 米家app重新登陆。 mi.com官网重新登陆。 但是还是没有办法显示设备出来,请问到底是什么原因?最新的37版本。
目前反馈的都是飞牛的用户,可能是飞牛有问题。
-
---
### 评论 7 - 3794313569
-
在同一个容器内,前后分别启动了mi-gpt和xiaomusic两个应用,现在通过日志发现,mi-gpt的日志一直在记录,语音需求基本都在mi-gpt这个应用响应了,请问下按照您现在设计的框架内,有没有办法可以实现这两个应用同时生效,或者稍后类似应用会有专用的通讯协议,保证多项应用在同一台机器上的响应。
类似:语音命令-“播放本地歌曲”触发xiaomusic,“召唤”(mi-gpt配置的唤醒词)触发mi-gpt,等等。。。。。。
暂时的办法就是买两个小爱音箱,不同的命名,然后一个应用配置一个did。
-
---
### 评论 8 - hanxi
-
> 在同一个容器内,前后分别启动了mi-gpt和xiaomusic两个应用,现在通过日志发现,mi-gpt的日志一直在记录,语音需求基本都在mi-gpt这个应用响应了,请问下按照您现在设计的框架内,有没有办法可以实现这两个应用同时生效,或者稍后类似应用会有专用的通讯协议,保证多项应用在同一台机器上的响应。 类似:语音命令-“播放本地歌曲”触发xiaomusic,“召唤”(mi-gpt配置的唤醒词)触发mi-gpt,等等。。。。。。 暂时的办法就是买两个小爱音箱,不同的命名,然后一个应用配置一个did。
可以分别部署到两个不同的容器里,两个应用的唤醒词是不同的,不会互相干扰。
-
---
### 评论 9 - Tranceboox
-
如果网页端主页内能显示播放曲目的封面就太牛了,我知道实现起来很难,就是臆想一下
-
---
### 评论 10 - hanxi
-
> 如果网页端主页内能显示播放曲目的封面就太牛了,我知道实现起来很难,就是臆想一下
xplayer 和 pure 主题就可以,你试试。
-
---
### 评论 11 - aries0311
-
Pure主题中,设备列表中只有本机,不显示小米音箱


-
---
### 评论 12 - fanyan1026
-
电视的小爱同学可以播放nas音乐吗
-
---
### 评论 13 - hanxi
-
> 电视的小爱同学可以播放nas音乐吗
应该是不行的
-
---
### 评论 14 - alililala
-
这个部署在了旁路由里,能否将下载目录设置成同网络的nas里呢
-
---
### 评论 15 - hanxi
-
> 这个部署在了旁路由里,能否将下载目录设置成同网络的nas里呢
配公网访问吧,局域网互通不会配的话很难教会的。
-
---
### 评论 16 - wjcroom
-
> 这个部署在了旁路由里,能否将下载目录设置成同网络的nas里呢
旁路由视同本地网络. 只要是同网段,如果有子路由. 小爱和主机尽量在主路由. 如果小爱在子路由,应该问题不大.但是 xiaomusic 和 nas,网络共享.必须在主路由.然后,xiaomusic所在地方,可以映射成本地目录.这也挺麻烦. 网络共享,和目录还是有差别的.
NFS文件服务 , linux本地挂载远程NFS为目录.这个我曾搞过. 是不是有一定原因,nas不能跑docker呢.不是太耗费资源,普通nas都有的 吧.
-
---
### 评论 17 - rainman5170
-
要怎样屏蔽外网?我的nas有域名解析,发现加上后缀外网居然也能连上xiaomusic,或者加下登陆窗口也是好的,不然直接暴露在外网了
-
---
### 评论 18 - hanxi
-
> 要怎样屏蔽外网?我的nas有域名解析,发现加上后缀外网居然也能连上xiaomusic,或者加下登陆窗口也是好的,不然直接暴露在外网了
设置访问密码就行
-
---
### 评论 19 - rainman5170
-
> > 要怎样屏蔽外网?我的nas有域名解析,发现加上后缀外网居然也能连上xiaomusic,或者加下登陆窗口也是好的,不然直接暴露在外网了
>
> 设置访问密码就行
要怎样设置?麻烦说一下在哪设置
-
---
### 评论 20 - hanxi
-

@rainman5170
-
---
### 评论 21 - rainman5170
@@ -211,17 +167,14 @@ NFS文件服务 , linux本地挂载远程NFS为目录.这个我曾搞过. 是
-
> 
>
> [@rainman5170](https://github.com/rainman5170)
好的,谢谢
-
---
### 评论 22 - xiayuxingtian
-

安装好后无法识别本地文件夹歌曲,下载的歌曲也不知道在哪个文件夹
@@ -229,80 +182,60 @@ NFS文件服务 , linux本地挂载远程NFS为目录.这个我曾搞过. 是
下载的这些歌曲也没找到在哪里,有没有大神帮忙解答一下

-
---
### 评论 23 - hanxi
-
路径挂载错了,删掉最后一个试试。
-
---
### 评论 24 - wjjjw2150
-
之前在群辉docker上部署的xiaomusic一直使用正常,今天群辉开机掉了硬盘,恢复正常后容器就无法启动,重置后正常启动,但默认主题和Tailwind主题出现显示问题,刷新等按钮变成了英文字符显示,如图,另外两个主题没问题。清空浏览器缓存,换其他电脑和手机访问都是如此。然后删掉xiaomusic容器和镜像(0.37),重新拉了最新镜像(0.378)部署,问题依旧。虽然功能都正常但强迫症表示实在是难受。请教大神这是怎么回事呀?
抱歉不知道怎么插图,看这个链接
https://tutu.to/image/1.N0FHK
https://tutu.to/image/N0Jwj
-
---
### 评论 25 - hanxi
-
估计是网络问题
-
---
### 评论 26 - s493321320
-
有办法添加到homeassistant里吗?
-
---
### 评论 27 - Chill-26
-
> 按照飞牛的教程,部署成功了,一直没有设备显示出来,然后我也按照相应的问题集去处理:关闭本地代理。 如果是nas运行的,网络由bridge改为host。 米家app重新登陆。 mi.com官网重新登陆。 但是还是没有办法显示设备出来,请问到底是什么原因?最新的37版本。
同样问题,但我重新使用 [视频教程-群晖1]进行部署就正常了
-
---
### 评论 28 - davedday
-
这个支持在远程VPS上docker部署,然后本地小爱同学使用吗?
-
---
### 评论 29 - hanxi
-
> 这个支持在远程VPS上docker部署,然后本地小爱同学使用吗?
支持的,请不要在不相关的话题下面问。
-
---
### 评论 30 - zhendery
-
> 要怎样屏蔽外网?我的nas有域名解析,发现加上后缀外网居然也能连上xiaomusic,或者加下登陆窗口也是好的,不然直接暴露在外网了
你这问题重点不在于设置访问密码吧,你端口暴露在公网,走http的话就算设置密码也是明文传输的呀,你得防火墙关了对应端口,或者上https+访问密码。
-
---
### 评论 31 - maomaovip
-
每次拔2秒钟以后就没有声音了,但是网页后台上面显示还在播放
-
---
### 评论 32 - nick-tru
-
>  安装好后无法识别本地文件夹歌曲,下载的歌曲也不知道在哪个文件夹
>
@xiayuxingtian 破案了!
在群晖部署的时候,路径映射不能用/app/music和/app/conf,直接用/music和/conf,实测完美识别本地歌曲,下载路径正常不需要映射,也能工作并看到下载的歌曲。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/211)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/211)
diff --git a/docs/issues/212.md b/docs/issues/212.md
index 39d271a..134d16c 100644
--- a/docs/issues/212.md
+++ b/docs/issues/212.md
@@ -1,9 +1,7 @@
---
title: 如何批量下载歌曲
---
-
# 如何批量下载歌曲
-
批量下载歌曲依赖的是 yt-dlp 批量下载播放列表里的视频并转为 mp3 实现的。
先进入到歌曲下载工具页面:
@@ -29,67 +27,50 @@ https://m.youtube.com/playlist?list=PLUD2d-pqyvT6_ztf31hx-5SsUUvY5UsQn
也支持单独下载一个链接只有一首歌曲的。
-
## 评论
-
### 评论 1 - lazybabyz
-
默认主题 => 设置 =>没有显示找到 歌曲下载工具,
有一个 歌单地址 歌单内容: 输入B站测试地址显示返回无效

-
---
### 评论 2 - hanxi
-
等0.3.38版本。
-
---
### 评论 3 - hzqgogogo
-
下载音乐报错
-
---
### 评论 4 - hanxi
-
> 下载音乐报错
下载b站歌曲不用配proxy
-
---
### 评论 5 - MakiseKurisu
-
是必须要下载下来么?那有没有什么方法限定最大占用的磁盘空间?文档没有网页接口的介绍不太清楚具体有哪些功能
-
---
### 评论 6 - hanxi
-
> 是必须要下载下来么?那有没有什么方法限定最大占用的磁盘空间?文档没有网页接口的介绍不太清楚具体有哪些功能
没有这功能。
-
---
### 评论 7 - sagadc
-
請問一下YT下載失敗,因為我是在台灣不需要加proxy
看了一下log也看不出原因來
yt-dlp應該不用在自己額外安裝吧?
[yt-dl.txt](https://github.com/user-attachments/files/19379757/yt-dl.txt)
-
---
### 评论 8 - hanxi
-
> 請問一下YT下載失敗,因為我是在台灣不需要加proxy 看了一下log也看不出原因來
>
> yt-dlp應該不用在自己額外安裝吧?
@@ -97,11 +78,9 @@ yt-dlp應該不用在自己額外安裝吧?
> [yt-dl.txt](https://github.com/user-attachments/files/19379757/yt-dl.txt)
你打开调试模式再复现一下,可能需要上传 cookie 才能下载 yt 的。
-
---
### 评论 9 - sagadc
-
> > 請問一下YT下載失敗,因為我是在台灣不需要加proxy 看了一下log也看不出原因來
> > yt-dlp應該不用在自己額外安裝吧?
> > [yt-dl.txt](https://github.com/user-attachments/files/19379757/yt-dl.txt)
@@ -109,38 +88,28 @@ yt-dlp應該不用在自己額外安裝吧?
> 你打开调试模式再复现一下,可能需要上传 cookie 才能下载 yt 的。
感謝,看來要安裝那邊要說明一下要開啟yt-dlp下載最好是上傳cookie比較保險
-
---
### 评论 10 - nfzsh
-
看日志好像只获取到了第一首?
-
---
### 评论 11 - hzqgogogo
-
已收到你的邮件!
-
---
### 评论 12 - nfzsh
-
> 已收到你的邮件!
哦我知道了,你这个是针对分P的,我这个是个合集,我看看哪天我提个PR吧
-
---
### 评论 13 - liaowuyichu
-
批量下载歌曲,每次只能下载21首,如何调整这个数量值
-
---
### 评论 14 - hzqgogogo
-
已收到你的邮件!
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/212)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/212)
diff --git a/docs/issues/235.md b/docs/issues/235.md
index dcd3c61..a0e839d 100644
--- a/docs/issues/235.md
+++ b/docs/issues/235.md
@@ -1,28 +1,19 @@
---
title: xiaomusic立体声
---
-
# xiaomusic立体声
-
有多个不同版本的小爱,怎么能选择多个音箱一起播放?
-
## 评论
-
### 评论 1 - hanxi
-
参考这个文档,配到一个组里就能同时播放,但是会有播放进度不一致的情况。 /issues/65.html#issuecomment-2215736529
-
---
### 评论 2 - F-loat
-
我这边先用一个音箱播放,然后米家里设置全屋播放,就能多个音箱同时播了,进度也同步,而且后续会自动全屋播放
-
---
### 评论 3 - zazhi4
-
我遇到双音箱播放问题,没法立体声,没法全屋播放,详述如下:
1、基本情况:原有小爱音箱Pro,LX06,用xiaomusic,0.3.69版本,播放正常。看到issue里提及了立体声,打算尝试,新购了小爱音箱,L06A。将新音箱通过米家APP加入到自家的wifi里。
2、尝试:
@@ -39,63 +30,47 @@ title: xiaomusic立体声
-
---
### 评论 4 - zazhi4
-
再补充一点信息,我做的尝试,以及网上都到的信息。
1、配立体声,配好以后,我用了当前页面的“立体声音效测试”,两个音箱都能发声,声音有先后,有不同,有联系,形成了立体声效果。
2、配立体声,配好以后,还在米家app,用qq音乐放了一首歌,两个音箱都能发声,有立体声效果。
3、网上查询,一些信息均表明,只有qq或其他在米家里播放的,换言之,网络来的信息,通过米家,向音箱播音,能实现立体声。其他方法,比如蓝牙,或AUX,都没法实现立体声。推测,是米家主动发音的时候,内部拆解了左右声道的声音,发往左右音箱。
4、原本猜想,两个音箱,会一主一从,主音箱拆分声音,发往从音箱。但是在米家APP里配置立体声时,未发现主从之分。
-
---
### 评论 5 - hanxi
-
全屋播放,控制两个音箱中的任意一个都不行吗?
-
---
### 评论 6 - zazhi4
-
全屋播放,设置音箱A(设置界面只选A,当然只能选一个。共有3个选项,音箱A,音箱B,手机)播放,音箱B没声音;设置音箱B播放,音箱A没声音。
-
---
### 评论 7 - Bazinga-git
-
组立体声是刚需,大佬加油
-
---
### 评论 8 - zazhi4
-
立体声,想了几个路径:1,xiaomusic能不能拆分声音为左右两个声道,分别发往两个音箱,难题在于,怎么保证两个音箱同时接到信息,发声;2,能不能搞定米家app的接口,发送声音给米家app,由米家app发给音箱;3,或是搞定模拟米家app与音箱的接口,通过米家接口,发给音箱,让音箱以为声音来自米家app。方法2,3,要搞清楚,米家app播音,为什么能实现立体声,然后在方法2,3中选一个方向。
-
---
### 评论 9 - hanxi
-
@zazhi4 思路是对的,感兴趣可以抓包玩玩的。目前协议是没加密的。
-
---
### 评论 10 - winsel
-
我有两个l06a,在米家app里打开dlan并且两个音箱组立体声后,用安卓手机上面的椒盐音乐播放器,推送到小爱音箱dlan的时候显示的是立体声名字,推送后立体声播放,左右延迟很小,几乎察觉不到,相对群组功能好太多了。xiaomusic能不能增加一个立体声选项,采用dlan推送模式播放呢?
这样应该是立体声最优解了

-
---
### 评论 11 - lgcscu
-
全屋播放并不是立体声,同时勾选两个设备做组合会出现声音不同步的情况,都不理想。我自己目前用的是立体声,两个音箱都是小爱音箱SOUNDPRO,组合立体声的时候有一个是主音箱一个是副音箱,看你组合的顺序,我的是左边的音箱为主音箱,所以我每次都是命令左边的音箱播放音乐,右边的就会同步播放,没有偏差,用到的就是小米自己的立体声组合,不需要xiaomusic单独支持。另外我启用了连续播放,soundPRO的灯光效果就可以正常使用(立体声),如果不勾选这个连续播放,xiaomusic触发的音乐播放就没有灯光效果,小爱音箱自己的就有,所以我的解决方式就是这样,推荐给有立体声需要的朋友,感谢hanxi的xiaomusic项目!
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/235)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/235)
diff --git a/docs/issues/269.md b/docs/issues/269.md
index 985728c..cd78658 100644
--- a/docs/issues/269.md
+++ b/docs/issues/269.md
@@ -1,43 +1,32 @@
---
title: 如何添加 网易云音乐playlist
---
-
# 如何添加 网易云音乐playlist
-
利用 NeteaseCloudMusicApi 获取歌单和播放地址
我在你基础上改了一下,但是我的逻辑不合理
https://github.com/dissipator/xiaomusic
-
## 评论
-
### 评论 1 - hanxi
-
建议通过插件实现或者新增一个页面工具把歌单导出 json 。
歌单的 json 格式见 /issues/78.html
-
---
### 评论 2 - qiujie8092916
-
> 利用 NeteaseCloudMusicApi 获取歌单和播放地址 我在你基础上改了一下,但是我的逻辑不合理 [dissipator/xiaomusic](https://github.com/dissipator/xiaomusic)
老哥在实现插件了吗?我也急需播放歌单
我诉求是:我用网易云音乐单独新建了一个歌单,我往里面扔歌曲,以更新歌单。希望创建一个自定义的语音命令,让小爱同学随机播放这个歌单里的音乐。然后我通过在米家里执行,比如触发了「我回来了」的智能场景时,就让小爱音箱执行这个自定义的语音命令,就会自动播放我新建的这个歌单里的音乐了。
现在的小爱音箱虽然能勉强实现,但是很垃圾。随机播放的随机性有问题,并且只能选择歌单里的 30 首歌。
(老哥如果没实现的话,我可以尝试搞搞)
-
---
### 评论 3 - dissipator
-
我都能直接利用这个直接播放NeteaseCloudMusicApi这上的歌了。在配合unblk,无敌。我就是没设备,还在路上
通过插件实现,非常好,就是不知道怎么开发,有文档我可以尝试一下。
-
---
### 评论 4 - dissipator
-
> 建议通过插件实现或者新增一个页面工具把歌单导出 json 。 歌单的 json 格式见 #78
@@ -77,34 +66,26 @@ async def musicinfo(
url = jsons['data'][0]['url']
```
播放处加了一个判断
-
---
### 评论 5 - hanxi
-
> > 建议通过插件实现或者新增一个页面工具把歌单导出 json 。 歌单的 json 格式见 #78
你的修改我看了,不太通用。生成json,再用现有的接口提交json更通用。
-
---
### 评论 6 - dissipator
-
是的,不通用。最好是用插件实现。
1. 就是不知道你插件的逻辑。
2. 如果用插件就考虑直接读取网易账号下所有歌单。然后选择一个导入,或者全部导入。
3. 等你完善文档后我可以尝试写一个。同理,qq等其他平台的歌单也就都可以弄了
-
---
### 评论 7 - hanxi
-
等有空我写个修改歌单内容的插件示例吧。
-
---
### 评论 8 - dissipator
-
```
import requests
@@ -215,40 +196,30 @@ def getmy_playlist(type="netease",api_host="http://127.0.0.1/api", playlist_id=N
```
-
---
### 评论 9 - dissipator
-
> 等有空我写个修改歌单内容的插件示例吧。
不用拉,插件我已经写出来了

-
---
### 评论 10 - hanxi
-
发下你的 setting.json 配置吧,方便他人知道怎么配。
-
---
### 评论 11 - dissipator
-
我还在测试,设备到了能用了再发吧
-
---
### 评论 12 - guitarbug
-
也需要网易歌单功能, 坐等教程
-
---
### 评论 13 - dissipator
-
# 成功了

# 最好是在setting.json里去配置,我测试老是不匹配,在setting.json里去配置终于成功。可以直接调用 [NeteaseCloudMusicApi](http://localhost:3000/docs/#/?id=neteasecloudmusicapi) 接口,甚至使用UnblockNeteaseMusic 解锁灰色,但是代码需要小调整。
@@ -485,34 +456,26 @@ async def getmy_playlist(type="netease",api_host="http://127.0.0.1/api", playlis
```
-
---
### 评论 14 - dissipator
-


-
---
### 评论 15 - dludream
-
NeteaseCloudMusicApi似乎获取不到播放地址?其他信息倒是有。

-
---
### 评论 16 - hanxi
-
看代码是另一个接口获取url的: `url = f"{api_host}/song/url?id={music['id']}&br=350000&realIP=211.161.244.70&proxy=HTTP:%2F%2F127.0.0.1:8080"`
-
---
### 评论 17 - dludream
-
> 看代码是另一个接口获取url的: `url = f"{api_host}/song/url?id={music['id']}&br=350000&realIP=211.161.244.70&proxy=HTTP:%2F%2F127.0.0.1:8080"`
是的,我用的是这个接口,https://registry.hub.docker.com/r/gnehs/neteasecloudmusicapi-docker/
@@ -520,33 +483,25 @@ NeteaseCloudMusicApi似乎获取不到播放地址?其他信息倒是有。
可能网易修改了api,这些获取不了播放地址了。
我倒不是要这个功能,只是感兴趣看看。我不获取,我直接用yt把歌全下载下来播放。
-
---
### 评论 18 - dissipator
-
这个不是网易的接口,是[NeteaseCloudMusicApi](http://localhost:3000/docs/#/?id=neteasecloudmusicapi) 接口。proxy=HTTP:%2F%2F127.0.0.1:8080"是UnblockNeteaseMusic 解锁灰色;
完整的使用方式和docker 可以到 https://github.com/dissipator/xiaomusic/tree/dev 看README.md;目前没有教程。本人就在群2,有问题可以找我。
-
---
### 评论 19 - beibei2a
-
>  
“请问 registry.cn-chengdu.aliyuncs.com/dissipator/xiaomusic:dev 有没有 ARM64 版本?我用 ARMv8 设备运行时遇到 exec format error。”
-
---
### 评论 20 - hanxi
-
我的镜像是有的,他的镜像没试过。
-
---
### 评论 21 - dissipator
-
没有
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/269)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/269)
diff --git a/docs/issues/285.md b/docs/issues/285.md
index 9b886d7..705bb59 100644
--- a/docs/issues/285.md
+++ b/docs/issues/285.md
@@ -1,18 +1,13 @@
---
title: 相关工具推荐
---
-
# 相关工具推荐
-
- [xhongc/music-tag-web 刮削音乐歌词图片](https://github.com/xhongc/music-tag-web)
- [onlyLTY/dockerCopilot 一键更新容器](https://github.com/onlyLTY/dockerCopilot)
- [tiny-nav 非常简单的导航网站,NAS部署](https://github.com/hanxi/tiny-nav)
-
## 评论
-
### 评论 1 - F-loat
-
借楼加个小程序的图 :partying_face: https://github.com/F-loat/xiaoplayer
### 小程序码
@@ -29,23 +24,17 @@ title: 相关工具推荐
-
---
### 评论 2 - hanxi
-
@F-loat 可以在欢迎页加个链接显示小程序码。
-
---
### 评论 3 - F-loat
-
@hanxi 可以的,这样还能自动把 ip 用参数带过来,我有空搞一下
-
---
### 评论 4 - sparkyuanquan
-
> 借楼加个小程序的图 🥳 https://github.com/F-loat/xiaoplayer
>
> ### 小程序码
@@ -55,42 +44,30 @@ title: 相关工具推荐
>
你好,麻烦问一下,只能内网播放吗?我在路由上映射了8090端口, 在家外小程序可以看到NAS上的歌曲,也能控制音箱进行播放,,但是手机本机直接播放失败,麻烦问一下,是否可以在外面直接小程序播放NAS音乐,这样就不用安装像音流 DS Audio那些NAS的那些音乐播放器了。
-
---
### 评论 5 - F-loat
-
@sparkyuanquan 可以本机直接播放的,之前部分场景判断有问题,应该已经修复了,重启下小程序试试
-
---
### 评论 6 - sparkyuanquan
-
小程序删了,重开,我用手机的5G网络微信小程序登录后可以看到歌曲,在手机上播放音乐就转圈,过差不多一分钟左右,显示 INNERERRCODE:-1001,ERRMSG:请求超时。我在路由上把xiaomusic的8090端口映射到了外网60000。
-
---
### 评论 7 - sparkyuanquan
-
发现问题在哪了,如果直接映射8090到外网8090,就可以播放,但是如果8090映射到60000不行。我继续试试nginx反代https看看
-
---
### 评论 8 - sparkyuanquan
-
原来是要内网服务器地址和公网服务器地址都要填写, 内网写8090端口,公网写60000端口才行,单写公网服务器地址不写内网服务器地址就会有上面的问题。
-
---
### 评论 9 - F-loat
-
@sparkyuanquan 我有空再看一下,应该只写公网也要可以的
-
---
### 评论 10 - wyyang1978-debug
-
支持IPV6 外网访问么? 地址格式是怎样的?我用http://[ ]:port 格式无法访问
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/285)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/285)
diff --git a/docs/issues/294.md b/docs/issues/294.md
index 8ca8422..d8c451e 100644
--- a/docs/issues/294.md
+++ b/docs/issues/294.md
@@ -1,9 +1,7 @@
---
title: 关于M01型号的注意事项
---
-
# 关于M01型号的注意事项
-
M01:在0.3.55版本【型号兼容模式】与【特殊型号获取对话记录】都设为false或true,都可以语音了。
如果【型号兼容模式】为 true,默认UI显示播放中,但音箱没声音。
@@ -12,32 +10,23 @@ M01:在0.3.55版本【型号兼容模式】与【特殊型号获取对话记录

-
## 评论
-
### 评论 1 - hanxi
-
M01 保持默认设置应该是能语音和播放的吧。自定义指令的功能应该是 M01 本身就不支持,可能属于放弃维护的产品吧。
-
---
### 评论 2 - bj803
-
> M01 保持默认设置应该是能语音和播放的吧。自定义指令的功能应该是 M01 本身就不支持,可能属于放弃维护的产品吧。
刚试了用:pause是可以暂停(不过只暂2分钟左右又自己播放了)
-
---
### 评论 3 - hanxi
-
只能网页里点关机按钮,或者语音关机。所有型号都一样。
-
---
### 评论 4 - bj803
-
> 型号:S12A、LX04、S12
@@ -45,32 +34,24 @@ M01 保持默认设置应该是能语音和播放的吧。自定义指令的功
> 只能网页里点关机按钮,或者语音关机。所有型号都一样。
在型号:S12A、LX04、S12 除了能网页里点关机按钮或者语音开关机外,能在米家APP自定义指令进行播放与关机(例如当客厅客有人自定义指令"播放歌曲",无人自定义指令"关机"。M01自定义指令"pause"可以暂停,其他口令不行。
-
---
### 评论 5 - bj803
-
刚又试了一下,用自定义play stop、power off可以停止播放关机,用自定义play music可以播放音乐,可能M01不需要下划线
-
---
### 评论 6 - hanxi
-
感谢你的反馈。
-
---
### 评论 7 - CrazyJasonwell
-
LX04不能识别,为找到小爱音箱。。。
-
---
### 评论 8 - hanxi
-
> LX04不能识别,为找到小爱音箱。。。
找不到设备是登录问题。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/294)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/294)
diff --git a/docs/issues/297.md b/docs/issues/297.md
index 9997b9e..0ce4fca 100644
--- a/docs/issues/297.md
+++ b/docs/issues/297.md
@@ -1,9 +1,7 @@
---
title: xiaomusic极空间安装教程(2024/12/28更新)
---
-
# xiaomusic极空间安装教程(2024-12-28更新)
-
> 本教程同步更新于最新版的xiaomusic
看不懂/嫌麻烦/懒 但有点小钱,找 hanxi 预约微信或者 QQ 远程安装,他便宜,收费50一次,作法不成功不要钱
@@ -101,12 +99,9 @@ title: xiaomusic极空间安装教程(2024/12/28更新)
5. 回到首页,出现设备列表,切换对应设备即可畅享

-
## 评论
-
### 评论 1 - xiaohuobanhahaha
-
[xiaomusic.txt](https://github.com/user-attachments/files/18011572/xiaomusic.txt)
@@ -114,20 +109,16 @@ an'zh
无法使用语音播放歌曲,小爱s12a。极空间z4pro。
1. 按照教程,点击播放本地歌曲,提示hostname和设置的端口映射不匹配。映射5678,容器端口8090.
2.网络host模式,能够本地播放,无法使用语音控制,提示“下载app”。日志已上传
-
---
### 评论 2 - 52fisher
-
> [xiaomusic.txt](https://github.com/user-attachments/files/18011572/xiaomusic.txt)
>
an'zh 无法使用语音播放歌曲,小爱s12a。极空间z4pro。 1. 按照教程,点击播放本地歌曲,提示hostname和设置的端口映射不匹配。映射5678,容器端口8090. 2.网络host模式,能够本地播放,无法使用语音控制,提示“下载app”。日志已上传
既然你映射的5678,为什么你又在那把监听端口改成11999? 我的教程里面全程没有写要修改监听端口
-
---
### 评论 3 - xiaohuobanhahaha
-
我没讲清楚。我试了两种极空间的桥接和host模式。桥接模式。我按照教程走的。报错如图
@@ -136,57 +127,45 @@ an'zh
提到的第二个问题和日志,是我将网络模式改为host的情况,能连上音箱,但是没法使用语音控制。
-
---
### 评论 4 - 52fisher
-
> 我没讲清楚。我试了两种极空间的桥接和host模式。桥接模式。我按照教程走的。报错如图
>
> 提到的第二个问题和日志,是我将网络模式改为host的情况,能连上音箱,但是没法使用语音控制。
把外网访问端口改成5678
-
---
### 评论 5 - xiaohuobanhahaha
-
可以连接上网页控制了,但是语音控制仍然不行。已经按照FAQ问题集合 #99 重启docker。
这是日志,
[xiaomusic.txt](https://github.com/user-attachments/files/18012369/xiaomusic.txt)
-
---
### 评论 6 - 52fisher
-
> 可以连接上网页控制了,但是语音控制仍然不行。已经按照FAQ问题集合 #99 重启docker。 这是日志, [xiaomusic.txt](https://github.com/user-attachments/files/18012369/xiaomusic.txt)
你的设置 hostname='192.168.31.165', port=8090, public_port=5678,
后台的ip 192.168.31.143 检查一下你的地址 有可能是你的ip地址改变了
-
---
### 评论 7 - xiaohuobanhahaha
-
> > 可以连接上网页控制了,但是语音控制仍然不行。已经按照FAQ问题集合 #99 重启docker。 这是日志, [xiaomusic.txt](https://github.com/user-attachments/files/18012369/xiaomusic.txt)
>
> 你的设置 hostname='192.168.31.165', port=8090, public_port=5678, 后台的ip 192.168.31.143 检查一下你的地址 有可能是你的ip地址改变了
确实是变了。192.168.31.143是我电脑的ip。 hostname='192.168.31.165'是极空间的。小爱是192.168.31.77。现在我的网络结构是电脑连nas上的istoreos旁路由。nas直连主路由,小爱直连主路由。主路由dhcp都绑定了。 大佬,这种情况该怎么解决呢。所有设置都是默认,没修改哈。
-
---
### 评论 8 - 52fisher
-
> 确实是变了。192.168.31.143是我电脑的ip。 hostname='192.168.31.165'是极空间的。小爱是192.168.31.77。现在我的网络结构是电脑连nas上的istoreos旁路由。nas直连主路由,小爱直连主路由。主路由dhcp都绑定了。 大佬,这种情况该怎么解决呢。所有设置都是默认,没修改哈。
容器的网络模式改成bridge试试呢 没解决的话你加群明天再详聊吧
-
---
### 评论 9 - xiaohuobanhahaha
-
@@ -196,11 +175,9 @@ an'zh
> 容器的网络模式改成bridge试试呢 没解决的话你加群明天再详聊吧
辛苦了,这么晚还在回复。我一直用的bridge。大佬,群号多少,不行我明天群里问吧。
-
---
### 评论 10 - 52fisher
-
>
>
> > > 确实是变了。192.168.31.143是我电脑的ip。 hostname='192.168.31.165'是极空间的。小爱是192.168.31.77。现在我的网络结构是电脑连nas上的istoreos旁路由。nas直连主路由,小爱直连主路由。主路由dhcp都绑定了。 大佬,这种情况该怎么解决呢。所有设置都是默认,没修改哈。
@@ -211,11 +188,9 @@ an'zh
> 辛苦了,这么晚还在回复。我一直用的bridge。大佬,群号多少,不行我明天群里问吧。
[readme](https://github.com/hanxi/xiaomusic?tab=readme-ov-file#-%E8%AE%A8%E8%AE%BA%E5%8C%BA)
-
---
### 评论 11 - xiaohuobanhahaha
-
> >
> > > > 确实是变了。192.168.31.143是我电脑的ip。 hostname='192.168.31.165'是极空间的。小爱是192.168.31.77。现在我的网络结构是电脑连nas上的istoreos旁路由。nas直连主路由,小爱直连主路由。主路由dhcp都绑定了。 大佬,这种情况该怎么解决呢。所有设置都是默认,没修改哈。
> > >
@@ -228,42 +203,32 @@ an'zh
> [readme](https://github.com/hanxi/xiaomusic?tab=readme-ov-file#-%E8%AE%A8%E8%AE%BA%E5%8C%BA)
已自查解决。问题是账号问题。绑定设备的一定是创建者,不能是管理员。
-
---
### 评论 12 - McCree2020
-
这个主题目录不能设置吧?没人遇到这个issue?我原来用的张大妈平台的教程设置的,能用,后来看到这个教程后就修改了后台的路径映射,但是dockers启动正常,网页不能打开提示internal sever error,后来ssh进docker看了日志文件 提示static那个路径有问题,下边的index什么的文件找不到, 删除主题映射以后,重启docker后,网页正常显示了
-
---
### 评论 13 - 52fisher
-
> 这个主题目录不能设置吧?没人遇到这个issue?我原来用的张大妈平台的教程设置的,能用,后来看到这个教程后就修改了后台的路径映射,但是dockers启动正常,网页不能打开提示internal sever error,后来ssh进docker看了日志文件 提示static那个路径有问题,下边的index什么的文件找不到, 删除主题映射以后,重启docker后,网页正常显示了
要注意看提示:
装载路径中的 配置文件目录 和 音乐目录 必须进行配置。
其他的路径非必要不要配置,主题目录路径是方便开发调试的时候用的,普通用户不要映射主题目录。我已经把这个提示更新到文档中了
-
---
### 评论 14 - zxhans
-
就不能让xiaomusic支持服务器部署吗?服务器部署为啥设备不能读取呢?home assistant 通过xiaomi home assistant都可以读取呀
-
---
### 评论 15 - hanxi
-
> 就不能让xiaomusic支持服务器部署吗?服务器部署为啥设备不能读取呢?home assistant 通过xiaomi home assistant都可以读取呀
支持服务器部署的,你需要在服务器上装个浏览器登陆过风控。
-
---
### 评论 16 - Lunder-R
-
> > >
> > > > > 确实是变了。192.168.31.143是我电脑的ip。hostname='192.168.31.165'是极空间的。小爱是192.168.31.77。现在我的网络结构是电脑连nas上的istoreos旁路由。nas直连主路由,小爱直连主路由。主dhcp都绑定了。大佬,这种情况该怎么解决呢。所有设置都是默认,没修改哈。
> > > >
@@ -279,6 +244,6 @@ an'zh
> 自查解决。问题是已账号问题。绑定设备的一定是创建者,不能是管理员。
能不能分享一下解决大概过程,我也是这种情况,谢谢了
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/297)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/297)
diff --git a/docs/issues/312.md b/docs/issues/312.md
index cb3878e..0ef6a8f 100644
--- a/docs/issues/312.md
+++ b/docs/issues/312.md
@@ -1,39 +1,28 @@
---
title: 同步网易云歌单
---
-
# 同步网易云歌单
-
推广一波 [netease-playlist](https://github.com/qiujie8092916/netease-playlist)
通过网易云音乐歌单 ID,下载歌曲或[生成歌单配置](/issues/269.html)
本程序为独立模块,可 docker 部署,可作为不用[插件](/issues/105.html)的另外实现方式
-
## 评论
-
### 评论 1 - Ghost-Sam1222
-
什么时候可以同步apple music歌单就真好了
-
---
### 评论 2 - fxchby
-
试了一下,似乎用不了
-
---
### 评论 3 - qiujie8092916
-
> 试了一下,似乎用不了
哪里有问题
-
---
### 评论 4 - xcysy32
-
这能实时同步吗🌹
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/312)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/312)
diff --git a/docs/issues/333.md b/docs/issues/333.md
index 1a1472f..4f6f865 100644
--- a/docs/issues/333.md
+++ b/docs/issues/333.md
@@ -1,9 +1,7 @@
---
title: 设置项功能介绍
---
-
# 设置项功能介绍
-
- XIAOMUSIC_ACTIVE_CMD 环境变量,对应后台的 【允许唤醒的命令】,用于唤醒口令,配置成'play,random_play',在非播放状态下,只有这两个指令(播放歌曲和随机播放)可以触发,触发后,xiaomusic进入playing状态,其他指令则可以正常触发。具体见
- XIAOMUSIC_EXCLUDE_DIRS 配置歌曲目录里需要忽略的目录,对应后台的 【忽略目录】
- XIAOMUSIC_MUSIC_PATH_DEPTH 配置歌曲目录搜索深度,对应后台的 【目录深度】,具体见
@@ -24,8 +22,6 @@ title: 设置项功能介绍
- XIAOMUSIC_PROXY 用于配置国内使用 youtube 源下载歌曲时使用的代理,参数格式参考 yt-dlp 文档说明。 见 和
- MIIO_TTS_CMD 用于部分机型(如:`L05C`)使用 MiIO 支持 tts 能力,默认为空,命令选择见 [MiService-fork 文档](https://github.com/yihong0618/MiService)
-
## 评论
-没有评论。
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/333)
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/333)
diff --git a/docs/issues/350.md b/docs/issues/350.md
index deeb56b..a513d4a 100644
--- a/docs/issues/350.md
+++ b/docs/issues/350.md
@@ -1,29 +1,20 @@
---
title: 播放本地歌曲无法切歌
---
-
# 播放本地歌曲无法切歌
-
播放本地歌曲时,通过语音控制小爱音箱切歌(测试指令:小爱同学,切歌;小爱同学,播放下一首;),每次都是重新播放上一首歌曲;版本为docker最新版本[0.3.70]
-
## 评论
-
### 评论 1 - Leenshady
-
测试出来了,只有“小爱同学,下一首”指令才能正常切歌
-
---
### 评论 2 - sam0773
-
可以在conf文件夹的setting.json中把自己习惯的命令添加进去...
-
---
### 评论 3 - hanxi
-
楼上正解。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/350)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/350)
diff --git a/docs/issues/360.md b/docs/issues/360.md
index d079252..7c584d1 100644
--- a/docs/issues/360.md
+++ b/docs/issues/360.md
@@ -1,9 +1,7 @@
---
title: docker compose 命令行安装教程
---
-
# docker compose 命令行安装教程
-
本教程针对于有命令行环境,且已经安装好 docker compose 的用户。步骤超级简单,基本只要复制粘贴就能跑起来。如果需要修改路径或者端口,可以复制到编辑器,修改后再复制粘贴到命令行执行。编辑时注意不要修改到文件格式,包括缩进。
## 创建 docker-compose.yml 文件
@@ -67,23 +65,18 @@ docker compose up -d
cd /xiaomusic
docker compose down
```
-
## 评论
-
### 评论 1 - tiger326
-
我用这个是可以正常启动和搭建好xiaomusic, 一切都OK.
不过我的NAS是qnap, 已禁用默认的admin用户, 使用自建的管理员账户登录.
但这个配置会默认使用admin用户执行, 导致一旦产生tmp和download目录以及相关文件, 都归属于admin用户.
结果我自建的用户在NAS上无法删除和编辑这些下载的文件.
xiaomusic是否支持创建时指定用户和用户组?
-
---
### 评论 2 - hanxi
-
@tiger326 把下面的 username 换成普通的用户名即可,换成 uid 数字也行,一般是 1000
```shell
@@ -104,64 +97,48 @@ services:
- /xiaomusic_music:/app/music
EOF
```
-
---
### 评论 3 - worrywast
-
为啥我的播放完一首音乐之后,还会播放该歌曲开头一点点才会放下一首呢?
-
---
### 评论 4 - hanxi
-
> 为啥我的播放完一首音乐之后,还会播放该歌曲开头一点点才会放下一首呢?
正常现象。可以把延迟设置为0试试。
-
---
### 评论 5 - worrywast
-
> > 为啥我的播放完一首音乐之后,还会播放该歌曲开头一点点才会放下一首呢?
>
> 正常现象。可以把延迟设置为0试试。
是这个选项吗:“下一首歌延迟播放秒数:”
我设置为0,也会有这个现象,只是没有之前播放开头那么多
-
---
### 评论 6 - hanxi
-
@worrywast 等下个版本我优化一下,允许设置成负数吧。
-
---
### 评论 7 - worrywast
-
> [@worrywast](https://github.com/worrywast) 等下个版本我优化一下,允许设置成负数吧。
辛苦大佬~
-
---
### 评论 8 - hanxi
-
@worrywast 现在就是可以填负数的,你可以试试看。
-
---
### 评论 9 - jkjoy
-
我的一直 暂不支持下载本地 音乐。测试啥的都没问题
-
---
### 评论 10 - pjlpl
-
为什么在控制面板可以手动播放本地歌曲,口令点播本地歌曲的时候不管加什么歌名,都回复本地不存在这个歌,但是口令说播放本地歌曲就会随机播放歌曲
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/360)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/360)
diff --git a/docs/issues/365.md b/docs/issues/365.md
index 78e8040..5e984f4 100644
--- a/docs/issues/365.md
+++ b/docs/issues/365.md
@@ -1,9 +1,7 @@
---
title: 已知 ttsCommand
---
-
# 已知 ttsCommand
-
参考: https://github.com/idootop/mi-gpt/blob/main/docs/compatibility.md
- 小爱音箱 Pro LX06 `5-1`
@@ -23,13 +21,10 @@ title: 已知 ttsCommand
- 小爱触屏音箱 LX04 `5-1`
如果你是其他型号的小爱音箱,且不能语音转文字播放,欢迎分享你的型号的 ttsCommand 。
-
## 评论
-
### 评论 1 - hanxi
-
可以不用手动配置了,写到代码里了。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/365)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/365)
diff --git a/docs/issues/366.md b/docs/issues/366.md
index 3097bd3..5f6b6ff 100644
--- a/docs/issues/366.md
+++ b/docs/issues/366.md
@@ -1,9 +1,7 @@
---
title: 多设备单独播放功能设计
---
-
# 多设备单独播放功能设计
-
## 分组功能
为设备设计分组功能,可以把一个或者多个设备加入到一个分组,一个分组内的设备会被控制同时播放。设备的音量需要支持独立配置。
@@ -48,27 +46,20 @@ title: 多设备单独播放功能设计
主页主要是用于播放操作的,所有操作都是针对于单个设备的,所以在顶部加入一个切换设备的功能。除了修改声音不会同步修改组内设备,其他操作都会同时操作组内所有设备。
> /issues/65.html#issuecomment-2215736529
-
## 评论
-
### 评论 1 - jason856856842388
-
请问家里有多个小爱,如何让每个小爱都可以拥有这个功能
-
---
### 评论 2 - hanxi
-
> 请问家里有多个小爱,如何让每个小爱都可以拥有这个功能
没理解哪个功能?
-
---
### 评论 3 - jason856856842388
-
做得好
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/366)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/366)
diff --git a/docs/issues/389.md b/docs/issues/389.md
index 2fc1ac2..be2fa00 100644
--- a/docs/issues/389.md
+++ b/docs/issues/389.md
@@ -1,14 +1,10 @@
---
title: 搞了个入门配置教程
---
-
# 搞了个入门配置教程
-
官方文档不直观啊,得摸索好久才搞定,第一步怎么设置我找了好久,哈哈哈。
写了个分3步的教程,希望有帮助吧: [xiaomusic 安装、配置和使用教程,免费用小爱音箱无限播放音乐](https://garymeng.com/cn/3317.html)。
-
## 评论
-没有评论。
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/389)
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/389)
diff --git a/docs/issues/398.md b/docs/issues/398.md
index be3a4fa..c46e709 100644
--- a/docs/issues/398.md
+++ b/docs/issues/398.md
@@ -1,20 +1,15 @@
---
title: docker 镜像源收集
---
-
# docker 镜像源收集
-
- https://docker.1ms.run/
- https://dockermirror.com
-
## 评论
-
### 评论 1 - coolxy
-
自建代理:
* https://docker.coolxy.cn/
* https://docker.qqai.ren/
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/398)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/398)
diff --git a/docs/issues/417.md b/docs/issues/417.md
index 0bc91d4..3637190 100644
--- a/docs/issues/417.md
+++ b/docs/issues/417.md
@@ -1,9 +1,7 @@
---
title: Jellyfin歌单同步到映射目录
---
-
# Jellyfin歌单同步到映射目录
-
因为我一直是用jellyfin 听歌, 下载的都是在Pt网站 按照歌手几十张cd一起下载,所以有非常多不想听的歌,于是歌单功能非常重要,既然Jellyfin本上就创建了歌单,我就写一个Python 来同步这个歌单,大家放在 C:\ProgramData\Jellyfin\Server\data\playlists 或者自定义的playlists文件夹中.
@@ -76,13 +74,10 @@ if __name__ == "__main__":
-
## 评论
-
### 评论 1 - colaKot
-
创建一个xmllink.py 文件 然后把代码放进去,双击运行就行,当然要装python
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/417)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/417)
diff --git a/docs/issues/520.md b/docs/issues/520.md
index a1018c6..95efc39 100644
--- a/docs/issues/520.md
+++ b/docs/issues/520.md
@@ -1,9 +1,7 @@
---
title: 局域网 ip 问题,排查了两个小时。希望能对大家有所帮助
---
-
# 局域网 ip 问题,排查了两个小时。希望能对大家有所帮助
-
家里使用了两个路由器
- A 路由器 192.168.1.x
@@ -12,13 +10,10 @@ title: 局域网 ip 问题,排查了两个小时。希望能对大家有所帮
- 在电脑上 docker 启动,连接`B路由器的网络` 要将 `XIAOMUSIC_HOSTNAME(IP或域名):`这一项设置为`B路由器的网络` 也就是`192.168.1.x`
- A路由器同理
-
## 评论
-
### 评论 1 - hanxi
-
FAQ有写的,不会配跨网段访问的话,就保持在同一个网段的同局域网就没问题的。会配多网段互通自然就没啥问题。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/520)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/520)
diff --git a/docs/issues/533.md b/docs/issues/533.md
index 7ccb01f..f5a3b2a 100644
--- a/docs/issues/533.md
+++ b/docs/issues/533.md
@@ -1,16 +1,11 @@
---
title: 反向代理因为html中绝对路径导致超链接失效
---
-
# 反向代理因为html中绝对路径导致超链接失效
-
反向代理因为html中绝对路径导致超链接失效
-
## 评论
-
### 评论 1 - wuxinyumrx
-
更新一下解决方案,nginx反向代理配置如下(需要nginx包含http_sub_module):
```
@@ -58,24 +53,18 @@ title: 反向代理因为html中绝对路径导致超链接失效
sub_filter '"start_url": "/"' '"start_url": "/xm/"';
sub_filter '"scope": "/"' '"scope": "/xm/"';
```
-
---
### 评论 2 - wooodxi
-
首先感谢各位大佬辛苦的付出。
我是家庭使用的威联通NAS部署的xiaomusic,NAS上也是使用的docker部署的是frpc客户端(nas上填写对应的端口号),在云服务使用docker部署的frps服务端(填写二级ssl域名)这样的反向代理,部署好以后外网通过链接https:xxx.xxx.xx是可以访问xiaomusic,播放歌曲音箱却没有声音,但是你们的测试播放连接是可以播放音乐, 包括点击停止播放音箱也是可以回应听到音箱发出再见收到的声音,就是播放歌曲音箱不出声。希望可以得到解答。 谢谢大佬
-
---
### 评论 3 - hanxi
-
@wooodxi 需要改设置页面的ip和端口。
-
---
### 评论 4 - 13267740993
-
nginx 502 要关闭浏览器再打开才行 帮忙看下啥原因
server {
listen 80;
@@ -187,12 +176,10 @@ server {
}
-
---
### 评论 5 - hanxi
-
我也不熟 nginx 配置,建议使用 https://github.com/jc21/nginx-proxy-manager 配置 proxy ,简单的 GUI 操作就行。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/533)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/533)
diff --git a/docs/issues/595.md b/docs/issues/595.md
index 39f947b..86f7d03 100644
--- a/docs/issues/595.md
+++ b/docs/issues/595.md
@@ -1,14 +1,10 @@
---
title: Docker 镜像推荐
---
-
# Docker 镜像推荐
-
监控网站:https://status.anye.xyz/
-
## 评论
-没有评论。
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/595)
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/595)
diff --git a/docs/issues/600.md b/docs/issues/600.md
index bfef60e..3cf95d3 100644
--- a/docs/issues/600.md
+++ b/docs/issues/600.md
@@ -1,9 +1,7 @@
---
title: 1Panel 安装运行 xiaomusic 教程
---
-
# 1Panel 安装运行 xiaomusic 教程
-
## 1Panel 安装运行
本教程将指导您如何在 1Panel 面板中安装和配置 XiaoMusic。
@@ -37,8 +35,6 @@ title: 1Panel 安装运行 xiaomusic 教程
> 使用前建议在 **面板设置** 页面设置好**默认访问地址**。
> 如果后续配置了**反向代理**,可以在 `已安装 → 参数` 页面修改 **Web 访问地址**。
-
## 评论
-没有评论。
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/600)
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/600)
diff --git a/docs/issues/637.md b/docs/issues/637.md
index 2381207..ad00817 100644
--- a/docs/issues/637.md
+++ b/docs/issues/637.md
@@ -1,25 +1,18 @@
---
title: Jellyfin 插件将音乐歌单转成支持xiaomusic的网络歌单
---
-
# Jellyfin 插件将音乐歌单转成支持xiaomusic的网络歌单
-
Jellyfin插件安装仓库地址:https://raw.githubusercontent.com/shaoqilan/jellyfin-plugin-xiaomusic/refs/heads/main/10.11/manifest.json
使用方式:https://github.com/shaoqilan/jellyfin-plugin-xiaomusic
希望 #616 能尽早支持,这样可以避免手动更新歌单,歌单可以实时和Jellyfin音乐库保持一致
-
## 评论
-
### 评论 1 - hanxi
-
测试版已经实现了,可以体验一下看看效果。
-
---
### 评论 2 - Akari787
-
使用这个插件播放jellyfin的歌单时,如果是m4a格式的音乐文件会被识别成mp4,导致无法正常播放。
`wget -S -O /dev/null "http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true"
--2026-01-12 14:19:32-- http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true
@@ -39,11 +32,9 @@ Saving to: '/dev/null'
/dev/null 100%[===============================================================================================================================================>] 15.74M --.-KB/s in 0.01s
2026-01-12 14:19:32 (1.51 GB/s) - '/dev/null' saved [16503536/16503536]`
-
---
### 评论 3 - shaoqilan
-
> 使用这个插件播放jellyfin的歌单时,如果是m4a格式的音乐文件会被识别成mp4,导致无法正常播放。 `wget -S -O /dev/null "http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true" --2026-01-12 14:19:32-- http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true Connecting to 192.168.7.4:30013... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Content-Length: 16503536 Content-Type: audio/mp4 Date: Mon, 12 Jan 2026 05:19:32 GMT Server: Kestrel Accept-Ranges: bytes Last-Modified: Sun, 16 Mar 2025 23:01:54 GMT X-Response-Time-ms: 1.9493 Length: 16503536 (16M) [audio/mp4] Saving to: '/dev/null'
>
> /dev/null 100%[===============================================================================================================================================>] 15.74M --.-KB/s in 0.01s
@@ -51,11 +42,9 @@ Saving to: '/dev/null'
> 2026-01-12 14:19:32 (1.51 GB/s) - '/dev/null' saved [16503536/16503536]`
这可能和源文件m4a内封装的编码有关系,能否提供一下源文件?
-
---
### 评论 4 - Akari787
-
> > 使用此插件播放jellyfin的歌曲单时,如果是m4a格式的音乐文件会被识别成mp4,导致无法正常播放。 `wget -S -O /dev/null " http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true " --2026-01-12 14:19:32-- http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true正在连接到 192.168.7.4:30013...已连接。已发送 HTTP 请求,正在等待响应... HTTP/1.1 200 OK Content-Length: 16503536 Content-Type: audio/mp4 Date: Mon, 12 Jan 2026 05:19:32 GMT Server: Kestrel Accept-Ranges: bytes Last-Modified: Sun, 16 Mar 2025 23:01:54 GMT X-Response-Time-ms: 1.9493 Length: 16503536 (16M) [audio/mp4] Saving to: '/dev/null'
> > /dev/null 100%[=================================================================================================================================================================================>] 15.74M --.-KB/s 用时 0.01s
> > 2026-01-12 14:19:32 (1.51 GB/s) - '/dev/null' 已保存 [16503536/16503536]
@@ -65,11 +54,9 @@ Saving to: '/dev/null'
以这首【Alice in 冷凍庫】为例。这整个专辑里面的歌曲都无法播放。
链接可能打开比较慢,如果有IPv6会稍微快一点。
https://nextcl.asilante.xyz/s/3pX326jHfrcwJKY
-
---
### 评论 5 - shaoqilan
-
> > > 使用此插件播放jellyfin的歌曲单时,如果是m4a格式的音乐文件会被识别成mp4,导致无法正常播放。 `wget -S -O /dev/null " http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true " --2026-01-12 14:19:32-- [http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true正在连接到](http://192.168.7.4:30013/Audio/d7d0d9f6-a856-ab68-7725-ab03419eef59/stream?static=true%E6%AD%A3%E5%9C%A8%E8%BF%9E%E6%8E%A5%E5%88%B0) 192.168.7.4:30013...已连接。已发送 HTTP 请求,正在等待响应... HTTP/1.1 200 OK Content-Length: 16503536 Content-Type: audio/mp4 Date: Mon, 12 Jan 2026 05:19:32 GMT Server: Kestrel Accept-Ranges: bytes Last-Modified: Sun, 16 Mar 2025 23:01:54 GMT X-Response-Time-ms: 1.9493 Length: 16503536 (16M) [audio/mp4] Saving to: '/dev/null'
> > > /dev/null 100%[=================================================================================================================================================================================>] 15.74M --.-KB/s 用时 0.01s
> > > 2026-01-12 14:19:32 (1.51 GB/s) - '/dev/null' 已保存 [16503536/16503536]
@@ -91,6 +78,6 @@ https://nextcl.asilante.xyz/s/3pX326jHfrcwJKY
以上设置示例,是会将*.m4a后缀的文件以mp3格式进行输出
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/637)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/637)
diff --git a/docs/issues/655.md b/docs/issues/655.md
deleted file mode 100644
index 2c135e7..0000000
--- a/docs/issues/655.md
+++ /dev/null
@@ -1,145 +0,0 @@
----
-title: 在线播放功能扩展说明
----
-
-# 在线播放功能扩展说明
-
-在原版 xiaomusic 基础上,增加了以下扩展功能:
-
-1. **MusicFree插件支持**:(需自行获取音源) 集成 MusicFree 的 JS 插件系统,支持多种音乐源
-2. **开放接口支持**:(默认启用) 支持通过TuneFree API进行音乐搜索和播放
-3. **插件管理**: 提供插件启用/禁用/卸载等功能
-4. **自动追加歌曲功能**:(默认未启用) 播放到歌单末尾时自动搜索并播放相同歌手的歌曲
-5. **用户口令智能提取**(默认未启用): 支持对用户语音指令的智能分析,自动提取歌名、歌手名(需用户配置AI API密钥,默认不启用)
-
-### 调用策略
-- 调用策略:
- - 配置了开放接口且启用,只调用开放接口。
- - 未配置或启用接口时,会调用MusicFree插件搜索(需导入且启用)
-- 搜索结果优先级规则:
- - 【歌曲名】>【歌手名】>【插件平台权重】
- - 插件平台权重(启用插件列表中前9个插件,排名越靠前权重越高,最高9分)
-
-## 🔧 新增功能介绍
-
-### 🤐 新增语音口令
-- 【在线播放+关键词(歌手/歌曲名组合)】,会直接调用接口或插件,搜索关键词,返回匹配后的第一个资源进行播放。比如说:【在线播放】林俊杰||江南||林俊杰+江南。
-- 【歌手播放+歌手名】,会在线搜索该歌手的歌曲并创建歌单进行播放。比如说:【播放歌手:陈奕迅】。
-
-**Tips**
-需要在配置界面【允许唤醒的命令】选项中增加:`,singer_play,online_play,`
-
-
-
-
-### WEB端搜索、配置
-- 支持网页端搜索/播放歌曲及推送小爱音响(部分MusicFree插件获取的资源小爱音响不适用,如Bilibili插件)
-- 支持网页端管理插件、接口
-- 支持歌曲列表的全部推送功能
-
-### JS插件管理
-- 支持加载和管理 MusicFree JS 插件
-- 提供插件导入/启用/禁用/卸载功能
-- 支持插件配置文件管理
-
-### 开放接口支持
-- 集成TuneFree API接口
-- 支持在线搜索和播放
-- 可配置开放接口地址
-
-
-## ✨高级配置
-
-### 用户口令智能提取
-- 默认不启用,需用户主动配置API密钥后方可使用
-- 使用AI大模型分析用户语音指令,自动提取歌曲名和歌手名信息
-- 配置后会提高搜索精确度,非必须
-
-
-### 自动追加歌曲功能
-- 可配置是否在播放到最后一首歌时,追加当前歌手的其他歌曲(默认未启用,仅【全部播放】模式适用)
-- 默认未启用,只会根据当前歌单播放,不会自动搜索、添加歌曲
-
-### 配置示例:
-
-**/conf/plugins-config.json 下
-
-```json
-{
- ......
- // 启用自动添加歌曲功能
- "auto_add_song": true,
-
- // OpenAI 兼容 API 配置(支持阿里百炼、质谱 AI 等符合 OpenAI API 规范的大模型)
- "aiapi_info": {
- // OpenAI API 的基础 URL(默认指向阿里百炼)
- "base_url": "",
- // API 密钥
- "api_key": "API密钥",
- // 使用的模型名称(默认 qwen-flash,当前配置为 qwen-plus)
- "model": "qwen-plus",
- // 是否启用 AI 功能
- "enabled": true
- },
-
- ......
-}
-```
-
-
-
-## 评论
-
-
-### 评论 1 - hanxi
-
-入口:
-
-
-
-搜索和推送到当前播放音箱:
-
-
-
----
-
-### 评论 2 - gdzjy
-
-@boluofan 建议把https://github.com/lyswhut/lx-music-mobile 的音源也兼容了吧 ,毕竟lx-music-mobile项目比MusicFree更早,有很多免费的音源。
-
----
-
-### 评论 3 - boluofan
-
-> [@boluofan](https://github.com/boluofan) 建议把https://github.com/lyswhut/lx-music-mobile 的音源也兼容了吧 ,毕竟lx-music-mobile项目比MusicFree更早,有很多免费的音源。
-
-lxmusic的插件沙箱环境不好做,暂不打算支持。
-
----
-
-### 评论 4 - VectorZhao
-
-用户口令智能提取没有生效,**/conf/plugins-config.json配置如下
-
-```
-{
- "account": "",
- "password": "",
- "openapi_info": {
- "search_url": "https://music-dl.sayqz.com/api/",
- "enabled": false
- },
- "enabled_plugins": [],
- "plugins_info": [],
- "auto_add_song": true,
- "aiapi_info": {
- "base_url": "https://api.xxxxxx",
- "api_key": "sk-98ALygBWge9nExxxxxxxxxxxxxxx",
- "model": "gemini-3-flash-preview",
- "enabled": true
- }
-}
-```
-
----
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/655)
diff --git a/docs/issues/688.md b/docs/issues/688.md
index 140685d..cdc8222 100644
--- a/docs/issues/688.md
+++ b/docs/issues/688.md
@@ -1,9 +1,7 @@
---
title: 使用cookie登陆
---
-
# 使用cookie登陆
-
> 使用 cookie 登录时不要写填账号密码
## 步骤
@@ -20,66 +18,49 @@ title: 使用cookie登陆

-
## 评论
-
### 评论 1 - seryte
-
0.4.12版本测试了使用cookie也无效,是不是cookie还未正确读取?
-
---
### 评论 2 - WGKER
-
局域网内电脑获取完整cookie填入,并且也填写账户密码,仍然无法获取设备。
可行的话还是换成跳转小米账户授权登录的方式吧,类似小米官方HA插件,目前太折腾了。
-
---
### 评论 3 - gdzjy
-
0.4.12登录无效,找不到音箱设备。
-
---
### 评论 4 - swxk521
-
0.4.12一样不行
-
---
### 评论 5 - gdzjy
-
发现回到旧版本也找不到设备了,不知是不是小米有ban账号的机制,日志如下:
-
---
### 评论 6 - hanxi
-
文档更新了,截图还没更新,可以先看。
-
---
### 评论 7 - hanxi
-
下个版本可以不用填账号密码,目前0.4.12版本有点bug需要填。
-
---
### 评论 8 - seryte
-
> 文档更新了,截图还没更新,可以先看。
也还是不行 😂
@@ -87,17 +68,13 @@ title: 使用cookie登陆
-
---
### 评论 9 - hanxi
-
需要填账号,或者用测试版本。
-
---
### 评论 10 - seryte
-
> 需要填账号,或者用测试版本。
`hanxi/xiaomusic main d1d275ae0e98 About an hour ago 341MB`
@@ -108,64 +85,46 @@ title: 使用cookie登陆
-
---
### 评论 11 - sam0773
-
填写cookies时候要加上_utm_data={""}吗?直接复制进去保存时候会弹出[object object]
-
---
### 评论 12 - figsong
-

0.4.13版单用cookies、cookies加上账号密码依然不能发现设备
-
---
### 评论 13 - hanxi
-
需要确保复制的 cookie 中有 userId 和 passToken 两个值。
-
---
### 评论 14 - hanxi
-
需要确保复制的 cookie 中有 userId 和 passToken 两个值。
-
---
### 评论 15 - dyz312
-
仅使用cookie找的设备了,感谢!
-
---
### 评论 16 - xpeagle
-
4.14也是显示不能找到设备,不知道咋回事,cookie也是填了的, cookie 中有 userId 和 passToken 两个值的,但是还是不能找到设备哦
-
---
### 评论 17 - xpeagle
-
> 仅使用cookie找的设备了,感谢!
我也是试了下仅用cookie,但是还是找不到设备,郁闷了
-
---
### 评论 18 - zzfca
-
使用仅cookie登陆,终于链接到小爱音箱了! 谢谢谢谢
-
---
### 评论 19 - TangTang0812
-
有个问题大概播放几首歌后,会触发账号安全机制,控制台会提示“验证码输入错误”,然后就需要再次去官网过下人机验证,再到xiaomusic中重新配置cookie,是不是cookie容易被Mi ban 导致生命周期挂了,总的来说还是不错,能正常识别设备了;感谢大佬的倾情奉献 ❤
---------------------------------
。。。。。。。。。
@@ -235,17 +194,13 @@ title: 使用cookie登陆
-
---
### 评论 20 - hanxi
-
@TangTang0812 把对话记录关掉会好一点。
-
---
### 评论 21 - ideajoker
-
@@ -259,19 +214,15 @@ title: 使用cookie登陆
3、cookie也填入了
群辉NAS里面不知道怎么把网络由bridge改为host,这个还没试。 有没有类似的情况?
-
---
### 评论 22 - zmz163
-
试了很多次都不能查找设备,局域网内电脑获取完整cookie填入,并且也填写账户密码,仍然无法获取设备。
[xiaomusic (1).txt](https://github.com/user-attachments/files/24761966/xiaomusic.1.txt)
-
---
### 评论 23 - sam0773
-
如果用cookies就不要填写账号和密码
@@ -303,31 +254,25 @@ xiaomusic (1).txt
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
### 评论 24 - zmz163
-
> 如果用cookies就不要填写账号和密码
> […](#)
只用cookie登录也不行
-
---
### 评论 25 - w0000dy
-
> > 如果用cookies就不要填写账号和密码
> > […](#)
>
> 只用cookie登录也不行
填账号密码 账号别用手机号,我一开始手机号不行 使用ID号 然后去网页登录验证 刷新就有了,可以的话 先去你docker配置的config文件夹下东西都删除 登陆账号后再重新配置下
-
---
### 评论 26 - zmz163
-
> > > 如果用cookies就不要填写账号和密码
> > > […](#)
> >
@@ -337,35 +282,27 @@ You are receiving this because you commented.Message ID: ***@***.***>
> 填账号密码 账号别用手机号,我一开始手机号不行 使用ID号 然后去网页登录验证 刷新就有了,可以的话 先去你docker配置的config文件夹下东西都删除 登陆账号后再重新配置下
试了很多次,还是不行
-
---
### 评论 27 - ideajoker
-
2026年1月22日12:30测试反馈:
群辉NAS,把项目docker配置目录config文件夹下的内容全都删除,
重新拉取最新版本构建一下,再登录后台,可以先Ctrl+F5一下刷新出新版后台。
账号登录页面删掉手机号,换成ID,密码留空。
然后使用cookie登录,保存之后,就能识别到设备了。
-
---
### 评论 28 - yangjianxun36
-
大佬现在有个新问题,不知道是我的个例还是设备问题。家里有两台小米设备,一台米家音箱,一台触屏音箱,都是初版。米家音箱各项功能都正常,包括用风花雪月app控制播放暂停。但是触屏音箱有问题,在网页后台控制,点击播放暂停都可以正常用,但是停止的时候音箱没有停止语音反馈(米家音箱是有的),但是用着也还是没问题,用风花雪月app就有问题了,点播放可以放歌,但是一点就没反应,而且点了以后再网页后台也无法控制了,播放时间会开始一直跳,后台两个音箱都无法被发现,只能重启容器后正常。但是一通过风花雪月控制就会重复出现上面的问题。只能再次重启容器
-
---
### 评论 29 - b2522
-
用这个网址的token可以登录, 里面的userid换成自己的
https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
-
---
### 评论 30 - chenxixian
-
我用的pip instal方式安装和更新xiaomusic在Mac上的,之前帐号密码也是时不时有问题,改用cookie登录会正常,但Mac的IP有时会变,所以又加了个启动脚本,IP没变直接启动xiaomusic,IP变了修改好conf/setting.json后,再启动xiaomusic。
start_xiaomusic.sh
@@ -518,19 +455,15 @@ trap 'log_info "脚本被中断"; exit 130' INT TERM
# 执行主程序
main "$@"
```
-
---
### 评论 31 - zhagn4
-
> 用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
亲测可用,谢谢
-
---
### 评论 32 - zhagn4
-
> > 用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
>
> 亲测可用,谢谢
@@ -538,11 +471,9 @@ main "$@"
可用一天后,失效
-
---
### 评论 33 - b2522
-
> > > 用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
> >
> >
@@ -551,11 +482,9 @@ main "$@"
> 可用一天后,失效
重启一下容器~如果不行,就更新下ck,再重启下容器
-
---
### 评论 34 - zhagn4
-
> > > > 用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
> > >
> > >
@@ -567,11 +496,9 @@ main "$@"
> 重启一下容器~如果不行,就更新下ck,再重启下容器
重启可以了,但今天又不行了,我让容器每天定时重启试试
-
---
### 评论 35 - ideajoker
-
> > > > > 用这个网址的token可以登录, 里面的userid换成自己的 https://account.xiaomi.com/fe/service/account?userId=11111&_locale=zh_CN
> > > >
> > > >
@@ -586,18 +513,14 @@ main "$@"
> 重启可以了,但今天又不行了,我让容器每天定时重启试试
我现在也是每天定时重启才行,找不到规律啥时候就掉了登录。。。
-
---
### 评论 36 - wyyang1978-debug
-
我的也是需要重启,一般一到两天就会找不到设备,重启就好了
-
---
### 评论 37 - JasonSupertramp
-
还有一个就是需要把账号的二次验证关掉,不然连不上
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/688)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/688)
diff --git a/docs/issues/764.md b/docs/issues/764.md
index 4bf815b..d99d2b2 100644
--- a/docs/issues/764.md
+++ b/docs/issues/764.md
@@ -1,9 +1,7 @@
---
title: 酷狗歌单导出工具,可快速导入 xiaomusic
---
-
# 酷狗歌单导出工具,可快速导入 xiaomusic
-
开发了一个酷狗音乐歌单导出工具,可以将酷狗音乐的歌单导出为 xiaomusic 兼容的 JSON 格式。
项目地址: https://github.com/Steven-Qiang/kugou-exporter
@@ -22,8 +20,6 @@ title: 酷狗歌单导出工具,可快速导入 xiaomusic
支持docker部署
导出的 JSON 文件可直接在 xiaomusic 设置页面导入使用。
-
## 评论
-没有评论。
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/764)
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/764)
diff --git a/docs/issues/767.md b/docs/issues/767.md
index e7575cc..c7a7607 100644
--- a/docs/issues/767.md
+++ b/docs/issues/767.md
@@ -1,13 +1,13 @@
---
title: 自己用的Android TV上连接xiaomusic的播放软件
---
-
# 自己用的Android TV上连接xiaomusic的播放软件
-
一直没找到TV上用的播放软件,自己整了一个,分享给大家
[https://github.com/GanHuaLin/rouroumusic-tv](https://github.com/GanHuaLin/rouroumusic-tv)
-
## 评论
-没有评论。
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/767)
+### 评论 1 - boluofan
+卧槽,牛掰
+---
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/767)
diff --git a/docs/issues/78.md b/docs/issues/78.md
index 9285d98..9e57e6e 100644
--- a/docs/issues/78.md
+++ b/docs/issues/78.md
@@ -1,9 +1,7 @@
---
title: 已支持配置自定义网络歌单,在这里分享你的歌单
---
-
# 已支持配置自定义网络歌单,在这里分享你的歌单
-
设置页面新增一个输入框配置json格式,可以定义配置音乐源,可以是电台或者其他的m3u8格式的。
再加一个输入框配置这个json文件的url,点击获取按钮把url对应的json内容填充到json输入框,方便直接使用别人分享的歌单。
@@ -54,58 +52,43 @@ python3 micli.py play http://ngcdn001.cnr.cn/live/zgzs/index.m3u8
## 代理访问链接
上面的 是经过代理播放的链接。可以通过其他的工具来生成。其中 是自己的 xiaomusic 地址。
-
## 评论
-
### 评论 1 - hanxi
-
可以使用 gist 来配置和分享 json 文件,比如 https://gist.github.com/hanxi/dda82d964a28f8110f8fba81c3ff8314
点击 raw 得到 json 文件的链接 https://gist.githubusercontent.com/hanxi/dda82d964a28f8110f8fba81c3ff8314/raw/8787844d81c39dbfaad4e37954dd449d8bba5728/example.json
当然还可以用其他工具分享json文件,比如 github 和国内的 gitee 。
-
---
### 评论 2 - hanxi
-
已经有工具支持将 m3u 格式的电台文件转为网络歌单格式,见 /issues/88.html
欢迎有兴趣的朋友制作其他格式转换工具,比如网易歌单那一类的。
-
---
### 评论 3 - hanxi
-
设备掉线了
-
---
### 评论 4 - hanxi
-
> 怎么获取 他正在播放什么?或者是播放进度 ?播放列表?我想给他加进去 
这个接口 `/playingmusic`
-
---
### 评论 5 - 114514thD
-
加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
-
---
### 评论 6 - hanxi
-
> 加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
发出来看看?
-
---
### 评论 7 - 114514thD
-
> > 加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
>
> 发出来看看?
@@ -119,27 +102,21 @@ http://192.168.1.147:8000/%E5%91%A8%E4%BC%A0%E9%9B%84%20-%20%E4%B8%B4%E5%88%AB%E
potplayer里播放完全正常~~
仔细研究了一下,发现确实存在问题,不过是另一种情况,下面单说
-
---
### 评论 8 - 114514thD
-
> > 加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
>
> 发出来看看?
这几天再仔细研究了一下,发现一个可能的原因:这样获取到的是m4a文件,我尝试着在json里配置获取到的m4a链接,发现播放同样也是无时长
-
---
### 评论 9 - hanxi
-
获取歌曲时长确实有些格式获取不到。
-
---
### 评论 10 - 114514thD
-
> 获取歌曲时长确实有些格式获取不到。
http://m7.music.126.net/20241216093525/75c9080afa2929d7eec8e1cdbcbc0a92/yyaac/0709/535a/5358/0c6e2dcac3d0e9fa4415d22e1eca1337.m4a
@@ -164,59 +141,43 @@ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://m7.music.126.net/20241216093525/
handler_name : Sound Media Handler
vendor_id : [0][0][0][0]`
那是为什么播放就不行呢
-
---
### 评论 11 - hanxi
-
因为代码有问题。
-
---
### 评论 12 - 114514thD
-
> 因为代码有问题。
好吧😂😂,大佬真是直接😁
-
---
### 评论 13 - hanxi
-
重构方案 #314
-
---
### 评论 14 - LiyuTian-web
-
下指令后会重新播放歌曲。比如正在播放晴天,下指令声音小一点,这时会重新从头开始播放晴天这首歌,而不会继续播放。
-
---
### 评论 15 - hanxi
-
v0.3.86 版本支持 LX 歌单,歌单导出工具地址:
-
---
### 评论 16 - airroy888
-
https://github.com/airroy888/xiaomusic
插件工具特点:
1、解锁网易云灰色音乐,网易云歌单实现秒同步。同步歌曲时仅将歌名保存在播放列表中,无需等待播放链接更新,歌单保存内存配置中,不修改setting.json避免影响系统开机加载速度。
2、当播放歌单时,系统才会实时更新查询播放链接,并调用xiaomusic的API下载播放。
3、歌单播放采取播1备1方式随时待命状态,当用户喊“切歌”可以实现快速播放歌单的下一首歌曲。
-
---
### 评论 17 - 382263999
-
播放电台提示:Failed to play music: API Error: 500 Internal Server Error
-
---
### 评论 18 - hanxi
-
`v0.4.15` 版本已经支持在线歌单格式, `url` 是 `self:///api/proxy/plugin-url?data=` 开头的,需要配合【OnlineSearch】在线音乐里的 JS 插件使用,下面是一个歌单示例,如果想合并多个歌单,可以配合【歌单合并工具】把多个 json 歌单合并成一个。同时需要打开 【网络歌曲过代理】开关。
@@ -435,12 +396,26 @@ https://github.com/airroy888/xiaomusic
]
```
-
---
### 评论 19 - lowtianwei
-
请问自定义网络歌单需要在哪里配置啊?
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/78)
+
+### 评论 20 - hanxi
+#786 现已经支持B站在线播放形式的歌单,无需下载,适合小机器部署:
+
+```json
+{
+ "name": "B站测试歌单",
+ "songs": [
+ {
+ "name": "晴天",
+ "url": "https://www.bilibili.com/video/BV1U44y1G7a6"
+ }
+ ]
+}
+```
+---
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/78)
diff --git a/docs/issues/86.md b/docs/issues/86.md
index f745923..2d5b1f4 100644
--- a/docs/issues/86.md
+++ b/docs/issues/86.md
@@ -1,73 +1,62 @@
---
title: 微信交流群二维码
---
-
# 微信交流群二维码
-
-
-
+
## 评论
-
### 评论 1 - DarrenWen
-
群满200人,没法加入了
-
---
### 评论 2 - hanxi
-
没想到这么快就满了,新建了一个。
-
---
### 评论 3 - hanxi
-

-
---
### 评论 4 - weplayro
-
二维码过期了
-
---
### 评论 5 - hanxi
-
> 二维码过期了
更新了
-
---
### 评论 6 - JmsWang
-
来晚了,又过期了
-
---
### 评论 7 - hanxi
-
> 来晚了,又过期了
更新了
-
---
### 评论 8 - scrawld
-
二维码过期了
-
---
### 评论 9 - hanxi
-
> 二维码过期了
更新了
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/86)
+
+### 评论 10 - hanlinwangluo
+二维码过期了
+---
+
+### 评论 11 - hanxi
+> 二维码过期了
+
+更新了
+---
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/86)
diff --git a/docs/issues/88.md b/docs/issues/88.md
index 24770ff..dc13986 100644
--- a/docs/issues/88.md
+++ b/docs/issues/88.md
@@ -1,9 +1,7 @@
---
title: 如何添加m3u格式文件的电台
---
-
# 如何添加m3u格式文件的电台
-
比如可以找到这样的 m3u 电台文件: https://github.com/YueChan/Live/blob/main/Radio.m3u
1. 复制文件内容,粘贴到 m3u 转换工具里,点击转换为 json 格式:
@@ -19,33 +17,24 @@ title: 如何添加m3u格式文件的电台

4. 也可以用口令播放电台: `播放列表所有电台` ,或者口令: `播放歌曲北京城市广播`
-
## 评论
-
### 评论 1 - guoxiangke
-
转换m3u链接: http://127.0.0.1:8090/static/m3u.html
-
---
### 评论 2 - guoxiangke
-
http://127.0.0.1:8090/playurl?did=mydid&url=https://a.com/test.m3u 如果能支持 这么播放m3u 就太完美了
希望能够支持,谢谢作者。
-
---
### 评论 3 - hanxi
-
> http://127.0.0.1:8090/playurl?did=mydid&url=https://a.com/test.m3u 如果能支持 这么播放m3u 就太完美了 希望能够支持,谢谢作者。
不想破坏现有接口,可以考虑用插件的方式来实现。
-
---
### 评论 4 - lazybabyz
-
potplayer 测试 https://raw.githubusercontent.com/YueChan/Live/refs/heads/main/Radio.m3u 部分可以听
xiaomusic测试 https://github.com/YueChan/Live/blob/main/Radio.m3u 复制raw文件转换 全部失败不停转台
@@ -55,20 +44,16 @@ https://raw.githubusercontent.com/kaige-cai/live/refs/heads/main/radio.m3u
https://raw.githubusercontent.com/imDazui/Tvlist-awesome-m3u-m3u8/master/m3u/%E5%B9%BF%E6%92%AD%E7%94%B5%E5%8F%B02021.m3u
-
---
### 评论 5 - hanxi
-
检查一下是不是 ipv6 的地址?小米音箱不支持 ipv6
-
---
### 评论 6 - lazybabyz
-
> 检查一下是不是 ipv6 的地址?小米音箱不支持 ipv6
是我硬件设置的问题 重新安装了 解决!
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/88)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/88)
diff --git a/docs/issues/94.md b/docs/issues/94.md
index b3fe1c9..166e01f 100644
--- a/docs/issues/94.md
+++ b/docs/issues/94.md
@@ -1,9 +1,7 @@
---
title: 采用config.json配置方式
---
-
# 采用config.json配置方式
-
docker 方式部署默认推荐使用环境变量的方式来配置参数,如果是自己用命令行启动,目前支持的参数配置比较少,但是是支持 `--config` 参数。
使用 pip 安装 xiaomusic 【0.1.83版本才支持 pip 安装】
@@ -71,45 +69,34 @@ services:
command: ['--config', '/app/config.json']
```
主要就是把 config.json 文件映射进容器和传 `--config` 参数。
-
## 评论
-
### 评论 1 - alitime
-
正需要,有配置文件方便多了
-
---
### 评论 2 - hanxi
-
ffmpeg 如果是用 apt install 这类系统工具安装的,默认会在 /usr/bin 目录下,ffmpeg_location 这个参数就需要设置为 /usr/bin .
目前 armv7 cpu 的 docker 镜像里的 ffmpeg 有问题,最好是用 pip 方式安装运行。
-
---
### 评论 3 - hanxi
-
> ffmpeg 如果是用 apt install 这类系统工具安装的,默认会在 /usr/bin 目录下,ffmpeg_location 这个参数就需要设置为 /usr/bin .
>
> 目前 armv7 cpu 的 docker 镜像里的 ffmpeg 有问题,最好是用 pip 方式安装运行。
armv7 问题已经解决。
-
---
### 评论 4 - wuqiang0720
-
pip 部署完了然后怎么操作呢,有配置文件参数解释的文档吗?
-
---
### 评论 5 - hanxi
-
> pip 部署完了然后怎么操作呢,有配置文件参数解释的文档吗?
可以不需要的,直接一样在web后台设置即可。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/94)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/94)
diff --git a/docs/issues/96.md b/docs/issues/96.md
index 2b659b0..153d7dd 100644
--- a/docs/issues/96.md
+++ b/docs/issues/96.md
@@ -1,51 +1,38 @@
---
title: ios系统上的捷径配置
---
-
# ios系统上的捷径配置
-
下面是播放音乐和关机两个示例。只要在 web 页面上能看到的功能,都有对应的 http 请求接口,都可以用来配置捷径。


-
## 评论
-
### 评论 1 - Yumega
-
为什么我的捷径设置无效
http://192.168.11.1:5678/cmd 这个电脑可以打开 显示 {"detail":"Method Not Allowed"}
参照楼主的方法 用iOS捷径无效
-
---
### 评论 2 - hanxi
-
方便截图看看怎么填的吗?
-
---
### 评论 3 - Yumega
-

-
---
### 评论 4 - Yumega
-
> 方便截图看看怎么填的吗?
😏什么原因
-
---
### 评论 5 - hanxi
-
@Yumega 等有空我试试,目前没时间。
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/96)
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/96)
diff --git a/docs/issues/99.md b/docs/issues/99.md
index 4c87ebf..f2c0d7e 100644
--- a/docs/issues/99.md
+++ b/docs/issues/99.md
@@ -1,9 +1,7 @@
---
title: 💬 FAQ问题集合
---
-
# 💬 FAQ问题集合
-
> [!NOTE]
> 这个 issue 用来总结报错日志和对应的解决方法。
@@ -239,50 +237,39 @@ docker run --rm -it browsh/browsh --startup-url https://mi.com
/bin/sh: /usr/bin/supervisord: not found
```
清除 docker 镜像缓存,重启 docker 。 见 #695
-
## 评论
-
### 评论 1 - shissx
-
安装的最新版本,即使没有使用,日志一直在不停的刷新,示例:
[10:20:36] [0.1.101] [DEBUG] Polling_event, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236}
[10:20:36] [0.1.101] [DEBUG] Sleep 0.0003166699898429215, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236}
[10:20:37] [0.1.101] [DEBUG] Listening new message, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a
之前的版本没有这个问题,这个是设置错误?还是本来就如此呢?
-
---
### 评论 2 - hanxi
-
> 安装的最新版本,即使没有使用,日志一直在不停的刷新,示例: [10:20:36] [0.1.101] [DEBUG] Polling_event, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236} [10:20:36] [0.1.101] [DEBUG] Sleep 0.0003166699898429215, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236} [10:20:37] [0.1.101] [DEBUG] Listening new message, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a
>
> 之前的版本没有这个问题,这个是设置错误?还是本来就如此呢?
正常现象,现在默认把调试日志打开了,可以在后台设置关闭调试日志的。
-
---
### 评论 3 - Dx0123
-
大佬,docker安装提示缺少很多module,我一个个在dockerfilie里加上,最后卡在miservice装不上了~
-
---
### 评论 4 - hanxi
-
@Dx0123 其实不用手动安装依赖的,直接一行应该就行。
```
RUN pip install -U xiaomusic
```
-
---
### 评论 5 - Dx0123
-
> @Dx0123 其实不用手动安装依赖的,直接一行应该就行。
>
> ```
@@ -292,25 +279,19 @@ RUN pip install -U xiaomusic
我直接用pip安装好之后,执行仍然有缺少的依赖,和docker里缺的一样。截图的module安装了之后还会有其他依赖缺失

-
---
### 评论 6 - hanxi
-
@Dx0123 你的python版本是不是有问题?你参考下项目里的Dockerfile,用同一个From镜像试试。
-
---
### 评论 7 - hanxi
-
> 有时候指令已停止,可是一会儿,又自动播放下一首,根本就停不下来。需要重启容器才能正常
点关机按钮也不行吗?
-
---
### 评论 8 - hanxi
-
> > > 有时候指令已停止,可是一会儿,又自动播放下一首,根本就停不下来。需要重启容器才能正常
> >
> >
@@ -319,43 +300,33 @@ RUN pip install -U xiaomusic
> 是的,说关机,点关机,暂停都不行。只能重启容器。
有没有日志看看?
-
---
### 评论 9 - sqmcool
-
为什么我的没有显示设备?

-
---
### 评论 10 - hanxi
-
> 为什么我的没有显示设备? 
应该是登陆失败,可以查看一下日志。
-
---
### 评论 11 - schppd
-
楼主您好,请问这个我需要怎么处理?

-
---
### 评论 12 - hanxi
-
> 楼主您好,请问这个我需要怎么处理? 
删掉重新配置一下试试。
-
---
### 评论 13 - schppd
-
会不会跟网络不稳定有关系?我都弄了几次还是这样子
@@ -380,47 +351,37 @@ RUN pip install -U xiaomusic
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
### 评论 14 - hanxi
-
> 会不会跟网络不稳定有关系?我都弄了几次还是这样子
> […](#)
> ------------------ 原始邮件 ------------------ 发件人: "hanxi/xiaomusic" ***@***.***>; 发送时间: 2024年9月15日(星期天) 晚上10:57 ***@***.***>; ***@***.******@***.***>; 主题: Re: [hanxi/xiaomusic] FAQ问题集合 (Issue #99) 楼主您好,请问这个我需要怎么处理? 删掉重新配置一下试试。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: ***@***.***>
有可能的,用代理试试。
-
---
### 评论 15 - guoxiangke
-
定制的时候,"全部"和”所有歌曲"的区别,帮助有需要的朋友:
歌单中 "全部" 指的是 所有歌单中歌曲,但不包括“歌单内容”配置(http://127.0.0.1:8090/static/setting.html)中的电台 "type": "radio",的
”所有歌曲" 指的是下载的歌曲,在download文件夹里
-
---
### 评论 16 - agigogo
-

在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?
-
---
### 评论 17 - hanxi
-
>  在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?
设置页面输入小米的账号密码后,再勾选一个设备。
-
---
### 评论 18 - agigogo
-
> >  在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?
>
> 设置页面输入小米的账号密码后,再勾选一个设备。
@@ -433,11 +394,9 @@ You are receiving this because you commented.Message ID: ***@***.***>

设置页面没有可勾选项?
-
---
### 评论 19 - agigogo
-
> > >  在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?
> >
> >
@@ -455,85 +414,63 @@ You are receiving this because you commented.Message ID: ***@***.***>

显示未检测到设备,设备型号是MDZ-25-DA
-
---
### 评论 20 - hanxi
-
@agigogo 应该是登陆失败了,局域网的手机重新登陆一下小爱音箱app吧。
-
---
### 评论 21 - agigogo
-
> @agigogo 应该是登陆失败了,局域网的手机重新登陆一下小爱音箱app吧。
一直都是用米家APP来控制小爱音箱,那要下个小爱音响APP试一试
-
---
### 评论 22 - agigogo
-
> @agigogo 应该是登陆失败了,局域网的手机重新登陆一下小爱音箱app吧。
搞定了,小爱音箱app重新绑定就可以了。真6~
-
---
### 评论 23 - Tueafternoon
-
一首歌结束不能自动切到下一首,随机播放模式,日志中显示下一曲定时器不见了....这个是咋回事啊
-
---
### 评论 24 - hanxi
-
> 一首歌结束不能自动切到下一首,随机播放模式,日志中显示下一曲定时器不见了....这个是咋回事啊
可能是音乐文件有问题,获取歌曲长度失败,你可以把歌曲文件上传一下给我测试。
-
---
### 评论 25 - hanxi
-
或者搜下日志里有没有 不会设置下一首歌的定时器 这个
-
---
### 评论 26 - Tueafternoon
-
> 或者搜下日志里有没有 不会设置下一首歌的定时器 这个
有这个,应该是我的文件格式问题,晚上我处理一下再试试
-
---
### 评论 27 - zealler9560
-

istore系统可以拉取创建镜像,但是无法启动,错误提示见图一,求助大佬!路由器信息见图二
-
---
### 评论 28 - adidas004
-
在群晖使用docker安装的,只能通过重装来升级到最新版本吗?有快捷的一键升级吗
-
---
### 评论 29 - hanxi
-
> 在群晖使用docker安装的,只能通过重装来升级到最新版本吗?有快捷的一键升级吗
不会命令行,就用这个工具吧。 https://github.com/onlyLTY/dockerCopilot
-
---
### 评论 30 - adidas004
-
谢谢您的工具,我刚去群晖的docker上有提示直接升级,还是非常的感觉你的回答
@@ -567,11 +504,9 @@ istore系统可以拉取创建镜像,但是无法启动,错误提示见图
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
### 评论 31 - sinojelly
-
运行时遇到下面问题,请问要怎么排查?
```
2024/11/21 19:27:00 xiaomusic.py: error: unrecognized arguments: .venv/bin/python3 xiaomusic.py
@@ -587,11 +522,9 @@ You are receiving this because you commented.Message ID: ***@***.***>
2024/11/21 19:27:00 [-h]
2024/11/21 19:27:00 usage: xiaomusic.py
```
-
---
### 评论 32 - hanxi
-
> 运行时遇到下面问题,请问要怎么排查?
>
> ```
@@ -610,11 +543,9 @@ You are receiving this because you commented.Message ID: ***@***.***>
> ```
看不出来
-
---
### 评论 33 - sinojelly
-
请问登录验证失败要怎么定位?小米登录邮箱,还是小米id 都报同样的错。
```
2024/11/25 0:50:44 [2024-11-25 00:50:44] [0.3.48] [ERROR] xiaomusic.py:259: /root/.mi.token file not exist
@@ -633,11 +564,9 @@ You are receiving this because you commented.Message ID: ***@***.***>
2024/11/25 0:50:44 raise Exception(resp)
2024/11/25 0:50:44 File "/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py", line 69, in login
```
-
---
### 评论 34 - hanxi
-
> 请问登录验证失败要怎么定位?小米登录邮箱,还是小米id 都报同样的错。
>
> ```
@@ -659,49 +588,37 @@ You are receiving this because you commented.Message ID: ***@***.***>
> ```
上面给出了4个办法都试过了吗?局域网登陆mi.com了?
-
---
### 评论 35 - wusemao
-
设置web访问登录时,账号密码设置完之后登不进去了,账号名称用的中文的可以么
-
---
### 评论 36 - hanxi
-
> 设置web访问登录时,账号密码设置完之后登不进去了,账号名称用的中文的可以么
不确定是否可以,你可以考虑setting.json里的内容,不行就修改再重启。
-
---
### 评论 37 - quanmao
-
运行后会在音乐目录下生成一个tmp文件夹,如何指定路径,因为还有其应用访问音乐路径,不希望其识别tmp目录下的音乐。
-
---
### 评论 38 - hanxi
-
> 运行后会在音乐目录下生成一个tmp文件夹,如何指定路径,因为还有其应用访问音乐路径,不希望其识别tmp目录下的音乐。
忽略目录(逗号分割) 改成 `@eaDir,tmp` 即可。
-
---
### 评论 39 - quanmao
-
> > 运行后会在音乐目录下生成一个tmp文件夹,如何指定路径,因为还有其应用访问音乐路径,不希望其识别tmp目录下的音乐。
>
> 忽略目录(逗号分割) 改成 `@eaDir,tmp` 即可。
抱歉,是我没有说清楚,是运行xiaomusic后会在音乐路径下生成tmp文件夹, 但我同时还在用navidrome,也会访问音乐目录,他会把tmp目录下的歌曲也扫描进去,所以想移动tmp目录。 navidrome没找到在哪里可以设置,忽略这个文件夹
-
---
### 评论 40 - hanxi
-
> > > 运行后会在音乐目录下生成一个tmp文件夹,如何指定路径,因为还有其应用访问音乐路径,不希望其识别tmp目录下的音乐。
> >
> >
@@ -710,34 +627,26 @@ You are receiving this because you commented.Message ID: ***@***.***>
> 抱歉,是我没有说清楚,是运行xiaomusic后会在音乐路径下生成tmp文件夹, 但我同时还在用navidrome,也会访问音乐目录,他会把tmp目录下的歌曲也扫描进去,所以想移动tmp目录。 navidrome没找到在哪里可以设置,忽略这个文件夹
提个新 issue 吧,有空加下配置项。
-
---
### 评论 41 - CallEdison
-


问题一:能进控制面板,进不了设置页面,容器没有log生成,我昨天已经设置好了,现在功能能正常使用,但是进不了设置页面了问题二:昨天能进的时候发现本地下载目录有歌曲,但是设置里面的全部歌曲里面没有,搜索框搜索又能搜的到。
-
---
### 评论 42 - hanxi
-
>   问题一:能进控制面板,进不了设置页面,容器没有log生成,我昨天已经设置好了,现在功能能正常使用,但是进不了设置页面了问题二:昨天能进的时候发现本地下载目录有歌曲,但是设置里面的全部歌曲里面没有,搜索框搜索又能搜的到。
问题一:打不开的地址是哪个?
问题二:可以点击刷新列表按钮试试。
-
---
### 评论 43 - huahua-er
-
是关闭了网络搜索了吗?现在的搜索只有本地数据没有网络歌曲了?
-
---
### 评论 44 - CallEdison
-
默认主题有歌曲
@@ -785,60 +694,46 @@ Edison
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
### 评论 45 - hanxi
-
> 是关闭了网络搜索了吗?现在的搜索只有本地数据没有网络歌曲了?
等 yt-dlp 修复。
-
---
### 评论 46 - hanxi
-
> 默认主题有歌曲 pure主题没有歌曲 xmusicPlayer也没有歌曲 Edison ***@***.***
> […](#)
> ------------------ 原始邮件 ------------------ 发件人: ***@***.***>; 发送时间: 2024年11月30日(星期六) 上午6:26 收件人: ***@***.***>; 抄送: ***@***.***>; ***@***.***>; 主题: Re: [hanxi/xiaomusic] 💬 FAQ问题集合 (Issue #99) 是关闭了网络搜索了吗?现在的搜索只有本地数据没有网络歌曲了? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: ***@***.***>
需要刷新缓存
-
---
### 评论 47 - like1020
-

请教一下,本地列表歌单里的歌曲即便设置为全部循环或随机播放,依然是不断地单曲循环,只能自己手动点下一首,请问是什么情况?
-
---
### 评论 48 - tchgtr
-
请问网络搜索功能修复了吗?感谢!
-
---
### 评论 49 - hanxi
-
> 请问网络搜索功能修复了吗?感谢!
修复了。
-
---
### 评论 50 - tchgtr
-
> > 请问网络搜索功能修复了吗?感谢!
>
> 修复了。
我已经更新到最新版0.3.55,音箱是LX04触屏音箱,但是使用指令对小爱说“播放歌曲。。。“还是通过音箱绑定的QQ音乐播放,解绑了QQ音乐账号,就会提示先让我绑定账号(包括播放本地歌曲指令),感觉音箱还没跟docker连接上(已经重启过容器)。但是通过8090端口进入后台,搜索歌曲,播放,调节声音大小,单曲、随机所有的功能都可以通过按键实现,唯独不能通过语音跟小爱对话播放我指定的内容,请问这个是什么问题,感谢!
-
---
### 评论 51 - hanxi
-
> > > 请问网络搜索功能修复了吗?感谢!
> >
> >
@@ -847,11 +742,9 @@ You are receiving this because you commented.Message ID: ***@***.***>
> 我已经更新到最新版0.3.55,音箱是LX04触屏音箱,但是使用指令对小爱说“播放歌曲。。。“还是通过音箱绑定的QQ音乐播放,解绑了QQ音乐账号,就会提示先让我绑定账号(包括播放本地歌曲指令),感觉音箱还没跟docker连接上(已经重启过容器)。但是通过8090端口进入后台,搜索歌曲,播放,调节声音大小,单曲、随机所有的功能都可以通过按键实现,唯独不能通过语音跟小爱对话播放我指定的内容,请问这个是什么问题,感谢!
贴下你的 setting.json 文件看看吧,把里面的账号密码删除。
-
---
### 评论 52 - tchgtr
-
> > > > 请问网络搜索功能修复了吗?感谢!
> > >
> > >
@@ -988,35 +881,27 @@ You are receiving this because you commented.Message ID: ***@***.***>
"play_type_seq_tts_msg": "已经设置为顺序播放",
"recently_added_playlist_len": 50
}
-
---
### 评论 53 - hanxi
-
get_ask_by_mina 【特殊型号获取对话记录】这个需要设置为 false
-
---
### 评论 54 - tchgtr
-
> get_ask_by_mina 【特殊型号获取对话记录】这个需要设置为 false
已经重新设置并重启容器,尝试还是不行,会不会是这个触屏音箱不支持?
-
---
### 评论 55 - tchgtr
-
> > get_ask_by_mina 【特殊型号获取对话记录】这个需要设置为 false
>
> 已经重新设置并重启容器,尝试还是不行,会不会是这个触屏音箱不支持?
或者是在创建容器的时候,我的小米账号填写了我的手机号码,应该需要填写实际的小米账号?因为手机号码对应的小米账号,和输入对应的密码,都是可以登陆的,但是我不知道有什么区别,就把手机号码输入进去了
-
---
### 评论 56 - tchgtr
-
> > > get_ask_by_mina 【特殊型号获取对话记录】这个需要设置为 false
> >
> >
@@ -1025,34 +910,26 @@ get_ask_by_mina 【特殊型号获取对话记录】这个需要设置为 false
> 或者是在创建容器的时候,我的小米账号填写了我的手机号码,应该需要填写实际的小米账号?因为手机号码对应的小米账号,和输入对应的密码,都是可以登陆的,但是我不知道有什么区别,就把手机号码输入进去了
我重新创建容器,问题解决了,主要是两个地方改变了,一个是上面的小米账号的问题,另外一个是关于conf和music这两个文件夹,这次我都把他们放在/container/xiaomusic下,即/container/xiaomusic/conf(music),分别对应两个容器和主机app/conf(music),问题就解决了。之前我是分开在两个文件夹的。
-
---
### 评论 57 - tianting123
-
0 B的APE文件, 建议直接跳过播放
-
---
### 评论 58 - oklrc
-
新人请教:使用DOCKER镜像 或者 composer安装 如何升级到最新版本呢?是删除镜像再重新拉取吗
-
---
### 评论 59 - hanxi
-
> 新人请教:使用DOCKER镜像 或者 composer安装 如何升级到最新版本呢?是删除镜像再重新拉取吗
```
docker compose pull
docker compose up -d
```
-
---
### 评论 60 - oklrc
-
更新到最新版后,找不到小爱同学了
日志:
@@ -1065,66 +942,50 @@ AttributeError: 'NoneType' object has no attribute 'device_list'
[2024-12-14 11:34:54] [0.3.57] [INFO] httpserver.py:246: getsetting device_list: []
[2024-12-14 11:34:54] [0.3.57] [INFO] httpserver.py:246: getsetting device_list: []
-
---
### 评论 61 - hanxi
-
> 更新到最新版后,找不到小爱同学了
>
> 日志: [2024-12-14 11:34:54] [0.3.57] [ERROR] xiaomusic.py:1283: Execption 'NoneType' object has no attribute 'device_list' Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 1281, in getalldevices device_list = await self.mina_service.device_list() AttributeError: 'NoneType' object has no attribute 'device_list' [2024-12-14 11:34:54] [0.3.57] [INFO] httpserver.py:246: getsetting device_list: [] [2024-12-14 11:34:54] [0.3.57] [INFO] httpserver.py:246: getsetting device_list: [] [2024-12-14 11:34:54] [0.3.57] [INFO] httpserver.py:246: getsetting device_list: []
登陆掉了吧,重新登陆一下。
-
---
### 评论 62 - sprout-cooler
-
登录后,显示无设备;上面提到的方法都试过了。没有用,日志显示
File "/app/xiaomusic/xiaomusic.py", line 1270, in reinit
await self.init_all_data(self.session)
AttributeError: 'XiaoMusic' object has no attribute 'session'
-
---
### 评论 63 - fu-yuming
-
今天更新后,找不到设备了。重新输账号密码保存了,怎么都不行。重新部署也找不到。
-
---
### 评论 64 - zhiquanchi
-
> 今天更新后,找不到设备了。重新输账号密码保存了,怎么都不行。重新部署也找不到。
用默认主题试下
-
---
### 评论 65 - hanxi
-
可以更新试试。
-
---
### 评论 66 - lijichao2018
-
我点保存,网页显示[object Object],不知道啥情况
-
---
### 评论 67 - hanxi
-
> 我点保存,网页显示[object Object],不知道啥情况
0.3.58版本吗?
-
---
### 评论 68 - lijichao2018
-
0.3.57
@@ -1169,45 +1030,33 @@ AttributeError: 'XiaoMusic' object has no attribute 'session'
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
### 评论 69 - hanxi
-
那你更新吧。58应该是修复了。
-
---
### 评论 70 - oklrc
-
> 那你更新吧。58应该是修复了。
新版本确实好了,我昨天遇到的问题和楼上是一样的
-
---
### 评论 71 - lijichao2018
-
绿联的NAS怎么更新到58版本啊,没找到,要用口令吗?
-
---
### 评论 72 - zjzj52
-
容器一直重启,网页后台也进不去
-
---
### 评论 73 - hanxi
-
> 容器一直重启,网页后台也进不去
这种情况有日志吗?可能是端口冲突?
-
---
### 评论 74 - BladPit
-
不知道有没有用unraid系统NAS的朋友?
我这里使用docker安装xiaomusic有一个很奇怪的现象,不知道有没有大佬能够解惑:
@@ -1224,11 +1073,9 @@ You are receiving this because you commented.Message ID: ***@***.***>
然而如果开启特权模式运行docker,则会完全正常,webGUI能够正常访问。感觉非常疑惑,不知道是什么原因。
这个问题之前在安装docker版迅雷的时候有类似情况,必须开启特权模式迅雷的docker才能启动,但迅雷的docker应该是所有人都如此,但xiaomusic的这种情况,我询问过其他unraid群友,似乎没有遇到该问题。
-
---
### 评论 75 - ZYT1601
-
容器一直重启,日志一直循环一段
Unlinking stale socket /var/run/supervisor.sock
@@ -1237,43 +1084,33 @@ Unlinking stale socket /var/run/supervisor.sock
self.warnings.warn(
Unlinking stale socket /var/run/supervisor.sock
-
---
### 评论 76 - hanxi
-
@ZYT1601 试试看这个方法: /issues/348.html#issuecomment-2568722472
-
---
### 评论 77 - ZYT1601
-
可以了,飞牛把容器设置里面的命令全部删掉也是一个道理
-
---
### 评论 78 - ZYT1601
-
> 可以了,飞牛把容器设置里面的命令全部删掉也是一个道理
好像不能一劳永逸
-
---
### 评论 79 - hanxi
-
> > 可以了,飞牛把容器设置里面的命令全部删掉也是一个道理
>
> 好像不能一劳永逸
等后续版本吧。
-
---
### 评论 80 - Ivysaur-91
-
有个问题请教下,建立容器的时候指定了nas本地的位置映射到容器的音乐路径,但是在nas路径防止文件无法被识别出来。

直接在xiaomusic里面下载音乐是可以播放的,进入到docker里面的路径也是有音乐文件的
@@ -1282,21 +1119,17 @@ Unlinking stale socket /var/run/supervisor.sock
建容器的命令如下:
docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/[[xiaomusic]]:/app/music -v /Public/Music/[[xiaomusic]]:/app/conf m.daocloud.io/docker.io/hanxi/xiaomusic
-
---
### 评论 81 - hanxi
-
> 有个问题请教下,建立容器的时候指定了nas本地的位置映射到容器的音乐路径,但是在nas路径防止文件无法被识别出来。  直接在xiaomusic里面下载音乐是可以播放的,进入到docker里面的路径也是有音乐文件的 
>
> 建容器的命令如下: docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/[[xiaomusic]]:/app/music -v /Public/Music/[[xiaomusic]]:/app/conf m.daocloud.io/docker.io/hanxi/xiaomusic
为啥路径要加方括号?另外两个路径不能重复。
-
---
### 评论 82 - Ivysaur-91
-
> > 有个问题请教下,建立容器的时候指定了nas本地的位置映射到容器的音乐路径,但是在nas路径防止文件无法被识别出来。  直接在xiaomusic里面下载音乐是可以播放的,进入到docker里面的路径也是有音乐文件的 
> > 建容器的命令如下: docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/[[xiaomusic]]:/app/music -v /Public/Music/[[xiaomusic]]:/app/conf m.daocloud.io/docker.io/hanxi/xiaomusic
>
@@ -1309,11 +1142,9 @@ docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/[[xiaom
语句:
docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/xiaomusic/music:/app/music -v /Public/Music/xiaomusic/config:/app/conf m.daocloud.io/docker.io/hanxi/xiaomusic
-
---
### 评论 83 - Ivysaur-91
-
> > > 有个问题请教下,建立容器的时候指定了nas本地的位置映射到容器的音乐路径,但是在nas路径防止文件无法被识别出来。  直接在xiaomusic里面下载音乐是可以播放的,进入到docker里面的路径也是有音乐文件的 
> > > 建容器的命令如下: docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/[[xiaomusic]]:/app/music -v /Public/Music/[[xiaomusic]]:/app/conf m.daocloud.io/docker.io/hanxi/xiaomusic
> >
@@ -1328,40 +1159,30 @@ docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /Public/Music/xiaomus

yi以为是文件夹关联失败了,但是进入容器看应该是成功的
-
---
### 评论 84 - kern111
-
本地歌曲如何创建歌单?我的歌曲全在/volumeUSB1/usbshare/Music/这个目录下,想手动设置类别播放
-
---
### 评论 85 - hanxi
-
> 本地歌曲如何创建歌单?我的歌曲全在/volumeUSB1/usbshare/Music/这个目录下,想手动设置类别播放
目前的方法就是自己整理分类好目录,或者去小程序里建歌单。
-
---
### 评论 86 - wjcroom
-
说, 加入收藏, 或 收藏歌曲 指令. 小爱说没有播放歌曲, 当前肯定在播放.
但是无法执行这个操作
-
---
### 评论 87 - hanxi
-
> 说, 加入收藏, 或 收藏歌曲 指令. 小爱说没有播放歌曲, 当前肯定在播放. 但是无法执行这个操作
那个是小爱自带的回答,没影响。
-
---
### 评论 88 - wjcroom
-
> > 说, 加入收藏, 或 收藏歌曲 指令. 小爱说没有播放歌曲, 当前肯定在播放. 但是无法执行这个操作
>
> 那个是小爱自带的回答,没影响。
@@ -1373,110 +1194,82 @@ yi以为是文件夹关联失败了,但是进入容器看应该是成功的
后面需要在附加歌名吗.
ZZZZZZ最后发现是没刷新页面, 收藏没刷新出来. 语音命令是有效的.
-
---
### 评论 89 - alvin1234579
-
網頁播放正常,但是語音口令無法正常搜尋撥放本地音樂,還是會撥QQ音樂試聽版.偶而會亂撥不相干的歌,docker和小米音箱都重啟過了
[xiaomusic (13).txt](https://github.com/user-attachments/files/18867950/xiaomusic.13.txt)
-
---
### 评论 90 - hanxi
-
@alvin1234579 看日志是没啥问题的,多试几次,用播放歌曲开头。
-
---
### 评论 91 - alvin1234579
-
抱歉剛剛有語音撥放歌曲成功但是撥幾秒就停止了,如果搜尋不到本地音樂不是應該yt-dlp下載嗎,一直會跳QQ音樂試聽版
[xiaomusic (16).txt](https://github.com/user-attachments/files/18868240/xiaomusic.16.txt)
-
---
### 评论 92 - hanxi
-
@alvin1234579 下载歌曲是需要时间的,看日志是在下载中了。QQ音乐试听只是会语音提示,下载成功后会播放下载的歌曲的。
-
---
### 评论 93 - alvin1234579
-
> 抱歉剛剛有語音撥放歌曲成功但是撥幾秒就停止了,如果搜尋不到本地音樂不是應該yt-dlp下載嗎,一直會跳QQ音樂試聽版
>
> [xiaomusic (16).txt](https://github.com/user-attachments/files/18868240/xiaomusic.16.txt)
已經找到原因了語音搜索會用簡體搜尋,曲名如果是繁體會搜尋不到,還有數字會用中文搜尋像是說2024會搜尋二零二四的檔名所以2024搜尋不到,這有修正的方法嗎
-
---
### 评论 94 - hanxi
-
@alvin1234579 你提个issue吧,算是个bug吧,应该处理了简体和繁体才对。
-
---
### 评论 95 - laolihb
-
我的安装运行都很顺利,但目前只能播放本地(nas音乐文件夹)的音乐,本地没有的无法播放,可以看到歌词滚动和“下载中”的语音提示,但之后就静默无声,下载文件夹空白,折腾了很多次没有解决,实在弄不好了,请楼主指导一哈,谢谢啦。
(我平时无法登录这里,只能借用朋友的饿饭临时用一哈)
-
---
### 评论 96 - hanxi
-
> 我的安装运行都很顺利,但目前只能播放本地(nas音乐文件夹)的音乐,本地没有的无法播放,可以看到歌词滚动和“下载中”的语音提示,但之后就静默无声,下载文件夹空白,折腾了很多次没有解决,实在弄不好了,请楼主指导一哈,谢谢啦。 (我平时无法登录这里,只能借用朋友的饿饭临时用一哈)
可以加微信群或者QQ群。
-
---
### 评论 97 - wjcroom
-
@hanxi 我做了一个 自定义语音播放nas电影的HA自动化。 怎么样 取消小爱不能执行的操作。这种默认回答呢。 我的指令搜电视* 。虽然后台执行了。 但是小爱的默认回复总是出现。 个人训练,无法通配符
-
---
### 评论 98 - hanxi
-
> [@hanxi](https://github.com/hanxi) 我做了一个 自定义语音播放nas电影的HA自动化。 怎么样 取消小爱不能执行的操作。这种默认回答呢。 我的指令搜电视* 。虽然后台执行了。 但是小爱的默认回复总是出现。 个人训练,无法通配符
没啥办法,有些型号就是无法打断小爱说话。
-
---
### 评论 99 - wjcroom
-
> > [@hanxi](https://github.com/hanxi) 我做了一个 自定义语音播放nas电影的HA自动化。 怎么样 取消小爱不能执行的操作。这种默认回答呢。 我的指令搜电视* 。虽然后台执行了。 但是小爱的默认回复总是出现。 个人训练,无法通配符
>
> 没啥办法,有些型号就是无法打断小爱说话。
我也用搜索播放,这样类似的指令呢? 它就不会随便带来干涉。 只是这和 xiaomusic重合了啊。 还有类似的这样开始的吗。
-
---
### 评论 100 - eleght2000
-
能不能播放网络磁盘的歌曲 比如FTP 或者SMB共享的磁盘内的歌曲
-
---
### 评论 101 - hanxi
-
> 能不能播放网络磁盘的歌曲 比如FTP 或者SMB共享的磁盘内的歌曲
可以用rclone挂载
-
---
### 评论 102 - KagurazakaAsahi
-
作者你好,我出现了上述“本机有声音,小爱音箱没声音,请问什么原因?”这个问题,按顺序排查,默认测试链接正常,容器日志中音乐链接也正常播放,但测试链接中如果填写我的容器日志中音乐链接,也就是本地音源就无法播放,换了十几个mp3音源,均无法正常播放,小爱总说网络错误
`[2025-04-26 00:24:09] [0.3.78] [INFO] analytics.py:105: umami Status: 400
@@ -1569,11 +1362,9 @@ ZZZZZZ最后发现是没刷新页面, 收藏没刷新出来. 语音命令是有
[00:27:03] [0.3.78] [INFO] 172.17.0.1:51664 - "GET /playingmusic?did=725574603 HTTP/1.1" 200`
-
---
### 评论 103 - hanxi
-
> 作者你好,我出现了上述“本机有声音,小爱音箱没声音,请问什么原因?”这个问题,按顺序排查,默认测试链接正常,容器日志中音乐链接也正常播放,但测试链接中如果填写我的容器日志中音乐链接,也就是本地音源就无法播放,换了十几个mp3音源,均无法正常播放,小爱总说网络错误 `[2025-04-26 00:24:09] [0.3.78] [INFO] analytics.py:105: umami Status: 400
>
> [00:25:03] [0.3.78] [INFO] 172.17.0.1:48048 - "GET /playingmusic?did=725574603 HTTP/1.1" 200
@@ -1637,11 +1428,9 @@ ZZZZZZ最后发现是没刷新页面, 收藏没刷新出来. 语音命令是有
> [00:27:03] [0.3.78] [INFO] 172.17.0.1:51664 - "GET /playingmusic?did=725574603 HTTP/1.1" 200`
你部署在哪里的?是不是防火墙的问题?
-
---
### 评论 104 - KagurazakaAsahi
-
> > 作者你好,我出现了上述“本机有声音,小爱音箱没声音,请问什么原因?”这个问题,按顺序排查,默认测试链接正常,容器日志中音乐链接也正常播放,但测试链接中如果填写我的容器日志中音乐链接,也就是本地音源就无法播放,换了十几个mp3音源,均无法正常播放,小爱总说网络错误 `[2025-04-26 00:24:09] [0.3.78] [INFO] analytics.py:105: umami Status: 400
> > [00:25:03] [0.3.78] [INFO] 172.17.0.1:48048 - "GET /playingmusic?did=725574603 HTTP/1.1" 200
> > [00:25:03] [0.3.78] [INFO] 172.17.0.1:48054 - "GET /playingmusic?did=725574603 HTTP/1.1" 200
@@ -1677,69 +1466,53 @@ ZZZZZZ最后发现是没刷新页面, 收藏没刷新出来. 语音命令是有
> 你部署在哪里的?是不是防火墙的问题?
部署在我台式机上,关闭了防火墙,台式机与小爱音箱连接了同一个热点
-
---
### 评论 105 - ocean412257013
-
请教 在build的时候报错,是哪个意思

-
---
### 评论 106 - hanxi
-
> 请教 在build的时候报错,是哪个意思
>
> 
换个国内的镜像。
-
---
### 评论 107 - quickflash2
-
我用DOCKER布署的,语音可以正常播放本地音乐,但是说“本地搜索播放”始终无法执行,都是小爱本身的的语音提示,网页里的搜索和下载是正常使用的,想问下怎么解决
-
---
### 评论 108 - hanxi
-
> 我用DOCKER布署的,语音可以正常播放本地音乐,但是说“本地搜索播放”始终无法执行,都是小爱本身的的语音提示,网页里的搜索和下载是正常使用的,想问下怎么解决
播放歌曲口令是否正常?
-
---
### 评论 109 - quickflash2
-
> > 我用DOCKER布署的,语音可以正常播放本地音乐,但是说“本地搜索播放”始终无法执行,都是小爱本身的的语音提示,网页里的搜索和下载是正常使用的,想问下怎么解决
>
> 播放歌曲口令是否正常?
播放口令正常,使用网页版搜索功能正常,就是“本地搜索播放”和“小爱搜索播放”语音不能使用
-
---
### 评论 110 - wtyeoh
-
我在设置里勾选了两台小爱音箱,叫任意一台播放的时候两台都会一起播放,是不是只能勾选一个?
-
---
### 评论 111 - quickflash2
-
> > 我用DOCKER布署的,语音可以正常播放本地音乐,但是说“本地搜索播放”始终无法执行,都是小爱本身的的语音提示,网页里的搜索和下载是正常使用的,想问下怎么解决
>
> 播放歌曲口令是否正常?
楼主,我问题解决了,命令调用里不知道怎么回事这个搜索播放的命令没有了,重新加上就可以了,谢谢大佬
-
---
### 评论 112 - 22555642
-
你好,我在群辉DOCKER上部署运行后,一直打不开设置页面,点开日志里面写的是这个,请问要怎么办呢?
2025/07/18 17:15:55 | stdout | [2025-07-18 17:15:54] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
-- | -- | --
@@ -1763,32 +1536,24 @@ ZZZZZZ最后发现是没刷新页面, 收藏没刷新出来. 语音命令是有
2025/07/18 17:15:33 | stdout | [2025-07-18 17:15:32] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
2025/07/18 17:15:33 | stdout | [2025-07-18 17:15:32] [0.3.83] [INFO] xiaomusic.py:1373: The file conf/setting.json does not exist.
2025/07/18 17:15:33 | stdout | ==> /app/xiaomusic.log.txt <==
-
---
### 评论 113 - daheiniu851
-
播放歌曲时一会停止,一会又继续播放 ,怎么办
-
---
### 评论 114 - hanxi
-
> 播放歌曲时一会停止,一会又继续播放 ,怎么办
是不是歌曲文件太大了?
-
---
### 评论 115 - 15700085709
-
nalytics.py:111: Execption Cannot connect to host umami.hanxi.cc:443 ssl:default [Connection reset by peer]
请问这个是什么问题
-
---
### 评论 116 - daheiniu851
-
弄好了 再群晖里安装不可以 换飞牛正常了
@@ -1809,49 +1574,37 @@ nalytics.py:111: Execption Cannot connect to host umami.hanxi.cc:443 ssl:default
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
-
---
### 评论 117 - 467815891a
-
Bilibili现在也需要cookies,建议作者大大改一下改一下说明。按照youtube那样上传cookies就行了
-
---
### 评论 118 - leonardwillian13-qwe
-
在绿联nas上部署了下,测试连接可以播放,但语言指令不能执行,说了指令后就一直卡在那,本地音乐也播放不了,请问这个问题有人碰到过吗
[xiaomusic.txt](https://github.com/user-attachments/files/22310884/xiaomusic.txt)
-
---
### 评论 119 - alex13by
-
怎么语音控制播放子目录中的歌曲?
-
---
### 评论 120 - hanxi
-
> 怎么语音控制播放子目录中的歌曲?
播放歌曲加上文件名就行
-
---
### 评论 121 - alex13by
-
> > 怎么语音控制播放子目录中的歌曲?
>
> 播放歌曲加上文件名就行
我的意思是语音控制播放子目录中歌,并且只在这个目录中循环,UI控制选目录播放那种效果,比如轻音乐的子目录,睡觉时直接控制只循环这些
-
---
### 评论 122 - hanxi
-
> > > 怎么语音控制播放子目录中的歌曲?
> >
> >
@@ -1860,228 +1613,168 @@ Bilibili现在也需要cookies,建议作者大大改一下改一下说明。
> 我的意思是语音控制播放子目录中歌,并且只在这个目录中循环,UI控制选目录播放那种效果,比如轻音乐的子目录,睡觉时直接控制只循环这些
播放歌单加上目录名
-
---
### 评论 123 - liaowuyichu
-
未匹配到指令怎么解决啊
-
---
### 评论 124 - hanxi
-
@liaowuyichu 口令说错了
-
---
### 评论 125 - liaowuyichu
-
@hanxi 如果要特定某人的歌曲要怎么说呢,我刚刚输入的是播放黄龄歌曲牵丝戏
-
---
### 评论 126 - liaowuyichu
-
请问:批量下载歌曲,每次只能下载21首歌,怎么调整这个数量
-
---
### 评论 127 - cnchef
-
最新版镜像在面板填写小米账号密码无法获取设备 需要重启才可以看到设备,我的小米S12A 使用语音口令无效不知道什么原因
-
---
### 评论 128 - wbbaxb
-
请问:客户端考虑开发手机app吗?web操作不太方便。
-
---
### 评论 129 - hanxi
-
> 请问:客户端考虑开发手机app吗?web操作不太方便。
微信群里有人开发了个手机app。
-
---
### 评论 130 - jszx55
-
> > 请问:客户端考虑开发手机app吗?web操作不太方便。
>
> 微信群里有人开发了个手机app。
大佬可以进个群吗?
-
---
### 评论 131 - lucklyday2023
-
L06A 测试-播放文字无效,web界面和语音控制,无提示音
-
---
### 评论 132 - Tomasno1
-
所有设置都对的,但是始终无法获取到设备列表。点击保存后,在滑动上去又是什么都没有。搞了5天,终于搞好了 我一个小白 从刷N1盒子到部署容器,再到排除故障,定位故障。问了kimi5天。终于定位到问题所在,我的小米账号有问题,不知道为啥小米始终不给我通过。今天kimi提示让我换个账号 重新绑定小爱,我K 直接一次就成了。如果有和我一样的情况 也可以换一个账号试一试。
-
---
### 评论 133 - dsbajyp
-
> 为什么我的没有显示设备? 
在手机米家APP退出登陆重新用人脸登陆就可用弄
-
---
### 评论 134 - zhzyjb
-
1、本地播放没问题,测试歌曲小米音箱也可以播放;
2、选择小米音箱播放时,提示"播放失败请检查网络或换一个试试吧";
3、都在同一个网段;
还是存在以上问题,麻烦不忙的时候回复一下吧,谢谢
-
---
### 评论 135 - zhzyjb
-
-
---
### 评论 136 - hanxi
-
> 1、本地播放没问题,测试歌曲小米音箱也可以播放; 2、选择小米音箱播放时,提示"播放失败请检查网络或换一个试试吧"; 3、都在同一个网段; 还是存在以上问题,麻烦不忙的时候回复一下吧,谢谢
ip端口有没有填对?
-
---
### 评论 137 - zhzyjb
-
谢谢你,祝你开心每一天……
-
---
### 评论 138 - zhzyjb
-
我用windows系统安装的docker,IP地址是自动获取的;是不是要修改一下,修改为下面哪个呢
1、电脑的192.168……
2、WSL的172.
-
---
### 评论 139 - zhzyjb
-
可以了,大佬,我把IP改为电脑的就好了
-
---
### 评论 140 - deepcoldy
-
专门创建了个小号,把音响共享给小号,想以此做安全隔离,但貌似是不支持共享设备的?这种方式找不到音响设备
-
---
### 评论 141 - zhzyjb
-
谢谢你,祝你开心每一天……
-
---
### 评论 142 - hanxi
-
> 专门创建了个小号,把音响共享给小号,想以此做安全隔离,但貌似是不支持共享设备的?这种方式找不到音响设备
反过来使用,把音箱设备放到小号,分享给大号。
-
---
### 评论 143 - pengpeng221
-
最新版本0.45解决无法发现音箱问题,又出现无法发现本地音乐库问题,不知道是不是版本问题?
-
---
### 评论 144 - zhzyjb
-
谢谢你,祝你开心每一天……
-
---
### 评论 145 - vttv88888888
-
0.45版本提示:未发现可用的小爱设备。日志很多行都是:
[0.4.5] [WARNING] conversation.py:200: Request failed with status 400
[0.4.5] [WARNING] conversation.py:224: get_latest_ask_from_xiaoai. All retries failed.
-
---
### 评论 146 - alililala
-
> 0.45版本提示:未发现可用的小爱设备。日志很多行都是: [0.4.5] [WARNING] conversation.py:200: Request failed with status 400 [0.4.5] [WARNING] conversation.py:224: get_latest_ask_from_xiaoai. All retries failed.
0.47也是一样
-
---
### 评论 147 - ChaunceyGu
-
提示
/bin/sh: /usr/bin/supervisord: not found
-
---
### 评论 148 - hanxi
-
@ChaunceyGu 清空docker镜像缓存,重启系统。
-
---
### 评论 149 - wangzhan333a
-
总是在0.38版,怎么升级到最新版
-
---
### 评论 150 - turuiheng
-
1-27日最新版本0.4.22有个UBG,让播放歌手,不会自动创建本地歌曲搜索到的歌曲列表自动播放,上个版本0.4.21都可以完美完成这条命令,比如我本地歌曲文件夹里的歌曲都 刘德华 - 1 刘德华 - 2 刘德华 - 3 刘德华 - 4,就会自动创建临时播放列表,刘德华的歌曲列出来,然后开始自动播放
-
---
### 评论 151 - coco0948
-
未发现可用的小爱设备,请检查账号密码是否输错,并关闭加速代理或在[小米官网](https://www.mi.com/)登陆过人脸或滑块验证。如仍未解决。请根据[FAQ](/issues/99.html)的内容解决问题。近期经常提示这样?怎么解决
-
---
### 评论 152 - cowcanfly
-
我也是这样,log里提示登录失败。以前是正常的
-
---
### 评论 153 - Steohen126
-
我发现w4a格式,日志一直出现这个
[2026-02-11 22:15:31] [0.4.22] [INFO] 192.168.2.1:34358 - "GET /music/%E8%BD%BB%E9%9F%B3%E4%B9%90/%E8%88%92%E7%BC%93%E7%A5%9E%E7%BB%8F%E9%9F%B3%E4%B9%90%F0%9F%8C%BF%E8%B0%83%E8%8A%82%E5%BF%83%E8%84%8F%E5%92%8C%E8%A1%80%E7%AE%A1%E7%9A%84%E6%94%BE%E6%9D%BE%E9%9F%B3%E4%B9%90%EF%BC%8C%E6%94%BE%E6%9D%BE%EF%BC%8C%E8%87%AA%E5%9C%A8.m4a HTTP/1.1" 206
直到结束了才能播放,如果是3-4分钟的还好,大概这个出现10个,但是如果是40多分钟的就很久了
-
---
### 评论 154 - zjs820
-
我用一个很老的账号可以识别设备L05C,为了安全新注册了一个,结果就识别不到设备了
-
---
-[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/99)
+
+### 评论 155 - zhzyjb
+谢谢你,祝你开心每一天……
+---
+
+[Issue 链接](https://github.com/hanxi/xiaomusic/issues/99)
diff --git a/docs/issues/changelog.md b/docs/issues/changelog.md
index 94a11c6..617dc91 100644
--- a/docs/issues/changelog.md
+++ b/docs/issues/changelog.md
@@ -1,5 +1,23 @@
# 版本日志
+## v0.4.25 (2026-03-19)
+
+### Fix
+
+- proxy url too long for xiaomi speaker (#786)
+- 无法上传音乐 close #783
+
+## v0.4.24 (2026-03-13)
+
+### Feat
+
+- 新增适配iPhone主题 (#775)
+- Add 肉肉音乐TV link to index.html (#773)
+
+### Fix
+
+- 修复无法收藏歌曲的问题
+
## v0.4.23 (2026-02-17)
### Feat
diff --git a/docs/package.json b/docs/package.json
index fafd395..3bc2b51 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,6 +1,6 @@
{
"devDependencies": {
- "vitepress": "^1.5.0"
+ "vitepress": "^1.6.4"
},
"scripts": {
"docs:dev": "vitepress dev --host=0.0.0.0 --port=3030",