{"id":48554247,"url":"https://github.com/hoveychen/claw-workspace","last_synced_at":"2026-04-08T10:01:11.112Z","repository":{"id":349173135,"uuid":"1192566511","full_name":"hoveychen/claw-workspace","owner":"hoveychen","description":"Self host docker container to work with agent remotely. ","archived":false,"fork":false,"pushed_at":"2026-04-04T14:54:41.000Z","size":731,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T17:03:47.265Z","etag":null,"topics":["claude-code","distributed","paas-services","vscode"],"latest_commit_sha":null,"homepage":"https://hoveychen.github.io/claw-workspace/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoveychen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-26T10:46:21.000Z","updated_at":"2026-04-04T14:54:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hoveychen/claw-workspace","commit_stats":null,"previous_names":["hoveychen/claw-workspace"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hoveychen/claw-workspace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoveychen%2Fclaw-workspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoveychen%2Fclaw-workspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoveychen%2Fclaw-workspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoveychen%2Fclaw-workspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoveychen","download_url":"https://codeload.github.com/hoveychen/claw-workspace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoveychen%2Fclaw-workspace/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31549900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","distributed","paas-services","vscode"],"created_at":"2026-04-08T10:01:10.373Z","updated_at":"2026-04-08T10:01:11.100Z","avatar_url":"https://github.com/hoveychen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/claw-logo-banner.png\" alt=\"Claw Workspace\" width=\"600\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eRun multiple Claude Code agents across distributed machines, with centralized account management and task dispatch.\u003c/p\u003e\n\n## Why Claw Workspace?\n\nIf you're a Claude Code user who wants to scale beyond a single machine -- running multiple agents on different servers, sharing Claude accounts across a team, or dispatching tasks to a fleet of agents -- Claw Workspace handles the hard parts:\n\n- **Account Pooling** -- Add multiple Claude accounts (Pro/Max) and let the system automatically load-balance across them. When one account hits rate limits, agents seamlessly rotate to another.\n- **Distributed Agents** -- Deploy agent containers on any machine (local, cloud, behind NAT). Each agent gets a full VS Code + Claude Code environment accessible via browser.\n- **Task Dispatch** -- Send tasks to agents programmatically or from the hub's own Claude Code environment. The hub's master agent can delegate subtasks to remote agents automatically.\n- **Shared Filesystem** -- Built-in JuiceFS support gives all agents access to a shared filesystem backed by MinIO + Redis.\n- **Web Dashboard** -- Monitor accounts, agents, tasks, and rate limits from a single admin UI.\n\n## Architecture\n\n![Architecture Overview](docs/images/architecture-overview.png)\n\n\n## Quick Start\n\n### Prerequisites\n\n- Docker and Docker Compose\n- At least one Claude account with an active Pro or Max subscription\n\n### 1. Configure Environment\n\n```bash\ngit clone https://github.com/hoveychen/claw-workspace.git\ncd claw-workspace\n\n# Copy example env files\ncp .env.hub.example .env.hub\ncp .env.agent.example .env.agent\n```\n\nEdit `.env.hub` with your settings:\n\n```bash\n# Generate an encryption key for storing OAuth tokens\nHUB_ENCRYPTION_KEY=$(openssl rand -hex 32)\n\n# Choose passwords\nHUB_ADMIN_PASSWORD=your-admin-password\nAGENT_SECRET=your-shared-secret\n\n# Single secret for Redis + MinIO (JuiceFS shared filesystem)\nJUICEFS_SECRET=your-storage-password\n\n# Your email (for hub's built-in agent)\nHUB_ADMIN_EMAIL=you@example.com\n```\n\n### 2. Start the Hub\n\n```bash\ndocker compose -f docker-compose.hub.yml --env-file .env.hub up -d\n```\n\nThis starts the hub with Redis and MinIO (for shared filesystem). The hub is accessible at `http://localhost:9090`.\n\n### 3. Add a Claude Account\n\nOpen the hub dashboard at `http://localhost:9090` and log in with your admin password. Go to **Accounts** and click **Add Account** -- this starts an OAuth flow that opens your browser to authorize with Claude. Once authorized, the hub stores and manages your tokens automatically -- you never need to log in again on each agent.\n\n### 4. Deploy Agents\n\nOn any machine that can reach the hub:\n\n```bash\ndocker compose -f docker-compose.agent-cpu.yml --env-file .env.agent up -d\n```\n\nEdit `.env.agent` to point to your hub:\n\n```bash\nHUB_HOST=your-hub-host             # URLs are derived automatically\nAGENT_SECRET=your-shared-secret    # must match the hub\nJUICEFS_SECRET=your-storage-password  # must match the hub\nAGENT_NAME=agent-1\nOWNER_EMAIL=you@example.com\n```\n\nThe agent registers with the hub, receives Claude credentials automatically, and is ready to use. Access its VS Code environment at `http://agent-host:8081`.\n\n#### GPU Support\n\nIf your agent needs NVIDIA GPU access (e.g., for CUDA workloads), add the GPU override file:\n\n```bash\n# Use GPU 0\ndocker compose -f docker-compose.agent-gpu.yml --env-file .env.agent up -d\n\n# Use a different GPU\nGPU_DEVICE_ID=2 docker compose -f docker-compose.agent-gpu.yml --env-file .env.agent up -d\n```\n\nRequires [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) on the host. See [Configuration](https://hoveychen.github.io/claw-workspace/configuration/) for details.\n\n### 5. Use the Fleet\n\nThe hub dashboard at `http://localhost:9090` gives you full control:\n\n- **Agents** -- Monitor status, open VS Code in browser, reassign accounts\n- **Accounts** -- View health, rate limit utilization, enable/disable accounts\n- **Tasks** -- Dispatch tasks to agents, view output and cost, stop or resume\n- **Sessions** -- Start multi-turn interactive sessions with agents\n- **Files** -- Browse shared datasets and results across all agents\n\nYou can also use the hub's built-in Claude Code environment (at `http://localhost:8080`) which can automatically delegate work to remote agents via `fleet-cli`.\n\n## Adding More Accounts\n\nFor better throughput, add multiple Claude accounts from the **Accounts** page in the dashboard. The hub automatically load-balances across accounts and rotates when one hits rate limits.\n\n## Documentation\n\nFull documentation: [https://hoveychen.github.io/claw-workspace/](https://hoveychen.github.io/claw-workspace/)\n\n- [Getting Started](https://hoveychen.github.io/claw-workspace/getting-started/) -- Detailed setup guide\n- [Configuration](https://hoveychen.github.io/claw-workspace/configuration/) -- All environment variables\n- [Architecture](https://hoveychen.github.io/claw-workspace/architecture/) -- How it works under the hood\n\n## Building from Source\n\nIf you prefer to build locally instead of using pre-built images:\n\n```bash\nmake build          # Build all Go binaries\nmake docker         # Build Docker images locally\nmake test           # Run tests\n```\n\n## License\n\nApache License 2.0. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoveychen%2Fclaw-workspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoveychen%2Fclaw-workspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoveychen%2Fclaw-workspace/lists"}