Skip to content

. #1173

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

pepemanda
Copy link

… done so far and provide feedback for Jules to continue.

Features

  • Feature 1
  • Feature 2

Feature Docs

Influence

Result

Other

… done so far and provide feedback for Jules to continue.
This commit introduces an automated setup and launch process for OpenManus,
enabling it to run as a more standalone command-line application.

Key changes include:

1.  **`openmanus_launcher.py`**: A new Python script that:
    *   Checks for Python 3.12+.
    *   Manages a virtual environment (`.venv`).
    *   Installs dependencies from `requirements.txt`.
    *   Ensures Playwright components are installed.
    *   Copies `config.example.toml` to `config/config.toml` if needed.
    *   Prompts for and saves an API key to `config.toml` (using a previously provided key as a default).
    *   Creates a `workspace/` directory.
    *   Launches the application using `run_flow.py`.
    *   This script supersedes and replaces the old `setup_env.py`.

2.  **`OpenManus.bat`**: A batch script for Windows users to easily run the
    launcher with a double-click.

3.  **`openmanus.sh`**: A shell script for macOS/Linux users to run the
    launcher. (Requires `chmod +x`).

4.  **Dependency Review**: Confirmed no hard-coded dependencies on external
    orchestrators like Pinokio.

5.  **Entry Point**: Standardized on `run_flow.py` as the main script
    launched by the new system.

6.  **Logging**: Verified that local file logging is already in place.

This work provides the foundation for a standalone version of OpenManus.
The next steps before this feature is complete would involve updating the
README.md to reflect these new execution methods.

Further work, based on recent feedback from you, would be required to
implement a GUI (e.g., using Gradio) and update the default API key.
This commit introduces a Gradio-based graphical user interface for OpenManus,
making the application more user-friendly and interactive. It also updates
the launcher system to support the new GUI and incorporates the latest API key.

Key changes:

1.  **`app_gui.py` (New File):**
    *   Provides a web-based GUI using Gradio.
    *   Includes an input area for your prompts and a markdown display for
      application output, logs, and results.
    *   Integrates the core logic from `run_flow.py` to execute agent tasks.
    *   Handles asynchronous operations within the Gradio framework.

2.  **`openmanus_launcher.py` (Updated):**
    *   Modified to launch `app_gui.py` instead of the CLI script `run_flow.py`.
    *   The default API key (used if `config.toml` is missing or lacks a key)
      has been updated to the new key you provided.

3.  **`requirements.txt` (Updated):**
    *   Added `gradio` to the list of dependencies. This will be
      automatically installed by the launcher script.

4.  **`README.md` (Updated):**
    *   Documentation significantly revised to reflect the new GUI-first
      approach.
    *   The "Getting Started" section now guides you to use the
      `OpenManus.bat` (Windows) or `openmanus.sh` (macOS/Linux)
      launcher scripts, which automate setup and start the Gradio GUI.
    *   Explains that the application will open in a web browser.
    *   Information on API key configuration and manual setup retained
      for advanced users.

5.  **Launcher Scripts (`OpenManus.bat`, `openmanus.sh`):**
    *   These scripts, created in a previous phase to automate CLI setup,
      are now used to launch the GUI application, providing a consistent
      user experience.

This set of changes fulfills your request to make OpenManus a standalone
application with a graphical interface and updated API key. The optional
stretch goal of packaging into a single executable was not pursued in this
iteration due to its complexity, with the launcher scripts providing a
robust alternative.
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