Skip to content

Commit f2404c1

Browse files
authored
fix(dashboard): clarify configuration hints and hide disabled options (#10647)
* fix(dashboard): clarify configuration hints and conditional options * docs: explain conditional segmented reply settings
1 parent 776793b commit f2404c1

8 files changed

Lines changed: 247 additions & 113 deletions

File tree

‎astrbot/core/config/default.py‎

Lines changed: 45 additions & 7 deletions
Large diffs are not rendered by default.

‎dashboard/src/components/config/AstrBotCoreConfigWrapper.vue‎

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,9 +349,10 @@ export default {
349349
.config-standard-section__groups :deep(.config-hint),
350350
:deep(.config-product-groups .config-hint) {
351351
margin-top: 5px;
352-
color: rgba(var(--v-theme-on-surface), 0.64) !important;
352+
color: rgba(var(--v-theme-on-surface), 0.76) !important;
353353
font-size: 0.78rem;
354354
line-height: 1.45;
355+
opacity: 1 !important;
355356
white-space: normal;
356357
}
357358
@@ -389,12 +390,27 @@ export default {
389390
.config-standard-section__groups :deep(.property-hint),
390391
:deep(.config-product-groups .property-hint) {
391392
margin-top: 4px;
392-
color: rgba(var(--v-theme-on-surface), 0.7) !important;
393+
color: rgba(var(--v-theme-on-surface), 0.76) !important;
393394
font-size: 0.78rem;
394395
line-height: 1.45;
396+
opacity: 1 !important;
395397
white-space: normal;
396398
}
397399
400+
.config-standard-section__groups :deep(.config-hint *),
401+
:deep(.config-product-groups .config-hint *),
402+
.config-standard-section__groups :deep(.property-hint *),
403+
:deep(.config-product-groups .property-hint *) {
404+
opacity: 1 !important;
405+
}
406+
407+
.config-standard-section__groups :deep(.config-hint a),
408+
:deep(.config-product-groups .config-hint a),
409+
.config-standard-section__groups :deep(.property-hint a),
410+
:deep(.config-product-groups .property-hint a) {
411+
color: rgb(var(--v-theme-primary)) !important;
412+
}
413+
398414
.config-standard-section__groups :deep(.config-input),
399415
:deep(.config-product-groups .config-input) {
400416
display: flex;

‎dashboard/src/i18n/locales/en-US/features/config-metadata.json‎

Lines changed: 45 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,11 @@
100100
"provider_settings": {
101101
"default_image_caption_provider_id": {
102102
"description": "Image Caption Model",
103-
"hint": "Leave empty to disable; useful for non-multimodal models"
103+
"hint": "When the chat model does not support image input, use the image captioning model to describe images. Leave blank to disable."
104104
},
105105
"image_caption_prompt": {
106-
"description": "Image Caption Prompt"
106+
"description": "Image Caption Prompt",
107+
"hint": "The prompt used by the image captioning model."
107108
}
108109
},
109110
"provider_stt_settings": {
@@ -113,7 +114,7 @@
113114
},
114115
"provider_id": {
115116
"description": "Default Speech-to-Text Model",
116-
"hint": "Users can also select session-specific STT models using the /provider command."
117+
"hint": "You can also use /provider to select a model for an individual conversation."
117118
}
118119
},
119120
"provider_tts_settings": {
@@ -122,10 +123,12 @@
122123
"hint": "Use a text-to-speech model to turn text into voice replies."
123124
},
124125
"provider_id": {
125-
"description": "Default Text-to-Speech Model"
126+
"description": "Default Text-to-Speech Model",
127+
"hint": "You can also use /provider to select a model for an individual conversation."
126128
},
127129
"trigger_probability": {
128-
"description": "TTS Trigger Probability"
130+
"description": "TTS Trigger Probability",
131+
"hint": "Trigger voice replies based on a random probability."
129132
}
130133
}
131134
},
@@ -466,22 +469,24 @@
466469
} } },
467470
"provider_settings": {
468471
"display_reasoning_text": {
469-
"description": "Display Reasoning Content"
472+
"description": "Display Reasoning Content",
473+
"hint": "Include the model's chain-of-thought information in the final reply."
470474
},
471475
"identifier": {
472476
"description": "User Identification",
473-
"hint": "When enabled, user ID information will be included in the prompt."
477+
"hint": "Prepend the user ID to the user prompt."
474478
},
475479
"group_name_display": {
476480
"description": "Display Group Name",
477-
"hint": "When enabled, group name information will be included in the prompt on supported platforms (OneBot v11)."
481+
"hint": "Prepend the group name to user prompts in group chats on supported messaging platforms."
478482
},
479483
"datetime_system_prompt": {
480484
"description": "Real-world Time Awareness",
481-
"hint": "When enabled, current time information will be appended to the system prompt."
485+
"hint": "Include the current time in the user prompt."
482486
},
483487
"show_tool_use_status": {
484-
"description": "Show Tool Call Information"
488+
"description": "Show Tool Call Information",
489+
"hint": "When a tool is called, also send a message containing the tool name."
485490
},
486491
"show_tool_call_result": {
487492
"description": "Output Tool Call Results",
@@ -514,7 +519,8 @@
514519
}
515520
},
516521
"streaming_response": {
517-
"description": "Streaming Output"
522+
"description": "Streaming Output",
523+
"hint": "Display responses with a typewriter effect on supported chat platforms."
518524
},
519525
"unsupported_streaming_strategy": {
520526
"description": "Platforms Without Streaming Support",
@@ -980,26 +986,33 @@
980986
"hint": "On supported platforms, each group member has a separate conversation context when enabled. Manage command permissions under Handlers → Command."
981987
},
982988
"friend_message_needs_wake_prefix": {
983-
"description": "Private Messages Require Wake Word"
989+
"description": "Private Messages Require Wake Word",
990+
"hint": "Private messages must also include a wake prefix to activate the bot."
984991
},
985992
"reply_prefix": {
986-
"description": "Reply Text Prefix"
993+
"description": "Reply Text Prefix",
994+
"hint": "The text prefix added to replies."
987995
},
988996
"reply_with_mention": {
989-
"description": "Mention Sender in Reply"
997+
"description": "Mention Sender in Reply",
998+
"hint": "Mention the sender when replying."
990999
},
9911000
"reply_with_quote": {
992-
"description": "Quote Sender's Message in Reply"
1001+
"description": "Quote Sender's Message in Reply",
1002+
"hint": "Quote the sender's corresponding message when replying."
9931003
},
9941004
"forward_threshold": {
995-
"description": "Forward Message Word Count Threshold"
1005+
"description": "Forward Message Word Count Threshold",
1006+
"hint": "On supported platforms, send overly long replies as merged forwarded messages."
9961007
},
9971008
"empty_mention_waiting": {
998-
"description": "Trigger Waiting on Mention-only Messages"
1009+
"description": "Trigger Waiting on Mention-only Messages",
1010+
"hint": "After a message that only mentions the bot, stay awake for one minute to wait for the user's next message."
9991011
}
10001012
},
10011013
"wake_prefix": {
1002-
"description": "Wake Word"
1014+
"description": "Wake Word",
1015+
"hint": "A list of message prefixes that wake the bot. You can also wake it by mentioning it."
10031016
},
10041017
"disable_builtin_commands": {
10051018
"description": "Disable Built-in Commands",
@@ -1154,7 +1167,8 @@
11541167
"platform_settings": {
11551168
"segmented_reply": {
11561169
"enable": {
1157-
"description": "Enable Segmented Reply"
1170+
"description": "Enable Segmented Reply",
1171+
"hint": "Send replies in multiple segments."
11581172
},
11591173
"only_llm_result": {
11601174
"description": "Segment Only LLM Results"
@@ -1202,29 +1216,33 @@
12021216
"description": "Group Chat Context Awareness",
12031217
"provider_ltm_settings": {
12041218
"group_icl_enable": {
1205-
"description": "Inject Group Chat Records into Context"
1219+
"description": "Inject Group Chat Records into Context",
1220+
"hint": "Record group messages that do not wake the bot and pass them to the model when the bot is activated."
12061221
},
12071222
"group_message_max_cnt": {
1208-
"description": "Maximum Messages Injected into Context"
1223+
"description": "Maximum Messages Injected into Context",
1224+
"hint": "The maximum number of messages passed to the model."
12091225
},
12101226
"image_caption": {
12111227
"description": "Auto-understand Images",
1212-
"hint": "Requires setting a group chat image caption model."
1228+
"hint": "Convert image messages that do not wake the bot into text descriptions. Use with care in image-heavy group chats, as this can incur substantial costs."
12131229
},
12141230
"image_caption_provider_id": {
12151231
"description": "Group Chat Image Caption Model",
12161232
"hint": "Used to understand images injected from group chat records, configured separately from the default image caption model."
12171233
},
12181234
"group_message_history_enable": {
12191235
"description": "Persist Group Chat Messages",
1220-
"hint": "Saves group messages and provides the model with a tool for querying the current group's history. Media content is not currently persisted; media messages are stored as placeholders such as [Image]."
1236+
"hint": "Persist all group messages and allow the model to query them using tools."
12211237
},
12221238
"group_message_history_max_cnt": {
1223-
"description": "Maximum Persisted Messages"
1239+
"description": "Maximum Persisted Messages",
1240+
"hint": "The maximum number of persisted messages. Older messages are discarded when the limit is exceeded."
12241241
},
12251242
"active_reply": {
12261243
"enable": {
1227-
"description": "Active Reply"
1244+
"description": "Active Reply",
1245+
"hint": "Send messages proactively at suitable times."
12281246
},
12291247
"method": {
12301248
"description": "Active Reply Method"
@@ -1243,7 +1261,8 @@
12431261
"t2i": {
12441262
"description": "Text-to-Image",
12451263
"t2i": {
1246-
"description": "Text-to-Image Output"
1264+
"description": "Text-to-Image Output",
1265+
"hint": "Convert model replies to images before sending to avoid flooding the chat."
12471266
},
12481267
"t2i_word_threshold": {
12491268
"description": "Text-to-Image Word Count Threshold"

‎dashboard/src/i18n/locales/ja-JP/features/config-metadata.json‎

Lines changed: 45 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,11 @@
182182
"provider_settings": {
183183
"default_image_caption_provider_id": {
184184
"description": "デフォルト画像説明モデル",
185-
"hint": "空欄の場合は使用しません。非マルチモーダルモデルで利用できます。"
185+
"hint": "対話モデルが画像入力に対応していない場合、画像説明モデルで画像の説明を取得します。空欄の場合は使用しません。"
186186
},
187187
"image_caption_prompt": {
188-
"description": "画像説明用プロンプト"
188+
"description": "画像説明用プロンプト",
189+
"hint": "画像説明モデルに使用するプロンプトです。"
189190
}
190191
},
191192
"provider_stt_settings": {
@@ -195,7 +196,7 @@
195196
},
196197
"provider_id": {
197198
"description": "デフォルト音声認識モデル",
198-
"hint": "ユーザーは /provider コマンドを使用して、セッションごとに STT モデルを選択することもできます。"
199+
"hint": "/provider コマンドで会話ごとのモデルを選択することもできます。"
199200
}
200201
},
201202
"provider_tts_settings": {
@@ -204,10 +205,12 @@
204205
"hint": "TTS のマスタースイッチ"
205206
},
206207
"provider_id": {
207-
"description": "デフォルト音声合成モデル"
208+
"description": "デフォルト音声合成モデル",
209+
"hint": "/provider コマンドで会話ごとのモデルを選択することもできます。"
208210
},
209211
"trigger_probability": {
210-
"description": "TTS の実行確率"
212+
"description": "TTS の実行確率",
213+
"hint": "ランダムな確率で音声返信を行います。"
211214
}
212215
}
213216
},
@@ -567,22 +570,24 @@
567570
},
568571
"provider_settings": {
569572
"display_reasoning_text": {
570-
"description": "思考内容を表示"
573+
"description": "思考内容を表示",
574+
"hint": "モデルの思考過程を最終返信に表示します。"
571575
},
572576
"identifier": {
573577
"description": "ユーザー識別",
574-
"hint": "有効にすると、プロンプトの先頭にユーザー ID 情報を含めます。"
578+
"hint": "ユーザープロンプトの前にユーザー ID を付加します。"
575579
},
576580
"group_name_display": {
577581
"description": "グループ名を表示",
578-
"hint": "有効にすると、対応プラットフォーム(OneBot v11)でプロンプトの先頭にグループ名情報を含めます。"
582+
"hint": "対応するメッセージプラットフォームのグループチャットで、ユーザープロンプトの前にグループ名を付加します。"
579583
},
580584
"datetime_system_prompt": {
581585
"description": "現実世界の時刻認識",
582-
"hint": "有効にすると、システムプロンプトに現在時刻の情報を追加します。"
586+
"hint": "ユーザープロンプトに現在時刻を付加します。"
583587
},
584588
"show_tool_use_status": {
585-
"description": "関数呼び出し状態を出力"
589+
"description": "関数呼び出し状態を出力",
590+
"hint": "ツール呼び出し時に、呼び出したツール名を含むメッセージも送信します。"
586591
},
587592
"show_tool_call_result": {
588593
"description": "関数呼び出し結果を出力",
@@ -615,7 +620,8 @@
615620
}
616621
},
617622
"streaming_response": {
618-
"description": "ストリーミング出力"
623+
"description": "ストリーミング出力",
624+
"hint": "対応するチャットプラットフォームで、タイプライター形式で応答を表示します。"
619625
},
620626
"unsupported_streaming_strategy": {
621627
"description": "ストリーミング返信に未対応のプラットフォーム",
@@ -1081,26 +1087,33 @@
10811087
"hint": "有効にすると、会話の分離に対応するプラットフォームでは、グループメンバーごとに独立したコンテキストを使用します。コマンドの権限はコマンド管理で設定してください。"
10821088
},
10831089
"friend_message_needs_wake_prefix": {
1084-
"description": "ダイレクトメッセージでウェイクワードを必須にする"
1090+
"description": "ダイレクトメッセージでウェイクワードを必須にする",
1091+
"hint": "プライベートメッセージでも、ボットを起動するには起動接頭辞が必要です。"
10851092
},
10861093
"reply_prefix": {
1087-
"description": "返信テキストのプレフィックス"
1094+
"description": "返信テキストのプレフィックス",
1095+
"hint": "返信に付加するテキスト接頭辞です。"
10881096
},
10891097
"reply_with_mention": {
1090-
"description": "返信時に送信者をメンション"
1098+
"description": "返信時に送信者をメンション",
1099+
"hint": "返信時に送信者をメンションします。"
10911100
},
10921101
"reply_with_quote": {
1093-
"description": "返信時に送信者のメッセージを引用"
1102+
"description": "返信時に送信者のメッセージを引用",
1103+
"hint": "返信時に送信者の該当メッセージを引用します。"
10941104
},
10951105
"forward_threshold": {
1096-
"description": "転送メッセージの文字数しきい値"
1106+
"description": "転送メッセージの文字数しきい値",
1107+
"hint": "対応するプラットフォームでは、返信が長すぎる場合にメッセージをまとめて転送します。"
10971108
},
10981109
"empty_mention_waiting": {
1099-
"description": "ボットへのメンションのみで待機を開始"
1110+
"description": "ボットへのメンションのみで待機を開始",
1111+
"hint": "ボットへのメンションのみのメッセージを受信した際、次の 1 分間は起動状態を維持してユーザーの次のメッセージを待つかどうかを設定します。"
11001112
}
11011113
},
11021114
"wake_prefix": {
1103-
"description": "ウェイクワード"
1115+
"description": "ウェイクワード",
1116+
"hint": "ボットを起動するメッセージ接頭辞の一覧です。ボットへのメンションでも起動できます。"
11041117
},
11051118
"disable_builtin_commands": {
11061119
"description": "組み込みコマンドを無効化",
@@ -1255,7 +1268,8 @@
12551268
"platform_settings": {
12561269
"segmented_reply": {
12571270
"enable": {
1258-
"description": "分割返信を有効化"
1271+
"description": "分割返信を有効化",
1272+
"hint": "返信メッセージを分割して送信します。"
12591273
},
12601274
"only_llm_result": {
12611275
"description": "LLM の結果のみ分割"
@@ -1303,29 +1317,33 @@
13031317
"description": "グループチャットのコンテキスト認識",
13041318
"provider_ltm_settings": {
13051319
"group_icl_enable": {
1306-
"description": "グループチャット履歴をコンテキストへ注入"
1320+
"description": "グループチャット履歴をコンテキストへ注入",
1321+
"hint": "ボットを起動しないグループメッセージを記録し、ボット起動時にモデルへ渡すかどうかを設定します。"
13071322
},
13081323
"group_message_max_cnt": {
1309-
"description": "コンテキストへ注入する最大メッセージ数"
1324+
"description": "コンテキストへ注入する最大メッセージ数",
1325+
"hint": "モデルに渡すメッセージの最大数です。"
13101326
},
13111327
"image_caption": {
13121328
"description": "画像を自動解析",
1313-
"hint": "グループチャット用の画像説明モデルを設定する必要があります。"
1329+
"hint": "ボットを起動しない画像メッセージを画像説明テキストに変換します。画像の多いグループチャットでは大きなコストが発生する可能性があるため、慎重に使用してください。"
13141330
},
13151331
"image_caption_provider_id": {
13161332
"description": "グループチャット用画像説明モデル",
13171333
"hint": "グループチャット履歴をコンテキストへ注入する際の画像認識に使用します。デフォルトの画像説明モデルとは別に設定します。"
13181334
},
13191335
"group_message_history_enable": {
13201336
"description": "グループチャット履歴を永続化",
1321-
"hint": "有効にするとグループメッセージを保存し、現在のグループチャット履歴を検索するツールをモデルへ提供します。現在、メディアメッセージの保存には対応しておらず、[Image] などのプレースホルダーテキストとして保存されます。"
1337+
"hint": "グループ内のすべてのメッセージを永続保存し、モデルがツールを使って検索できるようにします。"
13221338
},
13231339
"group_message_history_max_cnt": {
1324-
"description": "永続化する最大メッセージ数"
1340+
"description": "永続化する最大メッセージ数",
1341+
"hint": "永続保存するメッセージの最大数です。上限を超えると古いメッセージを破棄します。"
13251342
},
13261343
"active_reply": {
13271344
"enable": {
1328-
"description": "プロアクティブ返信"
1345+
"description": "プロアクティブ返信",
1346+
"hint": "適切なタイミングで自発的にメッセージを送信するかどうかを設定します。"
13291347
},
13301348
"method": {
13311349
"description": "プロアクティブ返信の方式"
@@ -1344,7 +1362,8 @@
13441362
"t2i": {
13451363
"description": "長文の画像化",
13461364
"t2i": {
1347-
"description": "長文を画像として出力"
1365+
"description": "長文を画像として出力",
1366+
"hint": "チャットを埋め尽くさないよう、モデルの返信を画像に変換してから送信します。"
13481367
},
13491368
"t2i_word_threshold": {
13501369
"description": "画像化する文字数のしきい値"

0 commit comments

Comments
 (0)