github analyzed be5f03d

AppiumTestDistribution/AppClaw

github

AI-powered mobile automation agent — describe what you want in plain English, AppClaw reads the screen, reasons, and acts. LLM-agnostic, open-source, zero telemetry.

maintainer
AppiumTestDistribution
license
Apache-2.0
first seen
2026-06-10
last seen
2026-06-22
releases · 30d
13
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
code evidence vv1.7.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 23

  • fs AppiumTestDistribution-AppClaw-be5f03d/landing/capture-gif.mjs :8 import { mkdirSync, rmSync, existsSync, readdirSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/landing/capture-parallel-gif.mjs :12 import { mkdirSync, rmSync, existsSync, statSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/packages/appclaw-agent/src/client.ts :2 import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
  • fs AppiumTestDistribution-AppClaw-be5f03d/packages/appclaw-agent/src/daemon.ts :2 import { chmod, mkdir, rm, writeFile } from 'node:fs/promises';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/agent-runtime/index.ts :8 import { writeFile } from 'node:fs/promises';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/appguides/index.ts :9 import { readFileSync, existsSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/device/session.ts :8 import { readFileSync, existsSync } from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/explorer/index.ts :14 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/flow/parse-yaml-flow.ts :37 import { readFileSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/flow/variable-resolver.ts :11 import { readFileSync, existsSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/index.ts :29 import { readFileSync, existsSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/logger.ts :5 import { writeFileSync, mkdirSync, existsSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/memory/procedures.ts :17 import { readFileSync, writeFileSync, mkdirSync, renameSync } from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/memory/store.ts :8 import { readFileSync, writeFileSync, mkdirSync, renameSync } from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/recording/recorder.ts :9 import { writeFileSync, mkdirSync, existsSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/recording/replayer.ts :11 import { readFileSync } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/report/server.ts :14 import * as fs from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/report/writer.ts :14 import * as fs from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/sdk/index.ts :13 import { promises as fs } from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/sdk/locator-cache.ts :16 import { readFileSync, writeFileSync, mkdirSync, renameSync } from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/src/version.ts :1 import { readFileSync } from 'node:fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/vscode-extension/src/extension.ts :10 import * as fs from 'fs';
  • fs AppiumTestDistribution-AppClaw-be5f03d/vscode-extension/src/providers/flow-completion.ts :11 import * as fs from 'fs';

shell / exec 9

  • shell AppiumTestDistribution-AppClaw-be5f03d/landing/capture-gif.mjs :7 import { execSync } from 'child_process';
  • shell AppiumTestDistribution-AppClaw-be5f03d/landing/capture-parallel-gif.mjs :11 import { execSync } from 'child_process';
  • shell AppiumTestDistribution-AppClaw-be5f03d/packages/appclaw-agent/src/client.ts :1 import { spawn } from 'node:child_process';
  • shell AppiumTestDistribution-AppClaw-be5f03d/src/flow/run-yaml-flow.ts :52 import { exec } from 'child_process';
  • shell AppiumTestDistribution-AppClaw-be5f03d/src/index.ts :474 import('child_process')
  • shell AppiumTestDistribution-AppClaw-be5f03d/src/mcp/keyboard.ts :13 import { exec } from 'child_process';
  • shell AppiumTestDistribution-AppClaw-be5f03d/vscode-extension/src/bridge.ts :6 import { ChildProcess, spawn } from 'child_process';
  • shell AppiumTestDistribution-AppClaw-be5f03d/vscode-extension/src/extension.ts :576 let reportServerProcess: ReturnType<typeof import('child_process').spawn> | undefined;
  • shell AppiumTestDistribution-AppClaw-be5f03d/vscode-extension/src/views/devices-tree.ts :6 import { execSync } from 'child_process';

network 6

  • net AppiumTestDistribution-AppClaw-be5f03d/packages/appclaw-agent/src/client.ts :3 import { connect } from 'node:net';
  • net AppiumTestDistribution-AppClaw-be5f03d/packages/appclaw-agent/src/daemon.ts :3 import { createServer, type Server, type Socket } from 'node:net';
  • net AppiumTestDistribution-AppClaw-be5f03d/src/flow/parallel-runner.ts :22 import * as net from 'net';
  • net AppiumTestDistribution-AppClaw-be5f03d/src/report/server.ts :13 import * as http from 'node:http';
  • net AppiumTestDistribution-AppClaw-be5f03d/src/sdk/mcp-session.ts :12 import * as net from 'net';
  • net AppiumTestDistribution-AppClaw-be5f03d/vscode-extension/src/extension.ts :585 const resp = await fetch(`http://localhost:${port}/health`);

secrets 3

  • secrets AppiumTestDistribution-AppClaw-be5f03d/src/mcp/client.ts :105 ...(process.env.AI_VISION_API_KEY && { AI_VISION_API_KEY: process.env.AI_VISION_API_KEY }),
  • secrets AppiumTestDistribution-AppClaw-be5f03d/src/sdk/goal-export.ts :206 optionLines.push(` apiKey: process.env.LLM_API_KEY,`);
  • secrets AppiumTestDistribution-AppClaw-be5f03d/src/sdk/index.ts :7 * const app = new AppClaw({ provider: 'anthropic', apiKey: process.env.KEY })

declared dependencies 42

  • @ai-sdk/anthropic@^1.0.0
  • @ai-sdk/google@^3.0.43
  • @ai-sdk/openai@^1.0.0
  • @modelcontextprotocol/sdk@^1.22.0
  • ai@^6.0.72
  • ai-sdk-ollama@3.8.3
  • appium-mcp@1.85.8
  • boxen@^8.0.1
  • chalk@^5.6.2
  • cli-spinners@^3.4.0
  • cli-table3@^0.6.5
  • df-vision@1.1.79
  • dotenv@^17.3.1
  • fast-xml-parser@^4.5.0
  • gradient-string@^3.0.0
  • ink@^5.2.1
  • ink-spinner@^5.0.0
  • ink-text-input@^6.0.0
  • marked@^15.0.12
  • marked-terminal@^7.3.0
  • mjpeg-consumer@2.0.0
  • react@^18.3.1
  • sharp@^0.33.5
  • yaml@^2.8.3
  • zod@^3.23.0
  • @semantic-release/changelog@^6.0.3
  • @semantic-release/commit-analyzer@^13.0.1
  • @semantic-release/exec@^7.1.0
  • @semantic-release/git@^10.0.1
  • @semantic-release/github@^11.0.6
  • @semantic-release/npm@^12.0.2
  • @semantic-release/release-notes-generator@^14.1.0
  • @types/bun@^1.1.0
  • @types/gradient-string@^1.1.6
  • @types/react@^18.3.31
  • conventional-changelog-conventionalcommits@^9.3.1
  • ink-testing-library@^4.0.0
  • prettier@3.8.3
  • semantic-release@^24.2.9
  • tsx@^4.21.0
  • typescript@^5.6.0
  • vitest@^4.1.2