Skip to content

Conversation

@tembo
Copy link
Contributor

@tembo tembo bot commented Dec 8, 2025

Summary

  • Added a new openagi Python template for the OpenAGI Lux computer-use model.
  • Integrated the template into index.ts for CLI visibility, including a new OAGI_API_KEY environment variable for deployment.
  • Introduced core components: kernel_handler.py for action mapping, kernel_provider.py for screenshot capture/resizing, and kernel_session.py for browser session management.
  • main.py orchestrates the OpenAGI agent using Kernel's computer controls.

Description

This PR introduces a new Python template for integrating the OpenAGI Lux computer-use model into the create-kernel-app CLI. It provides a starter project that leverages Kernel's computer controls for browser automation with OpenAGI's Lux vision-language model. The changes include adding the template files, updating the CLI's index.ts to register the new template, and providing necessary helper modules for session management, screenshot capture, and action handling.

Implementation Checklist

  • Implemented this change in TypeScript
  • Implemented this change in Python

Testing

  • All tests pass locally
  • Linted
  • Added tests for new functionality (if applicable)

Docs

  • Link to a PR in our docs repo documenting your change (if applicable)

Visual Proof

Related Issue

Fixes KERNEL-648

Additional Notes

This template provides a robust foundation for developers to quickly get started with OpenAGI Lux for computer automation within the Kernel ecosystem. It includes detailed README.md instructions for quick setup and deployment.


Want me to make any changes? Add a review or comment with @tembo and i'll get back to work!

tembo.io linear.app app.tembo.io


Note

Adds a Python openagi template for OpenAGI Lux computer-use and wires it into the CLI with deploy/invoke samples and OAGI_API_KEY support.

  • Templates (Python):
    • New openagi template at templates/python/openagi implementing OpenAGI Lux integration with Kernel Computer Controls:
      • main.py orchestrates AsyncDefaultAgent with screenshot/action providers.
      • kernel_session.py manages browser lifecycle; kernel_provider.py captures/resizes screenshots; kernel_handler.py maps Lux actions to Kernel controls.
      • Includes README.md, _gitignore, and pyproject.toml (adds kernel, oagi, Pillow).
  • CLI (index.ts):
    • Registers openagi template (name/description), sample invoke, app name python-openagi, and deploy command requiring OAGI_API_KEY.
    • Updates template option list and language/template mappings.

Written by Cursor Bugbot for commit aa54ab8. This will update automatically on new commits. Configure here.

y=y,
)
# Scroll in the specified direction
delta_y = self.scroll_amount if direction == "up" else -self.scroll_amount
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Scroll direction logic is inverted

The scroll direction logic is inverted. In browser wheel events, a negative delta_y scrolls up (revealing content above), while a positive delta_y scrolls down. The current code does the opposite: direction == "up" produces positive delta_y and the else case (down) produces negative. This matches the convention in the existing computer-use template where "up" uses -scroll_factor and "down" uses positive. The scroll will move in the opposite direction from what users expect.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant