Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adobe-rnd/mystique-playground
https://github.com/adobe-rnd/mystique-playground
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/adobe-rnd/mystique-playground
- Owner: adobe-rnd
- Created: 2024-05-31T08:19:27.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-09-11T13:38:20.000Z (5 months ago)
- Last Synced: 2024-09-11T21:16:07.171Z (5 months ago)
- Language: Python
- Size: 2.13 MB
- Stars: 1
- Watchers: 11
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mystique Playground
A playground and toolkit for the Mystique project.
## Setup
1. Create a `.env` file in the root directory with the following content:
```shell
echo "OPENAI_API_TYPE=azure # azure or openai" > .env
echo "OPENAI_API_KEY=..." > .env
echo "AZURE_OPENAI_API_KEY=..." > .env
echo "AZURE_OPENAI_ENDPOINT=https://openai-west-us-tsaplin.openai.azure.com/" >> .env
echo "AZURE_OPENAI_DALLE_API_KEY=..." >> .env
echo "AZURE_OPENAI_DALLE_ENDPOINT=https://openai-east-us-tsaplin.openai.azure.com/" >> .env
```1. Create a virtual environment:
```shell
python3 -m venv venv
source venv/bin/activate
```1. Install the required packages:
```shell
source venv/bin/activate
pip install -r requirements.txt
playwright install
cd ui && npm install && cd ..
```1. Install the Chrome extension (optional):
- Open the Extension Management page by navigating to `chrome://extensions`.
- Enable Developer Mode by clicking the toggle switch next to Developer mode.
- Click the Load unpacked button and select the `ui` folder.## Running the Application
To start the `Playground` tool, run the following command:
```shell
source venv/bin/activate
./start.sh https://main--wknd--hlxsites.hlx.page/
```To use the `Copilot` tool, run the following command:
```shell
source venv/bin/activate
./start.sh
```To start the `Web Creator` tool, run the following command:
```shell
source venv/bin/activate
./creator.sh
```## Running tests
To run the tests, execute the following command:
```shell
source venv/bin/activate
python -m unittest discover -s server/tests
```## Adding a New Generation Strategy to the Playground
To create a new generation strategy, follow these steps:
1. **Create a New Python Class**: This class should extend `AbstractGenerationStrategy`.
2. **Make the Strategy Discoverable**: Place the new class anywhere in the `server/generation_strategies` folder or a subfolder within it.#### Required Methods
You need to implement three methods in your class:
- **`id`**: A unique identifier for the strategy.
- **`name`**: A human-readable name that will be displayed in the UI.
- **`generate`**: The method where the new content will be generated.#### The `generate` Method
The `generate` method accepts two arguments:
- **`url`**: The URL of the website.
- **`selector`**: The CSS selector of the block.#### Useful Methods from the Base Class
You can use the following methods from the base class to enhance your strategy:
- **`send_progress`**: To send a status update to the UI.
- **`replace_html`**: To replace the HTML content of the page.
- **`add_css`**: To add CSS classes to the page.
- **`run_javascript`**: To add JavaScript code to the page.
- **`run_javascript_when_selector_available`**: To run JavaScript code when the selector is available.#### Useful Utilities
To interact with the LLM, render pages, and capture screenshots, use the functions available in `llm.py` and `scraper.py`.