[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-nextcloud--recognize":3,"tool-nextcloud--recognize":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":10,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":116,"github_topics":118,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":127,"updated_at":128,"faqs":129,"releases":159},9803,"nextcloud\u002Frecognize","recognize","👁 👂 Smart media tagging for Nextcloud: recognizes faces, objects, landscapes, music genres","recognize 是一款专为 Nextcloud 设计的智能媒体标签应用，能够自动分析并标记用户存储的照片、视频和音乐文件。它有效解决了个人云盘中多媒体文件数量庞大、难以手动分类和检索的痛点，让用户无需繁琐操作即可通过人脸、物体、风景或音乐风格快速找到所需内容。\n\n这款工具非常适合注重数据隐私的普通家庭用户、摄影爱好者以及中小团队使用。其核心亮点在于完全本地化的处理机制：所有图像识别与音频分析均在用户自己的 Nextcloud 服务器上完成，基于 TensorFlow.js 运行，绝不将敏感数据上传至第三方云端，从而在享受 AI 便利的同时严格保障隐私安全。\n\n功能方面，recognize 不仅能识别人脸并按人物归档照片，还能精准检测动物、车辆、建筑等地标物体，甚至能分析视频中的人物动作及自动判断音乐流派。此外，项目在伦理 AI 方面表现优异，核心模型开源且可离线部署，训练数据透明可控。配合 Nextcloud 原生的协作标签系统，用户可以无缝衔接 Memories 相册应用或 Audio Player 音乐播放器，获得流畅的智能媒体管理体验。","\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnextcloud_recognize_readme_1f419359892d.png)\n\n# Recognize: Smart media tagging for Nextcloud\n\n[![Join the chat at https:\u002F\u002Fgitter.im\u002Fmarcelklehr\u002Frecognize](https:\u002F\u002Fbadges.gitter.im\u002Fmarcelklehr\u002Frecognize.svg)](https:\u002F\u002Fgitter.im\u002Fmarcelklehr\u002Frecognize?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nThis app goes through your media collection and adds fitting tags, automatically categorizing your photos and music.\n\n* 📷 👪 Recognizes faces and groups photos by faces that appear in them (GUI in the memories app)\n* 📷 🏔 Recognizes animals, landscapes, food, vehicles, buildings and other objects\n* 📷 🗼 Recognizes landmarks and monuments\n* 👂 🎵 Recognizes music genres\n* 🎥 🤸 Recognizes human actions on video\n\n⚡ Tagging works via Nextcloud's Collaborative Tags\n* 👂 listen to your tagged music with the audioplayer app\n* 📷 view your tagged photos and videos with the memories app\n\nModel sizes:\n\n* Object recognition: 1GB\n* Landmark recognition: 300MB\n* Video action recognition: 50MB\n* Music genre recognition: 50MB\n\n## Ethical AI Rating\n### Rating for Photo object detection: 🟢\n\nPositive:\n* the software for training and inference of this model is open source\n* the trained model is freely available, and thus can be run on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Rating for Photo face recognition: 🟢\n\nPositive:\n* the software for training and inference of this model is open source\n* the trained model is freely available, and thus can be run on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Rating for Video action recognition: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Rating Music genre recognition: 🟡\n\nPositive:\n* the software for training and inference of this model is open source\n* the trained model is freely available, and thus can be run on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https:\u002F\u002Fnextcloud.com\u002Fblog\u002Fnextcloud-ethical-ai-rating\u002F).\n\n### Examples\n\n![](https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize\u002Fraw\u002Fmaster\u002Fscreenshots\u002Fimagenet_examples.jpg)\n(Screenshot by \\_DigitalWriter\\_)\n\n### Privacy\nThis app does not send any sensitive data to cloud providers or similar services. All image processing is done on your nextcloud machine, using Tensorflow.js running in Node.js, which comes bundled with this app.\n\n### Encryption\nNote that end-to-end encrypted files are not possible to be processed by recognize, because the server by design cannot read them.\n\n### Categories\nThis is the [list of recognized things and which categories they are currently mapped to](https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize\u002Fblob\u002Fmaster\u002Fsrc\u002Frules.yml). I'm happy to accept pull requests for this file to fine tune predictions.\n\n## Behind the scenes\nRecognize uses\n\n * a pre-trained [Efficient](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fautoml\u002Ftree\u002Fmaster\u002Fefficientnetv2)[Net v2](https:\u002F\u002Ftfhub.dev\u002Fgoogle\u002Fcollections\u002Fefficientnet_v2\u002F1) model for ImageNet object detection.\n * a pre-trained [model trained on the Landmarks v1 dataset](https:\u002F\u002Ftfhub.dev\u002Fgoogle\u002Fcollections\u002Flandmarks\u002F1) for landmark recognition.\n * [face-api.js](https:\u002F\u002Fgithub.com\u002Fjustadudewhohacks\u002Fface-api.js) to extract and compare face features.\n * a [Musicnn](https:\u002F\u002Farxiv.org\u002Fabs\u002F1909.06654) neural network architecture to classify audio files into music genres. Also see [the original musicnn repository](https:\u002F\u002Fgithub.com\u002Fjordipons\u002Fmusicnn).\n * a pre-trained [MoViNet](https:\u002F\u002Ftfhub.dev\u002Fgoogle\u002Fcollections\u002Fmovinet) model for video classification\n\n[Learn more about what's going on behind the scenes in this wiki article](https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fwiki\u002FBehind-the-scenes) [and this forum post](https:\u002F\u002Fhelp.nextcloud.com\u002Ft\u002Fai-and-photos-2-0-in-depth-explanation-of-nextcloud-recognize-and-how-it-works\u002F146767\u002F3).\n\n## Install\n\n### Requirements\n\n- php 8.0 and above\n- App \"collaborative tags\" enabled\n- For native speed:\n  - Processor: x86 64-bit (with support for AVX instructions)\n  - System with glibc (usually the norm on Linux; FreeBSD, Alpine linux and thus also Nextcloud AIO are *not* such systems)\n- For sub-native speed (using WASM mode)\n  - Processor: x86 64-bit, arm64, armv7l (no AVX needed)\n  - System with glibc or musl (incl. Alpine linux and thus also Nextcloud AIO)\n- ~4GB of free RAM (if you're cutting it close, make sure you have some swap available)\n\n#### Tmp\nThis app temporarily stores files to be recognized in \u002Ftmp. If you're using docker, you might find\nthat adding an additional volume for \u002Ftmp speeds things up and eases the burden on your disk:\n\n⚠️⚠️⚠️ Make sure that your RAM is big enough to store big files. Otherwise public uploads will fail.\n\n`docker run`: Add `--mount type=tmpfs,destination=\u002Ftmp:exec` to command line.\n\n`docker compose`: Add the following to the volume section `docker-compose.yml`:\n```yaml\n  app:\n    image: nextcloud:26\n    ...\n    volumes:\n      - type: tmpfs\n        target: \u002Ftmp:exec\n      ...\n    ...\n```\n\n### One click\n\nGo to \"Apps\" in your nextcloud, search for \"recognize\" and click install.\n\n[Help: If one-click install fails](https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fwiki\u002FManual-install)\n\n### Configuration\n\nAny configuration is done in Settings\u002FRecognize of your Nextcloud instance.\n\n#### Ignoring directories\n\nIf you want path\u002Fto\u002Fyour\u002Ffolder\u002F* to be excluded from image recognition, add a file `path\u002Fto\u002Fyour\u002Ffolder\u002F.noimage`. If you want to exclude it from music genre recognition, add a file `path\u002Fto\u002Fyour\u002Ffolder\u002F.nomusic`. If you want to exclude it from video recognition, add a file `path\u002Fto\u002Fyour\u002Ffolder\u002F.novideo`. If you want to exclude it from all recognition, add a file `path\u002Fto\u002Fyour\u002Ffolder\u002F.nomedia`.\n\n### Manual install\n\n#### Dependencies\n\n- make\n- [git](https:\u002F\u002Fgit-scm.org\u002F)\n- [Node.js v16.x and npm](https:\u002F\u002Fnodejs.org\u002F)\n- [php 8.0 or later](https:\u002F\u002Fphp.net\u002F)\n- [composer](https:\u002F\u002Fgetcomposer.org\u002F)\n\n#### Setup\n\n```\ncd \u002Fpath\u002Fto\u002Fnextcloud\u002Fapps\u002F\ngit clone https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize.git\ncd recognize\nmake\n```\n\n## Maintainers\n\n- [Marcel Klehr](https:\u002F\u002Fgithub.com\u002Fmarcelklehr)\n\n## 🛠️ State of maintenance\n\nWhile there are some things that could be done to further improve this app, the app is currently maintained with **limited effort**. This means:\n\n* The main functionality works for the majority of the use cases\n* We will ensure that the app will continue to work like this for future releases and we will fix bugs that we classify as 'critical'\n* We will not invest further development resources ourselves in advancing the app with new features\n* We do review and enthusiastically welcome community PR's\n\nWe would be more than excited if you would like to collaborate with us. We will merge pull requests for new features and fixes. We also would love to welcome co-maintainers.\n\nIf you are a customer of Nextcloud and you have a strong business case for any development of this app, we will consider your wishes for our roadmap. Please contact your account manager to talk about the possibilities.\n\n## Contribute\n\nWe always welcome contributions. Have an issue or an idea for a feature? Let us know. Additionally, we happily accept pull requests.\n\nIn order to make the process run more smoothly, you can make sure of the following things:\n\n- Announce that you're working on a feature\u002Fbugfix in the relevant issue\n- Make sure the tests are passing\n- If you have any questions you can let the maintainers above know privately via email, or simply open an issue on github\n\nPlease read the [Code of Conduct](https:\u002F\u002Fnextcloud.com\u002Fcommunity\u002Fcode-of-conduct\u002F). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.\n\nMore information on how to contribute: https:\u002F\u002Fnextcloud.com\u002Fcontribute\u002F\n\nHappy hacking :heart:\n\n## License\n\nThis software is licensed under the terms of the AGPL written by the Free Software Foundation and available at [COPYING](.\u002FCOPYING).\n\nThe recognize logo [Smart tag](https:\u002F\u002Fthenounproject.com\u002Fterm\u002Fsmart-tag\u002F1193284\u002F) by Xinh Studio from [the Noun Project](https:\u002F\u002Fthenounproject.com) is licensed under a Creative Commons Attribution license.\n","![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnextcloud_recognize_readme_1f419359892d.png)\n\n# Recognize：适用于Nextcloud的智能媒体标签功能\n\n[![加入聊天室 https:\u002F\u002Fgitter.im\u002Fmarcelklehr\u002Frecognize](https:\u002F\u002Fbadges.gitter.im\u002Fmarcelklehr\u002Frecognize.svg)](https:\u002F\u002Fgitter.im\u002Fmarcelklehr\u002Frecognize?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n这款应用会扫描您的媒体库，并自动为照片和音乐添加合适的标签，实现智能化分类。\n\n* 📷 👪 识别人脸，并按出现的人脸将照片分组（界面位于“回忆”应用中）\n* 📷 🏔 识别动物、风景、食物、车辆、建筑等物体\n* 📷 🗼 识别地标和纪念碑\n* 👂 🎵 识别音乐流派\n* 🎥 🤸 识别视频中的人体动作\n\n⚡ 标签功能通过Nextcloud的协作标签系统实现  \n* 👂 使用音频播放器应用收听已打上标签的音乐  \n* 📷 使用“回忆”应用查看已打上标签的照片和视频  \n\n模型大小：\n\n* 物体识别：1GB  \n* 地标识别：300MB  \n* 视频动作识别：50MB  \n* 音乐流派识别：50MB  \n\n## 伦理AI评分\n### 照片物体检测评分：🟢\n\n积极方面：\n* 该模型的训练与推理软件均为开源\n* 训练好的模型可免费获取，因此可在本地运行\n* 训练数据公开可用，便于检查或纠正偏差，优化性能及碳排放\n\n### 照片人脸识别评分：🟢\n\n积极方面：\n* 该模型的训练与推理软件均为开源\n* 训练好的模型可免费获取，因此可在本地运行\n* 训练数据公开可用，便于检查或纠正偏差，优化性能及碳排放\n\n### 视频动作识别评分：🟢\n\n积极方面：\n* 该模型的训练与推理软件均为开源\n* 训练好的模型可免费获取，因此可在本地运行\n* 训练数据公开可用，便于检查或纠正偏差，优化性能及碳排放\n\n### 音乐流派识别评分：🟡\n\n积极方面：\n* 该模型的训练与推理软件均为开源\n* 训练好的模型可免费获取，因此可在本地运行\n\n消极方面：\n* 训练数据未公开，限制了外部机构检查和纠正偏差，以及优化模型性能和碳排放的能力。\n\n更多关于Nextcloud伦理AI评分的信息，请参阅我们的博客文章 [《Nextcloud伦理AI评分》](https:\u002F\u002Fnextcloud.com\u002Fblog\u002Fnextcloud-ethical-ai-rating\u002F)。\n\n### 示例\n\n![](https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize\u002Fraw\u002Fmaster\u002Fscreenshots\u002Fimagenet_examples.jpg)  \n（截图由\\_DigitalWriter\\_提供）\n\n### 隐私\n本应用不会将任何敏感数据发送至云服务商或其他类似服务。所有图像处理均在您的Nextcloud服务器上完成，使用随本应用一同打包的Tensorflow.js在Node.js环境中运行。\n\n### 加密\n请注意，端到端加密的文件无法被Recognize处理，因为服务器设计上无法读取这些文件。\n\n### 分类\n以下是当前已识别的内容及其所属分类的列表 [链接](https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize\u002Fblob\u002Fmaster\u002Fsrc\u002Frules.yml)。欢迎提交Pull Request以进一步优化预测结果。\n\n## 背后的故事\nRecognize使用以下技术：\n\n * 用于ImageNet物体检测的预训练[EfficientNet v2](https:\u002F\u002Ftfhub.dev\u002Fgoogle\u002Fcollections\u002Fefficientnet_v2\u002F1)模型。\n * 用于地标识别的预训练[Landmarks v1数据集](https:\u002F\u002Ftfhub.dev\u002Fgoogle\u002Fcollections\u002Flandmarks\u002F1)模型。\n * [face-api.js](https:\u002F\u002Fgithub.com\u002Fjustadudewhohacks\u002Fface-api.js)提取并比对人脸特征。\n * 用于将音频文件分类为不同音乐流派的[Musicnn](https:\u002F\u002Farxiv.org\u002Fabs\u002F1909.06654)神经网络架构。更多信息请参见[Musicnn原始仓库](https:\u002F\u002Fgithub.com\u002Fjordipons\u002Fmusicnn)。\n * 用于视频分类的预训练[MoViNet](https:\u002F\u002Ftfhub.dev\u002Fgoogle\u002Fcollections\u002Fmovinet)模型。\n\n更多幕后细节，请阅读此维基文章 [《幕后故事》](https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fwiki\u002FBehind-the-scenes) 和论坛帖子 [《AI与照片2.0：深入解析Nextcloud Recognize及其工作原理》](https:\u002F\u002Fhelp.nextcloud.com\u002Ft\u002Fai-and-photos-2-0-in-depth-explanation-of-nextcloud-recognize-and-how-it-works\u002F146767\u002F3)。\n\n## 安装\n\n### 系统要求\n\n- PHP 8.0及以上版本\n- 已启用“协作标签”应用\n- 为获得原生速度：\n  - 处理器：x86 64位（支持AVX指令）\n  - 操作系统需具备glibc库（通常Linux系统都符合；FreeBSD、Alpine Linux及Nextcloud AIO则不符合）\n- 若采用WASM模式以降低性能需求：\n  - 处理器：x86 64位、arm64、armv7l（无需AVX指令）\n  - 操作系统需具备glibc或musl库（包括Alpine Linux及Nextcloud AIO）\n- 约4GB空闲内存（若内存紧张，请确保有交换空间可用）\n\n#### 临时存储\n本应用会将待识别的文件暂存于\u002Ftmp目录。若您使用Docker，建议为\u002Ftmp挂载一个额外的数据卷，以提升性能并减轻磁盘压力：\n\n⚠️⚠️⚠️ 请确保您的RAM容量足以容纳大型文件。否则公共上传可能会失败。\n\n`docker run`命令示例：  \n`--mount type=tmpfs,destination=\u002Ftmp:exec`\n\n`docker-compose`配置示例：  \n在`docker-compose.yml`的volumes部分添加如下内容：\n```yaml\n  app:\n    image: nextcloud:26\n    ...\n    volumes:\n      - type: tmpfs\n        target: \u002Ftmp:exec\n      ...\n    ...\n```\n\n### 一键安装\n\n前往您的Nextcloud“应用”页面，搜索“recognize”，然后点击安装。\n\n[帮助：若一键安装失败](https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fwiki\u002FManual-install)\n\n### 配置\n\n所有配置均可在您的Nextcloud实例的“设置\u002FRecognize”中完成。\n\n#### 忽略特定目录\n\n如果您希望某个路径下的文件不被图像识别处理，可在该路径下创建名为`.noimage`的文件；若不想被音乐流派识别，则创建`.nomusic`文件；若不想被视频识别，则创建`.novideo`文件。若希望完全排除该目录的所有识别功能，则创建`.nomedia`文件。\n\n### 手动安装\n\n#### 依赖项\n\n- make\n- [git](https:\u002F\u002Fgit-scm.org\u002F)\n- [Node.js v16.x及npm](https:\u002F\u002Fnodejs.org\u002F)\n- [PHP 8.0或更高版本](https:\u002F\u002Fphp.net\u002F)\n- [Composer](https:\u002F\u002Fgetcomposer.org\u002F)\n\n#### 设置步骤\n\n```\ncd \u002Fpath\u002Fto\u002Fnextcloud\u002Fapps\u002F\ngit clone https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize.git\ncd recognize\nmake\n```\n\n## 维护者\n\n- [Marcel Klehr](https:\u002F\u002Fgithub.com\u002Fmarcelklehr)\n\n## 🛠️ 维护状态\n\n尽管还有一些可以进一步改进的地方，但目前该应用的维护工作仅以**有限的精力**进行。这意味着：\n\n* 主要功能在大多数使用场景下都能正常运行\n* 我们将确保在未来版本中继续保持这种稳定性，并修复被我们归类为“严重”的错误\n* 我们不会自行投入更多开发资源来为应用添加新功能\n* 我们会审阅并热烈欢迎社区提交的拉取请求\n\n如果您愿意与我们合作，我们将不胜欣喜。我们会合并包含新功能和问题修复的拉取请求，同时也非常欢迎共同维护者加入。\n\n如果您是 Nextcloud 的客户，并且对该应用的任何开发都有明确的业务需求，我们将考虑您的建议并将其纳入我们的路线图。请与您的客户经理联系，探讨具体的合作可能性。\n\n## 贡献\n\n我们始终欢迎各种形式的贡献。如果您遇到问题或有新的功能想法，请随时告诉我们。此外，我们也非常乐意接受拉取请求。\n\n为了使流程更加顺畅，请您注意以下几点：\n\n- 在相关议题中说明您正在开发的功能或修复的缺陷\n- 确保所有测试都能通过\n- 如有任何疑问，您可以私下通过电子邮件联系上述维护人员，或者直接在 GitHub 上创建一个新的议题\n\n请阅读[行为准则](https:\u002F\u002Fnextcloud.com\u002Fcommunity\u002Fcode-of-conduct\u002F)。这份文件旨在为 Nextcloud 社区成员提供指导，帮助大家在积极、鼓舞人心的氛围中高效协作，并共同加强彼此的支持与鼓励。\n\n有关如何贡献的更多信息：https:\u002F\u002Fnextcloud.com\u002Fcontribute\u002F\n\n祝您编码愉快 :heart:\n\n## 许可证\n\n本软件根据自由软件基金会发布的 AGPL 许可协议授权，详细条款见 [COPYING](.\u002FCOPYING) 文件。\n\n识别标志“智能标签”([Smart tag](https:\u002F\u002Fthenounproject.com\u002Fterm\u002Fsmart-tag\u002F1193284\u002F)）由 Xinh Studio 设计，来自 [The Noun Project](https:\u002F\u002Fthenounproject.com)，采用知识共享署名许可协议授权。","# Recognize 快速上手指南\n\nRecognize 是一款专为 Nextcloud 设计的智能媒体标签应用。它能自动分析你的照片、音乐和视频，识别面部、物体、地标、音乐流派及视频动作，并利用 Nextcloud 的协作标签功能进行自动分类。所有处理均在本地服务器完成，保障数据隐私。\n\n## 环境准备\n\n在部署前，请确保你的 Nextcloud 服务器满足以下要求：\n\n### 系统要求\n- **PHP**: 8.0 或更高版本\n- **内存**: 建议至少预留 **4GB 空闲 RAM**（若内存紧张，请务必配置 Swap 交换空间）\n- **应用依赖**: 需启用 Nextcloud 自带的 \"Collaborative tags\" (协作标签) 应用\n\n### 硬件架构与性能模式\n根据服务器架构，Recognize 将以不同模式运行：\n- **原生速度模式 (推荐)**:\n  - 处理器：x86 64-bit (需支持 AVX 指令集)\n  - 系统：基于 glibc 的 Linux 发行版\n  - *注意：FreeBSD、Alpine Linux 及默认的 Nextcloud AIO 容器不支持此模式。*\n- **WASM 兼容模式 (速度稍慢)**:\n  - 处理器：x86 64-bit, arm64, armv7l (无需 AVX)\n  - 系统：支持 glibc 或 musl (适用于 Alpine Linux 和 Nextcloud AIO)\n\n### Docker 用户特别配置 (可选但推荐)\n若在 Docker 中运行，建议将 `\u002Ftmp` 挂载为 tmpfs 以提升读写速度并减轻磁盘负担。\n**注意**：请确保物理内存充足，否则大文件上传可能失败。\n\n`docker run` 方式添加参数：\n```bash\n--mount type=tmpfs,destination=\u002Ftmp:exec\n```\n\n`docker-compose.yml` 方式配置：\n```yaml\n  app:\n    image: nextcloud:26\n    # ... 其他配置\n    volumes:\n      - type: tmpfs\n        target: \u002Ftmp:exec\n      # ... 其他卷挂载\n```\n\n## 安装步骤\n\n### 方法一：一键安装（推荐）\n1. 登录 Nextcloud 管理员账号。\n2. 进入 **应用 (Apps)** 页面。\n3. 搜索 `recognize`。\n4. 点击 **下载并启用 (Download and enable)**。\n\n### 方法二：手动安装\n若一键安装失败或需要自定义开发，可使用命令行安装。\n\n**前置依赖**:\n确保服务器已安装 `make`, `git`, `Node.js v16.x`, `npm`, `php 8.0+`, `composer`。\n\n**执行命令**:\n```bash\ncd \u002Fpath\u002Fto\u002Fnextcloud\u002Fapps\u002F\ngit clone https:\u002F\u002Fgithub.com\u002Fmarcelklehr\u002Frecognize.git\ncd recognize\nmake\n```\n*注：国内开发者若遇 git 克隆缓慢，可尝试配置 Git 加速代理或使用国内镜像源克隆后同步代码。*\n\n安装完成后，请在 Nextcloud 界面刷新应用列表并启用该应用。\n\n## 基本使用\n\n安装启用后，Recognize 会自动开始后台扫描，无需复杂配置即可生效。\n\n### 1. 查看与验证\n- **照片\u002F视频**: 安装并启用 **Memories** 应用，即可在相册中看到按人脸、物体、地标自动分类的照片。\n- **音乐**: 安装并启用 **Audioplayer** 应用，即可按识别出的音乐流派浏览音乐库。\n- **标签管理**: 所有识别结果均通过 Nextcloud 原生的“协作标签”系统标记，可在文件列表中直接查看标签。\n\n### 2. 排除特定目录\n若不希望某些文件夹被扫描，只需在该文件夹根目录下创建特定的隐藏文件：\n\n- 排除图像识别：创建 `.noimage`\n- 排除音乐识别：创建 `.nomusic`\n- 排除视频识别：创建 `.novideo`\n- 排除所有识别：创建 `.nomedia`\n\n**示例命令**:\n```bash\n# 排除 \u002Fdata\u002Fuser\u002Ffiles\u002Fprivate_photos 文件夹的图像识别\ntouch \u002Fdata\u002Fuser\u002Ffiles\u002Fprivate_photos\u002F.noimage\n```\n\n### 3. 注意事项\n- **加密文件**: 端到端加密 (E2EE) 的文件无法被 Recognize 处理，因为服务器无法读取其内容。\n- **首次运行**: 初次安装后，系统需要时间遍历媒体库并下载模型（对象识别约 1GB，地标识别约 300MB 等），请耐心等待后台任务完成。","某家庭摄影工作室将数千张客户活动照片和背景音乐上传至私有 Nextcloud 云盘，急需高效整理素材库以便快速交付。\n\n### 没有 recognize 时\n- 摄影师必须人工浏览成千上万张照片，手动重命名或移动文件来区分不同客户的面孔，耗时且容易出错。\n- 查找特定场景（如“切蛋糕”、“户外风景”或“建筑背景”）时，只能依靠模糊的记忆或笨拙的文件名搜索，效率极低。\n- 为视频配乐时，需要在未分类的音乐文件夹中逐个试听，难以快速筛选出符合活动氛围的曲风（如爵士或电子乐）。\n- 敏感的人脸数据若使用公有云 AI 服务处理，存在隐私泄露风险，不符合工作室对客户数据保密的承诺。\n\n### 使用 recognize 后\n- recognize 自动扫描并识别照片中的人脸，直接在 Memories 应用中按人物聚类，瞬间完成客户照片的分拣。\n- 系统自动为图片打上“食物”、“地标”、“车辆”等对象标签，搜索特定画面只需输入关键词即可秒级定位。\n- 音乐文件被自动分析并标记流派，配合 AudioPlayer 应用可立即创建“欢快”或“温馨”风格的播放列表用于视频剪辑。\n- 所有图像与音频分析均在本地服务器通过 TensorFlow.js 完成，数据不出内网，完美满足隐私合规要求。\n\nrecognize 将原本需要数天的人工整理工作缩短至几小时，同时以零隐私风险实现了媒体资产的智能化重构。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnextcloud_recognize_30fb5c8c.png","nextcloud","Nextcloud","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fnextcloud_a27abba4.png","📱☁️💻 A safe home for all your data – community-driven, free & open source 👏",null,"nextclouders","https:\u002F\u002Fnextcloud.com","https:\u002F\u002Fgithub.com\u002Fnextcloud",[82,86,90,94],{"name":83,"color":84,"percentage":85},"PHP","#4F5D95",58.6,{"name":87,"color":88,"percentage":89},"JavaScript","#f1e05a",35.5,{"name":91,"color":92,"percentage":93},"Vue","#41b883",5.6,{"name":95,"color":96,"percentage":97},"Makefile","#427819",0.3,677,63,"2026-04-15T01:57:35","AGPL-3.0","Linux (glibc 或 musl), FreeBSD (WASM 模式), 未明确提及 macOS\u002FWindows 支持","不需要 GPU，基于 CPU 运行 (Tensorflow.js in Node.js)。原生速度需 x86_64 支持 AVX 指令集；WASM 模式支持 x86_64, arm64, armv7l。","约 4GB 可用内存 (建议配置 Swap)",{"notes":106,"python":107,"dependencies":108},"该工具是 Nextcloud 应用，所有图像处理在本地通过 Node.js 运行的 Tensorflow.js 完成，不依赖 Python 环境。模型文件包括对象识别 (1GB)、地标识别 (300MB) 等。若使用 Docker，建议将 \u002Ftmp 挂载为 tmpfs 以提升性能并减少磁盘负担。不支持处理端到端加密的文件。","不需要 Python (依赖 PHP 和 Node.js)",[109,110,111,112,113,114,115],"PHP >= 8.0","Node.js v16.x","npm","git","make","composer","Nextcloud App: collaborative tags",[14,117,13,15],"音频",[73,119,120,121,122,123,124,125,126],"photos","music","ai","face-recognition","object-recognition","music-genre-classification","machine-learning","media-services","2026-03-27T02:49:30.150509","2026-04-20T07:16:08.124964",[130,135,140,145,150,155],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},44028,"人脸识别任务被阻塞或长时间未更新，如何处理？","这通常是因为并发执行限制导致同一时间只能运行一个分类器任务（例如要么运行 ImageNet 分类，要么运行人脸识别）。解决方法是进入设置页面，勾选“启用分类器进程的无限并发”（Enable unlimited concurrency of classifier processes）选项。此外，Nextcloud 27.1.4 版本修复了并发检测的漏洞，升级后应能确保至少有一个识别任务在后台持续运行。如果开启无限并发后所有分类器仍无进展，则需进一步排查。","https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fissues\u002F967",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},44029,"处理大图片或大量图片时出现内存溢出（OOM）错误导致进程崩溃怎么办？","该问题通常由内存泄漏或大图处理引起。维护者指出此问题已在 PR #365 中修复，请尝试升级到包含该修复的最新版本。如果增加服务器 RAM 或调整 PHP_MEMORY_LIMIT 无效，说明问题根源在于应用本身的内存管理而非系统配置，务必通过软件更新来解决。","https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fissues\u002F111",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},44030,"新上传的照片无法检测到人脸或没有生成新的人物聚类，原因是什么？","如果日志显示图片因“得分太低”（too low score）而被跳过，即使照片清晰且正对镜头，这可能是识别阈值设置过高或模型误判。部分用户反馈只有随机反射等非人脸物体被归类为“未分配人物”。建议检查后台日志确认是否有大量跳过记录，并尝试重新运行 `occ recognize:recrawl` 命令。若问题持续，可能是特定版本存在的回归缺陷。","https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fissues\u002F871",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},44031,"设置页面中的'Checking CPU'状态一直显示等待中不停止，是否正常？","这不正常。如果该指示器整夜都在等待，说明底层检测逻辑可能存在 Bug。维护者确认如果 OCC 命令返回 `[object Object]` 而不是具体的架构信息，则表明 OCC 应用程序中存在错误。建议检查服务器日志中是否有相关的 Classifier process errored 报错，并尝试更新到最新版本看是否已修复该显示逻辑问题。","https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fissues\u002F65",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},44032,"人脸识别产生了数千个错误的聚类，将不同人识别为同一个人，如何解决？","当产生过多聚类（如数千个）且单个聚类中包含多个不同人物时，说明聚类算法参数可能需要调整或数据需要重置。虽然具体命令未在片段中完全展示，但通常此类情况需要运行重置命令来清除错误的聚类数据，例如 `occ recognize:reset-face-clusters` 和 `occ recognize:reset-faces`（注意：这将丢失当前的人物分类数据），然后重新运行完整的分类流程以生成更准确的聚类。","https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Frecognize\u002Fissues\u002F475",{"id":156,"question_zh":157,"answer_zh":158,"source_url":149},44033,"分类器进程报错但没有提供有用的错误信息，如何排查？","当日志仅显示\"Classifier process errored\"而无具体堆栈信息时，首先尝试更新到最新版本，因为旧版本的错误捕获机制可能不完善。有用户反馈在安装最新更新或将 Node.js 正确添加到路径字段后问题解决。如果问题依旧，请检查服务器架构兼容性以及是否缺少必要的运行时依赖（如 Node.js 环境）。",[160,165,170,175,180,185,190,195,200,205,209,214,219,224,229,234,239,244,249,254],{"id":161,"version":162,"summary_zh":163,"released_at":164},351499,"v12.0.0","### 破坏性变更\n\n- 停止支持 Nextcloud 33\n\n### 修复\n\n* 修复：添加迁移，将非惰性配置项改为惰性\n* 修复（l10n）：从 Transifex 更新翻译\n* 性能优化：移除更多的 `getById` 调用\n* 修复：将 `getById` 迁移到 `getFirstNodeById`\n* 修复：不再声明 id 列的类型\n* 修复：不尝试对 TIFF 文件进行分类","2026-04-07T08:13:54",{"id":166,"version":167,"summary_zh":168,"released_at":169},351500,"v10.0.7","### 修复\r\n\r\n- 修复(ClusteringFaceClassifier): 确保调度聚类任务","2025-12-22T07:39:53",{"id":171,"version":172,"summary_zh":173,"released_at":174},351501,"v11.0.1","### 修复\r\n\r\n* fix(l10n): 更新来自 Transifex 的翻译\r\n* refactor(Application): 使用现代的 SabrePluginAddEvent\r\n* fix(FileListener): 不再处理回收站中的事件\r\n* refactor: 异步处理所有文件系统事件\r\n* fix(ffmpeg): 自动检测系统中已安装的 ffmpeg，并允许手动设置 ffmpeg 路径\r\n* fix(ClusteringFaceClassifier): 确保调度聚类任务\r\n* fix: 改进错误处理","2025-12-22T07:25:14",{"id":176,"version":177,"summary_zh":178,"released_at":179},351502,"v9.0.9","### 修复\r\n\r\n- 修复：在 php scoper 中避免全局函数泄漏","2025-11-17T09:52:15",{"id":181,"version":182,"summary_zh":183,"released_at":184},351503,"v11.0.0","### 重大变更\n\n- 停止对 Nextcloud 32 的支持（注：10.x 分支仍将维护，直至 Nextcloud 32 达到生命周期结束）\n\n### 新功能\n\n- 支持 Nextcloud 33","2025-11-12T14:20:28",{"id":186,"version":187,"summary_zh":188,"released_at":189},351504,"v9.0.8","### 修复\r\n\r\n* 修复：更新 amphp\u002Fparallel 以解决兼容性问题\r\n* 修复(FileListener)：监听用户挂载事件\r\n* 修复(InstallDeps)：为 node_modules 文件夹设置写权限\r\n* 修复(Classifier)：将核心数与整数值进行比较\r\n* 修复(FaceDetectionWithTitle)：将向量列重命名为 face_vector","2025-11-10T12:29:28",{"id":191,"version":192,"summary_zh":193,"released_at":194},351505,"v10.0.6","### 修复\n\n* 修复：避免作用域内依赖泄露全局函数（与 suspicious_login 等不兼容）\n","2025-11-10T09:05:59",{"id":196,"version":197,"summary_zh":198,"released_at":199},351506,"v10.0.5","### 修复\r\n\r\n* 修复(FileListener)：处理评审意见\r\n* 修复(FileListener)：处理评审意见\r\n* 修复(FileListener)：监听用户挂载事件\r\n* 修复(InstallDeps)：为 node_modules 文件夹设置写权限\r\n* 修复(Classifier)：检查核心数量是否为整数值\r\n* 修复(FaceDetectionWithTitle)：将向量列重命名为 face_vector","2025-10-28T08:40:46",{"id":201,"version":202,"summary_zh":203,"released_at":204},351507,"v10.0.4","### 修复\r\n\r\n- 修复数据库迁移，避免使用子查询","2025-09-01T12:21:28",{"id":206,"version":207,"summary_zh":203,"released_at":208},351508,"v9.0.7","2025-09-01T12:14:23",{"id":210,"version":211,"summary_zh":212,"released_at":213},351509,"v10.0.3","### Fixed\r\n\r\n- Fix DB migration to process column in chunks\r\n","2025-09-01T07:19:22",{"id":215,"version":216,"summary_zh":217,"released_at":218},351510,"v9.0.6","### Fixed\r\n\r\n- Fix DB migration to process column in chunks","2025-09-01T07:15:05",{"id":220,"version":221,"summary_zh":222,"released_at":223},351511,"v9.0.5","### Fixed\r\n\r\n- Fix faulty DB migration","2025-08-29T10:26:38",{"id":225,"version":226,"summary_zh":227,"released_at":228},351512,"v10.0.2","### Fixed\r\n\r\n- Fixed faulty migration","2025-08-29T10:22:37",{"id":230,"version":231,"summary_zh":232,"released_at":233},351513,"v8.2.2","### Fixed\r\n\r\n* fix: Repair duplicate face detections\r\n* fix(FaceDetectionMapper): Prevent inserting duplicate face detections","2025-08-29T08:21:58",{"id":235,"version":236,"summary_zh":237,"released_at":238},351514,"v9.0.4","### Fixed\r\nfix(mariadb): Rename vector col to face_vector\r\nfix: Repair duplicate face detections\r\nfix(FaceDetectionMapper): Prevent inserting duplicate face detections","2025-08-29T08:14:11",{"id":240,"version":241,"summary_zh":242,"released_at":243},351515,"v10.0.1","\r\n### Fixed\r\n* fix(mariadb): Rename vector col to face_vector\r\n* fix: Repair duplicate face detections\r\n* fix(FaceDetectionMapper): Prevent inserting duplicate face detections\r\n* fix(info.xml): Add AI category","2025-08-29T08:05:29",{"id":245,"version":246,"summary_zh":247,"released_at":248},351516,"v10.0.0","### Breaking changes\r\n\r\n- Dropped support for Nextcloud 31\r\n\r\n### New\r\n\r\n* Added Support for Nextcloud 32\r\n \r\n### Fixed\r\n* Fix(l10n): Update translations from Transifex\r\n","2025-07-07T09:03:44",{"id":250,"version":251,"summary_zh":252,"released_at":253},351517,"v9.0.3","### Fixed\r\n\r\n- Fixed build","2025-07-07T08:27:35",{"id":255,"version":256,"summary_zh":257,"released_at":258},351518,"v8.2.1","### Fixed\r\n\r\n* fix(AdminView): Warn about disabled systemtags app\r\n* fix(Classifier): Do not get stuck when decryption fails\r\n* fix: Don't error if movinet.enabled=false and wasm=true\r\n* Fix face clustering on instances that use numeric user IDs","2025-07-07T08:19:58"]