AskRON is a Chrome extension + Flask backend that answers navigation questions about the current website using AWS Bedrock (Claude Sonnet).
- You open the extension popup and enter a question.
- The extension reads the active tab URL.
- It sends a POST request to
http://127.0.0.1:5000/conversewith:user_messageweb_name(current tab URL)format(plain,short, orsteps)
- Flask calls Bedrock
converse_stream, builds the text response, and returns JSON to the popup.
converse.py— Flask API and Bedrock integrationrequirements.txt— Python dependenciesflaskapp.flaskenv— Flask app entrypoint (FLASK_APP=converse.py)chrome-extension/manifest.json— Chrome extension manifestchrome-extension/popup.html— popup UIchrome-extension/popup.js— popup logic and POST requestchrome-extension/background.js— background service workerchrome-extension/icons/— extension icon assets
- Python 3.10+
- Google Chrome
- AWS account access to Bedrock model
anthropic.claude-3-sonnet-20240229-v1:0(or custom model)
-
Install Python dependencies:
pip install -r requirements.txt
-
Create a
.envfile in the project root:AWS_ACCESS_KEY_ID=your_key AWS_SECRET_ACCESS_KEY=your_secret AWS_REGION=us-west-2 BEDROCK_MODEL_ID=anthropic.claude-3-sonnet-20240229-v1:0
-
Run Flask:
flask run
Or:
python converse.py
-
Load the extension in Chrome:
- Open
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select the
chrome-extension/folder
- Open
{
"user_message": "How do I find pricing?",
"web_name": "https://example.com",
"format": "short"
}{
"success": true,
"response": "..."
}{
"success": false,
"error": "..."
}- The extension can only call
http://127.0.0.1:5000/*by default (host_permissionsinmanifest.json). - Icon paths in
manifest.jsonare resolved fromchrome-extension/icons/. - Current popup submits on button click; Enter-key form submission is not implemented yet.
- Add Enter-key submission in popup UX.
- Add response timeout/retry handling in backend.
- Move to AWS profile/role auth instead of static keys in
.env. - Add unit tests for
/converseand popup fetch handling.