Skip to content

vision-fallback

Fresh

Source: BIBLE.md (Phase 12 Phase 5, vision-fallback 6 routes), ROADMAP.md (Phase 5.3)

Every platform action gets a vision fallback path. CDP works: use CDP (fast). CDP fails or gets detected: seamlessly switch to Ender Eyes vision mode (screenshot, VLM, click). No code change needed at the action level. The routing layer decides.

How it works

flowchart TD
  A[Action: click Submit] --> TR[Try CDP path]
  TR -- ok --> D[Done]
  TR -- fail or flagged --> V[Switch to vision]
  V --> SS[Screenshot]
  SS --> VLM[VLM: find Submit button]
  VLM --> C[OS click coords]
  C --> D

Makes Ghost Engine nearly invisible because it falls back to behaving exactly like a human looking at a screen.

13 Ender Eyes scripts as foundation

The vision-fallback plugin builds on the 11 Ender Eyes scripts in plugins/ender-eyes/:

  • eyes.mjs: generic visual agent
  • do-pinterest.mjs
  • pinterest-complete.mjs
  • quora-complete.mjs, quora-final.mjs, quora-finish.mjs, quora-oneshot.mjs, quora-post.mjs
  • highground-branded-gig.mjs, highground-continue.mjs, highground-finish.mjs

Routes (6)

MethodRouteWhat
POST/vision-fallback/routeDecide CDP or vision for an action
GET/vision-fallback/statsSuccess/failure stats per platform
POST/vision-fallback/overrideForce a platform to use vision
GET/vision-fallback/platformsPer-platform mode overrides
POST/vision-fallback/testTest an action with both paths
GET/vision-fallback/historyRecent routing decisions

Per-platform overrides

Some platforms default to CDP, some to vision:

yaml
platforms:
  reddit: vision-first      # high detection
  linkedin: vision-first
  yelp: cdp-with-fallback
  youtube: cdp              # low detection
  google: cdp