Photo-agents
Autonomous self-evolving agents. Vision-grounded layered memory and self-written skills for LLM agents that operate your computer.
What is it?
What it is
Photo Agents is a Python package that provides a self‑evolving, autonomous agent framework for photo‑aware tasks. It runs locally, keeping ownership of your screen, data, and keys, and uses a perceive‑reason‑act cycle to drive any tool‑calling LLM.
Why it exists
It was created to give LLM‑driven agents a grounded, visual memory system that mimics biological memory, enabling agents to act on what they actually see on screen while remaining fully local and accountable via an API‑key gate.
Who should use it
Teams building with Python who want an open-source, self-hosted option.
Who should avoid it
Teams that need a fully managed SaaS with enterprise SLAs out of the box.
How it works
A quick walkthrough in plain English
How Photo-agents works
Step 1 of 3
You interact with it
Open Photo-agents, send a request, or connect it to your stack.
Features
Advantages
- Fully autonomous, self-evolving agents reduce need for manual prompting
- Data privacy: screen information stays local; only sent to chosen LLM provider
- Flexibility to choose and swap LLM providers with automatic failover
- Extensive built-in toolkit for diverse computer interaction tasks
- Multiple frontend options accommodate different user preferences and workflows
- MIT license permits free use, modification, and distribution
- Local persistence of memory and skills enables continued learning across sessions
- Biologically inspired layered memory improves contextual reasoning
- Active open-source community and responsive maintenance
Disadvantages
- Requires a network-reachable LLM provider; not fully offline
- Beta release: APIs and behavior may change before version 1.0
- Initial setup involves obtaining and configuring a Photo Agents API key
- Relies on optional dependencies (e.g., beautifulsoup4) for certain browser features
- Rich feature set may present a steep learning curve for new users
- Limited to environments with Python 3.10 or newer
Installation
FAQ
How do I set up the API key for Photo Agents?
You can set the API key via an environment variable (`PHOTOAGENTS_API_KEY`), a saved config file (`~/.photoagents/config.json`), or during the first interactive run. The key is validated remotely and cached for 24 hours.
What GUI clients are available, and how do I launch them?
Photo Agents includes a Streamlit web app, a PyQt desktop app, a desktop companion, and bots for Telegram, Feishu, WeCom, DingTalk, and QQ. Launch commands are listed in the README under the 'GUI clients' section, e.g., `python -m photoagents.clients.telegram_client`.
How does the self-evolving loop function?
The self-evolving loop is managed by reflection and scheduler scripts in the `evolution` directory. It allows agents to refine their skills and adapt based on real-world interactions, using a layered memory system to store and apply successful actions.
Which LLM providers are supported?
Photo Agents natively supports Anthropic Claude and OpenAI GPT. It also includes a failover session mixer for reliability. Credentials are configured in `credentials.py` or `credentials.json`.
Why might browser tools not work?
Browser automation requires `beautifulsoup4` and a valid CDP bridge configuration in `resources/tmwd_cdp_bridge/`. Ensure these dependencies are installed and the config is correctly set up.
What happens if my API key is revoked?
If the API key is revoked, any client or service that relies on it will fail to launch. The key is cached for 24 hours, so revocation will take effect after that period or on the next validation check.
Featured in Videos
YouTube tutorials and walkthroughs for Photo-agents
Alternatives
Similar projects ranked by category, topics, and text overlap.