All plugins

antigravity-duet

Autonomous background task queue (DAAK Duffy / Duet Do-For-You worker) with Human-in-the-Loop approval gates (duet_queue tool, /duffy and /duet commands), Ruflo multi-agent swarm orchestration (ruflo_swarm tool), and multi-model Antigravity CLI quota fallback worker (gemini-3.8-flash-high -> claude-sonnet-5-5-high -> gemini-3.1-pro-high -> claude-opus-5-5-high -> gpt-oss-120b-medium). Disclosure β€” when the optional background worker or the ruflo_swarm tool is used, the plugin runs the locally installed agy or ruflo CLI under its existing sign-in (counting against the user's subscription) with the Hermes process environment; the worker you start with `python3 -m daak_duffy worker` serves a token-protected dashboard on 127.0.0.1:8899; the plugin never reads, copies, links, or modifies any OAuth token files, keychains, or .env secrets.

benfiradAutomationv0.2.1Updated 1 hour ago

About

Autonomous background task queue (DAAK Duffy / Duet Do-For-You worker) with Human-in-the-Loop approval gates (duet_queue tool, /duffy and /duet commands), Ruflo multi-agent swarm orchestration (ruflo_swarm tool), and multi-model Antigravity CLI quota fallback worker (gemini-3.8-flash-high -> claude-sonnet-5-5-high -> gemini-3.1-pro-high -> claude-opus-5-5-high -> gpt-oss-120b-medium). Disclosure β€” when the optional background worker or the ruflo_swarm tool is used, the plugin runs the locally installed agy or ruflo CLI under its existing sign-in (counting against the user's subscription) with the Hermes process environment; the worker you start with `python3 -m daak_duffy worker` serves a token-protected dashboard on 127.0.0.1:8899; the plugin never reads, copies, links, or modifies any OAuth token files, keychains, or .env secrets.

πŸ¦† DAAK Duffy (Antigravity Duet)

7/24 Autonomous Background Worker, Human-in-the-Loop Task Queue & Ruflo Swarm Controller for Hermes Agent

Hermes Catalog
Antigravity
Zero API Cost
Human-in-the-Loop
License: MIT

Quick Start β€’ Architecture β€’ Features β€’ Multi-Model Pool β€’ Slash Commands β€’ Security & Hardening β€’ Disclosures


[!NOTE]
Primary Model Routing vs. Background Worker:
If you want to use the Google Antigravity CLI or subscription as Hermes's primary conversational LLM provider, install one of the three dedicated model providers in the catalog: antigravity-agy, antigravity-oauth, or antigravity-subscription-directsdk.

antigravity-duet (DAAK Duffy πŸ¦†) is purpose-built as an autonomous background execution worker, human-in-the-loop task queue, and multi-agent swarm orchestrator.


πŸ›οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 Hermes Agent Operator Surfaces                         β”‚
β”‚    (CLI Terminal β€’ Desktop App β€’ WhatsApp β€’ Telegram β€’ Discord)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚                                 β”‚
   User: /duffy add <task>               Model Agent: duet_queue(add)
                   β”‚                                 β”‚
                   β–Ό                                 β–Ό
            [PENDING (Runnable)]         [AWAITING_APPROVAL (Locked)]
                   β”‚                                 β”‚
                   β”‚                 Human Operator confirms:
                   β”‚                 /duffy approve <id> or Web UI
                   β”‚                                 β”‚
                   β”‚                                 β–Ό
                   └──────────────► [APPROVED] β—„β”€β”€β”€β”€β”€β”˜
                                       β”‚
                                       β–Ό
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚       DAAK Duffy Worker Engine        β”‚
                   β”‚        (python3 -m daak_duffy)        β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β–Ό                                               β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Multi-Model agy Pool   β”‚                     β”‚  Ruflo Multi-Agent     β”‚
   β”‚  (Automatic Failover)  β”‚                     β”‚   Swarm Orchestration  β”‚
   β”‚ β€’ gemini-3.8-flash     β”‚                     β”‚ β€’ Coder & Researcher   β”‚
   β”‚ β€’ claude-sonnet-5.5    β”‚                     β”‚ β€’ Tester & Reviewer    β”‚
   β”‚ β€’ gemini-3.1-pro       β”‚                     β”‚ β€’ AgentDB Vector Memoryβ”‚
   β”‚ β€’ claude-opus-5.5      β”‚                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Core Features

| Feature | Description |
| :--- | :--- |
| πŸ¦† DAAK Duffy Background Queue | Asynchronous execution of long-running tasks without blocking your active Hermes session. Backed by SQLite WAL in $HERMES_HOME/plugin-data/antigravity-duet/duet.db. |
| πŸ›‘οΈ True Human-in-the-Loop Safety | Tasks created by AI agents are placed in awaiting_approval. Agents cannot self-approve; only the operator can mark tasks approved. Sensitive commands pause for approval before executing. |
| ⚑ Multi-Model Quota Failover | Executes tasks via the official Google Antigravity CLI (agy) with zero API token cost, seamlessly cascading between Gemini 3.8 Flash, Claude 3.5/5.5 Sonnet, Gemini Pro, and Claude Opus on rate limits. |
| 🐝 Ruflo Swarm Orchestration | Spawn, coordinate, and inspect specialized Ruflo sub-agents (coder, researcher, reviewer, tester, planner, security-architect) and query AgentDB vector memory. |
| πŸ”’ Hardened Web Dashboard | Local dashboard with Host header validation (127.0.0.1 / localhost), Origin protection, and launch tokens stored with 0600 permissions. |
| πŸ–₯️ macOS Companion App | Includes Swift source code (macos-companion/) for a native menu-bar status icon and agent roster. |


⚑ Multi-Model Subscription Fallback Pool

When executing background tasks, Duffy runs through agy across your active Antigravity subscription tier with automatic failover on RESOURCE_EXHAUSTED or Individual quota reached:

[gemini-3.8-flash-high] ──► [claude-sonnet-5-5-high] ──► [gemini-3.8-flash-medium]
          β”‚
          └──► [gemini-3.1-pro-high] ──► [claude-opus-5-5-high] ──► [gpt-oss-120b]
  • Zero API Key Cost: Uses your existing local Antigravity subscription session.
  • Confined Execution: Worker tasks execute with --no-tools and --disable-slash-commands to prevent unauthorized side-effects outside operator view.

πŸš€ Quick Start

1. Install Plugin

hermes plugins install https://github.com/benfirad/hermes-plugin-antigravity-duet

Or once available directly in the Hermes Plugin Catalog:

hermes plugins install antigravity-duet

2. Verify Installation

hermes plugins doctor antigravity-duet

3. Launch Background Worker & Dashboard (Optional Standalone Service)

python3 -m daak_duffy worker

Output:

DAAK Duffy Worker & Dashboard listening on http://127.0.0.1:8899/?token=4a7c...
Security token stored with 0600 permissions in ~/.hermes/plugin-data/antigravity-duet/.dashboard_token

πŸ’» Slash Commands & Usage

Use the /duffy (or /duet) command in any Hermes interface:

# Enqueue a background task directly as the operator (runnable)
/duffy add Analyze repository dependencies, identify security gaps and draft upgrade plan

# View recent queue items and statuses
/duffy list

# Inspect detailed task progress, output summary, and pending approvals
/duffy show 1

# Approve a task paused at a Human-in-the-Loop gate (makes runnable)
/duffy approve 1

# Reject or cancel a task
/duffy reject 1

# Re-queue a failed task
/duffy retry 1

# Check Ruflo multi-agent swarm status and active sub-agents
/duffy swarm

Agent Tool (duet_queue)

Model agents in Hermes can interact with the queue using the duet_queue tool:

  • action: "add" β€” Enqueues a new background task. Always enqueued as awaiting_approval to ensure human operator consent.
  • action: "list" β€” Queries recent tasks and execution states.
  • action: "show" β€” Retrieves task details and logs.
  • (Note: approve and retry actions are omitted from the agent's tool schema so the agent cannot approve its own tasks).

Agent Tool (ruflo_swarm)

Orchestrate Ruflo multi-agent swarms:

  • action: "status" β€” Check swarm health and worker topology.
  • action: "agent_spawn" β€” Launch specialized workers (coder, researcher, reviewer, tester).
  • action: "swarm_start" β€” Start an objective-driven multi-agent swarm.
  • action: "memory_search" β€” Query AgentDB semantic vector memory.

πŸ”’ Security & HITL Approval Contract

  1. Strict Human Gate: Any task enqueued by an autonomous model agent enters the queue in awaiting_approval. It will not execute until an operator explicitly runs /duffy approve <id> or clicks Approve in the dashboard.
  2. Dashboard Host & CSRF Protection: The local HTTP dashboard refuses requests with non-loopback Host headers and verifies Origin to prevent malicious cross-origin website attacks.
  3. Launch Token (0600): Every worker launch generates a cryptographic token saved with 0600 permissions ($HERMES_HOME/plugin-data/antigravity-duet/.dashboard_token). All GET and POST endpoints require this token.
  4. Sandboxed Data Storage: All state, SQLite WAL databases, and workspaces are isolated in $HERMES_HOME/plugin-data/antigravity-duet/.

πŸ“‹ Hermes Catalog Disclosures

  • Official CLI Subprocesses (Rule 11 & 12): When the optional background worker or Ruflo swarm tool is invoked, the plugin executes the user's locally installed agy or ruflo binary under its existing authentication. Usage counts against the user's Antigravity/Gemini subscription.
  • Zero Credential Store Access (Rule 13): The plugin never reads, copies, symlinks, or modifies any OAuth token files, OS keychains, or ~/.hermes/.env secrets.
  • Respects Approvals: Model agents cannot self-approve tasks. Sensitive side-effects strictly require operator intervention.

πŸ“œ License

MIT Β© benfirad

README from the reviewed commit b68fe4b; it updates when the author re-pins.