0.1.2-beta.5 • Published 3 months ago

local-operator-ui v0.1.2-beta.5

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
3 months ago

Local Operator empowers you to run Python code safely on your own machine through an intuitive chat interface. The AI agent:

🎯 Plans & Executes - Breaks down complex goals into manageable steps and executes them with precision.

🔒 Prioritizes Security - Built-in safety checks by independent AI review and user confirmations keep your system protected

🌐 Flexible Deployment - Run completely locally with Ollama models or leverage cloud providers like OpenAI

🔧 Problem Solving - Intelligently handles errors and roadblocks by adapting approaches and finding alternative solutions

This project is proudly open source under the GPL-3.0 license. We believe AI tools should be accessible to everyone, given their transformative impact on productivity. Your contributions and feedback help make this vision a reality!

"Democratizing AI-powered productivity, one conversation at a time."

💡 Overview

The Local Operator UI is a user interface for managing and interacting with the Local Operator agent environment. It is built using Electron, React, and TypeScript, leveraging modern web technologies for a rich and responsive user experience.

👉 For the agent environment CLI and Server backend, see the Local Operator GitHub repository.

🚀 Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js: Version 22.13.1 or higher. It's recommended to use nvm for managing Node.js versions.

The Local Operator backend is now bundled with the application and will be installed automatically when you first run the application. If you prefer to use an existing Local Operator backend installation, the application will detect it and use it instead.

NPM Installation

You can install and run Local Operator UI directly using npx.

# Install and run in one command
npx local-operator-ui

This will download and execute the latest version of the Local Operator UI, launching the application immediately.

Manual Installation

Alternatively, without npx, you can install the package globally with standard npm:

# Install globally
npm install -g local-operator-ui

# Run the application
local-operator-ui

After installation, the application will automatically connect to the Local Operator backend API at http://localhost:1111 by default.

Desktop Applications

Pre-built desktop applications are available for macOS, Windows, and Linux. Visit the Releases page to download the latest version for your platform.

  • macOS: Download the .dmg file and drag the application to your Applications folder.
  • Windows: Download the .exe installer and follow the installation prompts.
  • Linux: Download the appropriate package (.deb, .rpm, or .AppImage) for your distribution.

Building from Source

If you want to build the application from source, see the BUILD.md file for detailed instructions.

Python Bundling

For macOS builds, we now bundle a standalone Python directly with the application instead of requiring Homebrew installation. This approach:

  • Eliminates the need for admin privileges during installation
  • Makes the application more self-contained
  • Works offline
  • Provides a more reliable user experience
  • Supports installation of Python packages via pip

To set up the standalone Python for development:

# Run the setup script to download and configure standalone Python
yarn setup-python-standalone

This uses python-build-standalone, the same approach used by Datasette Desktop and PyOxidizer.

For more details, see the PYTHON_BUNDLING.md documentation.

Code Signing and Notarization

All desktop applications are code signed and notarized to ensure security and trust:

  • macOS: Applications are signed with an Apple Developer ID and notarized with Apple's notarization service
  • Windows: Applications are signed with a trusted code signing certificate
  • Linux: While code signing is less common on Linux, packages are built with integrity checks

For detailed information about the code signing and notarization process, see the CODE_SIGNING.md document.

✨ Features

The Local Operator UI provides a comprehensive interface for interacting with AI agents:

Chat Interface

  • Real-time chat with AI agents
  • Markdown rendering for code blocks and formatted text
  • Syntax highlighting for code snippets
  • Message history and conversation management

Agent Management

  • Create, update, and delete AI agents
  • Configure agent settings:
    • General settings (name, description, model)
    • Chat settings (temperature, top_p, etc.)
    • Security settings (security prompt, execution permissions)

Settings

  • System prompt configuration
  • API credentials management
  • Application configuration

API Integration

  • Seamless integration with the Local Operator backend API
  • Real-time status updates for long-running operations
  • Error handling and retry mechanisms

Bundled Backend

  • The Local Operator backend is now bundled with the application
  • Automatic installation of the backend when first running the application
  • Automatic detection and use of existing backend installations
  • Cross-platform support for Windows, macOS, and Linux

🤝 Contributing

Contributions are welcome! Please see our Contributing Guide for details on how to get started with development, code style guidelines, and our contribution process.

🐛 Troubleshooting

Common Issues

Application fails to connect to the backend

  • The application will automatically install and start the Local Operator backend if it's not already running
  • If you have an existing backend running on http://localhost:1111, the application will use that instead
  • Check that the VITE_LOCAL_OPERATOR_API_URL environment variable has not been set to a different URL. This value is set automatically to http://localhost:1111 if a custom .env doesn't specify otherwise
  • If you want to disable the automatic backend management, set the VITE_DISABLE_BACKEND_MANAGER environment variable to true
  • Verify network connectivity between the UI and the backend

Backend installation fails

  • Check the application logs for error messages
  • For macOS, the application now uses a bundled Python framework instead of requiring Homebrew and pyenv
  • If you encounter issues with the bundled Python, see the PYTHON_BUNDLING.md documentation
  • As a fallback, you can try installing the backend manually with pip install local-operator and then start it with local-operator serve

Development server crashes

  • Check the console for error messages
  • Ensure all dependencies are installed correctly
  • Try clearing the node_modules folder and reinstalling dependencies

UI rendering issues

  • Check for console errors in the developer tools
  • Ensure you're using a compatible version of Node.js
  • Try restarting the development server

Getting Help

If you encounter issues not covered here, please:

  1. Check the GitHub Issues for similar problems
  2. Open a new issue if your problem hasn't been reported

📄 License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.