{"id":47578553,"url":"https://github.com/ThinkInAIXYZ/clawdhome","last_synced_at":"2026-04-15T06:00:56.590Z","repository":{"id":345981930,"uuid":"1162466002","full_name":"ThinkInAIXYZ/clawdhome","owner":"ThinkInAIXYZ","description":"ClawdHome securely isolates and manages multiple OpenClaw gateway instances on one Mac.","archived":false,"fork":false,"pushed_at":"2026-04-11T16:33:22.000Z","size":8939,"stargazers_count":281,"open_issues_count":0,"forks_count":45,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-11T18:22:18.641Z","etag":null,"topics":["isolation","local-first","macos","multi-instance","openclaw","private-ai-assistant","security","zero-trust"],"latest_commit_sha":null,"homepage":"https://clawdhome.app","language":"Swift","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/ThinkInAIXYZ.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.en.md","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-02-20T09:49:36.000Z","updated_at":"2026-04-11T17:35:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ThinkInAIXYZ/clawdhome","commit_stats":null,"previous_names":["deepjerry-ai/clawdhome","thinkinaixyz/clawdhome"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/ThinkInAIXYZ/clawdhome","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkInAIXYZ%2Fclawdhome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkInAIXYZ%2Fclawdhome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkInAIXYZ%2Fclawdhome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkInAIXYZ%2Fclawdhome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThinkInAIXYZ","download_url":"https://codeload.github.com/ThinkInAIXYZ/clawdhome/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThinkInAIXYZ%2Fclawdhome/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31828531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"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":["isolation","local-first","macos","multi-instance","openclaw","private-ai-assistant","security","zero-trust"],"created_at":"2026-03-31T09:00:31.928Z","updated_at":"2026-04-15T06:00:56.584Z","avatar_url":"https://github.com/ThinkInAIXYZ.png","language":"Swift","readme":"# ClawdHome\n\n[![macOS](https://img.shields.io/badge/macOS-14%2B-000000?logo=apple\u0026logoColor=white)](https://clawdhome.app)\n[![Swift](https://img.shields.io/badge/Swift-5.9-F05138?logo=swift\u0026logoColor=white)](https://developer.apple.com/swift/)\n[![License](https://img.shields.io/github/license/ThinkInAIXYZ/clawdhome)](LICENSE)\n[![Release](https://img.shields.io/github/v/release/ThinkInAIXYZ/clawdhome)](https://github.com/ThinkInAIXYZ/clawdhome/releases)\n\nEnglish | [中文](README.zh.md)\n\n\u003e Native macOS control plane for securely running and managing multiple isolated OpenClaw gateway instances on a single Mac.\n\nClawdHome is built for people who want one machine to host multiple OpenClaw \"Shrimps\" without mixing identities, data, permissions, or operational risk. It combines a SwiftUI admin app, a privileged XPC helper daemon, and macOS multi-user isolation into a single workflow for setup, monitoring, cloning, maintenance, and recovery.\n\nWebsite: [clawdhome.app](https://clawdhome.app)  \nDownloads: [GitHub Releases](https://github.com/ThinkInAIXYZ/clawdhome/releases)  \nChangelog: [English](CHANGELOG.en.md) | [中文](CHANGELOG.zh.md)\n\n## Community Groups\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"docs/assets/readme/feishu-group.png\" alt=\"Feishu Group QR Code\" width=\"220\" /\u003e\n      \u003cbr /\u003e\n      Feishu Group\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"docs/assets/readme/wechat-group.png\" alt=\"WeChat Group QR Code\" width=\"220\" /\u003e\n      \u003cbr /\u003e\n      WeChat Group\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/assets/readme/github-dashboard.png\" alt=\"Dashboard\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"docs/assets/readme/github-claw-pool.png\" alt=\"Claw Pool\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e\u003cimg src=\"docs/assets/readme/github-role-center.png\" alt=\"Role Center\" /\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003cimg src=\"docs/assets/readme/github-role-awaken.png\" alt=\"Role Awaken\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Why ClawdHome\n\n- Real isolation: each Shrimp maps to its own macOS user account, runtime context, data, and permission boundary.\n- Safer privilege model: system-level actions are routed through an explicit XPC helper instead of ad-hoc shell flows inside the UI app.\n- Faster iteration: clone an existing Shrimp for experiments, rehearsal, or regression checks, then promote what works.\n- Native Mac fit: uses macOS user and process primitives instead of heavier VM or container workflows for this class of desktop automation.\n- Unified operations: manage onboarding, gateway lifecycle, files, logs, processes, config, and diagnostics from one place.\n\n## Highlights\n\n- Run multiple OpenClaw gateway instances on one Mac with clear per-instance boundaries.\n- Guided onboarding for new Shrimps, including channel-specific setup flows such as WeChat pairing.\n- Clone an existing Shrimp into a new isolated account for low-risk testing and rollout rehearsal.\n- Gateway lifecycle management with health visibility and watchdog-based recovery.\n- Built-in tools for files, sessions, processes, logs, and maintenance operations.\n- Model and provider configuration from the app, including direct model setup and Role Market-based presets.\n- Local AI operations support, including integration hooks for local model services where configured.\n- English and Chinese localization based on `Stable.xcstrings`.\n\n## Architecture\n\n```text\nClawdHome.app (SwiftUI admin UI)\n  -\u003e XPC -\u003e ClawdHomeHelper (privileged LaunchDaemon)\n      -\u003e per-user OpenClaw gateway instances\n```\n\n- `ClawdHome.app` is the operator-facing control plane for status, setup, and day-to-day maintenance.\n- `ClawdHomeHelper` is the privileged boundary for user management, process control, file operations, installs, and system automation.\n- Each Shrimp runs as a separate macOS user with its own OpenClaw runtime and data.\n\n## Security Model\n\n- Privileged operations stay inside the helper boundary.\n- Sensitive actions use explicit XPC methods rather than arbitrary shell paths.\n- Ownership and permission repair are built into important lifecycle workflows.\n- Runtime resources are separated per Shrimp to reduce blast radius and accidental cross-contamination.\n\n## Quick Start\n\n### Requirements\n\n- macOS 14+\n- Xcode 15+\n- Optional: [XcodeGen](https://github.com/yonaskolb/XcodeGen)\n\n### Build From Source\n\n```bash\nopen ClawdHome.xcodeproj\n```\n\nIf you prefer to regenerate the Xcode project first:\n\n```bash\nxcodegen generate\nopen ClawdHome.xcodeproj\n```\n\n### Install Helper For Local Development\n\n```bash\nmake install-helper\n```\n\nEquivalent direct command:\n\n```bash\nsudo bash scripts/install-helper-dev.sh install\n```\n\n## Common Commands\n\n| Purpose | Command |\n| --- | --- |\n| Build app (Debug) | `make build` |\n| Build helper only | `make build-helper` |\n| Build release archive | `make build-release` |\n| Build unsigned local package | `make pkg` |\n| Build signed package for local validation | `make pkg-signed` |\n| Build signed and notarized package | `make notarize-pkg` |\n| Run full release flow | `make release NOTARIZE=true` |\n| Run exported Release app directly | `make run-release` |\n| Install latest generated package | `make install-pkg` |\n| Uninstall development helper | `make uninstall-helper` |\n| Tail helper logs | `make log-helper` |\n| Tail app logs | `make log-app` |\n| Run localization checks | `make i18n-check` |\n| Clean build artifacts | `make clean` |\n\n## Troubleshooting\n\n### `npm install -g` fails on macOS\n\nCheck whether Xcode Command Line Tools are available:\n\n```bash\nxcode-select -p\n```\n\nIf the command fails, install them:\n\n```bash\nxcode-select --install\n```\n\nIf you hit an Xcode license error, accept it as an admin user:\n\n```bash\nsudo xcodebuild -license\n# or non-interactive:\nsudo xcodebuild -license accept\n```\n\n### Where to look for logs\n\n- Helper log: `/tmp/clawdhome-helper.log`\n- App log stream: `make log-app`\n\n## Repository Layout\n\n```text\nClawdHome/          SwiftUI app, views, models, services\nClawdHomeHelper/    privileged helper daemon and operations\nShared/             protocols and shared models for app/helper\nResources/          launch daemon plist and packaging resources\nscripts/            build, install, packaging, release, and i18n utilities\ndocs/               project documentation and README assets\nrelease-notes/      generated release-note drafts\n```\n\n## Localization\n\n- Languages: English and Chinese\n- String system: `Stable.xcstrings`\n- Checks: `make i18n-check`\n- Guide: [docs/i18n.md](docs/i18n.md)\n\n## Roadmap\n\n- [ ] External key management with an exec-based secrets provider\n- [ ] Finer-grained network access control management\n- [ ] Simpler setup for more model providers and IM channels\n- [ ] Better local small-model workflows and OpenClaw integration\n- [ ] Stronger rescue and diagnostics capabilities\n- [ ] Better gateway probing and historical health tracking\n- [ ] More production-ready signed and notarized distribution workflows\n\n## Contributing\n\n- Open an issue before large or structural changes.\n- Keep pull requests small, focused, and easy to review.\n- Include validation evidence for behavior changes.\n- Avoid committing local or private environment artifacts.\n- Follow the existing Swift and project structure conventions.\n- The repository currently does not ship automated unit tests, so manual verification notes are especially important in PRs.\n\n## Star History\n\n\u003ca href=\"https://www.star-history.com/?repos=ThinkInAIXYZ%2Fclawdhome\u0026type=date\u0026legend=top-left\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/image?repos=ThinkInAIXYZ/clawdhome\u0026type=date\u0026theme=dark\u0026legend=top-left\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/image?repos=ThinkInAIXYZ/clawdhome\u0026type=date\u0026legend=top-left\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/image?repos=ThinkInAIXYZ/clawdhome\u0026type=date\u0026legend=top-left\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n## License\n\nApache License 2.0. See [LICENSE](LICENSE).\n","funding_links":[],"categories":["AI"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThinkInAIXYZ%2Fclawdhome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThinkInAIXYZ%2Fclawdhome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThinkInAIXYZ%2Fclawdhome/lists"}