Skip to content

Support OpenClaw as an agent template #4

@pradipta-lyzr

Description

@pradipta-lyzr

Problem

ClawLess currently only supports GitClaw as the agent runtime. Users who want to use OpenClaw — the popular open-source personal AI assistant — have no way to run it inside ClawLess.

Proposal

Add OpenClaw as a first-class template option. On startup, users should be able to choose between GitClaw and OpenClaw before the container boots.

Requirements

  • Template picker at startup — simple UI to select which agent to run
  • OpenClaw gateway running inside WebContainer with chat interface in the terminal
  • Streaming responses — token-by-token rendering, not waiting for full response
  • File visibility — files the agent creates/modifies should appear in the left file tree
  • Tool activity indicators — show when the agent is reading/writing files or executing commands

Challenges to solve

  • OpenClaw has native dependencies (sharp, playwright-core, node-pty, sqlite-vec, node-llama-cpp) that won't run in WebContainer's WASM sandbox — need stubbing strategy
  • OpenClaw's native TUI uses WebSocket auth with ed25519 crypto signatures which are broken in WebContainer — need alternative chat interface
  • crypto.generateKeyPairSync('ed25519') is broken in WebContainer — device identity must be pre-generated
  • OpenClaw's default workspace path (/.openclaw/workspace) differs from ClawLess's file tree root (/workspace) — needs config alignment
  • ESM/CJS interop issues when stubbing packages — Node's cjs-module-lexer can't detect named exports from stub proxies

Acceptance criteria

  • User can choose GitClaw or OpenClaw at startup
  • GitClaw continues to work exactly as before
  • OpenClaw gateway boots successfully inside WebContainer
  • User can chat with OpenClaw and see streaming responses
  • Files created by OpenClaw appear in the file tree
  • Template system is generic enough to support future agent templates

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions