Skip to content

Add extra headers support for custom LLM providers#739

Open
Duyi-Wang wants to merge 1 commit into
Open-Less:betafrom
Duyi-Wang:dev
Open

Add extra headers support for custom LLM providers#739
Duyi-Wang wants to merge 1 commit into
Open-Less:betafrom
Duyi-Wang:dev

Conversation

@Duyi-Wang

@Duyi-Wang Duyi-Wang commented Jun 23, 2026

Copy link
Copy Markdown

User description

背景

部分 OpenAI-compatible 的 custom LLM provider 需要通过自定义 HTTP headers 完成接入。现有配置只支持 Base URL、API Key 和 Model,无法覆盖这类 custom 接入需求,也会影响模型拉取、provider 校验和实际调用链路的一致性。

变更

  • 为 custom LLM provider 增加 Extra headers 配置入口,使用 JSON object 格式填写。
  • 将 extra headers 接入 credentials 持久化,避免把自定义鉴权信息写入普通配置。
  • 在 provider 校验、模型拉取、实际 LLM provider 构建时统一传递 extra headers。
  • 增加 header name/value 校验:
    • JSON 必须是 object。
    • header value 必须是 string。
    • header name 必须是合法 HTTP header token。
    • header value 不允许包含 CR/LF。
  • 支持 API Key 留空时不发送默认 Bearer header,便于 custom provider 使用纯自定义 header 接入。
  • 补充多语言文案和后端测试覆盖。

验证

  • git diff --check
  • npm run build -- --mode development

PR Type

Enhancement


Description

  • Add extra headers field for custom LLM providers

  • Validate header names and values (no CR/LF, valid tokens)

  • Allow API key empty when custom headers used

  • Persist extra headers in credentials vault


Diagram Walkthrough

flowchart LR
  UI["Extra Headers UI"]
  CredVault["Credentials Vault"]
  ProviderConfig["ProviderConfig"]
  OpenAIComp["OpenAICompatibleConfig"]
  LLMProvider["LLMProvider"]
  RemoteAPI["Remote API with Custom Headers"]
  UI -- "JSON input" --> CredVault
  CredVault -- "extra_headers" --> ProviderConfig
  ProviderConfig -- "build" --> OpenAIComp
  OpenAIComp -- "with_extra_headers" --> LLMProvider
  LLMProvider -- "HTTP request with custom headers" --> RemoteAPI
Loading

File Walkthrough

Relevant files
Enhancement
6 files
credentials.rs
Add extra headers credential handling                                       
+10/-0   
providers.rs
Integrate extra headers into provider config                         
+17/-2   
coordinator.rs
Pass extra headers to LLM provider build                                 
+2/-1     
credentials.rs
Add extra headers persistence and validation                         
+97/-1   
polish.rs
Add with_extra_headers builder method                                       
+5/-0     
ProvidersSection.tsx
Show extra headers field for custom provider                         
+10/-0   
Tests
1 files
mod.rs
Add test for extra headers sending                                             
+52/-0   
Documentation
5 files
en.ts
Add extra headers i18n strings                                                     
+2/-0     
ja.ts
Add extra headers i18n strings                                                     
+2/-0     
ko.ts
Add extra headers i18n strings                                                     
+2/-0     
zh-CN.ts
Add extra headers i18n strings                                                     
+2/-0     
zh-TW.ts
Add extra headers i18n strings                                                     
+2/-0     

@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ No major issues detected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant