-
Notifications
You must be signed in to change notification settings - Fork 0
Add Browser Automation for Chat Interfaces with API-based Workflows #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Add Browser Automation for Chat Interfaces with API-based Workflows #2
Conversation
- Complete documentation in docs/BROWSER_AUTOMATION_CHAT.md - Quick deployment script with auto-configuration - Example implementations for Python, Node.js, and Bash - API reference and best practices - Support for authentication, message sending, and retrieval - Rate limiting and error handling examples - Production deployment guidance Co-authored-by: Zeeeepa <[email protected]>
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 issues found across 7 files
Prompt for AI agents (all 4 issues)
Understand the root cause of the following 4 issues and fix them.
<file name="deploy_chat_automation.sh">
<violation number="1" location="deploy_chat_automation.sh:161">
The script validates environments that only have the Docker Compose plugin, but later calls `docker-compose pull`, which will fail when the plugin is the only available option. Please use a command that works for both cases (e.g., detect once and set a variable) before invoking pull/up.</violation>
<violation number="2" location="deploy_chat_automation.sh:178">
`wait_for_services` relies on `curl`, but the dependency check never verifies that `curl` exists. If curl is missing, the health probe fails and the script exits with a backend error. Please add a curl dependency check (or guard) before using it.</violation>
</file>
<file name="examples/package.json">
<violation number="1" location="examples/package.json:15">
The license field should use a valid SPDX identifier (e.g., "AGPL-3.0-or-later") so that npm consumers receive correct licensing metadata.</violation>
</file>
<file name="docs/BROWSER_AUTOMATION_CHAT.md">
<violation number="1" location="docs/BROWSER_AUTOMATION_CHAT.md:305">
Example 2 references `MESSAGE_RETRIEVER_ROBOT_ID`, but the guide never defines that constant, so the sample script will crash with a `NameError` when readers follow it.</violation>
</file>
React with π or π to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.
| local attempt=0 | ||
|
|
||
| while [ $attempt -lt $max_attempts ]; do | ||
| if curl -sf http://localhost:8080/health > /dev/null 2>&1; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wait_for_services relies on curl, but the dependency check never verifies that curl exists. If curl is missing, the health probe fails and the script exits with a backend error. Please add a curl dependency check (or guard) before using it.
Prompt for AI agents
Address the following comment on deploy_chat_automation.sh at line 178:
<comment>`wait_for_services` relies on `curl`, but the dependency check never verifies that `curl` exists. If curl is missing, the health probe fails and the script exits with a backend error. Please add a curl dependency check (or guard) before using it.</comment>
<file context>
@@ -0,0 +1,320 @@
+ local attempt=0
+
+ while [ $attempt -lt $max_attempts ]; do
+ if curl -sf http://localhost:8080/health > /dev/null 2>&1; then
+ echo -e "${GREEN}β Backend is ready${NC}"
+ break
</file context>
| echo -e "${BLUE}Starting Maxun services...${NC}" | ||
|
|
||
| echo -e "${YELLOW}Pulling latest Docker images...${NC}" | ||
| docker-compose pull |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The script validates environments that only have the Docker Compose plugin, but later calls docker-compose pull, which will fail when the plugin is the only available option. Please use a command that works for both cases (e.g., detect once and set a variable) before invoking pull/up.
Prompt for AI agents
Address the following comment on deploy_chat_automation.sh at line 161:
<comment>The script validates environments that only have the Docker Compose plugin, but later calls `docker-compose pull`, which will fail when the plugin is the only available option. Please use a command that works for both cases (e.g., detect once and set a variable) before invoking pull/up.</comment>
<file context>
@@ -0,0 +1,320 @@
+ echo -e "${BLUE}Starting Maxun services...${NC}"
+
+ echo -e "${YELLOW}Pulling latest Docker images...${NC}"
+ docker-compose pull
+
+ echo -e "${YELLOW}Starting containers...${NC}"
</file context>
| }, | ||
| "keywords": ["maxun", "automation", "chat", "browser"], | ||
| "author": "Maxun", | ||
| "license": "AGPLv3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The license field should use a valid SPDX identifier (e.g., "AGPL-3.0-or-later") so that npm consumers receive correct licensing metadata.
Prompt for AI agents
Address the following comment on examples/package.json at line 15:
<comment>The license field should use a valid SPDX identifier (e.g., "AGPL-3.0-or-later") so that npm consumers receive correct licensing metadata.</comment>
<file context>
@@ -0,0 +1,16 @@
+ },
+ "keywords": ["maxun", "automation", "chat", "browser"],
+ "author": "Maxun",
+ "license": "AGPLv3"
+}
</file context>
| "license": "AGPLv3" | |
| "license": "AGPL-3.0-or-later" |
| } | ||
|
|
||
| response = requests.post( | ||
| f"{API_URL}/robots/{MESSAGE_RETRIEVER_ROBOT_ID}/runs", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Example 2 references MESSAGE_RETRIEVER_ROBOT_ID, but the guide never defines that constant, so the sample script will crash with a NameError when readers follow it.
Prompt for AI agents
Address the following comment on docs/BROWSER_AUTOMATION_CHAT.md at line 305:
<comment>Example 2 references `MESSAGE_RETRIEVER_ROBOT_ID`, but the guide never defines that constant, so the sample script will crash with a `NameError` when readers follow it.</comment>
<file context>
@@ -0,0 +1,775 @@
+ }
+
+ response = requests.post(
+ f"{API_URL}/robots/{MESSAGE_RETRIEVER_ROBOT_ID}/runs",
+ json=payload,
+ headers=headers
</file context>
π Browser Automation for Chat Interfaces
This PR adds comprehensive documentation, tooling, and examples for using Maxun to automate web-based chat interfaces with authentication, message sending, and retrieval capabilities.
β¨ What's New
π Complete Documentation
π οΈ Quick Deployment Tool
π» Code Examples
Located in examples/:
π― Use Cases
This implementation enables:
π Features
API-Based Workflow
${USERNAME},${PASSWORD},${MESSAGE})Authentication Support
Production-Ready
π Quick Start
π Example Usage
Python:
API Call:
curl -X POST http://localhost:8080/api/robots/{robotId}/runs \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "parameters": { "USERNAME": "[email protected]", "PASSWORD": "password", "MESSAGE": "Hello!" } }'π Security Features
π Performance
π§ͺ Testing
All examples include:
π Documentation Structure
π Related Resources
β Checklist
π Benefits
Ready to automate your chat interfaces! π€π¬
π» View my work β’ π€ Initiated by @Zeeeepa β’ About Codegen
β Remove Codegen from PR β’ π« Ban action checks
Summary by cubic
Adds browser automation for web-based chat interfaces with API-driven workflows, plus a one-command deploy script and language examples. This enables authenticated message sending/retrieval with production-ready guidance.
Written for commit a9e1524. Summary will update automatically on new commits.