feat: add include_model_name UI switch to channel affinity settings

This commit is contained in:
Clansty
2026-03-29 02:48:37 +08:00
parent 70560d5371
commit 116e0b8f1c
6 changed files with 28 additions and 2 deletions
@@ -103,6 +103,7 @@ const RULES_JSON_PLACEHOLDER = `[
},
"skip_retry_on_failure": false,
"include_using_group": true,
"include_model_name": false,
"include_rule_name": true
}
]`;
@@ -246,6 +247,7 @@ export default function SettingsChannelAffinity(props) {
ttl_seconds: Number(r.ttl_seconds || 0),
skip_retry_on_failure: !!r.skip_retry_on_failure,
include_using_group: r.include_using_group ?? true,
include_model_name: !!r.include_model_name,
include_rule_name: r.include_rule_name ?? true,
param_override_template_json: r.param_override_template
? stringifyPretty(r.param_override_template)
@@ -582,6 +584,7 @@ export default function SettingsChannelAffinity(props) {
render: (_, record) => {
const tags = [];
if (record?.include_using_group) tags.push('分组');
if (record?.include_model_name) tags.push('模型');
if (record?.include_rule_name) tags.push('规则');
if (tags.length === 0) return '-';
return tags.map((x) => (
@@ -650,6 +653,7 @@ export default function SettingsChannelAffinity(props) {
ttl_seconds: 0,
skip_retry_on_failure: false,
include_using_group: true,
include_model_name: false,
include_rule_name: true,
};
setEditingRule(nextRule);
@@ -721,6 +725,7 @@ export default function SettingsChannelAffinity(props) {
value_regex: (values.value_regex || '').trim(),
ttl_seconds: Number(values.ttl_seconds || 0),
include_using_group: !!values.include_using_group,
include_model_name: !!values.include_model_name,
include_rule_name: !!values.include_rule_name,
...(values.skip_retry_on_failure
? { skip_retry_on_failure: true }
@@ -1251,7 +1256,7 @@ export default function SettingsChannelAffinity(props) {
</Row>
<Row gutter={16}>
<Col xs={24} sm={12}>
<Col xs={24} sm={8}>
<Form.Switch
field='include_using_group'
label={t('作用域:包含分组')}
@@ -1262,7 +1267,18 @@ export default function SettingsChannelAffinity(props) {
)}
</Text>
</Col>
<Col xs={24} sm={12}>
<Col xs={24} sm={8}>
<Form.Switch
field='include_model_name'
label={t('作用域:包含模型名称')}
/>
<Text type='tertiary' size='small'>
{t(
'开启后,模型名称会参与 cache key(不同模型隔离)。',
)}
</Text>
</Col>
<Col xs={24} sm={8}>
<Form.Switch
field='include_rule_name'
label={t('作用域:包含规则名称')}