# AI use cases for One Jev (OmniJev/OneJev)

Repo: [OmniJev/OneJev](https://github.com/OmniJev/OneJev) | Use cases: 4 | Page: https://dedupedai.com/use-cases/omnijev-onejev/

OneJev is a Python package and set of Qwen-based multimodal models that return calibrated probabilities for typed questions about screenshots, photos, video and text in one forward pass.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Pick the next UI action from a screenshot: https://dedupedai.com/use-cases/omnijev-onejev/pick-next-ui-action-from-screenshot/
- Run the One Jev API and playground in Docker: https://dedupedai.com/use-cases/omnijev-onejev/run-onejev-docker-api-and-playground/
- Run a small One Jev model on a laptop with llama.cpp: https://dedupedai.com/use-cases/omnijev-onejev/run-small-onejev-on-laptop-with-llama-cpp/
- Fine-tune One Jev on your own labeled questions: https://dedupedai.com/use-cases/omnijev-onejev/fine-tune-onejev-on-own-questions/

## How to pick the next UI action from a screenshot with One Jev

Repo: [OmniJev/OneJev](https://github.com/OmniJev/OneJev) | Difficulty: Intermediate | Time: 30 minutes | Basis: From the README

Ask a local model whether a task is done, what to click next and how far along it is.

**Who it is for:** A developer building a browser or desktop automation agent who needs a step-by-step decision from each screen capture.

**The problem:** Scripted automation breaks when a page changes, and sending every screenshot to a hosted model is costly or not allowed.

**The outcome:** Your agent gets probabilities for done, one probability per next action and an expected progress level for each screenshot it sends to a local One Jev server.

### Steps

1. Run `pip install "qev[torch] @ git+https://github.com/OmniJev/OneJev.git"`
2. Run `qev serve --model OmniJev/OneJev1.6-4B --port 8000` and leave it running
3. In another terminal, save your screen as screenshot.png and run the Python example from the README with your task text in state
4. Read `r.answers["done"].noul` for the probability of yes, `r.answers["next"].probabilities` for the action options and `r.answers["progress"].score` for the expected level

### Prompt to paste into your agent

```text
Using the OneJev repo at https://github.com/OmniJev/OneJev, start the server with `qev serve --model OmniJev/OneJev1.6-4B --port 8000`, then send <screenshot path> with the task <task text> through the Python Client example. Return the done probability, the next-action probabilities and the progress score as JSON. Verify that the probabilities for the next-action question sum to about 1 before you act on them.
```

### Caveat

The README gives the probabilities as the output, so your agent must still map the chosen action to real clicks and typing itself.

Risk, credentials: Screenshots can show passwords, tokens or account pages, so keep the server on localhost and do not send those captures to any other host.

Dual-use notice: only use this on software, sites and systems you own or are authorized to test.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/omnijev-onejev/pick-next-ui-action-from-screenshot/

## How to run the One Jev API and playground in Docker with One Jev

Repo: [OmniJev/OneJev](https://github.com/OmniJev/OneJev) | Difficulty: Intermediate | Time: 45 minutes | Basis: From the README

Start a Compose stack that detects your hardware and serves the API and playground on port 8000.

**Who it is for:** A team member who wants a shared local One Jev endpoint without setting up Python environments on each machine.

**The problem:** Setting up GPU drivers, Python packages and model backends by hand on several machines takes time and drifts over time.

**The outcome:** One command starts a backend that serves the same API and playground at http://localhost:8000.

### Steps

1. Run `cp docker/.env.example docker/.env`, then set HF_TOKEN in docker/.env if you use a gated or private repo
2. Run `./docker/start.sh` (on Windows run `.\docker\start.ps1`)
3. Run `./docker/start.sh logs` to follow the logs until the server is ready
4. Open http://localhost:8000 for the playground, or send requests to the API, then run `./docker/start.sh down` to stop it

### Prompt to paste into your agent

```text
Using the OneJev repo at https://github.com/OmniJev/OneJev, run `cp docker/.env.example docker/.env` and `./docker/start.sh`, then confirm the service answers at http://localhost:8000. Report which backend was selected and the status of the running containers. Verify that the playground loads at http://localhost:8000 before reporting success.
```

### Caveat

On Windows the README lists only the torch (NVIDIA) and cpu backends, so other profiles are not available there.

Dual-use notice: only use this on software, sites and systems you own or are authorized to test.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/omnijev-onejev/run-onejev-docker-api-and-playground/

## How to run a small One Jev model on a laptop with llama.cpp with One Jev

Repo: [OmniJev/OneJev](https://github.com/OmniJev/OneJev) | Difficulty: Intermediate | Time: 30 minutes | Basis: From the README

Serve the 0.8B GGUF build for text and image questions without an NVIDIA GPU.

**Who it is for:** A developer on a Mac or CPU-only machine who wants to test typed-question prompts offline.

**The problem:** The PyTorch backend needs an NVIDIA GPU, which many laptops do not have.

**The outcome:** A local server answers text and image questions from the 0.8B GGUF model at http://localhost:8000 using the same Python client.

### Steps

1. Run `brew install llama.cpp` on macOS, or install llama.cpp from its install guide
2. Run `pip install git+https://github.com/OmniJev/OneJev.git`
3. Run `qev serve --gguf mradermacher/OneJev1.6-0.8B-GGUF:Q8_0 --port 8000`
4. Send your screenshot or photo with the README Python example, and keep video requests for the PyTorch backend

### Prompt to paste into your agent

```text
Using the OneJev repo at https://github.com/OmniJev/OneJev, install llama.cpp, then run `qev serve --gguf mradermacher/OneJev1.6-0.8B-GGUF:Q8_0 --port 8000`. Send one image with a yes/no question and return the noul probability. Verify that the request uses an image and not a video before reporting the result.
```

### Caveat

The README says the llama.cpp backend does not handle video, so video questions need the PyTorch backend.

Dual-use notice: only use this on software, sites and systems you own or are authorized to test.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/omnijev-onejev/run-small-onejev-on-laptop-with-llama-cpp/

## How to fine-tune One Jev on your own labeled questions with One Jev

Repo: [OmniJev/OneJev](https://github.com/OmniJev/OneJev) | Difficulty: Advanced | Time: 2 hours | Basis: From the README

Train a checkpoint on your own media and typed questions using the repo's config files.

**Who it is for:** A machine learning engineer who has labeled screenshots or media for a narrow decision task and needs a model tuned to it.

**The problem:** The released models may not match the questions, answer options or media in your own product.

**The outcome:** A fine-tuned checkpoint saved under train/runs that you can serve with qev serve --model.

### Steps

1. Run `git clone https://github.com/OmniJev/OneJev.git`, then `cd OneJev` and `pip install -e ".[train]"`
2. Run `hf download OmniJev/OneJev-Data sample/sample-100.parquet --repo-type dataset --local-dir data/onejev` and `python -m train.unpack data/onejev --sample` to try the 100-example demo
3. Write your own train.jsonl and media folder in the same layout, then set `train` and `media_root` in a copy of train/configs/onejev_4b_full.yaml (inferred, check the README)
4. Run `torchrun --nproc-per-node 4 -m train.sft --config train/configs/onejev_4b_full.yaml`, changing the GPU count to match your machine
5. Run `qev serve --model train/runs/onejev_4b/final --port 8000` to test the checkpoint

### Prompt to paste into your agent

```text
Using the OneJev repo at https://github.com/OmniJev/OneJev, install with `pip install -e ".[train]"` and run the 100-example demo unpack step. Report the path to train/configs/onejev_4b_full.yaml and the number of lines in data/onejev/train.jsonl. Verify that data/onejev/media/ exists before you start training.
```

### Caveat

The 4B config targets four GPUs and the full dataset is 17.7 GB, so the 100-example sample is the only practical start on a single machine.

Dual-use notice: only use this on software, sites and systems you own or are authorized to test.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/omnijev-onejev/fine-tune-onejev-on-own-questions/
