---
# System prepended metadata

title: DAO AI Agents Setup Instructions

---

# DAO AI Agents Setup Instructions



# AI Agent Local Setup

This guide outlines the steps to set up a local development environment for an AI agent that interacts with Warpcast, the Graph, and EVM.

---

## Prerequisites
1. **Virtual Environment (VM):** Ensure you have Python and a virtual environment tool installed.
2. **Poetry:** Dependency management tool for Python.
3. **API Keys:**
   - Coinbase Developer Platform (CDP) https://portal.cdp.coinbase.com/
   - OpenAI Pro account https://openai.com/index/openai-api/
   - New Warpcast account (new account can be nice)
   - NANAR API https://dev.neynar.com/
   - The Graph API https://thegraph.com/studio
4. **Base RPC:** Use a service like Infura, or a free/public RPC for EVM interactions.

---

## Setup Steps

### 1. Clone the Repository
```bash
git clone <repository-url>
cd <repository-folder>
```

### 2. Set Up a Virtual Environment
```bash
python3 -m venv venv
source venv/bin/activate  # For Linux/Mac
venv\Scripts\activate     # For Windows
```

## install poetry
```
pip3 install poetry
```

### 3. Install Dependencies with Poetry
```bash
poetry install
```

This installs libraries for interacting with Coinbase, OpenAI, and other required tools.

### 4. Configure `.env` File
Create a `.env` file and fill in the following keys:
- `CDP_API_KEY_NAME` and `CDP_PRIVATE_KEY`
- `OPENAI_API_KEY`
- `FARCASTER_FID` can get this from the api page https://docs.neynar.com/reference/lookup-user-by-username
- `NANAR_API_KEY`
- `NAYNAR_SIGNER_UUID` need to create this from the naynar dev dashboard
- `GRAPH_KEY`
- `BASE_RPC`

Refer to the documentation of respective services to generate these keys.


these are filled in later
- `TARGET_DAO`
- `TARGET_AGENT_WALLET_ID`
- `TARGET_AGENT_WALLET_ADDRESS`


### 5. Create a Wallet
Run the wallet creation script (in cdpdemo folder) to set up a new base wallet:
```bash
python create_wallet.py
```

This generates a wallet JSON seed file and outputs the wallet id and address. Add these to the `.env` file.

### 6. Fund the Wallet
If interacting on-chain, fund the wallet with a small amount of eth for gas fees.

---

## Running the Agent

### Start the Agent

cd into cdpdemop

```bash
python run.py
```
or to load a character
```bash
python run.py <character file json>
```
Options available:
1. **Chat Mode:** Directly chat with the agent for tasks like generating proposals or interacting with DAOs.
2. **Autonomous Mode:** The agent operates autonomously, performing actions like replying on Warpcast, creating proposals, or notifying about updates.

### Customize Agent Behavior
Modify the `characters` folder to define:
- **Identity and initial prompt** in JSON files.
- **Autonomous thoughts** for periodic actions.

---

## Key Files and Utilities
- **`agent.py`:** Core functions for the agent.
- **`constants.py`:** Contract addresses and configurations.
- **`helpers and utils`:** Includes DAO summoning tools, Warpcast, and Graph utility wrappers.
- **`run.py`:** Handles agent initialization and interval control for autonomous actions.
- **`characters/`:** json files that define initial prompts and auto thoughts for agents

---

## Additional Notes
- **Intervals:** The autonomous mode executes random actions every 5 to 60 minutes by default. This can be adjusted in `run.py`.
- **Memory Management:** The agent references recent actions (e.g., previous casts) to avoid repetitive tasks.

---

For detailed configuration or additional features, refer to the helper files and modify as needed.






![ironbssm](https://hackmd.io/_uploads/r1ELcPRfkg.png)


![thefly](https://hackmd.io/_uploads/BkV-XYRG1e.png)

![image](https://hackmd.io/_uploads/SkPIkA67yg.png)

![image](https://hackmd.io/_uploads/BJEXCuyEye.png)



