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
This commit is contained in:
somew1nd committed 2026-08-18 13:59:27 -07:00
1 parent 78e478f502
commit 9a5aaf99b7
249 files changed
+37226 -9339

No files matched your search

+18 -41
View File
@@ -1,3 +1,17 @@
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM python:3.12-slim
WORKDIR /app
@@ -10,52 +24,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
adb \
&& rm -rf /var/lib/apt/lists/*
# Copy application source code and apps
# Copy application source code and configuration
COPY artemis/ /app/artemis/
COPY apps/ /app/apps/
COPY mcp_server/ /app/mcp_server/
COPY config/ /app/config/
COPY pyproject.toml setup.py README.md LICENSE /app/
# Install server and core dependencies
RUN pip install --no-cache-dir \
uvicorn \
fastapi \
pydantic \
pydantic-settings \
python-dotenv \
sseclient-py \
websockets \
adbutils \
jinja2 \
colorama \
psutil \
httpx \
retry \
google-auth \
langchain \
langchain-core \
langchain-community \
langchain-google-genai \
langchain-google-vertexai \
langchain-mcp-adapters \
google-genai \
langgraph \
typer \
pillow \
packaging \
uiautomator2 \
opencv-python-headless \
uuid-utils \
posthog \
mcp \
inquirer \
rich \
requests \
imageio-ffmpeg \
langchain-openai
# Install artemis package locally (no-deps to prevent pulling unnecessary heavy optional libraries)
RUN pip install --no-cache-dir --no-deps -e /app
# Install dependencies and artemis package
RUN pip install --no-cache-dir -e /app
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app