GigaChat plugin for DeepSeek Harness: an OAuth2 proxy

dsh-llm-gigachat

A DeepSeek Harness plugin that adds Sber GigaChat models to the regular model picker with a built-in OAuth2 proxy and automatic provider setup

  • 0 ★ on the repository
  • Last commit
Plugin

Extended access

Why this level

  • Keeps the GigaChat key in the profile and passes it to the OAuth exchange with Sber
  • The local proxy on port 8787 accepts requests with no separate protection
All reasons and checks
Russian stack

igrock88/dsh-llm-gigachat

Install

Services

Manual install

dsh plugin --profile web add dsh-llm-gigachat

The README command, then add the plugin to the profile `dsh.profile.bundles` and restart `dsh web`.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Keeps the GigaChat key in the profile and passes it to the OAuth exchange with Sber
  • The local proxy on port 8787 accepts requests with no separate protection

This is third-party code. Review the repository files before installing.

What it does

An npm plugin for DeepSeek Harness (`dsh`) connects Sber GigaChat models so the provider appears on the Settings, Models page and in the regular model picker. The harness cannot talk to GigaChat by itself: Sber issues tokens by OAuth 2.0 Client Credentials and the built-in OpenAI-compatible gateways do not know that exchange. The plugin handles it: it swaps the key for a token, caches the token for 30 minutes, queues requests because a personal plan allows about one parallel request, retries degenerate `<` replies and translates tool calls into the `functions` and `function_call` format. Only `GigaChat-3-Ultra` and `GigaChat-3-Pro` hold agentic mode with tools reliably and lighter models run without tools.

Who it is for. Developers who run DeepSeek Harness and want an agent on the Russian GigaChat model through a key from the Sber console.

Good fit when

  • An agent harness has to run on GigaChat and the built-in gateways return 401 because of OAuth2
  • GigaChat should appear in the regular model list with no separate external proxy
  • A personal plan allows one parallel request and a queue is needed instead of 429 replies
  • Before launching you want to check the configuration without starting the server using `--dump-config`

Not a fit when

  • The agent is not DeepSeek Harness: the plugin is written for its profiles and `bundles` list
  • You need tools on lightweight GigaChat models: they hallucinate calls and the plugin disables tools for them
  • You need to work without Node.js and pnpm: installation goes through them

Example request

Switch the model to GigaChat-3-Pro, read the project README and list the open questions

Limitations

The plugin targets DeepSeek Harness only and is attached through `dsh.profile.bundles` in the profile `package.json`, after which `dsh web` has to be restarted. The GigaChat key is pasted by hand in settings and kept by the user in the profile. The personal plan limit is about one parallel request, requests run in a queue and several agents working at once slow down. The lightweight models `GigaChat-3-Lightning` and `GigaChat-2*` run without tools by default through `stripToolsFor`. There are no stars, one author and an early version.

How to disable. Remove `dsh-llm-gigachat` from `dsh.profile.bundles`, follow the Rollback section of the README and restart `dsh web`.

FAQ

Why a plugin when OpenAI gateways exist?

The built-in harness gateways cannot do the two-step swap of a key for a Sber OAuth2 token, so a direct connection returns 401. The plugin contains that swap.

Which models work with tools?

`GigaChat-3-Ultra` and `GigaChat-3-Pro`. Lighter models confuse schemas or invent calls, so they run without tools by default.

How do I check the setup safely?

The `--dump-config` flag prints the configuration without starting the server and the README calls this check mandatory before the first run.

What do I do with the key?

Paste the `base64(client_id:client_secret)` value into the API key field of the Sber GigaChat row on the Settings, Models page and press Apply.

Can I go without the plugin?

Yes, run the external `gigachat-proxy.mjs` on port 8787 and add a custom provider at `http://127.0.0.1:8787/v1`, but the plugin is simpler.

Discussion

No questions or reviews yet.

Russian stack

A local proxy exposing GigaChat through OpenAI- and Anthropic-compatible APIs so it can drive Claude Code, aider and other agents

CLIExtended access
Official

An ai-forever proxy that serves GigaChat through OpenAI, Anthropic and Gemini APIs so Claude Code, Codex and Gemini CLI can run on it

CLIBroad access143Repository stars
Russian stack

Eight skills for coding against the GigaChat API: choosing a layer, access setup, SDK, LangChain, gpt2giga and Deep Agents

SkillExtended access4Repository stars
Russian stack

A small Python MCP server for Sber's GigaChat API: authorizes with a Basic key and calls the models directly from an agent, tested on OpenCode under Windows

MCP serverExtended access

README in short

The README comes in English and Russian: a table of contents, three install routes (npm, GitHub repository, a local copy), a `--dump-config` check, step-by-step provider setup, an OAuth2 explanation and a settings table. It ends with rollback, uninstall and troubleshooting. Sample settings are in `examples/settings.yaml`.

README badge

Report a problem

Foxx AIGigaChat plugin for DeepSeek Harness: an OAuth2 proxy
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.