WeKnora
Tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:qikairo7/dsh-gemini-pool
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness(DSH) 本身无法直连 Gemini。这个插件补上这条通路:通过 Google Antigravity / Cloud Code Assist 通道,把你已有的 Google AI Pro 订阅直接接入 DSH。不用另买 API key,订阅额度即用即扣。
Gemini 的强项正好落在编程场景上:多模态看图、前端与 UI 代码生成质量出色,还能生图做界面素材。装上插件后,这些能力按订阅额度直接在 DSH 里使用。
不止一个 Google 账号?全部加进来组成账号池:额度自动均衡、429 无感切换、坏账号自动冷却与探活恢复。设置页里每个账号一张卡片,每周与 5 小时额度实时可见。
装与不装,同一个 Google AI Pro 订阅是两种用法:
| 不装:订阅只在网页版 | 装:订阅接入 DSH | |
|---|---|---|
| Gemini 多模态(看图) | ❌ 编程时用不上 | ✅ 对话里直接丢图 |
| 前端 / UI 代码生成 | ❌ 网页版没有工程上下文 | ✅ 直接读懂你的项目 |
| 生图做界面素材 | ⚠️ 来回切换复制 | ✅ antigravity_image_generate 自动出图入库 |
| 多账号额度 | — | ✅ 全池调度,429 无感切换 |
| 额度情况 | ❌ 黑盒 | ✅ 每账号实时额度条 |
| 坏账号 | ❌ 反复撞死号 | ✅ 自动禁用 + 探活复活 |
主模型本身没有视觉能力(纯文本模型)时,贴图会由池内 Gemini 自动转述成文字回喂主模型,默认开启,详见「👁 无视觉主模型的看图旁路」。
使用本插件前,请先阅读下方的「⚠️ 封号风险」。
本插件是非官方第三方工具,通过复用 Antigravity 客户端身份访问 Google 接口。Google 已官方确认:使用第三方工具访问 Antigravity 资源属于服务条款违规,并已实施过大规模封禁(见 gemini-cli 官方公告,2026 年 2 月,付费用户亦被波及)。
处罚机制(Google 官方公布):
降低风险的三条建议:
使用本插件即表示你已理解并自愿接受上述风险。本项目与 Google 无任何关联。
也可以去中转站按 token 付费买 Gemini API——那是另一种取舍:
| API 中转站 | dsh-gemini-pool | |
|---|---|---|
| 钱 | 按 token 加价,站长赚差价 | 订阅费固定,用多少都是那份钱 |
| 模型真假 | ⚠️ 可能被悄悄降级,难察觉 | ✅ 直连官方端点,模型永远是真的 |
| 数据隐私 | ⚠️ 代码/对话/截图全部经过站长服务器 | ✅ 进程内直连 Google,不经过任何中间人 |
| 额度透明 | 只剩一个「站点余额」数字 | 每账号每周 / 5 小时实时进度条 |
| 跑路风险 | 站点跑路降质是常态,余额一夜清零 | 无第三方经手你的钱 |
中转站的真实优势只有一条:封号砸的是站长的号,你的账号干净。所以分界线很简单:怕账号出事、用量小、想试用,选中转站;有订阅、重隐私、要真模型、长期用,选这里。
环境要求:DSH 0.2.0-rc.2(当前验证版本)。运行 dsh --version 查看本机版本。
1. 安装插件
dsh plugin --profile web add github:qikairo7/dsh-gemini-pool
2. 登录 Google 账号
打开 DSH 设置 → Antigravity → 点击「+ 添加 Google 账号」完成授权。账号数量不限。
3. 完成
模型选择器里勾选要用的模型,开始对话。额度刷新、账号调度全部自动。
用的模型看不了图?也能贴图。图片会由池内 Gemini 自动转述给当前模型(默认开启,见「👁 无视觉主模型的看图旁路」)。
npm run pack:dist
# 包名带 package.json 里的当前版本号,按 dist/ 下实际生成的文件名安装
dsh plugin --profile web add ./dist/dsh-gemini-pool-*.tgz
若 DSH 版本不支持 dsh plugin add,手动复制包到 $DSH_HOME/profiles/web/node_modules/,并在 cordis.patch.yml 中添加:
- insert:
- id: dsh-gemini-pool
name: dsh-gemini-pool
插件自身不含任何代理代码:所有 Google 请求都是进程内 fetch,用宿主装好的全局 HTTP 通路。宿主只在启动时从 harness home 的 .env 读取 HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY(这几个名字写在其它任何位置的 .env 里会被宿主直接拒绝),并据此为插件装好代理。
⚠️ 「浏览器授权成功,但 DSH 里始终没有账号 / 刷新数据报无法获取」最常见的原因就是:代理文件放错了 home。
| 你用的是 | 代理文件写在这里 |
|---|---|
CLI(dsh ...) |
~/.dsh/.env |
| DSH Desktop | Windows:%APPDATA%\dsh-desktop\harness\.envmacOS: ~/Library/Application Support/dsh-desktop/harness/.env |
桌面版有自己的 harness home,不是 ~/.dsh;只放 ~/.dsh/.env 在桌面版上不会生效。(顺带:桌面版的 $DSH_HOME 就是上表那一格,账号文件在 <该目录>\storages\antigravity-pool-accounts.json。)
内容三行即可,端口按自己的代理改:
HTTP_PROXY=http://127.0.0.1:7897
HTTPS_PROXY=http://127.0.0.1:7897
NO_PROXY。UND_ERR_CONNECT_TIMEOUT 或 fetch failed,基本可以断定这条路没走代理。把 https://oauth2.googleapis.com/token 直连与走代理各请求一次即可确认(走通会返回 400,因为没带请求体)。import('undici') 不可用,而进程内 fetch 会自动跟随宿主装的代理。三种调度策略,设置页一键切换:
日常操作走对话命令:
| 命令 | 作用 |
|---|---|
/antigravity-login |
登录 Google 账号 |
/antigravity-quota |
查询各账号额度 |
/antigravity-doctor |
自检诊断(视觉旁路排障见下文) |
/antigravity-logout |
登出并移除账号凭证 |
凭证存储在 $DSH_HOME/storages/antigravity-pool-accounts.json(桌面版为 %APPDATA%\dsh-desktop\harness\storages\...),包含 access 与 refresh token,请妥善保管。旧版单账号凭证升级时自动迁移,无需重新登录。
账号遇到 429 后自动进入指数退避冷却。连续失败达到阈值时,插件禁用该账号并转入后台探活。额度恢复后账号自动回归,全程无需人工干预。
| 参数 | 默认值 | 说明 |
|---|---|---|
cooldownMs |
1 分钟 | 首次冷却时长,之后逐次翻倍 |
cooldownMaxMs |
1 小时 | 冷却时长上限 |
disableThreshold |
5 次 | 连续失败达到即禁用该账号 |
probeIntervalMs |
5 分钟 | 后台探活间隔,恢复即自动启用 |
被禁用的账号在设置页显示红色标签,可点「重新启用」一键恢复。以上参数均可在设置页「冷却与恢复」折叠区调整。
主模型不支持看图时(如纯文本模型),贴图由池内 Gemini 代看后以文字回喂,分两条路:
自动转述(主路径,无感):贴图后,插件把发往模型的请求里的图片替换为池内 Gemini 的文字转述。主模型直接读到文字描述,无需任何操作。同一张图只转述一次(进程内缓存);会话历史里反复出现的图不重复消耗额度。转述附带原始图片哈希。转述失败时自动退回宿主占位路径,不阻塞对话。
antigravity_read_image 工具(备用路径):想对某张图细看时,主模型可显式调用(参数为转述文本里的哈希前缀,也接受工作区内本地路径 / data: URL / http(s) 公网图片链接),实时重新转述。
数据流向:图片会经池内 Google 账号处理,与对话 / 生图同池同额度。
默认开启。关闭方式任选其一:
ANTIGRAVITY_VISION_ENABLED=false/antigravity/api/config 在 accounts.json 里配置 visionEnabled: false开关同时控制贴图准入与自动转述;关闭后,贴图行为恢复宿主原样。visionModel 指定代看模型;留空则自动挑选,设置页卡片可直接选择。
已知依赖:自动转述依赖宿主 llm/stream 事件、贴图准入依赖 resolveModelInfo 行为,宿主大版本升级后若贴图行为异常,需重审本节(当前在 DSH 0.2.0-rc.2 验证)。
排障:贴图后模型仍收到占位文本时,先运行 /antigravity-doctor,查看 visionBridge / visionShim 两行。两行显示 registered + installed 即为正常。服务端日志里,[Antigravity Pool Vision] 前缀的行记录桥的每一步判定(请求进入、模型判定、改写结果或放行原因)。贴图后一条前缀行都没有,说明事件没有到达桥。
设置页勾选即用,已勾选的模型自动置顶,每个模型实时显示池内最高可用额度。
| 模型 | 额度池 |
|---|---|
| Gemini 3.8 / 3.7 / 3.6 / 3.5 Flash | Gemini |
| Gemini 3.1 Pro · Gemini 3.1 Flash Image(生图) | Gemini |
| Gemini 3 Flash · Gemini 2.5 Pro / Flash | Gemini |
| Claude Opus 4.6 · Claude Sonnet 4.6 · GPT-OSS 120B | Claude & GPT |
同一额度池内共享每周与 5 小时额度;额度按 token 成本比例消耗,越重的模型消耗越快。
flowchart LR
subgraph HOST["DSH 宿主"]
LLM["llm/stream 请求流"]
SEL["模型选择器 / 设置页"]
end
subgraph PLUGIN["dsh-gemini-pool"]
CORE["插件主体<br/>命令与 API 路由"]
POOL["账号池管理<br/>调度 · 冷却 · 探活"]
VB["视觉旁路桥<br/>图片转文字"]
TOOLS["工具集<br/>read_image · image_generate"]
end
STORE[("凭证存储<br/>antigravity-pool-accounts.json")]
GOOGLE["Google Antigravity API"]
SEL --> CORE
LLM --> VB --> POOL
CORE --> POOL
TOOLS --> GOOGLE
POOL --> GOOGLE
POOL --> STORE
请求经宿主进入插件:视觉旁路桥改写无视觉模型的图片请求,账号池按调度策略选号并处理 429 冷却与探活,全部调用进程内直达 Google 官方端点。
欢迎 Issue 与 PR,用法与想法也可以到 讨论区 交流。提交前请先跑通本地检查:
npm install # 安装依赖
npm run check # 语法检查 + 测试
本项目基于 MIT License 授权。
基于 @LiZhenNet 的 dsh-antigravity 构建,感谢 @Lukeknow0、@miuzel、@grloper、@sereineele 的社区贡献。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: image-description、image-generation、model-pool、multimodal、vision。