Photo-agents logo

Photo-agents

Autonomous self-evolving agents. Vision-grounded layered memory and self-written skills for LLM agents that operate your computer.

python 3.10+status beta
GitHub

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

Streaming perceive → reason → act agent loop
Multi-provider LLM router with native support for Anthropic Claude and OpenAI GPT plus failover mixin
Physical-execution toolset: file I/O, sandboxed code execution (Python/PowerShell/bash), browser automation via Chrome DevTools Protocol bridge
Layered memory system (working/global/SOP/session archive)
Pluggable clients: Streamlit web app, PyQt desktop app, desktop companion, Telegram, Feishu, WeCom, DingTalk, QQ bots
Optional observability via Langfuse
Remote-validated Photo Agents API key gate for usage accountability
Self-evolving skill generation from real agent success
Cron-style scheduler for reflection/watchdog mode
Cross-platform support (Windows, macOS, Linux)

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.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for Photo-agents

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
Photo-agents | MushyBook