Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: support custom OpenAI headers#26

Open
Huoyuuu wants to merge 1 commit into
lessweb:main from
Huoyuuu:add-configurable-openai-headers
Open

feat: support custom OpenAI headers #26
Huoyuuu wants to merge 1 commit into
lessweb:main from
Huoyuuu:add-configurable-openai-headers

Conversation

@Huoyuuu

@Huoyuuu Huoyuuu commented Jun 15, 2026
edited
Loading

Copy link
Copy Markdown

概述

本 PR 为 OpenAI 兼容接口新增可配置 HTTP Headers 的能力。

部分 NewAPI / 中转站部署在 WAF 或 Cloudflare 之后,可能会根据请求头拦截 SDK 默认请求,尤其是默认的 SDK User-Agent。本次改动允许用户直接在 ~/.deepcode/settings.json./.deepcode/settings.json 中配置额外 headers,例如自定义 User-Agent,无需修改扩展源码即可兼容这类中转站。

已完成的工作

  1. 配置扩展:新增顶层 headers 配置,并仅保留字符串类型的 header 值。
  2. 客户端接入:将配置中的 headers 传递给 OpenAI SDK 的 defaultHeaders
  3. 缓存修正:将 headers 纳入共享客户端缓存 key,确保 headers 变更后会重新创建客户端。
  4. 文档更新:在 README 与 docs/guide.md 中补充 headers 配置示例和说明。
  5. 测试覆盖:新增 headers 合并优先级的单元测试。
  6. 本地验证:已执行相关测试、类型检查和打包验证。

配置示例

{
 "env": {
 "MODEL": "deepseek-v4-pro",
 "BASE_URL": "https://example.com/v1",
 "API_KEY": "sk-..."
 },
 "headers": {
 "User-Agent": "Mozilla/5.0 ..."
 },
 "thinkingEnabled": true,
 "reasoningEffort": "max"
}

验证命令

npx tsx --test src/tests/settings-and-notify.test.ts
npm run typecheck
npm run bundle

说明

  • 同时支持用户级配置和项目级配置。
  • 项目级 headers 会覆盖用户级同名 header。
  • 适用于需要自定义 User-Agent 或其他请求头的 OpenAI 兼容中转站。
  • 改动保持最小化,避免影响现有配置逻辑。

@Huoyuuu Huoyuuu force-pushed the add-configurable-openai-headers branch from 1831925 to a41fbc9 Compare June 15, 2026 17:28
Some OpenAI-compatible relay/NewAPI providers sit behind WAF or
Cloudflare rules that may block requests using the SDK default request
headers. Allow users to configure additional HTTP headers, such as a
custom User-Agent, without patching the extension source code.
Changes:
- add a top-level `headers` setting and normalize string header values
- merge user and project headers with project-level precedence
- pass configured headers to the OpenAI SDK via `defaultHeaders`
- include headers in the shared client cache key
- document the setting with a User-Agent example
- add resolver coverage for header merging behavior
Validation:
- npx tsx --test src/tests/settings-and-notify.test.ts
- npm run typecheck
- npm run bundle
@Huoyuuu Huoyuuu force-pushed the add-configurable-openai-headers branch from a41fbc9 to 505972d Compare June 15, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /