PitchHut logo
AI agents for Docker with desktop and chat integrations.
Pitch

Loop allows the seamless integration of AI agents powered by Claude within Docker containers. Users can leverage a local-first desktop app or connect through Slack and Discord, enabling enhanced collaboration across platforms. Schedule tasks, manage sessions, and run multiple interfaces effortlessly.

Description

Loop is a robust framework that enables the deployment of AI agents powered by Claude within Docker containers. This project offers seamless integration with desktop applications as well as team collaboration tools such as Slack and Discord, facilitating a versatile environment for development and communication.

Key Features

  • Multi-Platform Support: Run agents on your desktop, or connect them to Slack and Discord, making it easy to collaborate with your team while managing tasks, scheduling, and conversation within one interface.
  • Flexible Architecture: The architecture comprises a desktop app for local-first experiences, an orchestrator to handle message coordination and session management, and a DockerRunner for running containers effectively. Simple commands enable interaction across platforms using Slack or Discord bots, allowing for both direct and indirect communication.
  • Task Scheduling and Management: The built-in scheduler allows for regular polling of tasks based on specified intervals or events, ensuring that tasks are executed as needed. Users can easily create, manage, and view their scheduled tasks in real-time.

Architecture Overview

The architecture of Loop incorporates various components:

     Desktop App          Slack / Discord
     (Electron)                 │
          │             @mention / reply / !loop / DM
          │                     │
          ▼                     ▼
     Local Bot             Slack/Discord Bot
          │                     │
          └──────────┬──────────┘
               Orchestrator ◀──────────────── Scheduler (poll loop)
                     │                              │
            build AgentRequest              due task? execute it
            (messages + session +           (cron / interval / once)
             channel dir_path)                      │
                     │                              │
                     ▼                              ▼
               DockerRunner ◄───────────────────────┘
          ┌──────────┴──────────┐
          │  create container   │
          │  mount dir_path or  │
          │  ~/.loop/<ch>/work  │
          │  (path-preserving)  │
          └──────────┬──────────┘
              Container (Docker)
          ┌─────────────────────┐
          │ claude --print      │
          │   workDir (project) │
          │   mcpDir  (logs)    │
          │   MCP: loop         │
          │   MCP: loop-browser │──▶ Host API ──▶ Chrome sidecar
          └─────────┬───────────┘
         MCP tool calls (schedule, list, cancel…)
              API Server ◀──▶ SQLite
             /api/memory/search
           Memory Indexer + Embedder
           (Ollama)
  • The Orchestrator plays a central role by managing message handling and task scheduling, ensuring an efficient workflow across all platforms.
  • Scheduler and DockerRunner facilitate the execution of tasks, while API Server and SQLite enhance communication and process management internally.
  • MCP Server and memory functionalities enable the advanced capabilities such as embedding and searching through stored data, improving the agent’s responsiveness and contextual understanding.

Getting Started

The setup for Loop can be tailored according to the platform being utilized, whether it’s the desktop app, Slack, or Discord:

  • Desktop App: Ideal for individual development with no need for bot setup.
  • Slack: Perfect for teams already using Slack, necessitating a bot token.
  • Discord: Best for organizations operating on Discord, requiring a Discord bot token.

Example Commands

Loop provides a command structure that allows for easy interaction with the agents, whether scheduling tasks or engaging in communication:

/loop schedule "0 9 * * 1-5" cron Review open PRs and post a summary
/loop tasks                          # list all scheduled tasks
@LoopBot what's the status of the payments service?    # @mention in a channel

In summary, Loop provides an innovative solution for integrating intelligent AI agents into everyday development workflows, enhancing productivity and collaboration across platforms.

0 comments

No comments yet.

Sign in to be the first to comment.