π¦ DAAK Duffy (Antigravity Duet)
7/24 Autonomous Background Worker, Human-in-the-Loop Task Queue & Ruflo Swarm Controller for Hermes Agent
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, orantigravity-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-toolsand--disable-slash-commandsto 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 asawaiting_approvalto ensure human operator consent.action: "list"β Queries recent tasks and execution states.action: "show"β Retrieves task details and logs.- (Note:
approveandretryactions 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
- 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. - Dashboard Host & CSRF Protection: The local HTTP dashboard refuses requests with non-loopback
Hostheaders and verifiesOriginto prevent malicious cross-origin website attacks. - Launch Token (0600): Every worker launch generates a cryptographic token saved with
0600permissions ($HERMES_HOME/plugin-data/antigravity-duet/.dashboard_token). All GET and POST endpoints require this token. - 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
agyorruflobinary 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/.envsecrets. - Respects Approvals: Model agents cannot self-approve tasks. Sensitive side-effects strictly require operator intervention.
π License
README from the reviewed commit b68fe4b; it updates when the author re-pins.

benfirad