Bỏ qua, đến nội dung

Trợ lý AI ​

Dùng AI CLI có sẵn trên máy Mac để viết, giải thích và sửa flow ngay trong Astra Scout.

Astra Scout không kèm sẵn model. Nó dùng một AI CLI đã cài và đăng nhập trên máy Mac của bạn, ở chế độ chỉ đọc (không sửa file của bạn). Chính Astra Scout chèn flow và chạy chúng.

Thiết lập AI CLI ​

Bạn chỉ cần một trong các CLI sau:

CLICài đặtĐăng nhập
Claude CodeLàm theo tài liệu Claude Code, ví dụ npm i -g @anthropic-ai/claude-codeChạy claude, gõ /login
OpenAI Codexnpm i -g @openai/codex hoặc Homebrewcodex login
Gemini CLInpm i -g @google/gemini-cli hoặc brew install gemini-cliChạy gemini và đăng nhập

Ngoài ra, có thể chạy server với biến môi trường ANTHROPIC_API_KEY; khi đó Anthropic API hiện ra như một provider.

Sau đó mở Settings → AI và bấm Quét lại. Mỗi CLI hiện Sẵn sàng khi dùng được. App đọc lại PATH của shell, nên bạn không cần mở lại app.

Settings, AI

Trong Settings → AI bạn cũng có thể chọn Provider mặc định (hoặc Tự động, tức CLI dùng được đầu tiên), một model, tham số bổ sung và đường dẫn CLI cho từng provider.

Khung chat ​

Chuyển thanh bên trái sang Trợ lý AI bằng nút điều khiển ở đầu thanh bên. Thanh bên khi đó liệt kê các cuộc trò chuyện, và cuộc trò chuyện đang mở thế chỗ editor. Chọn New Conversation, chọn AI và Model muốn dùng, mô tả điều bạn muốn, rồi bấm Enter để gửi (Shift+Enter để xuống dòng). Ví dụ:

  • "Viết một flow mở app, đăng nhập bằng email test@example.com và kiểm tra màn hình chính được hiển thị"
  • "Giải thích flow đang mở làm gì"
  • "Thêm step chụp màn hình sau mỗi lần bấm nút"

Dùng menu Ngữ cảnh (hình kẹp giấy) cạnh ô nhập để chỉ cho AI cần nhìn vào đâu: file hiện tại, Vùng chọn, Màn hình device (danh sách phần tử), kết quả và error của run gần nhất, và Flow trong workspace làm mẫu phong cách. Các cuộc trò chuyện cũ nằm trong danh sách ở thanh bên.

Khi AI trả lời bằng YAML, khối code có các nút:

NútChức năng
Chèn vào fileThêm YAML vào flow đang mở
Áp dụng vào fileSo sánh với file đang mở và áp dụng khi bạn xác nhận
Tạo file mớiLưu YAML thành file mới trong workspace
Chạy thửChạy trên device mà không lưu file
Sao chépSao chép YAML

Astra Scout kiểm tra YAML trong chat và từ chối các lệnh mà nền tảng đang kết nối không chạy được.

Tự sửa đến khi chạy qua ​

Bấm Tự sửa… trên một run fail, hoặc Sửa bằng AI để chuyển fail sang khung chat. Tự sửa chạy flow, nhờ AI đề xuất bản sửa, áp dụng vào một bản nháp và chạy lại, trong một số vòng giới hạn.

  • Mỗi vòng ghi lại step fail và error, lý do của AI, diff YAML và ảnh chụp màn hình trước và sau.
  • Xem video vòng cuối mở video kèm timeline các vòng.
  • Nó dừng sớm (Chưa xong) khi cùng một step fail theo cùng cách hai vòng liên tiếp, hoặc khi AI đề xuất một phiên bản đã chạy rồi. Nó dừng ngay (Bị chặn) khi device hoặc driver fail.
  • Khi chạy qua, Xem và áp dụng… cho bạn xem diff trước khi ghi file. Chỉ bật Áp dụng vào file khi chạy qua nếu bạn muốn file được ghi tự động.
  • Các step trông giống mua hàng chạy như mọi step khác, nên chỉ dùng device test. Xem Test mua hàng.

Lệnh AI trong flow ​

Flow có thể dùng ba lệnh AI của Maestro. Astra Scout chạy chúng bằng AI của bạn, không cần Maestro Cloud.

LệnhCú phápKết quả
assertWithAI- assertWithAI: "The screen has a Sign in button"Đúng hoặc sai kèm lý do
assertNoDefectsWithAI- assertNoDefectsWithAISai khi thấy chữ bị cắt hoặc chồng lên nhau, màn hình trống hoặc layout hỏng
extractTextWithAI- extractTextWithAI: "CAPTCHA code"Lưu text đọc được vào ${aiOutput} (hoặc biến bạn đặt)

Cần biết:

  • Mỗi step chụp màn hình và danh sách phần tử rồi gửi một yêu cầu AI. Việc này tốn một lần gọi model (khoảng 5 đến 8 giây với Claude Code) và AI có thể trả lời khác nhau giữa các run. Chỉ dùng các lệnh này khi một selector như assertVisible không kiểm tra được.
  • Giống Maestro, chúng mặc định optional: true: step fail hiện màu đỏ nhưng flow vẫn tiếp tục. Thêm optional: false để dừng flow. Mỗi step chờ tối đa 60 giây (đổi bằng timeout: tính bằng mili giây).
  • Chọn provider và model trong Settings → AI → Lệnh AI trong flow.
  • Bảng kết quả của step ghi lại kết luận, câu hỏi, câu trả lời gốc, model và đường dẫn ảnh chụp màn hình.
  • Với assertWithAI và assertNoDefectsWithAI, nếu confidence của AI dưới 0.6, kết luận của run là Chưa chắc chắn, không phải Pass. assertNoDefectsWithAI không có ảnh chụp màn hình cũng là Chưa chắc chắn, vì Astra Scout không bao giờ kết luận là không có bug giao diện chỉ từ cây phần tử.
  • AI đóng vai trò phán xét tách biệt với AI thực hiện thao tác. AI phán xét chỉ nhận assertion hoặc câu hỏi, màn hình và ngữ cảnh app.
  • Text trên màn hình được gửi như dữ liệu không đáng tin. Prompt yêu cầu AI bỏ qua mọi chỉ dẫn hiển thị trên màn hình.
  • Ảnh chụp màn hình cho lệnh AI được giữ 24 giờ trong một thư mục riêng dưới thư mục temp của bạn.

Không chụp màn hình sau khi gõ bí mật ​

Khi một step gõ giá trị lấy từ biến môi trường (như inputText: ${PASSWORD}) hoặc màn hình có ô mật khẩu đã điền, các step AI sau đó trong cùng session device không gửi ảnh chụp màn hình. Chỉ cây phần tử được gửi, với mật khẩu và giá trị đã gõ được thay bằng ***. Điều này kéo dài cho đến khi app được mở lại (launchApp, stopApp, killApp hoặc clearState) hoặc device kết nối lại. Vì vậy, hãy đặt assertNoDefectsWithAI trước step gõ mật khẩu.

Ngữ cảnh app ​

Cung cấp cho AI từ vựng của app bạn trong Settings → AI → Ngữ cảnh app. Nó được lưu ở .scout/context.md trong workspace (tối đa 16 KiB) và được mọi lần gọi AI đọc: chat, viết và sửa flow, tự sửa, lệnh AI và khám phá. Ví dụ:

markdown
# App context (vocabulary for the AI)
Screens: Home, Practice Test, DMV Handbook, Settings
Paid plans: DMV Pass (weekly / monthly / lifetime)
Terms: "permit test" = the exam for a learner's permit

Chỉ file của workspace đang chạy được đọc. Nếu .scout hoặc context.md là symlink, device hay FIFO, nó bị từ chối.

AI trong terminal ​

Bạn cũng có thể điều khiển Astra Scout từ Claude Code, Codex hoặc Gemini CLI. Xem Plugin scout.