LXFLGH/dsh-deepseek-relay0

dsh-deepseek-relay

DeepSeek 中转站(OpenAI 兼容网关)思考强度适配插件:让 UI 出现 Off/Low/High/Max 推理等级选项,并按中转站格式发送 reasoning_effort / thinking

包名
dsh-deepseek-relay
版本
0.1.1
许可证
MIT
最近更新
2026年8月25日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:LXFLGH/dsh-deepseek-relay

使用

两种方式都符合官方插件规范(见下文「官方规范符合性」):

方式 A:从源码运行,--patch 本地加载(开发/自用)

在 deepseek-harness 仓库根目录(已 pnpm install 过):

pnpm dsh web --patch ./dsh-deepseek-relay/cordis.yml

启动前先编辑 cordis.yml,把 providers.relay 换成你的中转站信息:

- insert:
    - id: dsh-deepseek-relay
      name: '/绝对路径/deepseek-harness/dsh-deepseek-relay/src/index.ts'
      config:
        providers:
          my-relay:
            baseURL: https://your-relay.example.com/v1
            apiKeyEnv: RELAY_API_KEY
            thinkingFormat: auto
            models:
              - id: deepseek-v4-flash
  • API key:设置环境变量 RELAY_API_KEY,或启动后在 Web UI 设置 → 模型 里选中该提供方填入密钥(密钥存 $DSH_HOME/.credentials.yaml)。
  • 模型models 列表即模型选择器里出现的模型;contextWindow / maxTokens 会作为上下文/输出上限信息。
  • 保存后,在模型选择器选到该模型的会话里,输入框旁就会出现 Off / Low / High / Max 推理等级下拉(和官方 API 一样)。

方式 B:作为组合包(bundle)安装(可分发)


## 配置项

| 字段 | 说明 | 默认 |
| --- | --- | --- |
| `baseURL` | 中转站 OpenAI 兼容地址,`/chat/completions` 自动拼接 | 必填 |
| `apiKeyEnv` | API key 环境变量名 | `RELAY_API_KEY` |
| `displayName` | 模型选择器显示名 | 路由 key |
| `thinkingFormat` | `auto` / `openai` / `deepseek` | `auto` |
| `reasoningEffort` | 默认推理等级 `off`/`low`/`high`/`max` | `high` |
| `maxTokensField` | 输出上限字段 `max_tokens`/`max_completion_tokens` | `max_tokens` |
| `maxTokens` | 路由级默认输出上限 | 256000 |
| `models[].id` | 发往网关的模型 id | 必填 |
| `models[].name` | 选择器显示名 | id |
| `models[].contextWindow` | 上下文容量 | 262144 |
| `models[].maxTokens` | 该模型输出上限 | 路由级值 |
| `models[].reasoningEfforts` | 按档位覆盖 wire 值(`null`=支持但不发送) | 方言默认 |

## 备选:不装插件,直接用官方 llm-pi-ai 手工配置

官方 `llm-pi-ai` 本身支持同样的能力,只是要手写 `$DSH_HOME/settings.yaml`。
如果不想装插件,可以这样写(等效于 `thinkingFormat: deepseek`):

```yaml
llm-pi-ai:
  providers:
    my-relay:
      apiKeyEnv: RELAY_API_KEY
      api: openai-completions
      baseURL: https://your-relay.example.com/v1
      compat:
        thinkingFormat: deepseek
      models:
        - id: deepseek-v4-flash
          reasoningEfforts:
            off:
            low: low
            high: high
            max: max

注意:reasoningEffortsoff: 冒号后留空表示"支持该档、不发送"; 其余档必须给 wire 值,否则配置被拒。多数网关(OneAPI 等)应使用 thinkingFormat: openai 而不是 deepseek,除非网关原样转发官方 API。