Top Repos· Jev-Based· Harness· Last updated

affirmitv / ghosthands

“Give an agent real hands and eyes: undetectable, DOM-independent GUI automation. A $4 USB-HID microcontroller for hands, a vision grounding model for eyes, any LLM for a brain.”

Jev-Based rank #50In Harness #18

TL;DR

affirmitv/ghosthands showed up as Jev / System One related work: Verified TypeSafe Jev / System One work — Jev or System One is the core idea.

The author describes it as: “Give an agent real hands and eyes: undetectable, DOM-independent GUI automation. A $4 USB-HID microcontroller for hands, a vision grounding model for eyes, any LLM for a brain.” That is their claim, not a bench this site ran.

Who it’s for

What’s inside

Top-level entries on GitHub at generation time: .gitignore, LICENSE, README.md, blog, docs, examples, ghosthands, requirements.txt, run.py, scripts, tests, tools. Read those before you trust a one-line install.

How to use

  1. Clone and follow the author’s Python toolchain. Do not invent a package name.
git clone https://github.com/affirmitv/ghosthands.git
cd ghosthands
  1. If the project calls hosted Jev, you still need a TypeSafe console key or a documented gateway.
  2. Send a complete state and typed questions. Code owns control flow after the probabilities.

Hosted Jev still looks like a function call — wrapper or not:

{
  model: "jev-1.13.0",
  state: { source: "affirmitv/ghosthands", brief: "..." },
  questions: {
    gate: { type: "noul", instructions: "Should we act on this state?" },
    route: { type: "choice", instructions: "Pick one next system.", criteria: ["code", "review", "human"] },
  },
}

Try this

Put Jev on one real brief

Wire affirmitv/ghosthands so one real state (ticket, diff, or utterance) becomes a Choice plus a Noul. Do not ask Jev to write the user-facing reply.

Schema-safe ≠ correct

On a case affirmitv/ghosthands gets wrong, write down the schema-legal answer it returned and the human label. Do not “fix” it by asking Jev to generate an explanation.

FAQ

Does this replace the TypeSafe SDK?

Only if the author implemented a full client. Most harnesses still call the vendor SDK or raw HTTP.

Are the star chips live?

Star, fork, and watcher chips refresh from the public GitHub API via a scheduled job. The prose on this page is editorial.

Sources

Public repository metadata and TypeSafe documentation. No private claims.