A local agent that watches your screen and writes its own playbook
Photo Agents exists to run vision-grounded LLM agents on your own machine, giving them layered memory and the ability to write their own skills from past successes.

What it does
Photo Agents is a Python package that runs a local perceive-reason-act loop to let tool-calling LLMs operate your computer. It bundles browser automation via a Chrome DevTools Protocol bridge, sandboxed code execution, file I/O, and a layered memory system that archives observations, working context, and long-term facts to disk. A multi-provider router switches between Anthropic Claude and OpenAI GPT sessions with an optional failover mixin.
The interesting bit
The memory model is explicitly biological: vision goes in, bound observations get stored in layers, and the agent authors its own L3 SOPs and helper skills after successes. That self-evolution happens through reflection and scheduler scripts in the evolution module, not just prompt engineering.
Key highlights
- Vision-grounded loop: the agent grounds decisions in what it actually sees on screen rather than chat transcript dumps.
- Layered memory: working, global, SOP, and session-archive layers persist to
~/.photoagents/. - Multi-provider LLM router with native Anthropic and OpenAI support plus a failover mixin.
- Broad client surface: Streamlit, PyQt, desktop companion, and chat-platform bots (Telegram, QQ, Feishu, WeCom, DingTalk).
- Optional observability via Langfuse and a cron-style scheduler.
Caveats
- The entire runtime is gated by a remote-validated API key checked against
photo-agents.com; you cannot run it without an account and a live validation call. - Status is beta and APIs may shift before 1.0.
- The README frames the package as “local” and privacy-preserving, but the mandatory license gate means it is not fully offline or independent of the vendor’s infrastructure.
Verdict
Worth a look if you want a local-ish agent framework with built-in browser automation, multi-provider routing, and an experimental memory model. Skip it if you need a fully offline, ungated open-source tool or if you are allergic to beta APIs that require vendor sign-in.
Frequently asked
- What is jmerelnyc/Photo-agents?
- Photo Agents exists to run vision-grounded LLM agents on your own machine, giving them layered memory and the ability to write their own skills from past successes.
- Is Photo-agents open source?
- Yes — jmerelnyc/Photo-agents is open source, released under the MIT license.
- What language is Photo-agents written in?
- jmerelnyc/Photo-agents is primarily written in Python.
- How popular is Photo-agents?
- jmerelnyc/Photo-agents has 831 stars on GitHub.
- Where can I find Photo-agents?
- jmerelnyc/Photo-agents is on GitHub at https://github.com/jmerelnyc/Photo-agents.