{"id":7507,"library":"plutus-ai","title":"Plutus AI","description":"Plutus AI is an autonomous AI agent framework designed for local execution, featuring subprocess orchestration, dynamic tool creation, and a local-first web interface. It allows users to define and run AI agents on their own machines, leveraging external LLMs. The current version is 0.3.240, and the library is in active development with frequent (often daily) releases.","status":"active","version":"0.3.240","language":"en","source_language":"en","source_url":"https://github.com/plutus-ai/plutus","tags":["ai-agent","llm","orchestration","local-first","cli","web-ui","python311"],"install":[{"cmd":"pip install plutus-ai","lang":"bash","label":"Install Plutus AI"}],"dependencies":[],"imports":[{"symbol":"Agent","correct":"from plutus import Agent"},{"symbol":"Goal","correct":"from plutus import Goal"}],"quickstart":{"code":"from plutus import Agent, Goal\nimport os # Good practice for potential environment variables\n\n# Define an agent specification as a dictionary\nagent_spec = {\n    \"name\": \"SimpleGreeterBot\",\n    \"instructions\": \"You are a friendly bot that greets the user and introduces yourself.\",\n    \"goals\": [\"Greet the user, introduce yourself, and then finish the conversation.\"],\n    \"tools\": [],\n}\n\n# Instantiate the Agent and Goal definitions from the plutus library\nagent = Agent(spec=agent_spec)\ngoal = Goal(description=\"Say hello to the user and finish the task.\")\n\nprint(f\"Successfully defined Agent: '{agent.name}'\")\nprint(f\"Instructions: '{agent.instructions}'\")\nprint(f\"Goal: '{goal.description}'\")\n\n# Note: To *run* this agent, you typically use the Plutus CLI, for example:\n# 1. Ensure the agent spec is accessible (e.g., saved via Plutus UI or a YAML file).\n# 2. Run from your terminal: `plutus chat --agent SimpleGreeterBot --goal \"Say hello!\"`\n#    Or `plutus run --agent SimpleGreeterBot --goal \"Say hello!\"`","lang":"python","description":"This quickstart demonstrates how to programmatically define an Agent and a Goal object using the Plutus AI library. It highlights the primary use of these classes for defining agent behaviors and tasks. To execute agents, the Plutus CLI (`plutus run` or `plutus chat`) or the local web UI is typically used, as the `Agent` class itself is a definition rather than an executor."},"warnings":[{"fix":"Always review the latest GitHub README and example code when upgrading to a new minor version. Pin your `plutus-ai` dependency to a specific patch version (e.g., `plutus-ai==0.3.240`) in production environments.","message":"Plutus AI is currently in a pre-1.0 development phase (version 0.3.x). Expect frequent breaking changes to agent specifications, API interfaces, and core functionalities between minor versions.","severity":"gotcha","affected_versions":"<1.0.0"},{"fix":"To run an agent defined in Python, you often need to save its spec (e.g., to YAML) or pass it via CLI arguments, then invoke the `plutus` command (e.g., `plutus run --agent MyAgent --goal \"Do something\"`). Consider the library for definition and the CLI/UI for orchestration.","message":"The `Agent` and `Goal` classes are primarily for defining agent specifications and tasks. They do not have simple `.run()` methods for direct programmatic execution. Agent execution is typically managed via the `plutus` CLI or the local web interface.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Upgrade your Python environment to version 3.11 or 3.12. Using a tool like `pyenv` or `conda` can help manage multiple Python versions.","message":"Plutus AI requires Python 3.11 or higher. Running with older Python versions (e.g., 3.10 or 3.9) will result in installation failures or runtime errors due to syntax or dependency incompatibilities.","severity":"breaking","affected_versions":"<0.3.x"},{"fix":"Ensure the necessary LLM API key environment variables are set in your shell or `.env` file before launching Plutus. Refer to the specific LLM provider's documentation for required keys.","message":"Plutus AI relies on external Large Language Models (LLMs) and requires appropriate API keys to be configured as environment variables (e.g., `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`). Without these, agents will fail to interact with LLMs.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"First, ensure `pip install plutus-ai` was successful. If so, verify that your Python environment's scripts directory is included in your system's PATH. On Linux/macOS, this is often `~/.local/bin`.","cause":"The Plutus AI command-line interface (CLI) is not installed or its executable path is not in your system's PATH environment variable.","error":"`plutus` command not found"},{"fix":"Make sure you have correctly defined and saved the agent (e.g., via the Plutus web UI, a YAML file, or programmatically registered it if that functionality is available for your version). Double-check the agent name for typos.","cause":"When using `plutus run` or `plutus chat`, the specified agent name does not correspond to an agent definition known to the Plutus system.","error":"Agent 'MyAgentName' not found"},{"fix":"Set the required API key as an environment variable (e.g., `export OPENAI_API_KEY='sk-...'`) in your terminal session before running Plutus, or add it to a `.env` file that Plutus can load.","cause":"The Plutus agent attempted to use an LLM (e.g., OpenAI, Anthropic) but could not find the corresponding API key in the environment variables.","error":"No API key found for LLM provider / Missing required environment variable for LLM"}]}