Bỏ qua, đến nội dung

Astra Scout hoạt động thế nào ​

Xem app macOS, server cục bộ và driver device phối hợp với nhau thế nào trên máy Mac.

Astra Scout gồm bốn phần, tất cả chạy trên máy Mac. Các mục bên dưới trả lời "app có gửi dữ liệu đi đâu không?" và "file log nằm ở đâu?".

  1. App là cửa sổ đang dùng.
  2. Server là chương trình chạy ngầm, do app bật. Server giữ kết nối với device, chạy flow và lưu lịch sử.
  3. Runner bấm và gõ trên device theo từng step của flow.
  4. AI CLI (Claude Code, Codex hoặc Gemini CLI), khi dùng tính năng AI. AI CLI chỉ đọc, không quyết định kết quả test.

App ​

App là app macOS native. Cho tới khi mở một workspace, cửa sổ Chào mừng đến với Astra Scout thay cho cửa sổ chính. Cửa sổ chính gồm:

  • các navigator bên trái: File, Test run, Cây phần tử và Tìm,
  • trợ lý AI, là chế độ thứ hai của cùng thanh bên trái,
  • trình soạn thảo code ở giữa, với Runner bên dưới,
  • một inspector bên phải có màn hình device.

Cửa sổ chính, với navigator, editor, runner và cột device

Cài đặt, Khám phá app, Tracking, Cài đặt dự án và cửa sổ Mirror tách rời là các cửa sổ riêng. Báo bug (Device → Báo bug lên Jira…) mở dưới dạng sheet trên cửa sổ chính. App tự khởi động server đi kèm.

Chế độ Trợ lý AI của thanh bên trái

Server ​

Server là chương trình nền của Astra Scout. Server quản lý kết nối device, chạy flow, lưu lịch sử run, và cho phép AI CLI điều khiển Astra Scout qua MCP.

Muốn xem các AI CLI kết nối tới server thế nào:

  1. Chọn Astra Scout → Cài đặt… và bấm AI.
  2. Trong Astra Scout cho CLI, mở Kết nối MCP và Môi trường shell. Hai trang này hiển thị kết nối. Xem Plugin scout.

Cài đặt, pane AI

Có hai loại request phải chờ xác nhận. Báo cáo bug gửi lên Jira và request xoá lịch sử mua hàng của một sandbox tester đều mở hộp thoại xác nhận trong app. Không có gì được gửi cho tới khi người dùng cho phép. Nếu đóng hộp thoại, hoặc sau 10 phút, request được tính là bị từ chối.

Runner ​

Runner bấm, gõ và vuốt trên device. Với iOS, runner dùng WebDriverAgent (WDA), một app nhỏ chạy bên trong iOS device hoặc simulator để nhận lệnh. Với Android, runner dùng driver DeviceLab. Lần đầu một device iOS kết nối, Astra Scout build WDA. Các lần kết nối sau dùng lại bản build đó.

Mirror màn hình ​

Mirror hiện màn hình device ngay trong cửa sổ Astra Scout, để nhìn và bấm trực tiếp. Cách màn hình đến app khác nhau theo loại device:

DeviceMàn hình đến app bằng cách nào
iOS SimulatorApp tự vẽ lại màn hình simulator ngay trong tiến trình của nó (qua SimulatorKit của Xcode)
iOS deviceLuồng video của Apple (CoreDevice), qua cáp hoặc Wi-Fi
AndroidLuồng video H.264 (dựa trên scrcpy), dự phòng bằng ảnh chụp màn hình liên tục

Dữ liệu của bạn nằm ở đâu ​

Nội dungVị trí
Log của server (trống lại mỗi lần mở app)~/Library/Logs/Astra Scout/server.log, hoặc Help → Xem log server
Dữ liệu app (database, MCP token, Team ID)~/Library/Application Support/Astra Scout/data
Các bản build WDA~/Library/Application Support/Astra Scout/maestro-runner
Video của flow<workspace>/artifacts/runs/
Bản sao plugin dùng cho AI CLI~/.astra-scout/plugin

Astra Scout không có cloud riêng và không có telemetry. Đăng nhập bằng Google để app biết người dùng được phép dùng. Ngoài ra, các kết nối mạng duy nhất ra ngoài máy là:

  • AI CLI nói chuyện với nhà cung cấp của nó,
  • Jira, khi báo cáo bug được xác nhận,
  • Amplitude, khi một project Amplitude được thiết lập cho tracking,
  • App Store Connect API, khi dùng sandbox tester,
  • việc kiểm tra bản cập nhật của bản release (Cài đặt → Chung → Tự động kiểm tra bản cập nhật).

Kết luận do app tính ​

AI không bao giờ quyết định một run pass hay không. Astra Scout tính kết luận (verdict) từ các dữ kiện có cấu trúc như kết quả từng step và error của driver. Xem Chạy flow.

Chi tiết kỹ thuật ​

Sơ đồ các thành phần:

  • astra-scout-server là server Go lắng nghe ở cổng 5050, cung cấp API cục bộ (gồm endpoint cho AI, Jira và tracking) và endpoint MCP http://localhost:5050/mcp.
  • Nếu cổng 5050 đang bận, app khởi động server ở cổng khác và ghi URL thật vào ~/.astra-scout/mcp.json.
  • Flow chạy qua maestro-runner, bản fork của runner Maestro.
  • Trên iOS Simulator, input đi qua devicehid; cây phần tử đọc qua xcuiax (simulator iOS 27+).