## File: README.md # Antigravity Cockpit [English](README.en.md) · 简体中文 [](https://open-vsx.org/extension/jlcodes/antigravity-cockpit) [](https://open-vsx.org/extension/jlcodes/antigravity-cockpit) [](https://github.com/jlcodes99/vscode-antigravity-cockpit) [](https://github.com/jlcodes99/vscode-antigravity-cockpit/issues) [](https://github.com/jlcodes99/vscode-antigravity-cockpit) VS Code 扩展,用于监控 Google Antigravity AI 模型配额。 **功能**:Webview 仪表盘 · QuickPick 模式 · 配额分组 · 自动分组 · 重命名 · 卡片视图 · 拖拽排序 · 状态栏监控 · 阈值通知 · 隐私模式 **语言**:跟随 VS Code 语言设置,支持 16 种语言 🇺🇸 English · 🇨🇳 简体中文 · 繁體中文 · 🇯🇵 日本語 · 🇩🇪 Deutsch · 🇪🇸 Español · 🇫🇷 Français · 🇮🇹 Italiano · 🇰🇷 한국어 · 🇧🇷 Português · 🇷🇺 Русский · 🇹🇷 Türkçe · 🇵🇱 Polski · 🇨🇿 Čeština · 🇸🇦 العربية · 🇻🇳 Tiếng Việt --- ## 功能概览 ### 显示模式 提供两种显示模式,可在设置中切换 (`agCockpit.displayMode`): #### Webview 仪表盘 - **卡片视图**:卡片布局展示模型配额 - **分组模式**:按配额池聚合模型,显示分组配额 - **非分组模式**:显示单个模型配额 - **拖拽排序**:拖动卡片调整显示顺序 - **自动分组**:根据配额池自动归类模型 #### QuickPick 模式 使用 VS Code 原生 QuickPick API,适用于: - Webview 无法加载的环境 - 偏好键盘操作的用户 - 需要快速查看配额 功能: - 支持分组 / 非分组模式 - 标题栏按钮:刷新、切换分组、打开日志、设置、切换到 Webview - 置顶模型到状态栏 - 重命名模型和分组 --- ### 状态栏 显示当前监控模型的配额状态。支持 6 种格式: | 格式 | 示例 | |------|------| | 仅图标 | `🚀` | | 仅状态点 | `🟢` / `🟡` / `🔴` | | 仅百分比 | `95%` | | 状态点 + 百分比 | `🟢 95%` | | 名称 + 百分比 | `Sonnet: 95%` | | 完整显示 | `🟢 Sonnet: 95%` | - **多模型置顶**:可同时监控多个模型 - **自动监控**:未指定模型时,自动显示剩余配额最低的模型 --- ### 配额显示 每个模型 / 分组显示: - **剩余配额百分比** - **倒计时**:如 `4h 40m` - **重置时间**:如 `15:16` - **进度条**:可视化剩余配额 --- ### 配额来源(本地 / 授权) 支持两种配额来源,可在面板右上角随时切换: - **本地监控**:读取本地 Antigravity 客户端进程,更稳定但需要客户端运行 - **授权监控**:通过授权访问远端接口获取配额,不依赖本地进程,适合 API 中转或无客户端场景 - **多账号授权**:授权监控支持多个账号,支持切换当前账号与状态展示 - **切换提示**:切换过程中会显示加载/超时提示,网络异常时可切回本地 --- ### 模型能力提示 悬停模型名称查看: - 支持的输入类型(文本、图片、视频等) - 上下文窗口大小 - 其他能力标记 --- ### 分组功能 - **按配额池分组**:共享配额池的模型自动或手动归类 - **自定义分组名称**:点击编辑图标重命名 - **分组排序**:拖拽调整分组顺序 - **分组置顶**:将分组固定到状态栏 --- ### 设置面板 通过仪表盘右上角齿轮图标打开,可配置: - 状态栏显示格式 - 警告阈值(黄色) - 危险阈值(红色) - 视图模式(卡片 / 列表) - 通知开关 --- ### 用户资料面板 显示: - 订阅等级 - 用户 ID - 可折叠,隐私数据可脱敏 --- ### 通知 当模型配额低于警告阈值或耗尽时发送通知。可在设置中禁用。 --- ## 使用 1. **打开**: - 点击状态栏图标 - 或 `Ctrl/Cmd+Shift+Q` - 或命令面板运行 `Antigravity Cockpit: Open Dashboard` 2. **刷新**:点击刷新按钮或 `Ctrl/Cmd+Shift+R`(仪表盘激活时) 3. **故障排查**: - "Systems Offline" 时点击 **Retry Connection** - 点击 **Open Logs** 查看调试日志(授权请求会显示完整 URL 以便区分域名) --- --- ### 自动唤醒 (Auto Wake-up) **NEW** 🔥 设置定时任务,提前唤醒 AI 模型,触发配额重置周期。 - **灵活调度**:支持每天、每周、间隔循环和高级 Crontab 模式 - **多模型支持**:同时唤醒多个模型 - **多账号授权**:支持多个账号授权、切换当前账号、查看账号状态 - **账号管理**:新增授权管理弹窗,可重新授权或移除账号 - **安全保障**:凭证加密存储于 VS Code Secret Storage,本地运行 - **历史记录**:查看详细的触发日志和 AI 响应 - **使用场景**:上班前自动唤醒,利用闲置时间跑完重置 CD --- ## 配置项 | 配置 | 默认值 | 说明 | |------|--------|------| | `agCockpit.displayMode` | `webview` | 显示模式:`webview` / `quickpick` | | `agCockpit.refreshInterval` | `120` | 刷新间隔(秒,10-3600) | | `agCockpit.statusBarFormat` | `standard` | 状态栏格式 | | `agCockpit.groupingEnabled` | `true` | 启用分组模式 | | `agCockpit.warningThreshold` | `30` | 警告阈值(%) | | `agCockpit.criticalThreshold` | `10` | 危险阈值(%) | | `agCockpit.notificationEnabled` | `true` | 启用通知 | | `agCockpit.pinnedModels` | `[]` | 状态栏置顶模型 | | `agCockpit.pinnedGroups` | `[]` | 状态栏置顶分组 | --- ## 安装 ### Open VSX 市场 1. `Cmd/Ctrl+Shift+X` 打开扩展面板 2. 搜索 `Antigravity Cockpit` 3. 点击安装 ### VSIX 文件 ```bash code --install-extension antigravity-cockpit-x.y.z.vsix ``` --- ## 从源码构建 ```bash # 克隆仓库 git clone https://github.com/jlcodes99/vscode-antigravity-cockpit.git cd vscode-antigravity-cockpit # 安装依赖 npm install # 编译 npm run compile # 打包 npm run package ``` 要求:Node.js v18+, npm v9+ --- ## 更新日志 - [CHANGELOG.md](CHANGELOG.md)(英文) - [CHANGELOG.zh-CN.md](CHANGELOG.zh-CN.md)(中文) --- ## 致谢 - 本项目最初的进程检测逻辑参考了 [Antigravity Quota](https://github.com/Henrik-3/AntigravityQuota)。 - [Antigravity Quota](https://github.com/Henrik-3/AntigravityQuota) 的进程检测逻辑源自 [AntigravityQuotaWatcher](https://github.com/wusimpl/AntigravityQuotaWatcher)。 感谢以上项目作者的开源贡献!如果这些项目对你有帮助,也请给他们点个 ⭐ Star 支持一下! --- ## 支持 - ⭐ [GitHub Star](https://github.com/jlcodes99/vscode-antigravity-cockpit) - 💬 [反馈问题](https://github.com/jlcodes99/vscode-antigravity-cockpit/issues) --- ## 💬 交流群 QQ交流群 或者加我微信 拉微信群 | QQ 群 | 微信(个人) | | :---: | :---: | | | | --- ## ☕ 请作者喝杯咖啡 如果这个插件对你有帮助,欢迎请作者喝杯咖啡!你的支持是我持续更新的最大动力 ❤️ [](docs/DONATE.md) --- ## Star History [](https://star-history.com/#jlcodes99/vscode-antigravity-cockpit&Date) --- ## 许可证 [MIT](LICENSE) --- ## 免责声明 本项目仅供个人学习和研究使用。使用本项目即表示您同意: - 不将本项目用于任何商业用途 - 承担使用本项目的所有风险和责任 - 遵守相关服务条款和法律法规 项目作者对因使用本项目而产生的任何直接或间接损失不承担责任。 --- ## File: docs/DONATE.en.md # ☕ Support this Project If you find this project useful, you can support its development by making a donation. Your support is greatly appreciated! ❤️ --- ## 💰 Crypto Donation - **ETH Address**: `0xc75d68fe59e4b44904b1CAa1Da4FDfEddD780aef` - **SOLANA Address**: `6yNHzh6e3LLbYrJZg7ayhNZyCKazQZTTYWnfz9i87Zeo` --- ## 🙏 Acknowledgments Every bit of support motivates me to keep improving this project. Thank you for your generosity! --- ## 📝 Note - Donations are completely voluntary and do not affect your ability to use any features of this project. - If you have any questions or suggestions, please feel free to give feedback via [GitHub Issues](https://github.com/jlcodes99/vscode-antigravity-cockpit/issues). --- ## File: docs/DONATE.md # ☕ 赞助项目 感谢您使用 **Antigravity Cockpit**! 如果这个项目对您有帮助,欢迎通过以下方式赞助项目的持续开发和维护: --- ## 💝 赞助方式 ### 支付宝 ### 微信支付 ### 💰 Crypto Donation - **ETH Address**: `0xc75d68fe59e4b44904b1CAa1Da4FDfEddD780aef` - **SOLANA Address**: `6yNHzh6e3LLbYrJZg7ayhNZyCKazQZTTYWnfz9i87Zeo` --- ## 🙏 致谢 您的每一份支持都是对开源项目最大的鼓励! 无论金额大小,都代表着您对这个项目的认可。感谢您的慷慨! --- ## 📝 说明 - 赞助完全自愿,不影响您使用本项目的任何功能 - 如有任何问题或建议,欢迎通过 [GitHub Issues](https://github.com/jlcodes99/vscode-antigravity-cockpit/issues) 反馈 --- ## File: docs/PUBLISH.md # 自动发布到 Open VSX Registry ## � 快速发布(推荐) 使用一键发布脚本,自动完成编译、打包、发布全流程: ```bash # 方式 1: 使用当前版本号发布(package.json 中的版本) npm run release # 方式 2: 更新版本号并发布 npm run release 2.0.3 ``` **脚本会自动执行:** 1. ✅ 清理旧的构建产物 2. ✅ 运行 lint 检查 3. ✅ 编译生产版本 4. ✅ 打包 VSIX 5. ✅ 创建 Git tag 6. ✅ 推送到 GitHub 7. ✅ 触发 GitHub Actions 自动发布 --- ## 📦 完整发布流程 ### 步骤 1: 准备发布 ```bash # 1. 确保所有改动已提交 git status # 2. 更新 CHANGELOG(重要!) # 编辑 CHANGELOG.md 和 CHANGELOG.zh-CN.md # 添加新版本的更新内容 # 3. 提交 CHANGELOG git add CHANGELOG*.md git commit -m "docs: update changelog for v2.0.3" ``` ### 步骤 2: 执行发布 ```bash # 使用发布脚本(推荐) npm run release 2.0.3 # 或者手动执行 ./scripts/release.sh 2.0.3 ``` ### 步骤 3: 验证发布 1. **查看 GitHub Actions 进度** - 访问: https://github.com/jlcodes99/vscode-antigravity-cockpit/actions - 确认 "Publish to Open VSX Registry" 和 "Release VSIX" 工作流成功 2. **检查 GitHub Release** - 访问: https://github.com/jlcodes99/vscode-antigravity-cockpit/releases - 确认新版本已发布,VSIX 包已上传 3. **验证 Open VSX** - 访问: https://open-vsx.org/extension/jlcodes/antigravity-cockpit - 确认新版本已上线 --- ## 🔧 自动化配置 ### Git Hooks 项目已配置 Git hooks,在推送 tag 前自动检查: - **pre-push hook**: 推送 tag 时检查 VSIX 包是否存在 - **自动安装**: 运行 `npm install` 时自动安装 hooks 手动安装 hooks: ```bash npm run postinstall # 或 bash scripts/install-hooks.sh ``` ### GitHub Actions 配置了两个自动化工作流: 1. **publish-ovsx.yml**: 发布到 Open VSX Registry - 触发条件: 推送 `v*` tag - 执行步骤: 编译 → 打包 → 发布到 Open VSX 2. **release.yml**: 创建 GitHub Release - 触发条件: 推送 `v*` tag - 执行步骤: 编译 → 打包 → 上传 VSIX 到 Release ### GitHub Secrets 已配置的 Secret: - `OVSX_TOKEN`: Open VSX Registry 的 Personal Access Token --- ## 📋 发布前检查清单 - [ ] 所有功能已测试通过 - [ ] 代码已通过 lint 检查 (`npm run lint`) - [ ] 更新 `CHANGELOG.md` 和 `CHANGELOG.zh-CN.md` - [ ] 更新 `package.json` 中的 `version` 字段(如果使用参数发布则自动更新) - [ ] 所有改动已提交到 Git - [ ] Tag 版本号与 `package.json` 一致 --- ## 🚀 版本号规范 遵循语义化版本(Semantic Versioning): - **主版本号(Major)**: 不兼容的 API 修改 - 例如: `v2.0.0` → `v3.0.0` - **次版本号(Minor)**: 向下兼容的功能性新增 - 例如: `v2.0.0` → `v2.1.0` - **修订号(Patch)**: 向下兼容的问题修正 - 例如: `v2.0.0` → `v2.0.1` --- ## 🛠️ 手动发布(备用方案) 如果自动化脚本失败,可以手动发布: ```bash # 1. 编译生产版本 npm run build:prod # 2. 打包 VSIX npm run package # 3. 创建 tag git tag v2.0.3 git push origin v2.0.3 # 4. 手动发布到 Open VSX(如果 GitHub Actions 失败) npx ovsx publish -p YOUR_TOKEN ``` --- ## 📝 注意事项 1. **Tag 必须以 `v` 开头**,例如 `v2.0.2` 2. **版本号必须唯一**,不能重复发布相同版本 3. **发布后无法撤回**,请谨慎操作 4. **VSIX 包不提交到 Git**,已在 `.gitignore` 中排除 5. **查看发布日志**: GitHub 仓库 → Actions 标签页 --- ## 🐛 故障排查 ### 问题: GitHub Actions 发布失败 **解决方案:** 1. 检查 `OVSX_TOKEN` 是否正确配置 2. 查看 Actions 日志,确认具体错误 3. 使用手动发布作为备用方案 ### 问题: VSIX 包未生成 **解决方案:** ```bash # 清理并重新构建 rm -rf out node_modules npm install npm run build:prod npm run package ``` ### 问题: Tag 已存在 **解决方案:** ```bash # 删除本地 tag git tag -d v2.0.3 # 删除远程 tag git push origin :refs/tags/v2.0.3 # 重新创建 tag git tag v2.0.3 git push origin v2.0.3 ``` --- ## File: docs/RELEASE_AUTOMATION.md # 🚀 自动化发布系统 本项目已配置完整的自动化发布流程,确保每次发布都能自动编译、打包并发布到各个平台。 ## ✨ 功能特性 - ✅ **一键发布**: 使用 `npm run release` 自动完成所有发布步骤 - ✅ **自动编译**: 发布前自动清理、lint、编译生产版本 - ✅ **自动打包**: 自动生成 VSIX 包 - ✅ **Git Hooks**: 推送 tag 前自动检查 VSIX 包是否存在 - ✅ **GitHub Actions**: 推送 tag 后自动发布到 Open VSX 和 GitHub Release - ✅ **版本管理**: 支持自动更新版本号或使用当前版本 ## 🎯 快速开始 ### 发布新版本 ```bash # 方式 1: 使用当前版本号发布 npm run release # 方式 2: 更新版本号并发布 npm run release 2.0.3 ``` ### 完整发布流程 1. **准备工作** ```bash # 确保所有改动已提交 git status # 更新 CHANGELOG # 编辑 CHANGELOG.md 和 CHANGELOG.zh-CN.md # 提交 CHANGELOG git add CHANGELOG*.md git commit -m "docs: update changelog for v2.0.3" ``` 2. **执行发布** ```bash npm run release 2.0.3 ``` 3. **验证发布** - 查看 [GitHub Actions](https://github.com/jlcodes99/vscode-antigravity-cockpit/actions) - 检查 [GitHub Release](https://github.com/jlcodes99/vscode-antigravity-cockpit/releases) - 验证 [Open VSX](https://open-vsx.org/extension/jlcodes/antigravity-cockpit) ## 📁 项目结构 ``` scripts/ ├── install-hooks.sh # 安装 Git hooks ├── pre-version.sh # 版本发布前的编译打包脚本 └── release.sh # 一键发布脚本 .github/workflows/ ├── publish-ovsx.yml # 自动发布到 Open VSX └── release.yml # 自动创建 GitHub Release ``` ## 🔧 工作原理 ### 本地发布流程 ``` npm run release ↓ 清理构建产物 (rm -rf out *.vsix) ↓ 运行 lint 检查 (npm run lint) ↓ 编译生产版本 (npm run build:prod) ↓ 打包 VSIX (npm run package) ↓ 创建 Git tag (git tag v2.0.x) ↓ 推送到 GitHub (git push --tags) ↓ 触发 GitHub Actions ``` ### GitHub Actions 流程 ``` 检测到 v* tag ↓ ┌─────────────────┬─────────────────┐ │ publish-ovsx │ release.yml │ │ │ │ │ 编译 → 打包 │ 编译 → 打包 │ │ ↓ │ ↓ │ │ 发布到 Open VSX │ 上传到 Release │ └─────────────────┴─────────────────┘ ``` ## 🛡️ Git Hooks ### pre-push Hook 在推送 tag 前自动检查: - ✅ 检测是否推送 `v*` tag - ✅ 验证 VSIX 包是否存在 - ✅ 版本号是否匹配 ### 安装 Hooks ```bash # 自动安装 (npm install 时) npm install # 手动安装 npm run postinstall ``` ## 📋 发布前检查清单 - [ ] 所有功能已测试通过 - [ ] 代码已通过 lint 检查 - [ ] 更新 CHANGELOG.md 和 CHANGELOG.zh-CN.md - [ ] 所有改动已提交到 Git - [ ] 版本号符合语义化版本规范 ## 🔍 故障排查 ### VSIX 包未生成 ```bash # 清理并重新构建 rm -rf out node_modules npm install npm run build:prod npm run package ``` ### Tag 已存在 ```bash # 删除本地和远程 tag git tag -d v2.0.3 git push origin :refs/tags/v2.0.3 # 重新创建 git tag v2.0.3 git push origin v2.0.3 ``` ### GitHub Actions 失败 1. 检查 Actions 日志 2. 验证 `OVSX_TOKEN` 配置 3. 使用手动发布: `npx ovsx publish -p YOUR_TOKEN` ## 📚 相关文档 - [完整发布文档](./PUBLISH.md) - [CHANGELOG](../CHANGELOG.md) - [CHANGELOG (中文)](../CHANGELOG.zh-CN.md) ## 💡 提示 - VSIX 包已在 `.gitignore` 中排除,不会提交到仓库 - 发布后无法撤回,请谨慎操作 - 版本号必须唯一,不能重复发布 - Tag 必须以 `v` 开头,例如 `v2.0.2`