### Install Frontend Dependencies (Bash) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Installs the Node.js dependencies for the Next.js frontend application. The `--prefix` flag specifies the directory where `npm install` should be executed. ```bash npm install --prefix web ``` -------------------------------- ### Environment Configuration (Bash) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Copies the example environment file to `.env` and prompts the user to fill in necessary API keys and configuration. This file is crucial for connecting to external services like OpenRouter and Composio. ```bash cp .env.example .env ``` -------------------------------- ### Install Backend Dependencies (Bash) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Installs the Python dependencies required for the FastAPI backend server. It reads the list of dependencies from the `requirements.txt` file located in the `server/` directory. ```bash pip install -r server/requirements.txt ``` -------------------------------- ### Start Next.js App (Bash) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Starts the Next.js development server for the frontend application. This command should be run in a separate terminal from the backend server. The `--prefix` flag indicates the project directory. ```bash npm run dev --prefix web ``` -------------------------------- ### Start FastAPI Server (Bash) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Starts the FastAPI development server. The `--reload` flag enables hot-reloading, which automatically restarts the server when code changes are detected. ```bash python -m server.server --reload ``` -------------------------------- ### Clone and Navigate Repository (Bash) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Clones the OpenPoke repository from GitHub and changes the current directory to the project root. This is the initial step for setting up the project locally. ```bash git clone https://github.com/shlokkhemani/OpenPoke cd OpenPoke ``` -------------------------------- ### Create and Activate Python Virtual Environment (Bash/PowerShell) Source: https://github.com/shlokkhemani/openpoke/blob/main/README.md Creates a Python virtual environment using Python 3.10+ and activates it. This isolates project dependencies. Instructions are provided for both Unix-like systems (Bash) and Windows (PowerShell). ```bash # Ensure you're using Python 3.10+ python3.10 -m venv .venv source .venv/bin/activate # Verify Python version (should show 3.10+) python --version ``` ```powershell # Use Python 3.10+ (adjust path as needed) python3.10 -m venv .venv .\.venv\Scripts\Activate.ps1 # Verify Python version python --version ``` -------------------------------- ### Send Draft Tool Source: https://github.com/shlokkhemani/openpoke/blob/main/server/agents/interaction_agent/system_prompt.md Used to send draft emails for user review. This tool should be called immediately after an agent message indicates a draft is ready, passing the exact recipient, subject, and body. It must be followed by a `send_message_to_user` call to confirm next steps. ```python send_draft( to="recipient@example.com", subject="Draft Subject", body="This is the body of the draft email." ) ``` -------------------------------- ### Send Message to User Tool Source: https://github.com/shlokkhemani/openpoke/blob/main/server/agents/interaction_agent/system_prompt.md Used to communicate natural language replies, acknowledgements, status updates, confirmations, or wrap-ups directly to the user. This is the agent's sole method of direct user communication. ```python send_message_to_user("This is a message for the user.") ``` -------------------------------- ### Send Message to Agent Tool Source: https://github.com/shlokkhemani/openpoke/blob/main/server/agents/interaction_agent/system_prompt.md The primary tool for task execution. It allows the agent to interact with various sub-agents to perform a wide range of tasks. Prefer using existing agents and parallel calls where possible. Avoid specifying 'how' to the agent, focus on 'what'. ```python send_message_to_agent( agent_name="relevant_agent_name", tool_name="tool_to_use", parameters={"key": "value"} ) ``` -------------------------------- ### Wait Tool Source: https://github.com/shlokkhemani/openpoke/blob/main/server/agents/interaction_agent/system_prompt.md Used to prevent duplicate messages or actions by checking conversation history. If a response or action has already occurred, `wait` can be used with a reason to avoid redundancy. This tool adds a silent log entry. ```python wait(reason="Avoiding duplicate message to user.") ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.