JevSim

io.github.huaaudio由 GitHub 帳號 huaaudio 發布v0.1.0更新於 Oct 24, 2026

Run verified iOS and Android UI workflows in one agent tool call with Jev.

已驗證STDIO僅桌面瀏覽器自動化開發者工具

概覽

AI 產生的概覽

讓助理在一次工具呼叫中執行經過驗證的 iOS 與 Android 介面操作序列,不必每次點擊都往返一次。

可以做什麼
JevSim 是一個本機 MCP 伺服器,可對 iOS 模擬器或 Android 裝置執行由一到十個介面步驟組成的計畫。它提供三個工具:jevsim_status 用來檢查後端連線狀態、憑證是否存在以及裝置清單;jevsim_inspect 用來讀取某一台指定裝置目前的無障礙狀態;jevsim_run_steps 用來執行 tap、type、scroll、wait 與 assert 動作,並逐步驗證預期條件。名為 Jev 的文字選擇模型會把步驟描述對應到目前的无障礙控制項,iOS 端由 XcodeBuildMCP、Android 端由 Appium/UIAutomator2 執行動作並檢查結果。
適用情境
當助理需要反覆驅動行動應用完成已知序列時值得加入,例如重現缺陷、導覽到某個畫面、填寫表單或驗證變更。它適合委派有界線、事先規劃好的路徑,而建置、修改程式碼、解讀截圖以及依賴新資訊的決策仍留在主助理端。
執行需求
透過 npx 從 npm 套件 @huaaudio/jevsim 以 stdio 方式在本機執行,需要 Node.js 24 與 npm。iOS 需要 macOS、Xcode 與已啟動的模擬器;Android 需要 ADB、裝置或模擬器,以及另外啟動的本機 Appium 3/UIAutomator2 伺服器。選用環境變數包括 JEVSIM_MODEL、JEVSIM_ADB_COMMAND、JEVSIM_ANDROID_APPIUM_URL、JEVSIM_XCODE_COMMAND 與 JEVSIM_XCODE_ARGS。語意選擇需要 TYPESAFE_API_KEY 密鑰;使用精確識別碼的工作流程不需要密鑰。
安裝前請注意
語意選擇會把無障礙文字與欄位值傳送到 TypeSafe 服務,使用精確識別碼的工作流程會跳過這些請求。工具紀錄與後端日誌可能包含應用程式資料。TYPESAFE_API_KEY 密鑰應透過用戶端的密鑰或環境設定提供,切勿列印或提交,且 npm 啟動器不會自動讀取 .env。步驟會作用於真實裝置或模擬器,呼叫返回前應獨占該裝置,且不應盲目重播工作流程或不確定的動作。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 JevSim,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

JevSim

English | 简体中文

Complete a mobile UI sequence in one agent tool call.

JevSim is a local MCP server for agents working with iOS and Android apps. Give it a short plan—navigate, enter text, save, verify—and it executes the steps without returning to your main reasoning loop after every interaction. Jev, a text-based selection model, matches descriptions to current accessibility controls. XcodeBuildMCP (iOS) or Appium/UIAutomator2 (Android) performs the actions and checks the results.

If you are a human, give your agent this repository URL and ask: “Install JevSim for my iOS/Android project, connect it to your MCP tools, and verify the setup.” The instructions below are for that agent.

Speed comparison

We reran the same ten-tap iOS Settings tour with the same checks after every action: open five sections and return from each. Pure agent means the main agent reads each screen and chooses the next control through XcodeBuildMCP. Agent + JevSim means it delegates the full route in one jevsim_run_steps call, with Jev selecting all ten targets.

ApproachMedian execution timeVerified runsSpeedup
Pure agent + XcodeBuildMCP117.3 s3/31×
Agent + JevSim + XcodeBuildMCP35.7 s3/33.3×

Measured September 21, 2026: GPT-6-astra (high reasoning) in Codex, Jev 1.13.0, XcodeBuildMCP 2.7.0, iPhone 17e / iOS 26.5 Simulator. Times include observations, target decisions, actions, checks, and intermediate agent/tool round trips; setup and initial route planning are excluded. This is one navigation benchmark with three runs per approach, not a general debugging or Android speed guarantee. Run details and reproduction.

Agent installation

  1. Inspect the environment. Use Node.js 24 and npm. Choose the platform from the user's project; install only that backend. Reuse existing tools and credentials where available.
  2. Use the npm package. Configure the MCP client to run npx -y --package=@huaaudio/[email protected] jevsim. This downloads the compiled package; no clone or build is needed. Use an absolute path to Node.js 24’s npx if the client has a restricted PATH. Source installation remains available for development.
  3. Prepare the backend. For iOS, use macOS, Xcode, and a booted simulator; JevSim starts its own pinned XcodeBuildMCP process. For Android, prepare ADB and a device/emulator, then start local Appium with UIAutomator2 using the Android instructions. Build, install, and launch the user's app with your existing tools.
  4. Configure Jev. Supply TYPESAFE_API_KEY through your client's secret/environment configuration. The npm launcher does not automatically read .env; use the env-file launch option if needed. Preserve an existing .env; use .env.example only as a template. Never print or commit the key. Exact-identifier workflows also work without a key.
  5. Register and verify the MCP server. Follow the agent installation runbook for absolute launch paths, client configuration, and readiness checks. Preserve other MCP servers. Installation is complete when you can discover all three tools, connect to the chosen backend, and inspect the intended device. Report any missing prerequisite precisely.

Delegate a workflow

ToolUse it to
jevsim_statusCheck backend connectivity, credential presence, and device inventory
jevsim_inspectRead the current accessibility state of one explicit device
jevsim_run_stepsExecute 1–10 supplied steps within 60 seconds; receive outcomes, timings, and any stop reason

Call status and inspect first. For iOS, pass the observed simulatorId; for Android, pass platform: "android" and the ADB deviceId. Derive the plan from the app and the user's task. Every step must include a backend-verifiable expect condition.

For example, this is one step only if your app exposes the stated destination identifier:

json
{  "action": "tap",  "target": { "description": "Open the profile editor" },  "expect": { "predicate": "exists", "identifier": "profile.name" }}

Use a unique observed target.identifier when available; it skips the model request. Otherwise, Jev selects among current action-compatible controls or abstains. It cannot invent steps or generate typing text. Supported actions are tap, type, scroll, wait, and assert. See the request schema and complete example.

Reserve the device until the call returns. A completed result means every supplied expectation matched. If execution stops, inspect completedSteps, reason, and actionStatus, then inspect the app and re-plan. Never blindly replay a workflow or an uncertain action. See agent usage and recovery.

When to use it

Delegate known sequences: reproduce a bug, navigate to a screen, exercise a form, or verify a change. Keep builds, code edits, visual interpretation, and decisions that depend on new information in your main agent. Split longer work into bounded sequences.

  • Supported: iOS Simulator and native Android accessibility. Android has been live-tested on an Android 15 emulator on macOS; physical Android devices and Windows/Linux hosts remain unvalidated.
  • Input: Android supports Unicode and empty replacement. The tested iOS backend accepts nonempty printable ASCII only.
  • Limits: inaccessible controls, Android WebViews, and arbitrary desktop GUIs need other tools. JevSim does not interpret screenshots.
  • Data: semantic selection sends accessibility text and field values to TypeSafe. Exact-identifier workflows skip those requests. Tool transcripts and backend logs may contain app data; see data handling.

Reference

Agent installation · Agent usage · Tools · Configuration · Troubleshooting · Release notes

Contributors: development guide for fixtures, tests, benchmark reproduction, and implementation history.

MIT. Independent project; automation backends and the TypeSafe service have their own terms and licenses.

來源:README.md,提交 fa2ba17

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 21, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分