From 205d0f156d81713ecaf4c736651d42b6f77ea513 Mon Sep 17 00:00:00 2001 From: lingyun14 Date: Wed, 13 May 2026 12:20:38 +0800 Subject: [PATCH 1/4] fix: add disable_metrics option to WebUI system config --- astrbot/core/config/default.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index fc66b27819..10761ffd78 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -4263,6 +4263,11 @@ "type": "list", "items": {"type": "string"}, }, + "disable_metrics": { + "description": "禁用匿名使用统计", + "type": "bool", + "hint": "禁用后,AstrBot 将不再上传匿名使用统计数据。", + }, }, }, }, From d0addb9f4eed8a4d6cb617de27ec69f3ac48ecca Mon Sep 17 00:00:00 2001 From: lingyun14 <223098829+lingyun14beta@users.noreply.github.com> Date: Sat, 25 Jul 2026 17:17:16 +0800 Subject: [PATCH 2/4] feat: add telemetry group to system config UI for disable_metrics --- dashboard/src/i18n/locales/en-US/features/settings.json | 4 ++++ dashboard/src/i18n/locales/ru-RU/features/settings.json | 4 ++++ dashboard/src/i18n/locales/zh-CN/features/settings.json | 4 ++++ dashboard/src/views/Settings.vue | 5 +++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/dashboard/src/i18n/locales/en-US/features/settings.json b/dashboard/src/i18n/locales/en-US/features/settings.json index 82ab8463b8..2b043f4386 100644 --- a/dashboard/src/i18n/locales/en-US/features/settings.json +++ b/dashboard/src/i18n/locales/en-US/features/settings.json @@ -65,6 +65,10 @@ "t2iRendering": { "title": "Text-to-Image", "subtitle": "Rendering strategy, endpoint, and custom templates for text-to-image." + }, + "telemetry": { + "title": "Telemetry", + "subtitle": "Toggle anonymous usage data collection." } }, "messages": { diff --git a/dashboard/src/i18n/locales/ru-RU/features/settings.json b/dashboard/src/i18n/locales/ru-RU/features/settings.json index 468cfff006..35e245defa 100644 --- a/dashboard/src/i18n/locales/ru-RU/features/settings.json +++ b/dashboard/src/i18n/locales/ru-RU/features/settings.json @@ -65,6 +65,10 @@ "t2iRendering": { "title": "Текст в изображение", "subtitle": "Стратегия, endpoint и пользовательские шаблоны для рендеринга." + }, + "telemetry": { + "title": "Телеметрия", + "subtitle": "Переключатель анонимного сбора статистики использования." } }, "messages": { diff --git a/dashboard/src/i18n/locales/zh-CN/features/settings.json b/dashboard/src/i18n/locales/zh-CN/features/settings.json index 14120fdb89..83d7730abf 100644 --- a/dashboard/src/i18n/locales/zh-CN/features/settings.json +++ b/dashboard/src/i18n/locales/zh-CN/features/settings.json @@ -65,6 +65,10 @@ "t2iRendering": { "title": "文本转图像", "subtitle": "文本转图像渲染策略、端点和自定义模板。" + }, + "telemetry": { + "title": "使用统计", + "subtitle": "匿名使用数据上报开关。" } }, "messages": { diff --git a/dashboard/src/views/Settings.vue b/dashboard/src/views/Settings.vue index 096a6df07c..21b5cd1cdf 100644 --- a/dashboard/src/views/Settings.vue +++ b/dashboard/src/views/Settings.vue @@ -667,12 +667,13 @@ const systemConfigGroups = computed(() => { 't2i_endpoint', 't2i_template', 't2i_active_template' - ]) + ]), + createGroup('telemetry', ['disable_metrics']) ].filter((group) => Object.keys(group.metadata[group.key].items).length > 0); }); const generalSystemConfigGroups = computed(() => systemConfigGroups.value.filter((group) => ( - group.key === 'runtime' || group.key === 'logs' || group.key === 'tempStorage' + group.key === 'runtime' || group.key === 'logs' || group.key === 'tempStorage' || group.key === 'telemetry' ))); const appearanceSystemConfigGroups = computed(() => systemConfigGroups.value.filter((group) => ( group.key === 't2iRendering' From 4544b11425859063e67de38c9bdbb15f04e2228d Mon Sep 17 00:00:00 2001 From: lingyun14 <223098829+lingyun14beta@users.noreply.github.com> Date: Sat, 25 Jul 2026 17:19:42 +0800 Subject: [PATCH 3/4] fix: refine telemetry group i18n wording --- dashboard/src/i18n/locales/en-US/features/settings.json | 4 ++-- dashboard/src/i18n/locales/ru-RU/features/settings.json | 4 ++-- dashboard/src/i18n/locales/zh-CN/features/settings.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dashboard/src/i18n/locales/en-US/features/settings.json b/dashboard/src/i18n/locales/en-US/features/settings.json index 2b043f4386..5b0e283846 100644 --- a/dashboard/src/i18n/locales/en-US/features/settings.json +++ b/dashboard/src/i18n/locales/en-US/features/settings.json @@ -67,8 +67,8 @@ "subtitle": "Rendering strategy, endpoint, and custom templates for text-to-image." }, "telemetry": { - "title": "Telemetry", - "subtitle": "Toggle anonymous usage data collection." + "title": "Anonymous Usage Statistics", + "subtitle": "When enabled, anonymous usage data is collected to help improve AstrBot." } }, "messages": { diff --git a/dashboard/src/i18n/locales/ru-RU/features/settings.json b/dashboard/src/i18n/locales/ru-RU/features/settings.json index 35e245defa..4bad5bc1e3 100644 --- a/dashboard/src/i18n/locales/ru-RU/features/settings.json +++ b/dashboard/src/i18n/locales/ru-RU/features/settings.json @@ -67,8 +67,8 @@ "subtitle": "Стратегия, endpoint и пользовательские шаблоны для рендеринга." }, "telemetry": { - "title": "Телеметрия", - "subtitle": "Переключатель анонимного сбора статистики использования." + "title": "Анонимная статистика", + "subtitle": "При включении анонимные данные отправляются для улучшения AstrBot." } }, "messages": { diff --git a/dashboard/src/i18n/locales/zh-CN/features/settings.json b/dashboard/src/i18n/locales/zh-CN/features/settings.json index 83d7730abf..d22a0cde31 100644 --- a/dashboard/src/i18n/locales/zh-CN/features/settings.json +++ b/dashboard/src/i18n/locales/zh-CN/features/settings.json @@ -67,8 +67,8 @@ "subtitle": "文本转图像渲染策略、端点和自定义模板。" }, "telemetry": { - "title": "使用统计", - "subtitle": "匿名使用数据上报开关。" + "title": "匿名使用统计", + "subtitle": "启用后将上报匿名使用数据以帮助改进 AstrBot。" } }, "messages": { From 2976d58e6330f2c55398372b7fdd0f7497ea101b Mon Sep 17 00:00:00 2001 From: lingyun14 <223098829+lingyun14beta@users.noreply.github.com> Date: Tue, 29 Sep 2026 23:02:12 +0800 Subject: [PATCH 4/4] fix: unify telemetry wording and render system config group subtitles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ja-JP: add the telemetry group plus the disable_metrics label and hint. wording: name the feature 'User Experience Improvement Program' (用户体验改进计划) consistently in settings.json, config-metadata.json and both CONFIG_METADATA_2 / CONFIG_METADATA_3_SYSTEM descriptions. settings: render systemConfig.groups.*.subtitle. Those keys were authored in #8777 but never wired up, because the only block that could display them (.config-section) is hidden by CSS. --- astrbot/core/config/default.py | 8 ++--- .../en-US/features/config-metadata.json | 4 +-- .../i18n/locales/en-US/features/settings.json | 2 +- .../ja-JP/features/config-metadata.json | 4 +-- .../i18n/locales/ja-JP/features/settings.json | 4 +++ .../ru-RU/features/config-metadata.json | 4 +-- .../i18n/locales/ru-RU/features/settings.json | 4 +-- .../zh-CN/features/config-metadata.json | 4 +-- .../i18n/locales/zh-CN/features/settings.json | 4 +-- dashboard/src/views/Settings.vue | 36 ++++++++++++++++--- 10 files changed, 53 insertions(+), 21 deletions(-) diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index a484f53aa3..df9ae8f6eb 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -3207,9 +3207,9 @@ def get_local_permission_defaults(system: str | None = None) -> dict: "type": "string", }, "disable_metrics": { - "description": "禁用匿名使用统计", + "description": "禁用用户体验改进计划", "type": "bool", - "hint": "禁用后,AstrBot 将不再上传匿名使用统计数据。", + "hint": "开启后,AstrBot 将不再上传用户体验改进计划所需的匿名使用数据。", }, "log_level": { "type": "string", @@ -4831,9 +4831,9 @@ def get_local_permission_defaults(system: str | None = None) -> dict: "items": {"type": "string"}, }, "disable_metrics": { - "description": "禁用匿名使用统计", + "description": "禁用用户体验改进计划", "type": "bool", - "hint": "禁用后,AstrBot 将不再上传匿名使用统计数据。", + "hint": "开启后,AstrBot 将不再上传用户体验改进计划所需的匿名使用数据。", }, }, }, diff --git a/dashboard/src/i18n/locales/en-US/features/config-metadata.json b/dashboard/src/i18n/locales/en-US/features/config-metadata.json index c8c2c5a32a..c4c0d0f468 100644 --- a/dashboard/src/i18n/locales/en-US/features/config-metadata.json +++ b/dashboard/src/i18n/locales/en-US/features/config-metadata.json @@ -1257,8 +1257,8 @@ "hint": "External services may access AstrBot's backend through callback links generated by AstrBot (such as file download links). Since AstrBot cannot automatically determine the externally accessible host address in the deployment environment, this configuration item is needed to explicitly specify how external services should access AstrBot's address. Examples: [http://localhost:6185](http://localhost:6185), [https://example.com](https://example.com), etc." }, "disable_metrics": { - "description": "Disable Anonymous Usage Statistics", - "hint": "When disabled, AstrBot will not upload anonymous usage statistics." + "description": "Disable User Experience Improvement Program", + "hint": "When enabled, AstrBot stops uploading the anonymous usage data used by the User Experience Improvement Program." }, "dashboard": { "trust_proxy_headers": { diff --git a/dashboard/src/i18n/locales/en-US/features/settings.json b/dashboard/src/i18n/locales/en-US/features/settings.json index 010e2d42ea..593894c85a 100644 --- a/dashboard/src/i18n/locales/en-US/features/settings.json +++ b/dashboard/src/i18n/locales/en-US/features/settings.json @@ -67,7 +67,7 @@ "subtitle": "Rendering strategy, endpoint, and custom templates for text-to-image." }, "telemetry": { - "title": "Anonymous Usage Statistics", + "title": "User Experience Improvement Program", "subtitle": "When enabled, anonymous usage data is collected to help improve AstrBot." } }, diff --git a/dashboard/src/i18n/locales/ja-JP/features/config-metadata.json b/dashboard/src/i18n/locales/ja-JP/features/config-metadata.json index dcfe0b2aaa..91657ab8ba 100644 --- a/dashboard/src/i18n/locales/ja-JP/features/config-metadata.json +++ b/dashboard/src/i18n/locales/ja-JP/features/config-metadata.json @@ -1354,8 +1354,8 @@ "hint": "外部サービスは、AstrBot が生成したコールバックリンク(ファイルダウンロードリンクなど)を通じて AstrBot バックエンドへアクセスする場合があります。AstrBot はデプロイ環境で外部から到達可能なホストアドレス(ホスト)を自動判定できないため、この設定で外部サービスから AstrBot へアクセスするアドレスを明示的に指定します。例: [http://localhost:6185](http://localhost:6185)、[https://example.com](https://example.com)。" }, "disable_metrics": { - "description": "匿名利用統計を無効化", - "hint": "この設定を有効にすると、AstrBot は匿名の利用統計データをアップロードしません。" + "description": "ユーザー体験改善プログラムを無効化", + "hint": "有効にすると、AstrBot はユーザー体験改善プログラムで使用する匿名の利用データを送信しなくなります。" }, "dashboard": { "trust_proxy_headers": { diff --git a/dashboard/src/i18n/locales/ja-JP/features/settings.json b/dashboard/src/i18n/locales/ja-JP/features/settings.json index 19ac7f7dd2..044d6a5a45 100644 --- a/dashboard/src/i18n/locales/ja-JP/features/settings.json +++ b/dashboard/src/i18n/locales/ja-JP/features/settings.json @@ -65,6 +65,10 @@ "t2iRendering": { "title": "長文の画像化", "subtitle": "長文を画像としてレンダリングする際の方式、エンドポイント、カスタムテンプレート。" + }, + "telemetry": { + "title": "ユーザー体験改善プログラム", + "subtitle": "有効にすると、AstrBot の改善のため匿名の利用データを収集します。" } }, "timePreview": { diff --git a/dashboard/src/i18n/locales/ru-RU/features/config-metadata.json b/dashboard/src/i18n/locales/ru-RU/features/config-metadata.json index 5fa0437006..71ef984b75 100644 --- a/dashboard/src/i18n/locales/ru-RU/features/config-metadata.json +++ b/dashboard/src/i18n/locales/ru-RU/features/config-metadata.json @@ -1410,8 +1410,8 @@ "hint": "Используется для сервисов, требующих обратных выливов (например, в песочнице)." }, "disable_metrics": { - "description": "Отключить анонимную статистику", - "hint": "После отключения AstrBot не будет отправлять анонимные данные об использовании." + "description": "Отключить программу улучшения пользовательского опыта", + "hint": "После включения AstrBot перестанет отправлять анонимные данные об использовании, собираемые в рамках программы улучшения пользовательского опыта." }, "dashboard": { "trust_proxy_headers": { diff --git a/dashboard/src/i18n/locales/ru-RU/features/settings.json b/dashboard/src/i18n/locales/ru-RU/features/settings.json index c29d2028b1..772f8da039 100644 --- a/dashboard/src/i18n/locales/ru-RU/features/settings.json +++ b/dashboard/src/i18n/locales/ru-RU/features/settings.json @@ -67,8 +67,8 @@ "subtitle": "Стратегия, endpoint и пользовательские шаблоны для рендеринга." }, "telemetry": { - "title": "Анонимная статистика", - "subtitle": "При включении анонимные данные отправляются для улучшения AstrBot." + "title": "Программа улучшения пользовательского опыта", + "subtitle": "При включении собираются анонимные данные об использовании для улучшения AstrBot." } }, "timePreview": { diff --git a/dashboard/src/i18n/locales/zh-CN/features/config-metadata.json b/dashboard/src/i18n/locales/zh-CN/features/config-metadata.json index f67377bf35..79a81b4b18 100644 --- a/dashboard/src/i18n/locales/zh-CN/features/config-metadata.json +++ b/dashboard/src/i18n/locales/zh-CN/features/config-metadata.json @@ -1278,8 +1278,8 @@ "hint": "外部服务可能会通过 AstrBot 生成的回调链接(如文件下载链接)访问 AstrBot 后端。由于 AstrBot 无法自动判断部署环境中对外可达的主机地址(host),因此需要通过此配置项显式指定外部服务如何访问 AstrBot 的地址。如 [http://localhost:6185](http://localhost:6185),[https://example.com](https://example.com) 等。" }, "disable_metrics": { - "description": "禁用匿名使用统计", - "hint": "禁用后,AstrBot 将不再上传匿名使用统计数据。" + "description": "禁用用户体验改进计划", + "hint": "开启后,AstrBot 将不再上传用户体验改进计划所需的匿名使用数据。" }, "dashboard": { "trust_proxy_headers": { diff --git a/dashboard/src/i18n/locales/zh-CN/features/settings.json b/dashboard/src/i18n/locales/zh-CN/features/settings.json index b60317db85..3eaa96b233 100644 --- a/dashboard/src/i18n/locales/zh-CN/features/settings.json +++ b/dashboard/src/i18n/locales/zh-CN/features/settings.json @@ -67,8 +67,8 @@ "subtitle": "文本转图像渲染策略、端点和自定义模板。" }, "telemetry": { - "title": "匿名使用统计", - "subtitle": "启用后将上报匿名使用数据以帮助改进 AstrBot。" + "title": "用户体验改进计划", + "subtitle": "启用后将上报匿名使用数据,用于改进 AstrBot。" } }, "timePreview": { diff --git a/dashboard/src/views/Settings.vue b/dashboard/src/views/Settings.vue index c09034d72e..4b2da03e79 100644 --- a/dashboard/src/views/Settings.vue +++ b/dashboard/src/views/Settings.vue @@ -65,7 +65,10 @@ @focusout.capture="scheduleSystemConfigAutoSave" >
-
{{ group.title }}
+
+
{{ group.title }}
+
{{ group.subtitle }}
+
-
{{ group.title }}
+
+
+
{{ group.title }}
+
{{ group.subtitle }}
+
+
-
{{ group.title }}
+
+
+
{{ group.title }}
+
{{ group.subtitle }}
+
+
-
{{ group.title }}
+
+
+
{{ group.title }}
+
{{ group.subtitle }}
+
+
{ return { key, title: tm(`systemConfig.groups.${key}.title`), + subtitle: tm(`systemConfig.groups.${key}.subtitle`), metadata: { [key]: { type: 'object', @@ -1424,6 +1443,15 @@ onUnmounted(() => { line-height: 1.32; } +.system-config-group__subtitle { + margin-top: 2px; + color: rgba(var(--v-theme-on-surface), 0.68); + font-size: 0.8rem; + font-weight: 500; + letter-spacing: 0; + line-height: 1.45; +} + .timezone-time-preview { display: flex; flex-wrap: wrap;