feat: enhance Claude request header handling with append functionality

This commit is contained in:
CaIon
2026-03-09 23:47:33 +08:00
parent 7b62694f60
commit 7fc39363d7
11 changed files with 88 additions and 14 deletions

View File

@@ -39,6 +39,16 @@ const CLAUDE_HEADER = {
},
};
const CLAUDE_HEADER_APPEND_CONFIG = {
'claude-3-7-sonnet-20250219-thinking': {
'anthropic-beta': ['token-efficient-tools-2025-02-19'],
},
};
const CLAUDE_HEADER_APPEND_BEFORE = `anthropic-beta: output-128k-2025-02-19`;
const CLAUDE_HEADER_APPEND_AFTER = `anthropic-beta: output-128k-2025-02-19,token-efficient-tools-2025-02-19`;
const CLAUDE_DEFAULT_MAX_TOKENS = {
default: 8192,
'claude-3-haiku-20240307': 4096,
@@ -114,7 +124,7 @@ export default function SettingClaudeModel(props) {
<Row>
<Col xs={24} sm={12} md={8} lg={8} xl={8}>
<Form.TextArea
label={t('Claude请求头覆盖')}
label={t('Claude请求头追加')}
field={'claude.model_headers_settings'}
placeholder={
t('为一个 JSON 文本,例如:') +
@@ -122,7 +132,20 @@ export default function SettingClaudeModel(props) {
JSON.stringify(CLAUDE_HEADER, null, 2)
}
extraText={
t('示例') + '\n' + JSON.stringify(CLAUDE_HEADER, null, 2)
<div>
<div>
{t(
'Claude会在原有请求头基础上追加这些值不会覆盖已有同名请求头重复值会自动忽略。',
)}
</div>
<div className='mt-2 whitespace-pre-wrap font-mono text-xs'>
{`${t('前:')}\n${CLAUDE_HEADER_APPEND_BEFORE}\n\n${t('配置:')}\n${JSON.stringify(
CLAUDE_HEADER_APPEND_CONFIG,
null,
2,
)}\n\n${t('后:')}\n${CLAUDE_HEADER_APPEND_AFTER}`}
</div>
</div>
}
autosize={{ minRows: 6, maxRows: 12 }}
trigger='blur'