Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add "https://github.com/qikairo7/dsh-gemini-pool/releases/download/v0.5.3/dsh-gemini-pool-0.5.3.tgz"
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
Screenshots
README
dsh-gemini-pool
The way to use Gemini in DSH — turn your Google AI Pro subscription into a coding model pool
English · 简体中文
GitHub · Issues · Changelog · Security · DeepSeek Harness · Upstream
✨ What is this
DeepSeek Harness (DSH) cannot reach Gemini on its own. This plugin bridges the gap: through the Google Antigravity / Cloud Code Assist channel, it connects your existing Google AI Pro subscription to DSH. No extra API key, no separate bill.
Gemini's strengths line up with coding work: multimodal input that reads images, frontend / UI code generation, and image generation for interface assets. This plugin puts all three inside DSH, billed against your subscription quota.
Have more than one Google account? Add them all to a pool: quotas balance across accounts, 429s fail over to the next account, and failing accounts cool down and recover by themselves. Settings shows one card per account with live weekly and 5-hour quota bars.
🆚 Why you need it
Installing this plugin changes what your Google AI Pro subscription can do:
| Without: web-only subscription | With: subscription inside DSH | |
|---|---|---|
| Gemini multimodal (vision) | ❌ unavailable while coding | ✅ drop images into the chat |
| Frontend / UI codegen | ❌ no project context in web | ✅ reads your actual codebase |
| Image gen for UI assets | ⚠️ manual copy-paste | ✅ antigravity_image_generate auto-saves |
| Multi-account quota | — | ✅ pool scheduling, seamless 429 failover |
| Quota visibility | ❌ black box | ✅ live per-account bars |
| Unhealthy accounts | ❌ keep hitting dead ones | ✅ auto-disable + probe + revive |
Read "⚠️ Account Ban Risk" below before installing.
⚠️ Account Ban Risk — Read Before Installing
This is an unofficial third-party tool. It reaches Google endpoints by reusing the Antigravity client identity. Google has officially confirmed that using third-party tools to access Antigravity resources violates the Terms of Service, and has carried out mass bans (see the official gemini-cli announcement, Feb 2026 — paid subscribers were affected too).
Enforcement mechanism (as published by Google):
- First violation → email notice + recertification form → automatic reinstatement in 1–2 days
- Second violation → permanent ban
- Scope: most reports involve the Antigravity / Gemini channel being blocked, and paid quota is forfeited with it; the community has asked Google twice whether a ban also hits the whole Google account (Gmail / Drive), and Google has never answered directly — assume the worst
- Enforcement is sampling-based: many third-party users run for months untouched, but nobody can promise you are not next
Three ways to reduce risk:
- Use a throwaway account: register a separate Google account, never the main one holding your real assets
- Keep usage moderate: the built-in exponential backoff and cooldown help, but do not deliberately push quota limits
- Assume the channel can break at any time: the endpoints belong to Google and policy may tighten
Using this plugin means you understand and accept these risks. This project is not affiliated with Google.
🆚 How is this different from API relays
You can also pay a relay for Gemini API access by the token. That is a different trade:
| API relay / reseller | dsh-gemini-pool | |
|---|---|---|
| Cost | pay-per-token with a markup | flat subscription, marginal cost ≈ 0 |
| Model authenticity | ⚠️ may be silently downgraded | ✅ direct to official endpoints |
| Privacy | ⚠️ your code/chats/images pass through the operator's server | ✅ in-process straight to Google, no middleman |
| Quota visibility | a single opaque "site balance" | live weekly / 5h bars per account |
| Exit risk | relays vanish or degrade, balance gone overnight | no third party touches your money |
The relay has one real advantage: bans hit the operator's accounts, yours stays clean. The line is simple — account safety first, light usage, or just trying things out: use a relay. Already subscribed, privacy-conscious, want the real models long-term: use this.
🚀 Quick Start
1. Install the plugin
dsh plugin --profile web add github:qikairo7/dsh-gemini-pool
2. Sign in with Google
Open DSH Settings → Antigravity → click "+ Add Google Account" and authorize. Add as many as you like.
3. Done
Tick the models you want in the model selector and start chatting. Quota refresh and scheduling are automatic.
npm run pack:dist
# the package name carries the current version from package.json; install the file actually generated under dist/
dsh plugin --profile web add ./dist/dsh-gemini-pool-*.tgz
If your DSH does not support dsh plugin add, copy the package into $DSH_HOME/profiles/web/node_modules/ and add to cordis.patch.yml:
- insert:
- id: dsh-gemini-pool
name: dsh-gemini-pool
💧 Account Pool & Scheduling
Three strategies, one click to switch in Settings:
- Smart balancing (recommended): picks the account with the healthiest remaining quota
- Primary & backup: fixed primary account, automatic switch when its quota runs out
- Manual: lock to one account for debugging or dedicated runs
Credentials are stored in $DSH_HOME/storages/antigravity-pool-accounts.json, including access and refresh tokens. Keep that file private. Legacy single-account credentials migrate automatically on upgrade, so you do not have to sign in again.
🧊 Cooldown & Self-healing
An account that hits 429 enters exponential-backoff cooldown. Repeated failures disable it and hand it to a background probe that revives it once quota recovers. No manual steps.
| Parameter | Default | Description |
|---|---|---|
cooldownMs |
1 min | initial cooldown, doubling on each failure |
cooldownMaxMs |
1 hr | cooldown cap |
disableThreshold |
5 | consecutive failures before disable |
probeIntervalMs |
5 min | background probe interval, auto-revive on success |
Disabled accounts carry a red tag in Settings and a one-click "Re-enable" button. All of these parameters are adjustable in the "Cooldown & Recovery" section.
🤖 Models
Tick a model in Settings to enable it. Enabled models float to the top, each showing the highest available quota in the pool.
| Model | Quota pool |
|---|---|
| Gemini 3.8 / 3.7 / 3.6 / 3.5 Flash | Gemini |
| Gemini 3.1 Pro · Gemini 3.1 Flash Image (image gen) | Gemini |
| Gemini 3 Flash · Gemini 2.5 Pro / Flash | Gemini |
| Claude Opus 4.6 · Claude Sonnet 4.6 · GPT-OSS 120B | Claude & GPT |
Models in the same pool share the weekly and 5-hour quotas. Quota drains in proportion to token cost, so heavier models run out faster.
🔗 Fused providers (from dsh-codearts-auth)
This plugin fuses in the provider implementation of dsh-codearts-auth (by Jet, MIT). Installing this one plugin gives you all 10 provider routes below; there is no need to install it separately.
| Route | Platform | Quota source |
|---|---|---|
antigravity |
Google Antigravity / Cloud Code Assist | Your own Google AI Pro subscription |
codearts |
Huawei Cloud CodeArts | That platform's account quota |
buddy / workbuddy |
Tencent CodeBuddy / WorkBuddy | That platform's account quota |
lobsterai |
NetEase Youdao LobsterAI | That platform's account quota |
qoder |
Qoder | That platform's account quota |
trae |
ByteDance TRAE | That platform's account quota |
cline |
Cline | That platform's account quota |
loomy |
iFlytek Loomy | That platform's account quota |
raccoon |
SenseTime Raccoon | That platform's account quota |
The last 9 routes reuse dsh-codearts-auth's implementation for login, account pools, auto-renewal and credit lookup, from the Jet Hub panel in Settings. The Gemini account pool stays in the Antigravity panel; the two do not interfere.
One caveat: the Jet Hub model catalog also lists Gemini models (WorkBuddy international gemini-3.5-flash, Cline cline-free/gemini-3.8-flash, TRAE custom_model_gemini), but those go through third-party platform channels and draw on that platform's quota — not on the Google subscription quota used by the antigravity route.
The fused part loads in isolation: if the host does not provide the credentials / commands services it needs, only those 9 routes are dropped and antigravity is unaffected.
📄 License & Credits
MIT.
Built on dsh-antigravity by @LiZhenNet, with community contributions from @Lukeknow0, @miuzel, @grloper and @sereineele.
Also fuses the provider implementation of dsh-codearts-auth by Jet — the code under lib/vendor/codearts/ comes from that project (MIT); its license text is kept at lib/vendor/codearts/LICENSE. Thanks to Jet for the work; this plugin does not reimplement those 9 channels.
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.