somew1nd
e984d17635
fix: isolate subprocess stdin and decouple startup to prevent MCP stdio deadlocks
...
- Set stdin=subprocess.DEVNULL across runtime, client, and utility subprocess calls to avoid hijacking the parent process's stdin.
- Run awake service initialization asynchronously on a daemon thread in MCP server startup.
- Redirect logger header printing to stderr to ensure stdio JSON-RPC purity.
- Add unit and lifecycle tests for MCP stdio protocol handshake and stdin isolation.
2026-08-26 23:26:10 -07:00
somew1nd
8fdecf23d7
feat: enhance daemon dispatching, device readiness fallback, and live streaming UI
...
- Admin Console & Task Queue: add cancellation, session startup progress endpoints, and support ingress metadata
- Diagnostics & Runtime: enhance ADB probe to prefer unlocked devices and synchronize with readiness engine
- MCP Server: dispatch tasks through Artemis Daemon scheduler with fallback to standalone runner, improve action overlays
- Showcase UI: improve session auto-selection with pinning support, render startup progress, and refine stream styling
- CLI & Makefile: expose server lifecycle commands (restart, stop, status)
- Configuration: ignore runtime server state file in .gitignore
2026-08-26 17:41:23 -07:00
somew1nd
57655266cc
fix: resolve NameError by importing Any from typing in runtime, pipeline, and MCP servers
2026-08-26 16:03:56 -07:00
somew1nd
c2c90a6378
feat: add multi-device concurrency, server lifecycle CLI, and unified execution stream
...
- Implement DevicePool and DeviceExecutionLock concurrency modes (per-device FIFO vs global serialization)
- Extend ArtemisClient SDK and CLI with explicit device targeting and concurrency strategy configuration
- Add server lifecycle management (artemis restart, stop, status) with cross-platform PID discovery
- Update MCP server tools to support multi-device dispatch, trace tagging, and per-device execution
- Enhance Showcase UI with step-by-step visual replay, playback speed controls, and device serial badges
- Add comprehensive unit test coverage and edge-case verification scripts
2026-08-26 15:53:14 -07:00
somew1nd
a36a66ce6d
feat: add step-by-step visual replay and harden process lifecycle
...
- UI: Implement dual-mode playback in FloatingVideoPlayer supporting video and step-by-step frame replay with scrub controls and auto-fallback
- Runtime: Prevent asyncio event loop hangs on Darwin and Linux by avoiding psutil.wait_procs on direct child processes
- Task Queue: Add worker exit watchdog and automatic recording recovery for completed or interrupted sessions
- Recording: Add ffmpeg ultrafast transcode fallback, shield recording finalization against cancellation, and handle on-the-fly MP4 conversion
- Docs: Polish README_CN styling and streamline flash runner agent prompt
2026-08-26 00:53:24 -07:00
somew1nd
06643e955b
docs: streamline execution profiles and refocus roadmap
...
- Remove redundant head-to-head comparison section
- Simplify Flash vs. Pro profiles with precise latencies, benefits, and limitations
- Refocus roadmap on future milestones prioritizing Android Studio integration, followed by iOS
2026-08-25 21:21:42 -07:00
somew1nd
bb16991f2c
feat: harden video analysis and runtime resilience
2026-08-25 20:58:25 -07:00
somew1nd
5ada543a09
docs: standardize image embedding widths to 100% and streamline emoji usage
2026-08-25 17:09:10 -07:00
somew1nd
ef5748c8f1
docs: remove live demo caption under demo gif in README
2026-08-25 17:04:08 -07:00
somew1nd
c2ff9651cc
docs: remove outer canvas padding from leaderboard to match architecture diagram
2026-08-25 17:02:50 -07:00
somew1nd
4f8a83ebd3
docs: use new asset path to bust GitHub camo image cache for leaderboard
2026-08-25 17:00:38 -07:00
somew1nd
4bf1160e5b
docs: refresh AndroidWorld benchmark visual and streamline architecture overview in README
2026-08-25 16:58:44 -07:00
somew1nd
ea3708a98f
feat: implement robust multi-tier text input architecture and ADB diagnostics
...
- Android Text Input & IME Normalization:
- Implement progressive 3-tier input architecture in AndroidAdbDriver and AndroidDeviceController:
- Tier 1 (Primary): Zero-dependency clipboard injection + KEYCODE_PASTE (immune to IME Pinyin interception, full Unicode/Emoji support, preserves multiline formatting).
- Tier 2 (Broadcast): Base64 broadcast injection when ADBKeyboard is active.
- Tier 3 (Fallback): Native ADB physical keyevent fallback.
- Add literal newline normalization (\r\n, \n, \r) to prevent JSON escape string corruption (e.g. '10086\n' -> '10086、n').
- Add set_clipboard method to UIAutomatorClient without auxiliary APK requirements.
- Diagnostics & System Probes:
- Add adb_keys diagnostics probe for ADB key auth checks.
- Integrate diagnostics into CLI doctor command.
- Admin Console & Showcase UI:
- Improve model service and system router in admin console.
- Enhance workspace stream view and session state in showcase UI.
2026-08-24 16:48:45 -07:00
somew1nd
42b8988661
feat: add global device queue and readiness tracking
2026-08-24 14:34:17 -07:00
somew1nd
a62ac4aef1
fix: finalize recordings before automatic replay
2026-08-23 13:06:19 -07:00
somew1nd
474e56ef8e
feat: support orientation-aware recording and device wakefulness
...
Roll scrcpy recordings by device rotation and duration, and publish timeline manifests for playback and analysis.
Add seamless segmented playback in the showcase UI and configurable stay-awake strategies for Android automation.
2026-08-22 19:45:02 -07:00
somew1nd
160f43a74a
docs: refresh banner and update tagline to 'Let AI assistants and test suites use real phones like a human'
2026-08-21 12:24:56 -07:00
somew1nd
70908fe4a0
Merge pull request #8 from jhshi1879/fix/validator-screenshot-error-handling
...
fix(validator): safely handle non-image/error MCP screenshot results in validator
2026-08-21 12:13:43 -07:00
Junhui Shi
bd145da026
fix(validator): pre-emptively guard failure screenshot parsing and remove try-except
2026-08-21 19:00:28 +00:00
somew1nd
71e5bba551
runtime: harden LLM retry handling and operator workflows
2026-08-21 00:34:44 -07:00
somew1nd
0f5fb1d32c
Improve task resilience and LLM retry visibility
...
Persist and publish recoverable provider retries so temporary 503 and throttling events remain visible in live and historical task streams.
Aggregate repeated retries into an expandable action card, preserve terminal pause recovery, harden Windows worker isolation and output forwarding, and retain reliable Android hierarchy fallbacks with regression coverage.
2026-08-20 00:37:53 -07:00
somew1nd
c1a4b49a21
feat(mcp): enhance multi-platform notification resilience and reactive wakeups
...
- AgentApiNotifier: Sort candidate process sessions by creation time descending to prioritize the latest active IDE session over stale PIDs. Implement automatic retry across candidate address/token pairs and persist working credentials to shared environment files (~/.gemini/jetski/.jetski_env and ~/.artemis/.artemis_env).
- DesktopNotifier: Enable native OS desktop toast notifications by default on macOS, Linux, and Windows unless explicitly disabled or running in CI. Ensure MCP installer sets ARTEMIS_DESKTOP_NOTIFY=true in generated IDE configurations.
- ScriptNotifier: Add universal command hook adapter (ARTEMIS_NOTIFY_CMD / MCP_NOTIFY_COMMAND) for custom IDE and CLI integration.
- Fault Isolation: Wrap CompositeNotifier and global notify entrypoint in strict try-except blocks to guarantee zero-crash execution even if any individual notifier fails.
- Tests & Docs: Add unit tests for session recovery, fault tolerance, script hook execution, and document multi-platform notification architecture in README.
2026-08-19 11:34:46 -07:00
somew1nd
4927c4f0b9
Stabilize task execution and UI lifecycle
2026-08-19 00:47:45 -07:00
somew1nd
c78c201e94
Fix setup UI and improve CLI workflows
2026-08-18 22:35:05 -07:00
somew1nd
7b005601f6
delet uv.lock
2026-08-18 22:13:18 -07:00
somew1nd
ec5010220b
feat(mcp): implement double-insurance global-only MCP and testing rules installation
...
- Install MCP configs and Artemis mobile testing rules strictly into user home directories (~), avoiding project workspace pollution
- Add double-insurance rules synchronization injecting into both primary global instruction files (e.g. ~/.gemini/GEMINI.md, ~/.claude/CLAUDE.md, ~/.cursorrules, ~/.codeium/windsurf/memories/global_rules.md) and modular rules/ directories
- Support JSONC parsing (comments and trailing commas) and automatic .bak backups when merging existing IDE configuration files
- Update README and Quick Start documentation to clarify automatic global MCP & rule mounting across all major AI IDEs
2026-08-18 18:40:38 -07:00
somew1nd
9e5aee85c8
fix(mcp): auto-register tools on startup and support cross-platform setup for all major AI IDEs
...
- Fix missing mcp_server.tools import on server initialization so mobile_run_task, mobile_manage_task, mobile_get_device_state, and mobile_inspect_trace are automatically registered.
- Inject PYTHONPATH in generated and installed MCP configurations to guarantee Python module resolution across Windows, macOS, and Linux regardless of IDE CWD.
- Expand artemis mcp --install and --generate-config to support VS Code, Cline, Roo Code, Claude Code CLI (~/.claude.json), Cursor, Windsurf, Antigravity, and OpenClaw.
- Enhance config file merging with robust exception handling and fallback initialization.
2026-08-18 17:49:47 -07:00
somew1nd
fc6ddad655
feat(ui): ensure cross-platform one-click setup and default Showcase UI routing
...
- Add explicit root route (/) in server.py to guarantee Showcase UI is served by default, routing /admin to the Admin Debug Console
- Enhance dynamic Angular dist detection across multiple standard output paths
- Add automated Node.js/npm detection and installation fallbacks to start scripts and installers across macOS, Linux, and Windows
- Automatically build Showcase UI when launching via start.sh, start.bat/start.ps1, or artemis ui if frontend artifacts are missing
- Add Node.js / npm and Showcase UI status inspection rows to artemis doctor
- Support artemis mcp --install for one-click IDE integration and add make build-ui target
2026-08-18 17:22:49 -07:00
somew1nd
6fa4768893
docs: refine Chinese banner tagline to Artemis and refresh cache
2026-08-18 15:37:21 -07:00
somew1nd
1899c68bb8
docs: elevate banner tagline to Autonomous Assistant Platform and update renders
2026-08-18 15:33:28 -07:00
somew1nd
46e1e8b935
docs: update banner tagline to Android Phone and add native Chinese banner
2026-08-18 15:30:18 -07:00
somew1nd
62cb3d8e53
docs: emphasize testing real devices in README subtitles
2026-08-18 15:22:21 -07:00
somew1nd
1d005d08a9
docs: broaden UI testing terminology to general test automation across README
2026-08-18 15:20:50 -07:00
somew1nd
19c74717ab
docs: add cache buster to banner image URLs to bypass GitHub CDN caching
2026-08-18 15:18:34 -07:00
somew1nd
a306258d26
docs: add Antigravity x ARTEMIS autonomous testing workflow showcase and update banner
2026-08-18 15:13:39 -07:00
somew1nd
9a5aaf99b7
feat: introduce MCP server, cross-platform runtime, and Showcase UI reorganization
...
- Showcase UI Reorganization:
* Move web UI dashboard from root directory into apps/showcase_ui/ for cleaner project structure
* Add 'artemis ui' CLI command (artemis/interfaces/cli/commands/ui.py) and launcher scripts for the interactive showcase console
- Standalone MCP Server & Notifiers (mcp_server/):
* Implement dedicated MCP server package with mobile automation tools (device_state, inspect_trace, task_manager, task_runner)
* Add multi-channel notifiers (AgentAPI, Desktop notifications, Webhooks, File output, and Composite routing)
* Introduce background task runner and trace store for autonomous mobile execution monitoring
- Cross-Platform Runtime & Toolchain Support:
* Add artemis/platform/ with OS-specific implementations for Linux, macOS (Darwin), and Windows
* Add artemis/runtime/supervisor.py for resilient process and agent runtime supervision
* Add artemis/toolchain/ with dependency resolution and SDK descriptors
* Add cross-platform launcher scripts (start.sh, start.bat) and installer scripts (scripts/install_deps.*)
- Core Enhancements & Diagnostics:
* Enhance coordinate normalization, OCR API fallback, and perception pipeline
* Add credential validation (credentials_validator.py) and system diagnostics
* Update bilingual documentation (README.md, README_CN.md) and architecture diagrams
- Test Suite Expansion:
* Add integration tests for cloud gateway, remote ADB, and Artemis login
* Add unit tests covering core diagnostics, platform detection, toolchain, credentials validator, optional OCR, and MCP tools
2026-08-18 13:59:27 -07:00
dependabot[bot]
78e478f502
build(deps): bump webpack-dev-server ( #4 )
...
Bumps the npm_and_yarn group with 1 update in the / directory: [webpack-dev-server](https://github.com/webpack/webpack-dev-server ).
Updates `webpack-dev-server` from 5.2.5 to 5.2.6
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v5.2.6/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.2.5...v5.2.6 )
---
updated-dependencies:
- dependency-name: webpack-dev-server
dependency-version: 5.2.6
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-13 16:05:57 -07:00
dependabot[bot]
f69b02910b
build(deps): bump the npm_and_yarn group across 1 directory with 21 updates ( #2 )
...
Bumps the npm_and_yarn group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) | `19.2.25` | `20.3.27` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) | `19.2.25` | `20.3.27` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core ) | `19.2.25` | `20.3.25` |
| [esbuild](https://github.com/evanw/esbuild ) | `0.25.12` | `0.28.1` |
| [brace-expansion](https://github.com/juliangruber/brace-expansion ) | `1.1.15` | `1.1.18` |
| [brace-expansion](https://github.com/juliangruber/brace-expansion ) | `2.1.1` | `2.1.4` |
| [@sigstore/core](https://github.com/sigstore/sigstore-js ) | `2.0.0` | `removed` |
| [body-parser](https://github.com/expressjs/body-parser ) | `1.20.5` | `1.20.6` |
| [fast-uri](https://github.com/fastify/fast-uri ) | `3.1.2` | `3.1.5` |
| [socket.io-parser](https://github.com/socketio/socket.io ) | `4.2.6` | `4.2.7` |
| [ws](https://github.com/websockets/ws ) | `8.20.1` | `8.21.3` |
Updates `@angular/common` from 19.2.25 to 20.3.27
- [Release notes](https://github.com/angular/angular/releases )
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular/commits/v20.3.27/packages/common )
Updates `@angular/compiler` from 19.2.25 to 20.3.27
- [Release notes](https://github.com/angular/angular/releases )
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular/commits/v20.3.27/packages/compiler )
Updates `@angular/core` from 19.2.25 to 20.3.25
- [Release notes](https://github.com/angular/angular/releases )
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular/commits/v20.3.25/packages/core )
Updates `esbuild` from 0.25.12 to 0.28.1
- [Release notes](https://github.com/evanw/esbuild/releases )
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2025.md )
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.12...v0.28.1 )
Updates `brace-expansion` from 1.1.15 to 1.1.18
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.15...v1.1.18 )
Updates `brace-expansion` from 2.1.1 to 2.1.4
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.15...v1.1.18 )
Removes `@sigstore/core`
Updates `body-parser` from 1.20.5 to 1.20.6
- [Release notes](https://github.com/expressjs/body-parser/releases )
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md )
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.5...1.20.6 )
Updates `fast-uri` from 3.1.2 to 3.1.5
- [Release notes](https://github.com/fastify/fast-uri/releases )
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.5 )
Updates `http-proxy-middleware` from 2.0.9 to 2.0.10
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases )
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.10/CHANGELOG.md )
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.9...v2.0.10 )
Updates `immutable` from 5.1.6 to 5.1.9
- [Release notes](https://github.com/immutable-js/immutable-js/releases )
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.1.6...v5.1.9 )
Updates `ip-address` from 10.2.0 to 10.5.0
- [Release notes](https://github.com/beaugunderson/ip-address/releases )
- [Commits](https://github.com/beaugunderson/ip-address/compare/v10.2.0...v10.5.0 )
Updates `js-yaml` from 4.2.0 to 4.3.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.1 )
Updates `nanoid` from 3.3.12 to 3.3.18
- [Release notes](https://github.com/ai/nanoid/releases )
- [Changelog](https://github.com/ai/nanoid/blob/3.3.18/CHANGELOG.md )
- [Commits](https://github.com/ai/nanoid/compare/3.3.12...3.3.18 )
Updates `piscina` from 4.8.0 to 5.2.0
- [Release notes](https://github.com/piscinajs/piscina/releases )
- [Changelog](https://github.com/piscinajs/piscina/blob/v5.2.0/CHANGELOG.md )
- [Commits](https://github.com/piscinajs/piscina/compare/v4.8.0...v5.2.0 )
Updates `postcss` from 8.5.12 to 8.5.23
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.12...8.5.23 )
Updates `serialize-javascript` from 6.0.2 to 7.1.0
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.2...v7.1.0 )
Updates `shell-quote` from 1.8.4 to 1.10.0
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ljharb/shell-quote/compare/v1.8.4...v1.10.0 )
Updates `socket.io-parser` from 4.2.6 to 4.2.7
- [Release notes](https://github.com/socketio/socket.io/releases )
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md )
- [Commits](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.6...socket.io-parser@4.2.7 )
Updates `webpack-dev-server` from 5.2.2 to 5.2.5
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/main/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.2.2...v5.2.5 )
Updates `websocket-driver` from 0.7.4 to 0.7.5
- [Changelog](https://github.com/faye/websocket-driver-node/blob/main/CHANGELOG.md )
- [Commits](https://github.com/faye/websocket-driver-node/compare/0.7.4...0.7.5 )
Updates `ws` from 8.20.1 to 8.21.3
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.20.1...8.21.3 )
---
updated-dependencies:
- dependency-name: "@angular/common"
dependency-version: 20.3.27
dependency-type: direct:production
dependency-group: npm_and_yarn
- dependency-name: "@angular/compiler"
dependency-version: 20.3.27
dependency-type: direct:production
dependency-group: npm_and_yarn
- dependency-name: "@angular/core"
dependency-version: 20.3.25
dependency-type: direct:production
dependency-group: npm_and_yarn
- dependency-name: esbuild
dependency-version: 0.28.1
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: brace-expansion
dependency-version: 1.1.18
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: brace-expansion
dependency-version: 2.1.4
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: "@sigstore/core"
dependency-version:
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: body-parser
dependency-version: 1.20.6
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: fast-uri
dependency-version: 3.1.5
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: http-proxy-middleware
dependency-version: 2.0.10
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: immutable
dependency-version: 5.1.9
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: ip-address
dependency-version: 10.5.0
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: js-yaml
dependency-version: 4.3.1
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: nanoid
dependency-version: 3.3.18
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: piscina
dependency-version: 5.2.0
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: postcss
dependency-version: 8.5.23
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: serialize-javascript
dependency-version: 7.1.0
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: shell-quote
dependency-version: 1.10.0
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: socket.io-parser
dependency-version: 4.2.7
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: webpack-dev-server
dependency-version: 5.2.5
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: websocket-driver
dependency-version: 0.7.5
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: ws
dependency-version: 8.21.3
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-13 15:57:50 -07:00
yaoyao-open-source
701a74b546
fix(inclusive-language): replace blacklist terminology with denylist
...
- Replace blacklisted_tools configuration key and comments in config/artemis.jsonc and README.md with denylisted_tools
- Update AgentGlobalConfig and AgentConfig with denylisted_tools and validation aliases
- Update AgentConfigBuilder and Explorer agent to use denylist conventions
- Update Admin Console replay manager and data engine trace filters
- Update all associated test suites and mock configurations
- Add license headers and clean up test imports
2026-08-13 14:03:49 -07:00
chiwanko11
5d2283deaa
test: add comprehensive unit, integration, and e2e test suites
...
Introduce complete test coverage for the ARTEMIS platform across multiple layers:
Unit tests: Add tests for agent nodes (Planner, Operator, Validator, Diagnoser, FlashRunner, Explorer), tools, utils (OCR/XML fusion, UI hierarchy), and data engine.
Integration tests: Add live tool verification, reactive runner, IME, and standalone workflow tests.
E2E tests: Add end-to-end scenario tests for media playback and failure recovery flows.
Fixtures & mocks: Add mock inputs (audio, video, screenshot) and test utilities.
2026-08-13 12:18:32 -07:00
Weilin Liu
c1803fcb86
feat(console): add Artemis Admin & Trace Console backend and management plane
...
Introduces the comprehensive developer/administrator control plane and trace
inspection console backend for the ARTEMIS mobile automation platform.
Key Features & Backend Architecture:
- Core Server & Modular Routing:
* FastAPI modular architecture with dedicated routers for sessions, steps, tasks, media, stream, and replay.
* Multi-layer repository pattern with SQLite persistence for sessions, traces, and step data.
- Task Control & Queue Management:
* FIFO asynchronous task queue service with support for single/batch goal execution and profile selection (Flash / Pro).
* Session lifecycle controls (run, pause, resume, stop, clear queue).
* Startup orphan cleanup and automatic older replay archiving.
- Live Telemetry & IPC Communication:
* High-performance IPC server for streaming real-time execution logs, agent thoughts, and tool invocations.
* Server-Sent Events (SSE) /api/stream/{session_id} endpoint for live UI updates.
- Real-Time Device Streaming:
* Live ADB screen capture and MJPEG frame generator (/api/stream/device-live).
* Device connectivity and state inspection endpoint (/api/stream/device-state).
- Trace Inspection & Step Replay Engine:
* Hierarchical call tree inspection, pre/post step screenshots, and action overlay metadata.
* Isolated single-step replay manager (/api/replay) for interactive debugging and validation.
2026-08-13 12:11:10 -07:00
yaoyao-open-source
2fd70465e6
feat(web): add interactive Angular web UI dashboard and execution visualizer
...
Introduces the full-featured, modern Angular 19 web dashboard for ARTEMIS.
Provides real-time multimodal agent stream visualization, live device feeds,
interactive step inspection, task queue management, and model telemetry.
Key Features & UI Architecture:
- Workspace & Layout:
* Split-pane responsive layout with draggable resizer bar for execution stream and chat/task panel.
* Standalone Angular components powered by Signals and reactive computed state.
- Real-Time Multimodal Agent Stream:
* SSE connection (/api/stream/:session_id) for live streaming of thoughts, actions, and tool calls.
* Hierarchical phase grouping (Planning -> Execution -> Verification -> Summary).
* Interactive step viewer with before/after screenshot overlays, coordinate pins, bounding boxes, and OCR text highlights.
* Live planning loader, error diagnostics banner, retry status indicator, and token usage metrics.
- Task Queue & Chat Interface:
* Goal submission with instant dispatch to backend runner (/api/run).
* Active task queue tracker (running, pending queue in FIFO order, completed/failed historical sessions).
* Session switcher with model info badges and Markdown notes viewer (e.g. task_plan.md).
- Floating Video Player & Live Stream:
* Draggable, floating video player overlay for reviewing session recordings and live device feeds (/api/stream/device-live).
* Playback controls: play/pause, seek scrubber, speed multipliers (0.5x - 4.0x), looping, and theater mode.
- Formatting & Parsing Utilities:
* Android UI action formatter (tap, type, swipe, drag, keyevent, app launch).
* Tool call formatter for ADB commands, note management, video inspection, and failure recovery.
* Markdown parsing and milestone checklist rendering.
2026-08-13 11:58:16 -07:00
somew1nd
206a9ce921
feat: initial release of ARTEMIS Android Agent & Automation Platform
...
ARTEMIS is an autonomous multimodal Android agent and mobile UI automation
platform engineered for physical devices and emulators. It combines state-of-the-art
multimodal Vision-Language Models (VLMs) with hierarchical closed-loop planning,
resilient self-healing, and deep Android subsystem integration.
Key Features & Architectural Highlights:
- Dual-Engine Orchestration:
* Pro Engine: Multi-agent closed-loop (Planner -> Operator -> Validator/Failure Analyzer -> Summarizer) powered by LangGraph.
* Flash Engine: Ultra-fast reactive loop for deterministic, low-latency UI execution (<35 steps).
- Multimodal Perception & Grounding:
* Hybrid visual screenshot grounding, real-time OCR extraction, and XML accessibility hierarchy parsing.
* Dynamic-First, Coordinate-Fallback locating strategy for maximum resilience against UI drift.
- Autonomous Self-Healing & Diagnostics:
* Failure analyzer and safety net for popup dismissal, crash recovery, and auto-retry.
* Diagnostic sub-agents for log analysis, video recording inspection, and object detection.
- Unified CLI & Python SDK:
* Rich CLI with commands: init, doctor, run, trace, batch, bench, server, and mcp.
* Fluent Python SDK with Pydantic structured output models and package locking.
- Multi-Provider LLM Architecture:
* Support for Google Gemini, OpenAI, Anthropic Claude, Vertex AI, OpenRouter, xAI Grok, and local endpoints (Ollama/vLLM).
* Centralized configuration in config/artemis.jsonc.
- Native MCP & Observability:
* Model Context Protocol (MCP) server endpoints for AI IDEs.
* Full trace recording with before/after screenshots, action overlays, and execution replays.
Change-Id: I430b93ee2b76b54cc5a3c6eeccd15d2cf29830a1
2026-08-13 11:46:47 -07:00