Add screen-agent example: wrapping an existing pip package (video → bug report)#31
Draft
emranemran wants to merge 1 commit into
Draft
Add screen-agent example: wrapping an existing pip package (video → bug report)#31emranemran wants to merge 1 commit into
emranemran wants to merge 1 commit into
Conversation
…video in, bug report out) New example demonstrating the pattern the others don't cover: the app logic lives in an external package (screen-agent-mvp); the Dockerfile pip-installs it and runs its bundled screen-agent-runner entry point. Dynamic registration, persistent (single-shot by nature), HTTP with base64 mp4 in / report bundle out. Runs offchain with deterministic fallback engines (no GPU needed); strict GPU mode documented. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A new example,
screen-agent/: send a screen recording, get back a structured bug report (markdown + timeline + summary JSON).Why this example (vs the existing ones)
Every current example was written for the repo. This one demonstrates the pattern real integrators hit first: putting an existing project on the network. The app logic lives in an external pip package (screen-agent-mvp); the Dockerfile installs it from git and runs its bundled
screen-agent-runnerentry point — ~150 lines of aiohttp +register_runner()around an unchanged pure function (livepeer_runner.py).Two integration details other examples don't surface, both learned the hard way:
asyncio.to_threadso registration heartbeats keep flowing mid-call;call_runner's 5s default timeout (this app passes 600s) — any non-trivial app dies on the default.livepeer-example/screen-agentTesting
Ran the README's offchain quickstart verbatim on WSL2/Docker Desktop:
docker compose up -d --build→/discoverylistslivepeer-example/screen-agent→uv run demo_video.py demo.mp4→uv run client.py demo.mp4returns the report bundle through the orchestrator proxy. Container runs--force-fallback(no GPU needed); strict GPU mode (PaddleOCR + OmniParser + Qwen2.5-VL) was verified end-to-end in the app repo on an RTX 5090.Notes for review
demo_video.pyif you'd rather keep examples dependency-light (it exists so the quickstart is copy-paste runnable).🤖 Generated with Claude Code