核心用法
Antigravity Balance 是一款专为 Antigravity(及 Windsurf)用户设计的本地配额查询工具。其核心工作流程分为五步:首先自动检测本地运行的 language_server 进程(支持 macOS ARM/Intel、Linux、Windows 全平台),然后从进程参数中提取 --extension_server_port 和 --csrf_token,接着扫描邻近端口定位 HTTPS API 端点,再向 https://127.0.0.1:{port}/exa.language_server_pb.LanguageServerService/GetUserStatus 发送认证请求,最终以可视化进度条或结构化 JSON 格式展示用户层级、模型名称、剩余配额百分比及重置倒计时。
使用方式极为简洁,执行 node scripts/agquota.js 即可自动检测并输出结果;添加 --json 参数可获得机器可解析的结构化数据,便于集成到自动化监控脚本;-v 参数则开启详细调试模式,帮助排查连接问题。
显著优点
零外部依赖是最大亮点——仅使用 Node.js 内置的 https、、child_process、、util 模块,无需 npm install 即可运行,彻底规避了供应链攻击风险。全平台兼容设计周到,通过 process.platform 自动识别操作系统并调用对应的进程查询命令(macOS/Linux 用 ps aux,Windows 用 PowerShell)。输出体验优秀,彩色进度条直观展示配额状态(绿>50%、黄>20%、红≤20%),倒计时格式人性化。本地闭环通信确保敏感 token 和用量数据绝不外泄,全部流量限制在 127.0.0.1 回环接口。
潜在缺点与局限性
环境强依赖是首要限制:必须预先启动 Antigravity/Windsurf 且语言服务器进程需包含 --app_data_dir antigravity 参数标识,否则脚本直接报错退出。HTTPS 证书验证被禁用(rejectUnauthorized: false)虽为对接本地自签名证书的必要妥协,但理论上存在中间人攻击窗口,尽管实际风险因本地回环而极低。系统命令执行依赖 child_process.exec 调用 ps 或 powershell,虽命令硬编码无注入风险,但在严格受限的沙箱环境(如某些 CI/CD 容器)可能被安全策略拦截。无持久化功能,每次查询均为实时调用,无法历史趋势分析。平台进程名硬编码,若 Antigravity 更新更改二进制命名规则,脚本将失效。
适合的目标群体
- Antigravity/Windsurf 重度用户:需要频繁监控多模型配额消耗,避免关键时刻触顶
- 自动化工作流开发者:希望将配额检查集成到 CI/CD 或定时任务,利用
--json输出做阈值告警 - 本地开发环境管理员:统一管理团队成员的 AI 工具用量,优化资源分配
- 效率工具爱好者:偏好命令行交互,追求快速无干扰的信息获取
使用风险
性能层面:进程扫描和端口探测在系统负载高时可能超时(Windows 15s/macOS&Linux 5s),频繁调用会轻微增加 CPU 占用。依赖项风险:虽无外部 npm 包,但强绑定 Node.js 运行时版本,极旧版本可能缺失 util.parseArgs 等新 API。功能稳定性:依赖 Antigravity 内部 API 契约,官方更新可能破坏接口兼容性,需关注版本匹配。安全边界:rejectUnauthorized: false 和 child_process.exec 的组合在理论上扩大了攻击面,建议仅在可信本地环境使用,避免部署到共享服务器或容器平台。