mzzsfy/dsh-plugin--packages-dsh-llm-pi-gateway ↗★ 0
@mzzsfy/dsh-llm-pi-gateway
NewAPI 等 LLM 网关接入:向每个上游请求注入会话 sessionId(请求体派生标记 + 亲和头裸 sessionId),供网关做请求亲和性粘性路由,compat 全开放 适合使用第三方LLM网关并需要会话亲和性粘性路由的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:mzzsfy/dsh-plugin#8a4893f2fa2056fe47aeb958017daa9136a7f0e6&path:packages/dsh-llm-pi-gateway配置(settings.yaml 命名空间 llm-pi-gateway)
llm-pi-gateway:
providers:
new-api-claude: # 路由名 = LLM provider 名
displayName: New API Claude # 可选,配置面/选择器显示名
api: anthropic-messages # 或 openai-completions / openai-responses
baseURL: https://newapi.example.com
apiKeyEnv: NEW_API_API_KEY # 凭据引用(credentials 服务或环境变量)
reasoning: high # 可选,路由级默认档位(模型需支持)
sessionMarker: # 会话标记(请求体通道),默认开启
enabled: true
prefix: dsh # 派生标记前缀
metadata: # anthropic metadata 模板(可选);user_id 键由标记占用,勿在此声明
gateway: newapi
session: '{sessionId}'
compat: # 路由级 compat 覆盖,无 withhold;字段按协议名单校验
sendSessionAffinityHeaders: true # 亲和头通道(anthropic 即 x-session-affinity)
headers: # 静态自定义头(粘性兜底通道)
x-gateway-group: pool-a
cacheRetention: short # 可选:none / short / long(none 会抑制亲和头)
defaultContextWindow: 262144 # 可选,模型未声明时的兜底
retryPolicy: # 可选,注册捕获,进 runtime 重试
mode: normal
maxRetries: 2
models:
- id: claude-sonnet
name: Claude Sonnet
input: [text, image]
maxTokens: 16384
# 档位字典:key = 档位,value = wire 拼写;未声明档位 = 不支持;
# off 无值 = 支持且不发参数;false = 非推理模型
reasoningEfforts:
off:
low: low
high: high
max: ultra
compat:
sendSessionAffinityHeaders: true
new-api-gpt: # openai 系协议示例(sessionAffinityFormat 仅在此类协议合法)
api: openai-responses # 或 openai-completions
baseURL: https://newapi.example.com/v1
apiKeyEnv: NEW_API_API_KEY
compat:
sessionAffinityFormat: openai # openai / openai-nosession / openrouter,头集合见注入通道表
models:
- id: gpt-4o
路由与模型的全量可配键以本包 settings schema 为准,示例未穷举。
配置修改即时生效(无需重启);解析失败时保留上一份好配置。纯 host 端,无 GUI。