-
Notifications
You must be signed in to change notification settings - Fork 1
steel+morph #18
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: main
Are you sure you want to change the base?
steel+morph #18
Conversation
|
@bhaktatejas922 is attempting to deploy a commit to the Steel Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Pull Request Overview
This PR adds comprehensive documentation for integrating Morph Computer Use with Steel for automated testing of full-stack applications. The integration enables developers to use Morph's specialized computer use model with Steel's cloud browsers to agentically test code changes.
Key changes:
- New quickstart guide demonstrating Steel + Morph Computer Use integration
- Complete Python example showing browser automation setup via CDP
- Documentation of Morph's cost and performance advantages for testing workflows
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
content/docs/integrations/morph-computer-use/quickstart.mdx |
Complete quickstart guide with installation, setup, and usage examples for the Steel + Morph integration |
content/docs/integrations/morph-computer-use/meta.json |
Navigation metadata for the new Morph Computer Use integration section |
content/docs/integrations/meta.json |
Added Morph Computer Use to the integrations navigation menu |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if STEEL_API_KEY == "your-steel-api-key-here": | ||
| print("⚠️ WARNING: Please replace 'your-steel-api-key-here' with your actual Steel API key") | ||
| print(" Get your API key at: https://app.steel.dev/settings/api-keys") | ||
| return | ||
|
|
||
| if MORPH_API_KEY == "your-morph-api-key-here": | ||
| print("⚠️ WARNING: Please replace 'your-morph-api-key-here' with your actual Morph API key") | ||
| print(" Get your API key at: https://morphllm.com") | ||
| return |
Copilot
AI
Nov 12, 2025
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.
In Step 4, the code uses return to exit when API keys are invalid, but in the full example (lines 194-202), the same validation uses sys.exit(1). These should be consistent. The full example's approach with sys.exit(1) is more appropriate for a standalone script.
| print("✅ Steel browser session started!") | ||
| print(f"View live session at: {session.session_viewer_url}") | ||
|
|
||
| print( | ||
| f"\033[1;93mSteel Session created!\033[0m\n" | ||
| f"View session at \033[1;37m{session.session_viewer_url}\033[0m\n" | ||
| ) |
Copilot
AI
Nov 12, 2025
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.
Duplicate print statements for the session viewer URL (lines 210-211 and 213-216). The colored version (213-216) appears to be redundant. Consider removing one to avoid repetition.
| print(f"❌ Test execution failed: {e}") | ||
| raise |
Copilot
AI
Nov 12, 2025
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.
In the full example, line 257 re-raises the exception after printing the error, but in Step 5 (line 134), the exception is caught and not re-raised. This inconsistency means Step 5's error handling will suppress exceptions while the full example will propagate them. These should behave consistently.
| except Exception as e: | ||
| print(f"❌ Failed to start Steel browser: {e}") | ||
| print("Please check your STEEL_API_KEY and internet connection.") | ||
| raise |
Copilot
AI
Nov 12, 2025
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.
In the full example, line 268 re-raises the exception after printing error details, but in Step 4 (lines 142-144), the exception is caught without re-raising. This creates inconsistent error handling behavior between the step-by-step code and the full example.
| raise | |
| raise | |
| raise |
No description provided.