
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-agy-link
Advanced tools
Google Antigravity (agy CLI) models for DeepSeek Harness — stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.
DeepSeek Harness × Google Antigravity — 多账号智能池化与官方 agy CLI 驱动桥接 / Multi-Account Pool & Native agy CLI Bridge for DSH
🌐 Language / 语言: 中文 · English · Português (Brasil) · Español · English (standalone)
把 Google Antigravity 模型接入 DeepSeek Harness(DSH) —— 支持多账号智能池化轮换、官方多 Bucket 配额监控(5小时滚动 + 7天周额度 + Argon 独立周池)、浏览器免粘贴一键登录与浅色/深色主题高对比度自适应,由官方未修改的 agy CLI 驱动,完整支持流式输出、思考折叠(thinking)、原生工具卡片与精确 token 用量。
🚨 【国内用户核心前置:必须开启系统代理 / TUN 模式!】
Google Antigravity 服务及 OAuth 登录需要直连 Google 海外官方服务器(
oauth2.googleapis.com、cloudcode-pa.googleapis.com等)。
- 推荐方式(最稳妥):开启代理工具(Clash / Surge / v2rayA / Sing-box / Loon 等)的 TUN 虚拟网卡模式(或系统代理全局接管),确保终端命令、后台 Node.js 进程及浏览器均能顺畅访问 Google 网络。
- 终端代理环境变量:若终端未被代理自动接管,启动 DSH 或运行命令前请在终端中执行:
(注:端口export HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 ALL_PROXY=socks5://127.0.0.1:78907890请替换为你本地代理软件的实际端口)- GUI 单账号独立代理:进入 DSH「设置 → Antigravity」或点击顶部
AGY徽标,点击卡片上的「🌐 代理」按钮,可为特定账号单独配置专属代理 URL(如http://127.0.0.1:7890),实现多账号不同 IP 出口隔离。
你拥有多个 Google Antigravity / Gemini 账号?dsh-agy-link 让多账号管理变得极致简单与自动化:
keyringAuth 传输证据精准分类,且粘性"需重新登录"隔离需二次确认,健康账号绝不会被误标。v1internal:retrieveUserQuotaSummary 接口,同时展示 5小时滚动额度、7天周额度,以及付费 Pro/Ultra 账号专属的 Gemini 4 Argon 独立周额度池(不占用普通 Gemini 池)。scutil / Windows 注册表 / Linux gsettings)。| 能力 | 说明 |
|---|---|
| 🎨 官方专属矢量 Logo | 36×36 高质感纯矢量微标(assets/icon.svg),透明底自适应深浅主题;设置左侧导航菜单([role="dialog"] nav)动态替换系统齿轮,呈现专属品牌标识 |
| 🧩 设置与插件面板统一 | 在 DSH「设置 → 插件」详情页直接内嵌 Antigravity 完整控制台,账号池、配额监控与代理配置一站式操作,列表保持轻量整洁 |
| 🚀 副账号并发租约 | Windows 凭据槽支持同一副账号多会话共享租约并发运行,消除单账号多任务排队饥饿;仅在跨账号身份切换时串行交接 |
| ⚡ 原生上下文缓存与真实计量 | 完整映射 Google Gemini 原生上下文缓存协议(cache_read_tokens),精准追踪缓存读取与物理上下文占用,深度适配 1M 超长上下文 |
| 👥 多账号池化轮换 | 支持主账号 + 多个备用账号;遇到 429 或配额耗尽自动平滑切换,模型族独立冷却,额度到期早的账号优先接班 |
| 🧠 抖动安全鉴权 (Jitter-Safe Auth) | 基于 agy 运行日志的 keyring 传输证据区分"网络抖动"与"真登出",抖动自动按可重试网络错误处理;粘性隔离需二次确认,杜绝误标"需重新登录" |
| 📊 官方多 Bucket 配额监控 | 实时拉取官方端点,同时呈现 5h 滚动额度、7d 周额度与 Argon 独立周池(付费 Pro/Ultra)多进度条与倒计时,单模型明细可展开 |
| 🔑 浏览器一键登录 | 点击添加账号自动唤起 Google 授权页,本地回环自动捕获,全程无需复制粘贴任何代码 |
| 🔀 手动切换当前账号 | 控制台「设为当前使用」按钮即刻钉住调度指针;顶部徽标始终显示服务器实际调度的账号 |
| 🎨 多主题高对比 UI | 浅色、深色主题自适应变色,纯矢量 SVG 图标(无 Emoji),字迹清晰不发暗 |
| 🌐 独立账号代理 | 每个账号支持独立配置 HTTP(S) 代理,隔离 IP 出口;亦可自动探测系统代理 |
| 🔌 原生模型路由 | 在 DSH 模型配置中注册 antigravity 提供方,/model 选择器随心切换 Gemini / Claude / GPT-OSS / Argon |
| 🌊 完整流式映射 | 文本、思考过程(thinking turn)与工具活动均无损映射到 DSH 原生流协议 |
| 🃏 原生工具卡片 | agy 执行的终端命令(run_command)、文件修改(inline diff)均以 DSH 原生卡片渲染 |
| 🔗 会话上下文保真 | DSH 会话与 agy 原生会话绑定(--conversation),由 agy 管理完整历史,每轮仅发送增量 |
| 🎯 DSH 目标与计划集成 | 长任务自动携带 DSH goal / plan 上下文,工具续跑不丢任务状态 |
| 📊 精确 Token 统计 | 输入 / 输出 / 思考 / 缓存读取 token 完整计入 DSH 用量统计,全面适配 1M 上下文 |
| 🎛 顶部控制台徽标 | 顶部栏 AGY (n) 徽标一键弹出控制台,直观查看账号池、配额进度条与代理状态 |
| 🖼 图片多模态 | 支持多模态图片传入,自动落盘本地媒体目录并通过 --add-dir 安全授权给 agy 查看 |
🤝 agy_ask 辅助工具 | 允许任意 DSH 模型把单次任务委托给 Antigravity 模型(AskAntigravity 协作模式) |
⌨️ /agy 快捷命令族 | status / pool / auth / models / mode / effort / workspace / goal / session / enable-account / disable-account / clear / doctor / help |
在安装本插件前,请确保具备以下环境:
| 前置项 | 说明 / 验证方式 |
|---|---|
| 1. 系统网络代理 | 【必须开启】(推荐开启 Clash / Surge / v2rayA 的 TUN 模式或设置 HTTPS_PROXY 环境变量,确保可流畅连接 Google 服务) |
| 2. DeepSeek Harness (DSH) | 你正在使用的 DSH 客户端;dsh --version 可验证 |
| 3. Node.js ≥ 24 | DSH 依赖环境;node --version 验证 |
4. Google Antigravity agy CLI | 按 Google 官方安装文档 安装(支持 macOS / Linux / Windows)。agy --version 能输出版本号即表示安装成功 |
💡 提示:即使你的 agy 尚未登录,也可以直接安装插件!在 DSH 界面顶部点击
AGY徽标或进入「设置 → Antigravity」,点击「➕ 添加账号」即可直接在浏览器中完成登录。
# 0. 确保系统代理 / TUN 模式已开启(国内网络必需):
export HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890
# 1. 安装插件(npm 官方包,无需编译构建):
dsh plugin --profile web add dsh-agy-link
# 升级到最新版:
# dsh plugin --profile web add dsh-agy-link@latest --registry https://registry.npmjs.org
# 2. 启动 DSH Web GUI,在输入框中检查状态:
# /agy status
# 3. 登录与添加账号:
# 方式 A:点击顶部导航栏的 "AGY (n)" 徽标,点击 "➕ 添加账号",浏览器一键登录;
# 方式 B:输入框执行 /agy auth 为主账号发起登录。
# 4. 在 /model 选择器中挑选 Antigravity 模型,立即开启对话!
插件配置可在 /plugin、设置面板或环境变量中灵活调整:
| 键名 | 环境变量 | 默认值 | 作用说明 |
|---|---|---|---|
enabled | DSH_AGY_ENABLED | true | 插件主开关 |
agyBin | DSH_AGY_BIN | 自动探测 | 显式指定 agy 二进制路径 |
permissionMode | DSH_AGY_MODE | skip | 权限模式:skip(无人值守执行)/ plan / accept-edits |
defaultModel | DSH_AGY_DEFAULT_MODEL | (agy 默认) | 默认模型 slug |
defaultEffort | DSH_AGY_DEFAULT_EFFORT | (模型默认) | 思考预算:low / medium / high |
hiddenModels | DSH_AGY_HIDDEN_MODELS | [] | 在 /model 选择器中隐藏的模型 slug 列表(黑名单语义,新模型默认可见;建议直接在设置面板"模型显示"中点选管理) |
timeoutMs | DSH_AGY_TIMEOUT_MS | 600000 | 单轮活跃看门狗超时(毫秒) |
longToolIdleMinutes | DSH_AGY_LONG_TOOL_IDLE_MINUTES | 240 | 存在未完成工具步骤(ACTIVE)时的空闲预算(分钟);0 = 不抬高预算,卡死的工具按 timeoutMs 快速失败 |
workspaceRoot | DSH_AGY_WORKSPACE_ROOT | 会话 cwd | agy 工作区根目录(默认跟随当前会话工作区) |
suppressAgyAutoUpdate | DSH_AGY_SUPPRESS_AUTOUPDATE | Windows true,其他平台 false | 每次 spawn 前刷新 agy 的更新检查时间戳,阻断 --bg-updater 子进程链(Windows 闪窗根因)。关闭后 agy 恢复自动更新检查 |
agy -p --output-format stream-json 进程,解析 NDJSON 事件流。gemini:antigravity),插件因此以「身份级引用计数租约」接管该槽:同一授权的多个会话并行运行,只有账号身份切换才串行,且由最后一个持有者还原主账号凭据。v1internal:retrieveUserQuotaSummary,精准掌控每个账号的 5h 滚动削峰水位、7d 账号阶梯周额度,以及付费账号的 Argon 独立周池。答:这是 Windows 系统的控制台分配机制,完全良性,不会影响对话和模型功能。
agy.exe 控制台子进程建立流式通信。在 Windows 11 下,系统默认终端若被设为「Windows 终端 (Windows Terminal)」,Windows Terminal 会拦截后台控制台子进程的句柄分配并闪现弹窗(这是 Windows Terminal 已知的 OpenConsole 委托拦截机制)。除了上面那种控制台委托导致的闪窗,agy 自己还会在距上次更新检查满 15 分钟后派生一条 --bg-updater → agy --version 的子进程链,这条链由 agy 内部创建,会自行分配可见控制台,父进程的 windowsHide 和 AGY_CLI_DISABLE_AUTO_UPDATE=1 都来不及生效(这就是 Issue #49 实测确认的结论)。
0.4.66 起的处理方式:每次 spawn agy 之前,插件把 agy 更新检查的 fast-path 时间戳(<agy home>/last_check.timestamp)刷新为当前时间。agy 的检查逻辑是「距上次检查 < 15 分钟就直接跳过且不派生子进程」,于是这条可见窗口链根本不会被创建——对话、冷启动探测、模型选择器刷新、登录探测全部覆盖。
agy update 完全不受影响。suppressAgyAutoUpdate(环境变量 DSH_AGY_SUPPRESS_AUTOUPDATE)。Windows 上默认开启,其他平台默认关闭;设为 false 即回到 agy 原本的自动更新行为。%USERPROFILE%\.gemini\antigravity-cli\updater\update.lock 设为只读(attrib +R ...),agy 拿不到更新锁就会跳过检查。代价是手动 agy update 会报 update already in progress,需要先 attrib -R。本插件仅通过调用用户本地官方安装的未修改 agy CLI 进程进行交互。使用本插件需遵循 Google Antigravity 服务条款。
MIT License.
Bring Google Antigravity models into DeepSeek Harness (DSH) — featuring Multi-Account Pooling & Automatic Rotation, Official Multi-Bucket Quota Tracking (5h Rolling + 7d Weekly + Argon Weekly Pool), Zero-Paste In-GUI OAuth Login, and Theme-Adaptive High-Contrast UI, powered by the official unmodified agy CLI.
🚨 【Important: System Proxy / VPN / TUN Mode Required in Restricted Regions】
Google Antigravity services and Google OAuth require access to Google servers (
oauth2.googleapis.com,cloudcode-pa.googleapis.com, etc.).
- Recommended: Enable TUN mode / System Proxy in your VPN or proxy client (Clash, Surge, Sing-box, etc.) so that all terminal commands, Node.js background processes, and browser calls route through your proxy.
- Terminal Proxy Export: If your terminal does not inherit proxy automatically, export the environment variables before starting DSH:
export HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 ALL_PROXY=socks5://127.0.0.1:7890- Per-Account Dedicated Proxy: You can also configure a dedicated proxy URL per account directly in DSH Settings → Antigravity by clicking the "🌐 Proxy" button on the account card (e.g.
http://127.0.0.1:7890).
Have multiple Google Antigravity / Gemini accounts? dsh-agy-link makes multi-account orchestration seamless and automated:
keyringAuth transport evidence in agy's own run log, and sticky "needs re-login" quarantine requires a second confirmation, so healthy accounts are never falsely flagged.v1internal:retrieveUserQuotaSummary endpoint, providing real-time visibility for the 5-Hour Rolling Limit, the 7-Day Weekly Limit, and the Gemini 4 Argon weekly pool (paid Pro/Ultra accounts, billed separately from the plain Gemini pool).scutil / Windows registry / Linux gsettings).| Feature | Description |
|---|---|
| 🎨 Official Vector Logo | Clean 36×36 retina vector mark (assets/icon.svg) with transparent background; dynamically replaces fallback gear in DSH Settings sidebar ([role="dialog"] nav) |
| 🧩 Unified Settings & Plugin Console | Embedded Antigravity console directly in DSH Plugins settings; configure account pool, quotas, and proxies in one place while keeping list cards clean |
| 🚀 Secondary Account Parallel Leases | Windows credential slot allows concurrent sessions on the same account to share leases without queue starvation; serializes only for cross-account switches |
| ⚡ Native Context Caching & Token Metering | Native Google Gemini Prompt Caching (cache_read_tokens) forwarding; accurate cache read tracking and real prompt occupancy across 1M context windows |
| 👥 Multi-Account Pool | Primary + unlimited spare accounts with automatic Sequential Drain rotation upon rate limits; quota-expiry-first scheduling |
| 🧠 Jitter-Safe Auth | Distinguishes network jitter from a real sign-out via keyring transport evidence in agy's run log; sticky quarantine requires confirmation — no false "needs re-login" flags |
| 📊 Multi-Bucket Quota HUD | Real-time progress bars for the 5h rolling, 7d weekly, and Argon weekly (paid Pro/Ultra) pools with exact reset countdowns |
| 🔑 Zero-Paste Browser Login | Automatic browser-based Google OAuth login with loopback callback handler |
| 🔀 Manual Switch-Active | Pin the scheduler to any account from the console; the header badge always names the server-scheduled account |
| 🎨 Theme-Adaptive UI | Dynamic light/dark theme switching, pure SVG vector marks (no emojis), high contrast |
| 🌐 Per-Account Proxy | Dedicated HTTP(S) proxy per account slot, or auto-detected system proxy |
| 🔌 Native Model Routing | Registers antigravity provider in DSH; choose Gemini / Claude / GPT-OSS / Argon in /model picker |
| 🌊 Full Streaming Protocol | Native streaming for text, thinking turn annotations, and tool calls |
| 🃏 Native Tool UI Cards | Command runs and inline diffs render as clean, native DSH tool cards |
| 🔗 Session Continuity | Binds DSH sessions to native agy conversations (--conversation) for zero-redundancy context |
| 🎯 DSH Goal & Plan Integration | Long-running tasks carry DSH goal / plan context across tool continuations |
| 📊 Accurate Token Metering | Input, output, thinking, and cacheRead tokens are fully reported to DSH with 1M context support |
| 🎛 Top Header Console Badge | Click the AGY (n) badge in the header to instantly open the management console |
| 🖼 Multimodal Images | Stages images to local storage and passes safe absolute paths via --add-dir |
🤝 agy_ask Delegation | Allows other DSH models to delegate subtasks to Antigravity models |
⌨️ /agy Commands | Full command suite: status, pool, auth, models, mode, effort, workspace, goal, session, enable-account, disable-account, clear, doctor, help |
| Requirement | Details |
|---|---|
| 1. System Proxy / VPN | 【Required in restricted regions】 (TUN mode or HTTPS_PROXY environment variable to ensure Google endpoints are reachable) |
| 2. DeepSeek Harness (DSH) | Your current DSH environment (dsh --version) |
| 3. Node.js ≥ 24 | Required runtime (node --version) |
4. Google Antigravity agy CLI | Installed per Google's official guide. Verified with agy --version |
# 0. Ensure System Proxy / TUN mode is active (required for Google connectivity):
export HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890
# 1. Install plugin:
dsh plugin --profile web add dsh-agy-link
# Upgrade to latest:
# dsh plugin --profile web add dsh-agy-link@latest --registry https://registry.npmjs.org
# 2. Start DSH Web GUI, test status:
# /agy status
# 3. Add accounts:
# Click "AGY (n)" badge in the top header, click "➕ Add Account" and complete browser login.
# 4. Select an Antigravity model in /model and start chatting!
| Key | Environment Variable | Default | Description |
|---|---|---|---|
enabled | DSH_AGY_ENABLED | true | Master switch |
agyBin | DSH_AGY_BIN | auto-detected | Path to agy binary |
permissionMode | DSH_AGY_MODE | skip | skip (unattended execution) / plan / accept-edits |
defaultModel | DSH_AGY_DEFAULT_MODEL | (agy default) | Default model slug |
defaultEffort | DSH_AGY_DEFAULT_EFFORT | (model default) | Thinking budget: low / medium / high |
hiddenModels | DSH_AGY_HIDDEN_MODELS | [] | Model slugs hidden from the /model picker (deny-list, newly discovered models stay visible; manage them via the "Model visibility" row in the settings panel) |
timeoutMs | DSH_AGY_TIMEOUT_MS | 600000 | Activity watchdog timeout in milliseconds |
longToolIdleMinutes | DSH_AGY_LONG_TOOL_IDLE_MINUTES | 240 | Idle budget while a tool step is ACTIVE (minutes); 0 keeps the normal timeoutMs budget so wedged tools fail fast |
workspaceRoot | DSH_AGY_WORKSPACE_ROOT | session cwd | Working directory root |
suppressAgyAutoUpdate | DSH_AGY_SUPPRESS_AUTOUPDATE | true on Windows, false elsewhere | Refreshes agy's update-check timestamp before every spawn so its --bg-updater child chain (the Windows console-flash root cause) never starts. false restores agy's own auto-update checks |
See Headless permissions for a bounded reproduction, least-privilege read-rule validation, and process-versus-tool acceptance checks.
The plugin passes the selected permission mode to agy; it does not approve,
deny, or bypass permissions itself. In headless/print operation, agy can
automatically deny a tool request in plan or accept-edits. The raw tool
error is retained in /agy status; it is not proof of a human denial.
Do not assume undocumented wildcard semantics for either mode. Test the exact
agy version and command set in a scoped workspace. Choose skip only when
you explicitly accept unattended tool execution.
A: This is a cosmetic behavior of the Windows Console subsystem and is completely harmless.
agy.exe console child process for streaming. On Windows 11, if the system default terminal is set to "Windows Terminal", Windows Terminal intercepts the background console allocation and momentarily flashes an empty window (a known Windows Terminal OpenConsole delegation behavior).On top of the console-delegation flash above, agy itself spawns a
--bg-updater → agy --version child chain once its last update check is more
than 15 minutes old. That chain is created inside agy and allocates its own
visible console, so the parent's windowsHide and AGY_CLI_DISABLE_AUTO_UPDATE=1
both apply too late — the exact conclusion of the measurements recorded in issue #49.
Since 0.4.66 the plugin refreshes agy's fast-path timestamp
(<agy home>/last_check.timestamp) right before every spawn. agy skips the
check entirely when it is under 15 minutes old and spawns nothing, so the
visible window chain never starts — for turns, boot probes, model-picker
refreshes and login probes alike.
agy update still works normally.suppressAgyAutoUpdate (env DSH_AGY_SUPPRESS_AUTOUPDATE).
On by default on Windows, off elsewhere; set false to restore agy's own behaviour.%USERPROFILE%\.gemini\antigravity-cli\updater\update.lock read-only
(attrib +R ...). agy then fails to acquire the update lock and skips the
check — at the price of agy update reporting update already in progress
until you run attrib -R.This plugin operates strictly by invoking the official, unmodified agy CLI binary installed on your local system. Use of this plugin is subject to Google Antigravity's Terms of Service.
MIT License.
FAQs
Google Antigravity (agy CLI) models for DeepSeek Harness — stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.
The npm package dsh-agy-link receives a total of 1,210 weekly downloads. As such, dsh-agy-link popularity was classified as popular.
We found that dsh-agy-link demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.