Files
CyberStrikeAI/internal/handler
root d6b0aed1de feat(headers): 支持为 AI 渠道配置自定义 HTTP 请求头
部分 OpenAI 兼容供应商(如 opencode)要求私有鉴权头或会话头,
而非标准的 Authorization: Bearer,导致无法接入。

- config: OpenAIConfig / AIChannelConfig 新增 headers 字段,
  值支持 ${ENV_VAR}、${ENV_VAR:-default} 与 %session_id% 占位符
- openai: 新增 headersRoundTripper 接入 Eino ChatModel 传输链,
  同名的内置头(Authorization/User-Agent 等)可被覆盖
- openai: 内置 Client 的 4 处出站请求同样注入自定义头
- handler: 任务开始时把对话 ID 注入 ctx,供 %session_id% 替换;
  连接测试没有真实会话,使用探测值 connect-test
- web: 渠道设置页新增“自定义请求头”编辑区(每行 KEY=VALUE)
- 占位符使用 %session_id% 而非 {{session_id}},因为 index.html
  由 Go html/template 渲染,双花括号会被当作模板函数解析
2026-10-30 20:13:56 +08:00
..
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00
2026-08-18 20:20:39 +08:00