From 82494500142afcae51c827e539b47219edab2bde Mon Sep 17 00:00:00 2001 From: InfinityPacer Date: Thu, 15 Oct 2026 22:15:02 +0800 Subject: [PATCH] chore(settings): regenerate system settings catalog Co-Authored-By: Claude Opus 5.5 --- .../resources/system_settings_catalog.json | 338 +++++++++--------- 1 file changed, 169 insertions(+), 169 deletions(-) diff --git a/app/application/settings/resources/system_settings_catalog.json b/app/application/settings/resources/system_settings_catalog.json index 0b87d7586..ae40ea3d1 100644 --- a/app/application/settings/resources/system_settings_catalog.json +++ b/app/application/settings/resources/system_settings_catalog.json @@ -11,88 +11,88 @@ "description": "AcoustID 应用 API Key,用于查询本地音频的 Chromaprint 指纹", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 406 + "source_line": 410 }, "AI_AGENT_ENABLE": { "description": "AI智能体开关", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 817 + "source_line": 821 }, "AI_AGENT_GLOBAL": { "description": "合局AI智能体", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 819 + "source_line": 823 }, "AI_AGENT_HIDE_ENTRY": { "description": "是否隐藏前端全局智能体入口", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 821 + "source_line": 825 }, "AI_AGENT_JOB_INTERVAL": { "description": "AI智能体定时任务检查间隔(小时),0为不启用,默认24小时", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 874 + "source_line": 878 }, "AI_AGENT_OUTPUT_LANGUAGE": { "description": "内置智能助手输出语言,默认使用简体中文", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 825 + "source_line": 829 }, "AI_AGENT_PET": { "description": "默认助手形象,格式为 插件ID:形象key,留空使用内置机器人;用户个人选择优先", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 823 + "source_line": 827 }, "AI_AGENT_RETRY_TRANSFER": { "description": "AI智能体自动重试整理失败记录开关", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 878 + "source_line": 882 }, "AI_AGENT_VERBOSE": { "description": "AI智能体啰嗦模式,开启后会回复工具调用过程", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 876 + "source_line": 880 }, "AI_RECOMMEND_ENABLED": { "description": "是否启用AI推荐", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 865 + "source_line": 869 }, "AI_RECOMMEND_MAX_ITEMS": { "description": "AI推荐条目数量限制", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 870 + "source_line": 874 }, "AI_RECOMMEND_USER_PREFERENCE": { "description": "AI推荐用户偏好", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 867 + "source_line": 871 }, "ALIPAN_APP_ID": { "description": "Alipan AppId", "group": "cloud_storage", "source_file": "app/runtime/config.py", - "source_line": 448 + "source_line": 452 }, "ALIPAN_SNAPSHOT_CHECK_FOLDER_MODTIME": { "description": "对阿里云盘进行快照对比时,是否检查文件夹的修改时间(默认关闭,因为阿里云盘目录时间不随子文件变更而更新)", "group": "storage", "source_file": "app/runtime/config.py", - "source_line": 810 + "source_line": 814 }, "ALLOWED_HOSTS": { - "description": "允许的域名", + "description": "允许的跨域来源;为 \"*\" 时浏览器跨域请求不携带凭据,需要跨域带 Cookie 请列出显式来源", "group": "authentication", "source_file": "app/runtime/config.py", "source_line": 208 @@ -101,7 +101,7 @@ "description": "AMLL TTML 歌词 API 地址,可指向兼容原生接口的自建实例", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 422 + "source_line": 426 }, "ANIME_GENREIDS": { "description": "电视剧动漫的分类genre_ids", @@ -113,7 +113,7 @@ "description": "是否开放 API 文档;开放 /docs、/redoc 与 /api/v1/openapi.json,文档首次生成后常驻约 20–30MB 内存,修改后立即生效", "group": "security", "source_file": "app/runtime/config.py", - "source_line": 798 + "source_line": 802 }, "API_TOKEN": { "description": "API密钥,需要更换", @@ -143,79 +143,79 @@ "description": "异步文件日志队列容量", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 53 + "source_line": 54 }, "ASYNC_FILE_WORKERS": { "description": "保留历史配置解析兼容;协程环境文件日志已统一由单一有界队列 writer 执行。", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 55 + "source_line": 56 }, "AUDIO_INPUT_API_KEY": { "description": "音频输入 API 密钥", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 885 + "source_line": 891 }, "AUDIO_INPUT_BASE_URL": { "description": "音频输入基础URL", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 887 + "source_line": 893 }, "AUDIO_INPUT_LANGUAGE": { "description": "音频输入识别语言", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 891 + "source_line": 897 }, "AUDIO_INPUT_MODEL": { "description": "音频输入模型", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 889 + "source_line": 895 }, "AUDIO_INPUT_PROVIDER": { "description": "音频输入提供商:openai/openai_chat_audio/mimo/minimax", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 883 + "source_line": 889 }, "AUDIO_OUTPUT_API_KEY": { "description": "音频输出 API 密钥", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 895 + "source_line": 901 }, "AUDIO_OUTPUT_BASE_URL": { "description": "音频输出基础URL", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 897 + "source_line": 903 }, "AUDIO_OUTPUT_INCLUDE_TEXT": { "description": "回复语音时是否同时附带文字说明", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 903 + "source_line": 909 }, "AUDIO_OUTPUT_MODEL": { "description": "音频输出模型", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 899 + "source_line": 905 }, "AUDIO_OUTPUT_PROVIDER": { "description": "音频输出提供商:openai/openai_chat_audio/mimo/minimax", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 893 + "source_line": 899 }, "AUDIO_OUTPUT_VOICE": { "description": "音频输出音色/发音人", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 901 + "source_line": 907 }, "AUTH_SITE": { "description": "用户认证站点", @@ -227,13 +227,13 @@ "description": "交互搜索自动下载用户ID,使用,分割", "group": "downloads", "source_file": "app/runtime/config.py", - "source_line": 587 + "source_line": 591 }, "AUTO_UPDATE_RESOURCE": { "description": "后台检查站点资源包,确认后由启动器在进程拉起前应用", "group": "system_update", "source_file": "app/runtime/config.py", - "source_line": 465 + "source_line": 469 }, "AUXILIARY_AUTH_ENABLE": { "description": "辅助认证,允许通过外部服务进行认证、单点登录以及自动创建用户", @@ -263,19 +263,19 @@ "description": "单批文件日志最大写入条数", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 57 + "source_line": 58 }, "BIG_MEMORY_MODE": { "description": "大内存模式", "group": "performance", "source_file": "app/runtime/config.py", - "source_line": 749 + "source_line": 753 }, "BROWSER_EMULATION": { "description": "仿真类型:cloakbrowser 或 flaresolverr,其他值按 cloakbrowser 处理", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 565 + "source_line": 569 }, "BTRFS_FSID_DEDUP": { "description": "是否启用 Btrfs FSID 子卷容量去重(仅 Linux amd64/arm64)", @@ -317,13 +317,13 @@ "description": "CloakBrowser 是否启用拟人化输入", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 567 + "source_line": 571 }, "CLOAKBROWSER_HUMAN_PRESET": { "description": "CloakBrowser 拟人化输入预设:default 或 careful", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 569 + "source_line": 573 }, "CONFIG_DIR": { "description": "配置文件目录", @@ -335,49 +335,49 @@ "description": "CookieCloud本地上传接口的X-CookieCloud-Auth期望值,留空表示不校验", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 614 + "source_line": 618 }, "COOKIECLOUD_BLACKLIST": { "description": "CookieCloud同步黑名单,多个域名,分割", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 618 + "source_line": 622 }, "COOKIECLOUD_ENABLE_LOCAL": { "description": "CookieCloud是否启动本地服务", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 606 + "source_line": 610 }, "COOKIECLOUD_HOST": { "description": "CookieCloud服务器地址", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 608 + "source_line": 612 }, "COOKIECLOUD_INTERVAL": { "description": "CookieCloud同步间隔(分钟)", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 616 + "source_line": 620 }, "COOKIECLOUD_KEY": { "description": "CookieCloud用户KEY", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 610 + "source_line": 614 }, "COOKIECLOUD_PASSWORD": { "description": "CookieCloud端对端加密密码", "group": "cookiecloud", "source_file": "app/runtime/config.py", - "source_line": 612 + "source_line": 616 }, "CUSTOMIZE_WALLPAPER_API_URL": { "description": "自定义壁纸api地址", "group": "personalization", "source_file": "app/runtime/config.py", - "source_line": 691 + "source_line": 695 }, "DATA_CLEANUP_AGENT_CHAT_DAYS": { "description": "Agent 会话历史保留天数,0为不清理", @@ -623,13 +623,13 @@ "description": "为指定默认字幕添加.default后缀", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 669 + "source_line": 673 }, "DEPRECATION_ENABLED": { "description": "临时放行的废弃标识,多个用,分隔;仅对已进入停用阶段的接口有效,用于观察真实依赖方", "group": "plugins", "source_file": "app/runtime/config.py", - "source_line": 705 + "source_line": 709 }, "DEV": { "description": "是否开发模式", @@ -659,13 +659,13 @@ "description": "下载站点字幕", "group": "downloads", "source_file": "app/runtime/config.py", - "source_line": 585 + "source_line": 589 }, "DOWNLOAD_TMPEXT": { "description": "下载器临时文件后缀", "group": "downloads", "source_file": "app/runtime/config.py", - "source_line": 589 + "source_line": 593 }, "EMPTY_RESULT_CACHE_TTL": { "description": "TMDB空结果缓存独立过期时间(秒),故障期间产生的空响应快速过期,故障自愈后可自然恢复", @@ -677,79 +677,79 @@ "description": "编码探测的最低置信度阈值", "group": "performance", "source_file": "app/runtime/config.py", - "source_line": 755 + "source_line": 759 }, "ENCODING_DETECTION_PERFORMANCE_MODE": { "description": "是否启用编码探测的性能模式", "group": "performance", "source_file": "app/runtime/config.py", - "source_line": 753 + "source_line": 757 }, "FANART_API_KEY": { "description": "Fanart API Key", "group": "fanart", "source_file": "app/runtime/config.py", - "source_line": 440 + "source_line": 444 }, "FANART_ENABLE": { "description": "Fanart开关", "group": "fanart", "source_file": "app/runtime/config.py", - "source_line": 436 + "source_line": 440 }, "FANART_LANG": { "description": "Fanart语言", "group": "fanart", "source_file": "app/runtime/config.py", - "source_line": 438 + "source_line": 442 }, "FEISHU_ADMINS": { "description": "飞书管理员 Open ID 列表,多个使用 , 分隔", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 741 + "source_line": 745 }, "FEISHU_APP_ID": { "description": "飞书应用 App ID", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 733 + "source_line": 737 }, "FEISHU_APP_SECRET": { "description": "飞书应用 App Secret", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 735 + "source_line": 739 }, "FEISHU_CHAT_ID": { "description": "飞书默认接收群聊 Chat ID", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 739 + "source_line": 743 }, "FEISHU_ENCRYPT_KEY": { "description": "飞书事件加密 Key", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 745 + "source_line": 749 }, "FEISHU_OPEN_ID": { "description": "飞书默认接收用户 Open ID", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 737 + "source_line": 741 }, "FEISHU_VERIFICATION_TOKEN": { "description": "飞书事件校验 Token", "group": "feishu", "source_file": "app/runtime/config.py", - "source_line": 743 + "source_line": 747 }, "FLARESOLVERR_URL": { "description": "FlareSolverr 服务地址,例如 http://127.0.0.1:8191", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 571 + "source_line": 575 }, "FRONTEND_PATH": { "description": "前端资源路径", @@ -761,31 +761,31 @@ "description": "本地文件操作是否走可强杀的子进程代理。 FUSE/网络挂载进入「请求永不返回」状态时,stat/listdir 这类调用会永久悬挂, 而 Python 既不能中断已发出的系统调用、也不能强杀线程,阻塞其上的线程无法回收。 走子进程后超时可以 SIGKILL 真正回收,block 型故障被转换成各层已能处理的 crash 型故障(OSError)。出现兼容问题时可关闭回到直接调用。", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 628 + "source_line": 632 }, "FS_PROXY_STALL_TIMEOUT": { "description": "复制大文件时两次进度上报之间的最长间隔秒数。代理每秒上报一次进度作为心跳, 因此这个阈值判定的是「传输完全没有推进」而不是「传输很慢」, 复制几小时的大文件也不会被误杀", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 635 + "source_line": 639 }, "FS_PROXY_TIMEOUT": { "description": "单次本地快操作(stat/listdir/删除/重命名)的超时秒数, 超时即判定挂载无响应并回收代理进程", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 631 + "source_line": 635 }, "GITHUB_PROXY": { "description": "Github代理服务器,格式:https://mirror.ghproxy.com/", "group": "dependencies", "source_file": "app/runtime/config.py", - "source_line": 725 + "source_line": 729 }, "GITHUB_TOKEN": { "description": "GitHub Token 供 Agent 提交 Issue/PR 和访问 API;原文只保留在服务端运行配置中", "group": "dependencies", "source_file": "app/runtime/config.py", - "source_line": 720 + "source_line": 724 }, "GLOBAL_IMAGE_CACHE": { "description": "全局图片缓存,将媒体图片缓存到本地", @@ -809,211 +809,211 @@ "description": "图片代理允许访问的非公网 IP/CIDR,默认不放行任何非公网解析结果", "group": "security", "source_file": "app/runtime/config.py", - "source_line": 790 + "source_line": 794 }, "LLM_API_KEY": { "description": "LLM API密钥", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 843 + "source_line": 847 }, "LLM_API_PROTOCOL": { "description": "OpenAI兼容接口API协议:auto(自动)/ chat_completions / responses", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 833 + "source_line": 837 }, "LLM_BASE_URL": { "description": "LLM基础URL(用于自定义API端点)", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 845 + "source_line": 849 }, "LLM_BASE_URL_PRESET": { "description": "LLM Base URL 预设标识,用于区分同一 Base URL 下的不同模型目录", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 849 + "source_line": 853 }, "LLM_MAX_CONTEXT_TOKENS": { "description": "LLM最大上下文Token数量(K),用于目录缺失回退和未匹配兼容端点的用户上限", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 851 + "source_line": 855 }, "LLM_MAX_ITERATIONS": { "description": "LLM最大迭代次数", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 857 + "source_line": 861 }, "LLM_MAX_TOOLS": { "description": "LLM工具选择中间件最大工具数量,0为不启用工具选择中间件", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 872 + "source_line": 876 }, "LLM_MEMORY_RETENTION_DAYS": { "description": "内存记忆保留天数", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 863 + "source_line": 867 }, "LLM_MODEL": { "description": "LLM模型名称", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 829 + "source_line": 833 }, "LLM_PROVIDER": { "description": "LLM提供商(支持内置 provider,以及从 models.dev 动态补充的平台)", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 827 + "source_line": 831 }, "LLM_SUPPORT_AUDIO_INPUT": { "description": "是否启用音频输入,开启后用户语音会先转写为文本再进入 Agent", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 839 + "source_line": 843 }, "LLM_SUPPORT_AUDIO_OUTPUT": { "description": "是否启用音频输出,开启后 Agent 可在支持渠道发送语音回复", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 841 + "source_line": 845 }, "LLM_SUPPORT_IMAGE_INPUT": { "description": "LLM是否支持图片输入,开启后消息图片会按多模态输入发送给模型", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 837 + "source_line": 841 }, "LLM_TEMPERATURE": { "description": "LLM温度参数,留空时不覆盖提供商默认值", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 855 + "source_line": 859 }, "LLM_THINKING_LEVEL": { "description": "思考模式/深度配置:off/auto/minimal/low/medium/high/max/xhigh;OpenAI兼容接口保留max/xhigh,仅按已知模型能力降级", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 831 + "source_line": 835 }, "LLM_TOOL_TIMEOUT": { "description": "LLM工具调用超时时间(秒)", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 859 + "source_line": 863 }, "LLM_USER_AGENT": { "description": "LLM OpenAI兼容接口请求User-Agent", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 853 + "source_line": 857 }, "LLM_USE_PROXY": { "description": "LLM调用是否使用系统代理", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 847 + "source_line": 851 }, "LLM_VERBOSE": { "description": "是否启用详细日志", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 861 + "source_line": 865 }, "LLM_WEB_SEARCH_MODE": { "description": "联网搜索模式:local(本地)/ builtin(模型服务端)/ auto(自动)/ disabled(关闭)", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 835 + "source_line": 839 }, "LOCAL_EXISTS_SEARCH": { "description": "检查本地媒体库是否存在资源开关", "group": "subscriptions", "source_file": "app/runtime/config.py", - "source_line": 553 + "source_line": 557 }, "LOG_BACKUP_COUNT": { "description": "每类日志保留的滚动备份文件数量", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 43 + "source_line": 44 }, "LOG_CONSOLE_FORMAT": { "description": "控制台日志格式", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 45 + "source_line": 46 }, "LOG_FILE_FORMAT": { "description": "文件日志格式", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 49 + "source_line": 50 }, "LOG_LEVEL": { "description": "全局日志等级", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 39 + "source_line": 40 }, "LOG_MAX_FILE_SIZE": { "description": "单个日志文件最大大小,单位 MB", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 41 + "source_line": 42 }, "LRCLIB_BASE_URL": { "description": "LRCLIB 服务地址,可指向兼容官方 API 的自建实例", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 420 + "source_line": 424 }, "LYRICS_BATCH_TIMEOUT": { "description": "单次音乐刮削批次用于在线歌词查询的总预算(秒)", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 424 + "source_line": 428 }, "LYRICS_PROVIDER_RETRY_MAX_WAIT": { "description": "供应商要求的重试等待超过该值时进入冷却,不阻塞整个批次", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 426 + "source_line": 430 }, "MAX_SEARCH_NAME_LIMIT": { "description": "最大搜索名称数量", "group": "search", "source_file": "app/runtime/config.py", - "source_line": 577 + "source_line": 581 }, "MEDIASERVER_SYNC_INTERVAL": { "description": "媒体服务器同步间隔(小时)", "group": "media_servers", "source_file": "app/runtime/config.py", - "source_line": 539 + "source_line": 543 }, "MEDIA_RECOGNIZE_SHARE": { "description": "共享使用媒体识别数据", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 675 + "source_line": 679 }, "MEDIA_RECOGNIZE_SHARE_API": { "description": "共享媒体识别API地址,留空时默认拼接为 MP_SERVER_HOST + /recognize/share", "group": "services", "source_file": "app/runtime/config.py", - "source_line": 681 + "source_line": 685 }, "MEMORY_GC_INTERVAL": { "description": "主动内存回收时间间隔(分钟),0为不启用", "group": "performance", "source_file": "app/runtime/config.py", - "source_line": 757 + "source_line": 761 }, "META_CACHE_EXPIRE": { "description": "单条元数据识别缓存有效期(小时),0为自动", @@ -1031,25 +1031,25 @@ "description": "允许网络文件系统使用快速模式(inotify)。部分 FUSE 实现(如 CloudDrive2) 会正常下发内核通知,快速模式可用,且比每 N 秒 stat 全部目录的轮询对挂载后端 的压力小得多,由用户确认后开启", "group": "directory_monitor", "source_file": "app/runtime/config.py", - "source_line": 595 + "source_line": 599 }, "MONITOR_POLL_DELAY_NETWORK": { "description": "网络文件系统的轮询扫描间隔(毫秒),0 表示使用内置默认值", "group": "directory_monitor", "source_file": "app/runtime/config.py", - "source_line": 597 + "source_line": 601 }, "MONITOR_RESCAN_DELAYS": { "description": "新增目录延迟重扫的轮次延迟秒数,多个使用,分隔,如 \"30,120,600,1800\"。 FUSE 挂载(如 CloudDrive2)上超大目录树呈现完整内容可能超过分钟级, 默认值在常见的 30/120 秒窗口后追加两轮成本极低的长延迟轮次兜底; 解析失败(如格式非法、包含非正整数)时回退默认值并记录 warn 日志", "group": "directory_monitor", "source_file": "app/runtime/config.py", - "source_line": 602 + "source_line": 606 }, "MOVIEPILOT_AUTO_UPDATE": { "description": "自动检查稳定版本并提示升级,不自动下载或安装。", "group": "system_update", "source_file": "app/runtime/config.py", - "source_line": 452 + "source_line": 456 }, "MOVIEPILOT_SAFE_MODE": { "description": "安全模式,仅保留核心 API,跳过插件、调度器、监控、命令和工作流等扩展启动项", @@ -1061,19 +1061,19 @@ "description": "Docker 启动时跟踪开发分支;本地 CLI 仅在手动 update 时默认使用 DEV 模式。", "group": "system_update", "source_file": "app/runtime/config.py", - "source_line": 461 + "source_line": 465 }, "MOVIE_RENAME_FORMAT": { "description": "电影重命名格式", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 647 + "source_line": 651 }, "MP_SERVER_HOST": { "description": "服务器地址,对应 https://github.com/jxxghp/MoviePilot-Server 项目", "group": "services", "source_file": "app/runtime/config.py", - "source_line": 679 + "source_line": 683 }, "MUSIC_COVER_FILE_PATTERNS": { "description": "同目录音乐封面匹配规则,按顺序选择,逗号分隔、大小写不敏感;留空禁用本地封面", @@ -1091,13 +1091,7 @@ "description": "是否读取关联 CUE;已分轨音频可关闭以忽略错误索引,整轨专辑应保持开启", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 412 - }, - "MUSIC_LYRICS_TO_SIMPLIFIED": { - "description": "是否将写入 LRC/TXT 的歌词正文转为简体中文;保留时间轴、LRC 标签和来源 Lyricsfile", - "group": "music", - "source_file": "app/runtime/config.py", - "source_line": 410 + "source_line": 416 }, "MUSIC_LOCAL_COVER_ENABLE": { "description": "是否同步整理同目录音乐封面,并在在线封面不可用时用于内嵌回退", @@ -1105,29 +1099,35 @@ "source_file": "app/runtime/config.py", "source_line": 406 }, + "MUSIC_LYRICS_TO_SIMPLIFIED": { + "description": "是否将写入 LRC/TXT 的歌词正文转为简体中文;保留时间轴、LRC 标签和来源 Lyricsfile", + "group": "music", + "source_file": "app/runtime/config.py", + "source_line": 414 + }, "MUSIC_METADATA_TO_SIMPLIFIED": { "description": "是否将识别到的音乐标题、艺术家、专辑等标准元数据转换为简体中文", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 408 + "source_line": 412 }, "MUSIC_RELEASE_REGION_PRIORITY": { "description": "MusicBrainz 发行地区优先级,按 ISO 3166-1 两位代码从高到低排列", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 414 + "source_line": 418 }, "MUSIC_RELEASE_SCRIPT_PRIORITY": { "description": "MusicBrainz 发行文字字形优先级,按 ISO 15924 四位代码从高到低排列", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 416 + "source_line": 420 }, "MUSIC_RENAME_FORMAT": { "description": "音乐重命名格式", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 660 + "source_line": 664 }, "NGINX_PORT": { "description": "前端监听端口", @@ -1139,19 +1139,19 @@ "description": "不缓存站点资源的域名关键字,多个使用,分隔;留空时所有站点使用缓存", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 561 + "source_line": 565 }, "OCR_HOST": { "description": "OCR服务器地址,用于识别站点验证码", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 563 + "source_line": 567 }, "OPENLIST_SNAPSHOT_CHECK_FOLDER_MODTIME": { "description": "对OpenList进行快照对比时,是否检查文件夹的修改时间", "group": "storage", "source_file": "app/runtime/config.py", - "source_line": 808 + "source_line": 812 }, "PACKAGE_CACHE_DAYS": { "description": "pip/uv 包下载缓存保留天数", @@ -1169,43 +1169,43 @@ "description": "PassKey 是否强制用户验证(生物识别等)", "group": "security", "source_file": "app/runtime/config.py", - "source_line": 796 + "source_line": 800 }, "PIP_PROXY": { "description": "pip镜像站点,格式:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple", "group": "dependencies", "source_file": "app/runtime/config.py", - "source_line": 727 + "source_line": 731 }, "PLAYWRIGHT_BROWSER_TYPE": { "description": "Playwright浏览器类型,供智能体浏览器工具和插件直接使用 Playwright 时读取", "group": "storage", "source_file": "app/runtime/config.py", - "source_line": 813 + "source_line": 817 }, "PLUGIN_AUTO_RELOAD": { "description": "是否开启插件热加载", "group": "plugins", "source_file": "app/runtime/config.py", - "source_line": 703 + "source_line": 707 }, "PLUGIN_LOCAL_REPO_PATHS": { "description": "本地插件仓库目录,多个地址使用,分隔", "group": "plugins", "source_file": "app/runtime/config.py", - "source_line": 707 + "source_line": 711 }, "PLUGIN_MARKET": { "description": "插件市场仓库地址,多个地址使用,分隔,地址以/结尾", "group": "plugins", "source_file": "app/runtime/config.py", - "source_line": 695 + "source_line": 699 }, "PLUGIN_STATISTIC_SHARE": { "description": "插件安装数据共享", "group": "plugins", "source_file": "app/runtime/config.py", - "source_line": 699 + "source_line": 703 }, "PORT": { "description": "API监听端口", @@ -1229,13 +1229,13 @@ "description": "对rclone进行快照对比时,是否检查文件夹的修改时间", "group": "storage", "source_file": "app/runtime/config.py", - "source_line": 806 + "source_line": 810 }, "RECOGNIZE_PLUGIN_FIRST": { "description": "优先使用辅助识别", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 673 + "source_line": 677 }, "RECOGNIZE_SOURCE": { "description": "媒体识别来源 themoviedb/douban/bangumi/anilist/imdb/musicbrainz/theaudiodb/doubanmusic", @@ -1247,13 +1247,13 @@ "description": "重命名时支持的S0别名", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 667 + "source_line": 671 }, "REPO_GITHUB_TOKEN": { "description": "指定的仓库Github token,多个仓库使用,分隔,格式:{user1}/{repo1}:ghp_****,{user2}/{repo2}:github_pat_****", "group": "dependencies", "source_file": "app/runtime/config.py", - "source_line": 729 + "source_line": 733 }, "RESOURCE_ACCESS_TOKEN_EXPIRE_SECONDS": { "description": "RESOURCE_TOKEN过期时间", @@ -1271,31 +1271,31 @@ "description": "支持的音轨文件后缀格式", "group": "media_formats", "source_file": "app/runtime/config.py", - "source_line": 494 + "source_line": 498 }, "RMT_MEDIAEXT": { "description": "支持的视频文件后缀格式", "group": "media_formats", "source_file": "app/runtime/config.py", - "source_line": 469 + "source_line": 473 }, "RMT_SUBEXT": { "description": "支持的字幕文件后缀格式", "group": "media_formats", "source_file": "app/runtime/config.py", - "source_line": 492 + "source_line": 496 }, "RUST_ACCEL": { "description": "Rust 加速总开关,free-threaded 运行时固定启用", "group": "performance", "source_file": "app/runtime/config.py", - "source_line": 751 + "source_line": 755 }, "SCRAP_FOLLOW_TMDB": { "description": "新增已入库媒体是否跟随TMDB信息变化", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 671 + "source_line": 675 }, "SCRAP_SOURCE": { "description": "刮削来源 themoviedb/douban/bangumi/anilist/imdb/musicbrainz/theaudiodb/doubanmusic", @@ -1307,13 +1307,13 @@ "description": "搜索多个名称", "group": "search", "source_file": "app/runtime/config.py", - "source_line": 575 + "source_line": 579 }, "SEARCH_RESOURCE_PAGES": { "description": "搜索资源获取页数", "group": "search", "source_file": "app/runtime/config.py", - "source_line": 579 + "source_line": 583 }, "SEARCH_SOURCE": { "description": "媒体搜索来源 themoviedb/douban/bangumi/anilist/imdb/musicbrainz/theaudiodb/doubanmusic,多个用,分隔", @@ -1331,61 +1331,61 @@ "description": "允许的图片缓存域名", "group": "security", "source_file": "app/runtime/config.py", - "source_line": 761 + "source_line": 765 }, "SECURITY_IMAGE_SUFFIXES": { "description": "允许的图片文件后缀格式", "group": "security", "source_file": "app/runtime/config.py", - "source_line": 792 + "source_line": 796 }, "SITEDATA_REFRESH_INTERVAL": { "description": "站点数据刷新间隔(小时)", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 557 + "source_line": 561 }, "SITE_MESSAGE": { "description": "读取和发送站点消息", "group": "sites", "source_file": "app/runtime/config.py", - "source_line": 559 + "source_line": 563 }, "SKILL_MARKET": { "description": "技能市场仓库地址,多个地址使用,分隔", "group": "skills", "source_file": "app/runtime/config.py", - "source_line": 711 + "source_line": 715 }, "SUBSCRIBE_MODE": { "description": "订阅模式", "group": "subscriptions", "source_file": "app/runtime/config.py", - "source_line": 543 + "source_line": 547 }, "SUBSCRIBE_RSS_INTERVAL": { "description": "RSS订阅模式刷新时间间隔(分钟)", "group": "subscriptions", "source_file": "app/runtime/config.py", - "source_line": 545 + "source_line": 549 }, "SUBSCRIBE_SEARCH": { "description": "订阅搜索开关", "group": "subscriptions", "source_file": "app/runtime/config.py", - "source_line": 549 + "source_line": 553 }, "SUBSCRIBE_SEARCH_INTERVAL": { "description": "订阅搜索时间间隔(小时)", "group": "subscriptions", "source_file": "app/runtime/config.py", - "source_line": 551 + "source_line": 555 }, "SUBSCRIBE_STATISTIC_SHARE": { "description": "订阅数据共享", "group": "subscriptions", "source_file": "app/runtime/config.py", - "source_line": 547 + "source_line": 551 }, "SUPERUSER": { "description": "超级管理员用户名;V3 首次启动时为空,由初始化页面设置", @@ -1409,7 +1409,7 @@ "description": "TheAudioDB API Key,默认使用官方公开的免费 V1 Key,可通过环境变量覆盖", "group": "music", "source_file": "app/runtime/config.py", - "source_line": 418 + "source_line": 422 }, "TMDB_API_DOMAIN": { "description": "TMDB API地址", @@ -1445,55 +1445,55 @@ "description": "种子标签", "group": "downloads", "source_file": "app/runtime/config.py", - "source_line": 583 + "source_line": 587 }, "TRANSFER_FAILURE_NOTIFICATION_AGGREGATION": { "description": "是否按媒体聚合整理失败通知,关闭时保持逐条发送", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 880 + "source_line": 884 }, "TRANSFER_MAX_FAILED_RETRIES": { "description": "自动整理(目录监控、下载器轮询)遇到失败整理记录时,同一源路径允许自动重试的最大次数。 一次瞬时故障(网络抖动、TMDB 瞬断、移动失败)不该让文件永久漏整理,因此必须重试; 但永远识别不出的文件重试再多也不会成功,只会重复推送失败通知,批量导入时更会刷屏, 因此必须有界。取值区间 1-10,越界或非法值会被钳制到边界并记录 warn: 既不支持关闭重试,也不支持无限重试。整理成功或删除整理记录时计数清零。 与本项无关的是同路径新版本:已成功整理的文件源大小变化时一律放行, 由整理链的 overwrite_mode 决断是否覆盖", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 643 + "source_line": 647 }, "TRANSFER_SUCCESS_NOTIFICATION_AGGREGATION": { "description": "是否按批次聚合电影、电视剧和音乐的整理成功通知", "group": "ai_agent", "source_file": "app/runtime/config.py", - "source_line": 882 + "source_line": 886 }, "TRANSFER_TASK_TIMEOUT": { "description": "外部接管的运行中整理任务无状态心跳超时(分钟),0 表示禁用", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 645 + "source_line": 649 }, "TRANSFER_THREADS": { "description": "文件整理线程数", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 622 + "source_line": 626 }, "TVDB_V4_API_KEY": { "description": "TVDB API Key", "group": "tvdb", "source_file": "app/runtime/config.py", - "source_line": 430 + "source_line": 434 }, "TVDB_V4_API_PIN": { "description": "TVDB V4 订阅 PIN", "group": "tvdb", "source_file": "app/runtime/config.py", - "source_line": 432 + "source_line": 436 }, "TV_RENAME_FORMAT": { "description": "电视剧重命名格式", "group": "transfer", "source_file": "app/runtime/config.py", - "source_line": 653 + "source_line": 657 }, "TZ": { "description": "时区", @@ -1505,49 +1505,49 @@ "description": "115 AppId", "group": "cloud_storage", "source_file": "app/runtime/config.py", - "source_line": 444 + "source_line": 448 }, "U115_AUTH_SERVER": { "description": "115 OAuth2 Server 地址", "group": "cloud_storage", "source_file": "app/runtime/config.py", - "source_line": 446 + "source_line": 450 }, "USAGE_STATISTIC_SHARE": { "description": "安装版本统计上报", "group": "plugins", "source_file": "app/runtime/config.py", - "source_line": 701 + "source_line": 705 }, "WALLPAPER": { "description": "登录页面壁纸来源:空字符串表示无壁纸,另支持 tmdb/bing/mediaserver/customize/static", "group": "personalization", "source_file": "app/runtime/config.py", - "source_line": 685 + "source_line": 689 }, "WALLPAPER_IMAGE_URL": { "description": "静态壁纸地址,可使用前端可访问的本地路径或 URL", "group": "personalization", "source_file": "app/runtime/config.py", - "source_line": 689 + "source_line": 693 }, "WALLPAPER_ROTATION_INTERVAL": { "description": "壁纸轮换间隔(秒),0 表示不轮换", "group": "personalization", "source_file": "app/runtime/config.py", - "source_line": 687 + "source_line": 691 }, "WORKFLOW_STATISTIC_SHARE": { "description": "工作流数据共享", "group": "workflow", "source_file": "app/runtime/config.py", - "source_line": 802 + "source_line": 806 }, "WRITE_TIMEOUT": { "description": "日志写入等待超时时间,单位秒", "group": "logging", "source_file": "app/runtime/log.py", - "source_line": 59 + "source_line": 60 } }, "systemconfig": {