Spaces:
Sleeping
Sleeping
File size: 2,058 Bytes
88d3e03 5c9e283 9592c1a 5c9e283 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | ---
title: Openhands Godmode
emoji: 📚
colorFrom: indigo
colorTo: yellow
sdk: docker
pinned: false
---
# OpenHands Godmode
This folder contains the Hugging Face Space wrapper for the GODMODE-flavored
OpenHands deployment.
## What is in this directory
- `Dockerfile`: extends `ghcr.io/all-hands-ai/openhands:0.17`
- `entrypoint_hf.sh`: waits for OpenHands core on port `3000` and proxies
Hugging Face port `7860` to it via `socat`
- `.gitattributes`: line-ending and text normalization metadata
## Runtime model
The wrapper does not implement OpenHands itself. It adapts the upstream
OpenHands container so it can run inside a Hugging Face Space where traffic
arrives on port `7860`.
Startup flow:
1. Launch upstream OpenHands core through `/app/entrypoint.sh`
2. Wait until port `3000` is reachable
3. Start a local proxy from `7860` to `3000`
4. Tail the OpenHands boot log so the Space console stays useful
The Docker wrapper now normalizes shell line endings during build and launches
the bridge through `/bin/bash` so the Hugging Face Linux runtime does not fail
on CRLF-style script metadata. It also pins the upstream `uvicorn
openhands.server.listen:app --port 3000` command explicitly so the child image
does not lose the original OpenHands launch command.
## Required environment and secrets
This folder is only the container wrapper. Runtime secrets and model routing are
expected to come from the host environment or Hugging Face Space secrets.
Typical inputs for the broader GODMODE stack are documented in:
- `../ENV_REFERENCE.md`
- `../.godmode_env.example`
- `../openhands/docker-compose.yml`
## Local vs hosted reality
- Local authoritative runtime config currently lives in `../openhands/`
- Hosted Hugging Face adaptation currently lives in this directory
- Multi-agent behavior mentioned in the external guide is not fully defined here
and remains `partial` in `../STACK_GAP_ROADMAP.md`
## Related files
- `../openhands/docker-compose.yml`
- `../START_GODMODE.sh`
- `../START_GODMODE.ps1`
- `../STACK_OPERATIONS.md`
|