feat: improve task execution, verification and packaging
Add execution incidents, action bursts and shared Flash history. Expose verification and Explorer settings with streamed check results. Support graceful cancellation, recording recovery and bundled UI resources. Add CI quality checks and clean up comments and documentation.
This commit is contained in:
1 parent
5ccf06d677
commit
67248c887e
289 files changed
+15883
-6919
No files matched your search
@@ -0,0 +1,268 @@
|
||||
{
|
||||
// ==============================================================================
|
||||
// β ARTEMIS Autonomous Agent & Framework Configuration
|
||||
// ==============================================================================
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// 1. Global Default Model (Applied to all sub-agents unless overridden below)
|
||||
// ------------------------------------------------------------------------------
|
||||
"default": {
|
||||
"provider": "google",
|
||||
"model": "gemini-3.8-flash",
|
||||
"thinking_level": "medium",
|
||||
"fallback": {
|
||||
"provider": "google",
|
||||
"model": "gemini-3.7-flash",
|
||||
"thinking_level": "medium"
|
||||
}
|
||||
},
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// 2. Ready-to-Use Presets (Switch easily in code or CLI)
|
||||
// ------------------------------------------------------------------------------
|
||||
"presets": {
|
||||
"gemini-flagship": {
|
||||
"provider": "google",
|
||||
"model": "gemini-3.8-flash",
|
||||
"fallback": { "provider": "google", "model": "gemini-3.7-flash" }
|
||||
},
|
||||
"gemini-flash": {
|
||||
"provider": "google",
|
||||
"model": "gemini-2.5-flash",
|
||||
"fallback": { "provider": "google", "model": "gemini-2.0-flash" }
|
||||
},
|
||||
"openai-gpt4o": {
|
||||
"provider": "openai",
|
||||
"model": "gpt-4o",
|
||||
"fallback": { "provider": "openai", "model": "gpt-4o-mini" }
|
||||
},
|
||||
"cost-saving": {
|
||||
"provider": "google",
|
||||
"model": "gemini-3.5-flash-lite",
|
||||
"fallback": { "provider": "google", "model": "gemini-3.1-flash-lite" }
|
||||
},
|
||||
"local-ollama": {
|
||||
"provider": "openai",
|
||||
"model": "llama3.2-vision",
|
||||
"fallback": { "provider": "openai", "model": "llama3.2-vision" }
|
||||
}
|
||||
},
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// 3. Agent & Sub-Agent Node Customizations (Optional - Inherits from 'default')
|
||||
// ------------------------------------------------------------------------------
|
||||
"nodes": {
|
||||
// π§ Planner: High-level goal decomposition and strategic step planning
|
||||
"planner": {
|
||||
"thinking_level": "high"
|
||||
},
|
||||
|
||||
// π― Operator: Screen perception, element interaction, and direct execution
|
||||
"operator": {
|
||||
"thinking_level": "medium",
|
||||
"include_thoughts": true
|
||||
},
|
||||
|
||||
// π¬ Video Analyzer: Multimodal screen recording verification and temporal analysis
|
||||
// NOTE: Dual-path engine automatically routes:
|
||||
// - Native Gemini Files API for Gemini models with Google API keys (long video file stream)
|
||||
// - Universal Multi-Model Engine for Claude 3.5/3.7, GPT-4o, OpenRouter, Vertex AI (dynamic keyframe extraction + multimodal tool calling)
|
||||
"video_analyzer": {},
|
||||
|
||||
// ποΈ Object Detector & Explorer (Flash Mode): Visual coordinates grounding and bounding boxes
|
||||
// CRITICAL REQUIREMENT: Standard LLMs (including standard Gemini Flash, GPT-4o, Claude 3.7) lack sub-pixel spatial coordinate fine-tuning.
|
||||
// To achieve accurate [x, y] point and bounding box localization, this node MUST use specialized Gemini ER (Embodied Reasoning / Robotics) models:
|
||||
// e.g., "gemini-robotics-er-2-preview". Non-ER models will fail spatial coordinate detection.
|
||||
"object_detector": {
|
||||
"model": "gemini-robotics-er-2-preview",
|
||||
"fallback": {
|
||||
"provider": "google",
|
||||
"model": "gemini-robotics-er-2-preview"
|
||||
}
|
||||
},
|
||||
|
||||
// π Explorer: Deep element grounding and multi-candidate visual search
|
||||
// NOTE:
|
||||
// - "flash" version delegates directly to object_detector (requires Gemini ER model above).
|
||||
// - "pro" / "ultra" versions run multi-turn ReAct loops (supports both Native Gemini and Universal Multi-Model LangChain engines).
|
||||
"explorer": {
|
||||
"thinking_level": "medium"
|
||||
},
|
||||
|
||||
// π Summarizer: Aggregates step history and generates structured outcome
|
||||
"summarizer": {},
|
||||
|
||||
// π½ Hopper: Fast lightweight package name locator
|
||||
"hopper": {
|
||||
"model": "gemini-3.5-flash-lite",
|
||||
"fallback": {
|
||||
"provider": "google",
|
||||
"model": "gemini-3.1-flash-lite"
|
||||
}
|
||||
},
|
||||
|
||||
// π Outputter: Synthesizes execution trace into final output report
|
||||
"outputter": {},
|
||||
|
||||
// πͺ΅ Log Analyzer: Error log diagnosis with search grounding
|
||||
"log_analyzer": {
|
||||
"enable_grounding": true
|
||||
},
|
||||
|
||||
// π©Ί Diagnoser Expert: Failure root cause diagnosis with search grounding
|
||||
"diagnoser_expert": {
|
||||
"enable_grounding": true
|
||||
},
|
||||
// ποΈ Committee Council Members
|
||||
"planner_avatar": {},
|
||||
"history_analyzer_expert": {},
|
||||
// π Checker: Plan-declared checkpoint verification and exit final review.
|
||||
// Thoughts are streamed so the verifier's reasoning shows live in the timeline.
|
||||
"checker": {
|
||||
"thinking_level": "medium",
|
||||
"include_thoughts": true
|
||||
}
|
||||
// π― Planner Validation: Advisory review of milestone changes.
|
||||
// Defaults to the same lightweight model as the pixel safety net
|
||||
// (gemini-3.5-flash-lite, temperature 0); add "planner_validation": {...} here to override.
|
||||
},
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// 4. Runtime Mode & Agent Capabilities Configuration (Dual-Engine: Flash vs. Pro)
|
||||
// ------------------------------------------------------------------------------
|
||||
"agent": {
|
||||
// ==========================================================================
|
||||
// β‘ 4.1 FLASH Profile Options (Reactive Single-Agent Lightweight Loop)
|
||||
// ==========================================================================
|
||||
// Best for: Simple, fast, deterministic tasks; runs unbounded by default.
|
||||
// Execution: Observe-Think-Act single LLM reactive loop without graph overhead.
|
||||
"flash": {
|
||||
"max_turns": 0, // Maximum reactive turns before stopping (0 = unlimited; history is bounded by transcript compression, not by a turn cap)
|
||||
"explorer_mode": "flash", // Explorer tier for the Flash runner: 'flash' | 'pro' | 'ultra' (see top-level "explorer")
|
||||
// π§ Step Summarizer: Asynchronous visual context compressor
|
||||
// Summarizes intermediate steps in background without blocking the runner,
|
||||
// replacing images only after strictly objective, high-density summaries are ready.
|
||||
"step_summarizer": {
|
||||
"enabled": true, // Whether background step summarization is active
|
||||
"model": "gemini-3.5-flash-lite", // Lightweight model for fast background inference
|
||||
"prune_history_xml": true // Prune outdated heavy XML trees from historical steps
|
||||
}
|
||||
},
|
||||
// ==========================================================================
|
||||
// π 4.2 PRO Profile Options (Deep Multi-Agent Graph Closed-Loop)
|
||||
// ==========================================================================
|
||||
// Best for: Complex, exploratory, dynamic multi-branch tasks.
|
||||
// Execution: LangGraph multi-node graph with a living task plan, a pre-execution safety net (single actions) / fast-action bursts (multi-action turns),
|
||||
// execution-incident recovery handled by the Operator itself (no separate repair agent), and a read-only Checker for checkpoint verification + exit final review.
|
||||
"pro": {
|
||||
// π§ Explorer: Perception sub-agent under Pro profile ('flash', 'pro', or 'ultra')
|
||||
"explorer": {
|
||||
"mode": "flash" // Explorer tier for Pro nodes (Operator/Validator): 'flash' | 'pro' | 'ultra'
|
||||
},
|
||||
// π― Planner Validation: Async verification when task plan milestones change
|
||||
"planner_validation": {
|
||||
"enabled": true // On by default: every milestone text change is reviewed (advisory: hint + reason only, never rolled back)
|
||||
},
|
||||
// ποΈ Committee: Multi-Agent Council debate tool for Operator
|
||||
"committee": {
|
||||
"enabled": false,
|
||||
"debate_rounds": 2
|
||||
},
|
||||
// π Checker: Plan-declared checkpoint verification (optimistic async) + exit final review
|
||||
"checker": {
|
||||
"enabled": true, // Master switch (compat alias): false disables both gates below
|
||||
"midway_checks": false, // Plan-declared midway checkpoints (off in the factory layering)
|
||||
"final_check": true, // Exit final review against the user's original goal (on by default)
|
||||
"max_iterations": 20,
|
||||
"final_check_max_attempts": 3,
|
||||
"checkpoint_max_repairs": 2,
|
||||
"max_concurrent_checkpoints": 3,
|
||||
"checkpoint_timeout": 180.0,
|
||||
"settlement_timeout": 120.0,
|
||||
"assert_failure_policy": "continue", // 'continue' or 'halt' on assert failures
|
||||
"device_probes": true // Checker's enumerated read-only device probes
|
||||
},
|
||||
// π¬ Video Analyzer & Screen Recording: Continuous screen recording via scrcpy and temporal analysis
|
||||
"video_analyzer": {
|
||||
"enabled": true, // Whether continuous video recording and video tools are active (default: auto-detected)
|
||||
"enable_ledger": true
|
||||
}
|
||||
},
|
||||
// ==========================================================================
|
||||
// π 4.3 Shared Capabilities & Global Overrides
|
||||
// ==========================================================================
|
||||
// π§ Unified Step-Memory Runtime (history-module redesign v3, M0βM5)
|
||||
// Transcript ledger + layered compression for the Pro operator.
|
||||
"memory": {
|
||||
// Background summarization runtime (visual/capsule lenses)
|
||||
"runtime": {
|
||||
"max_concurrency": 2, // 1β2 per 2026-09-01 baseline: serial queue pushed summary-ready P90 past the scrub window
|
||||
"retry_limit": 3,
|
||||
"flush_timeout_s": 30
|
||||
},
|
||||
"transcript": {
|
||||
// ROLLBACK SWITCH: set false to restore the legacy per-turn 2-message
|
||||
// prompt path byte-for-byte (L2/L3 chunk compression rides this same
|
||||
// flag). Default on since M5 (2026-09-01) per the on-device A/B:
|
||||
// turn latency β77% P50, cache-hit calls 43%β88%, output tokens β74%.
|
||||
"enabled": true,
|
||||
"context_budget_tokens": 80000,
|
||||
"soft_ratio": 0.7,
|
||||
"hard_ratio": 0.9,
|
||||
"min_active_steps": 5,
|
||||
"image_scrub_depth": 3,
|
||||
"pending_grace_steps": 3,
|
||||
"xml_scrub_depth": 1,
|
||||
// Local historical-state hint (no model call); distance calibrated
|
||||
// 2026-09-01 from 460 dHash-stamped on-device steps (same screen <=4,
|
||||
// different screens >=7).
|
||||
"similarity_hint": true,
|
||||
"similarity_max_distance": 5
|
||||
},
|
||||
// Segment (L2) chunk compression: three-band chunks, era folding
|
||||
"chunking": {
|
||||
"max_steps": 12,
|
||||
"target_source_tokens": 2000,
|
||||
"model": "gemini-3.8-flash",
|
||||
"max_chunks": 8
|
||||
// "max_eras": 8 // independent era cap; omitted = follows max_chunks
|
||||
},
|
||||
// Deterministic cold-history recall tool (Pro operator)
|
||||
"recall": {
|
||||
"enabled": true,
|
||||
"max_results": 5,
|
||||
"max_text_tokens": 2000,
|
||||
"max_image_steps": 1
|
||||
}
|
||||
},
|
||||
// π¬ Screen Recording & Video Analyzer Configuration
|
||||
"video_analyzer": {
|
||||
"enabled": true, // Whether continuous screen recording via scrcpy is active (default: auto-detected)
|
||||
"enable_ledger": true
|
||||
},
|
||||
// π Outputter: Post-execution report synthesis and structured schema extraction
|
||||
// Reviews action history, notes, and verifies goal achievement to synthesize final output.
|
||||
"outputter": {
|
||||
"enabled": true, // Whether Outputter is mounted to synthesize final outputs
|
||||
"force_synthesis": false // Force Outputter synthesis even without explicit output schema
|
||||
},
|
||||
// π§ Explorer tier: the perception sub-agent behind `ask_explorer`.
|
||||
// Tiers are a user setting; calling agents never see which tier is active.
|
||||
// flash - one-shot visual detection on the screenshot (fastest)
|
||||
// pro - 3-turn reasoning loop: UI-tree search + coordinate audit + detection
|
||||
// ultra - 8-turn loop adding zoom, OCR and pixel-level image processing (slowest)
|
||||
// `flash.explorer_mode` and `pro.explorer.mode` above are the per-profile knobs;
|
||||
// `caching` (Gemini explicit context caching) defaults per tier: off for pro, on for ultra.
|
||||
"explorer": {
|
||||
"default_version": "flash" // Fallback tier when no profile knob applies
|
||||
// "caching": true, // Uncomment to force context caching for pro/ultra
|
||||
},
|
||||
// Advanced: per-agent tier override, e.g. {"validator": "ultra"}. Takes
|
||||
// precedence over the profile knobs; leave empty to let them decide.
|
||||
"explorer_versions": {},
|
||||
// π« Per-agent Tool Denylists
|
||||
"denylisted_tools": {
|
||||
"explorer": [] // Perception tools to withhold from the Explorer, e.g. "ask_image_processor"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user