迁移到Shiroi遇到的问题
PS:上面的提醒是我手动加的。现在是2026年6月16日,shiroi也已经切换到了yohaku,本文的意义不大。
从 Gridea 迁移到 Shiroi 的过程中遇到了一些问题,记录如下。如果遇到相同情况,可以尝试参考这些解决方法。
- Kotlin 代码块可能导致 Shiro 渲染崩溃
Shiro 渲染博客文章时,如果文章中出现 Kotlin 代码块,可能会导致页面崩溃。Shiroi 则没有遇到这个问题。
删除 Kotlin 代码块后,页面就可以正常渲染。之后我直接切换到了 Shiroi。
目前不确定该问题是否能够稳定复现,根本原因也可能并不是 Kotlin 代码块本身。触发问题的代码块如下:
testImplementation 'org.junit.jupiter:junit-jupiter:5.12.2'
- 可以通过请求添加更多社交 ID
MX Space 后台目前只提供四个社交 ID 的配置项,但可以直接通过请求添加其它社交 ID。
请求地址为:
API 地址 + /master
例如:
https://www.ruqiu.life/api/v2/master
请求方法为:
PATCH
请求体示例:
{
"socialIds": {
"bilibili": "",
"github": "",
"netease": "",
"steam": "",
"email": ""
}
}
保存社交 ID 信息时,后台本身就会发起这个请求。可以在开发者工具中复制请求头,然后自行发起请求。
另外,Shiro / Shiroi 还支持一些其它社交 ID,例如:
- Twitter / X
- Telegram
- RSS
不过这些字段在请求体中的具体名称暂时未知。
注意:复制请求头时不要把自己的认证信息泄露出去。
- 非 MX Space 上传的图片可能导致文章渲染崩溃
非 MX Space 本身上传的图片,可能会导致文章在 Shiro / Shiroi 中渲染崩溃。
具体表现为:
在 MX Space 后台撰写文章时,预览正常; 切换到 Shiro / Shiroi 查看文章时,页面渲染崩溃; 回到 MX Space 后台更新文章,点开文章设置后,会发现设置图片的 HTML 元素不显示; 此时文章也无法正常更新,并提示类似错误:
images.0.nested property images must be either object or array
目前最新版本仍然会出现这个问题。
临时解决方法是:将文章中插入的第一张图片换成通过 MX Space 上传的图片。这样可以暂时避免渲染崩溃。
另外,手记不会出现这个问题。
- 更新 theme 云函数后,前端不会立刻更新
在后台更新 theme 云函数后,前端不会立即更新。
这是正常现象,需要等待一段时间后,Shiro / Shiroi 才会同步更新。
- 更新云函数时同时提示网络错误和更新成功
有时更新云函数时,会同时出现“网络错误”和“更新成功”的提示。
原因未知,但似乎没有什么影响,实际结果仍然是更新成功。
- AI 生成摘要需要支持 JSON Schema
AI 生成摘要功能中配置的 AI 服务需要支持 JSON Schema。
如果不支持,可能会提示:
invalid json
同时后端会返回 500 状态码。
- 文章发布后可能会重复生成 AI 摘要
有时发布文章后,AI 会自动生成摘要。
但点进文章后,又会再次生成摘要。该问题原因未知。
- Algolia Search 的 write key
现在 Algolia Search 的 write key 就是官方文档中提到的 admin key。
将 admin key 填入 Algolia Search 设置中的 key 即可。
- Outlook 邮箱无法使用邮箱加密码发信
Outlook 邮箱不支持直接使用“邮箱 + 密码”的方式验证发邮件,应用密码也不行。
目前谷歌邮箱暂时还可以正常使用。