{"id":48581570,"url":"https://github.com/liuzeming-yuxi/openclaw-connector","last_synced_at":"2026-04-08T17:03:07.136Z","repository":{"id":343147725,"uuid":"1176137743","full_name":"liuzeming-yuxi/Openclaw-Connector","owner":"liuzeming-yuxi","description":"macOS desktop connector for OpenClaw: securely bridge remote agents to your local machine via SSH tunnel and local browser CDP.","archived":false,"fork":false,"pushed_at":"2026-03-16T18:36:19.000Z","size":8796,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-16T23:53:26.431Z","etag":null,"topics":["ai-agent","chrome-cdp","desktop-app","macos","openclaw","react","rust","ssh-tunnel","tauri","typescript"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liuzeming-yuxi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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-08T17:07:16.000Z","updated_at":"2026-03-16T18:36:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/liuzeming-yuxi/Openclaw-Connector","commit_stats":null,"previous_names":["liuzeming-yuxi/openclaw-connector"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/liuzeming-yuxi/Openclaw-Connector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuzeming-yuxi%2FOpenclaw-Connector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuzeming-yuxi%2FOpenclaw-Connector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuzeming-yuxi%2FOpenclaw-Connector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuzeming-yuxi%2FOpenclaw-Connector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liuzeming-yuxi","download_url":"https://codeload.github.com/liuzeming-yuxi/Openclaw-Connector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuzeming-yuxi%2FOpenclaw-Connector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai-agent","chrome-cdp","desktop-app","macos","openclaw","react","rust","ssh-tunnel","tauri","typescript"],"created_at":"2026-04-08T17:02:53.496Z","updated_at":"2026-04-08T17:03:07.123Z","avatar_url":"https://github.com/liuzeming-yuxi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src-tauri/icons/icon.png\" width=\"128\" height=\"128\" alt=\"OpenClaw Connector Logo\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eOpenClaw Connector\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eSecurely bridge remote AI agents to your local machine\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e •\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"docs/guide.md\"\u003eUser Guide\u003c/a\u003e •\n  \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue\" alt=\"Platform\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/tauri-2-24C8D8?logo=tauri\" alt=\"Tauri\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/react-19-61DAFB?logo=react\" alt=\"React\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/rust-stable-orange?logo=rust\" alt=\"Rust\" /\u003e\n  \u003ca href=\"https://github.com/liuzeming-yuxi/Openclaw-Connector/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/liuzeming-yuxi/Openclaw-Connector/total?color=%23027DEB\" alt=\"Downloads\" /\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"License\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.zh-CN.md\"\u003e简体中文\u003c/a\u003e | English\n\u003c/p\u003e\n\n---\n\n![Screenshot](docs/images/screenshot.png)\n\n## Why OpenClaw Connector?\n\n[OpenClaw](https://github.com/openclaw/openclaw) agents run on your server, but often need to interact with your **local environment** — running commands, controlling browsers, accessing local files.\n\nOpenClaw Connector solves two problems:\n\n1. **Bridging server and local** — It creates a secure tunnel between OpenClaw agents and your local machine, so agents can execute tasks on your computer as if they were sitting next to you.\n\n2. **Secure gateway access** — The OpenClaw gateway should never be exposed to the public internet. This app lets you access it securely from your local machine through an encrypted SSH tunnel — no open ports, no public URLs.\n\n## Features\n\n- **SSH Tunnel** — Secure reverse tunnel to your Linux gateway with auto-reconnect\n- **Agent Bindings** — Bind AI agents to your local node for remote task execution\n- **Browser CDP** — Expose local Chrome browser to agents via Chrome DevTools Protocol\n- **Session Management** — Notify agents across chat sessions with one click\n- **Device Identity** — Ed25519 keypair for secure device authentication\n- **Emergency Disconnect** — One-click kill switch to instantly sever all connections\n\n## Installation\n\nDownload the latest release for your platform from the [Releases](https://github.com/liuzeming-yuxi/Openclaw-Connector/releases) page.\n\n| Platform | File |\n|----------|------|\n| **macOS (Apple Silicon)** | `OpenClaw.Connector_x.x.x_aarch64.dmg` |\n| **macOS (Intel)** | `OpenClaw.Connector_x.x.x_x64.dmg` |\n| **Linux (Debian/Ubuntu)** | `OpenClaw.Connector_x.x.x_amd64.deb` |\n| **Linux (AppImage)** | `OpenClaw.Connector_x.x.x_amd64.AppImage` |\n| **Windows** | `OpenClaw.Connector_x.x.x_x64-setup.exe` |\n\n\u003e **macOS note:** On first launch, macOS may show \"cannot verify developer\". Go to **System Settings → Privacy \u0026 Security**, scroll down and click **\"Open Anyway\"**.\n\u003e\n\u003e **Linux AppImage:** Run `chmod +x OpenClaw.Connector_*.AppImage` first.\n\n## Quick Start\n\n### Prerequisites\n\n- A running [OpenClaw](https://github.com/openclaw/openclaw) gateway on a remote Linux server\n- SSH access to the server from your local machine\n\n\u003e **New to OpenClaw?** See the [User Guide](docs/guide.md) for detailed setup instructions and parameter explanations.\n\n### Build from Source\n\n```bash\n# Clone the repo\ngit clone https://github.com/liuzeming-yuxi/Openclaw-Connector.git\ncd Openclaw-Connector\n\n# Install dependencies (requires Node.js 18+, pnpm, Rust toolchain)\npnpm install\n\n# Run in development mode\npnpm tauri dev\n\n# Or build for production\npnpm tauri build\n```\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Desktop Framework | [Tauri 2](https://v2.tauri.app/) |\n| Frontend | React 19 + TypeScript + Tailwind CSS 4 |\n| State Management | Zustand 5 |\n| Backend | Rust (Tokio async runtime) |\n| Tunnel | SSH reverse port forwarding |\n| Browser Automation | Chrome DevTools Protocol (CDP) |\n\n## Project Structure\n\n```\n├── src/                    # React frontend\n│   ├── pages/              # Page components\n│   ├── components/ui/      # Reusable UI components\n│   ├── store/              # Zustand state stores\n│   └── types/              # TypeScript type definitions\n├── src-tauri/              # Rust backend\n│   └── src/\n│       ├── lib.rs          # Tauri command handlers\n│       ├── ssh_tunnel.rs   # SSH tunnel management\n│       ├── browser.rs      # Chrome CDP lifecycle\n│       ├── ws_client.rs    # WebSocket client\n│       ├── config.rs       # Configuration persistence\n│       ├── health.rs       # Gateway health monitoring\n│       └── device_identity.rs  # Ed25519 device keys\n├── docs/                   # Documentation\n└── package.json\n```\n\n## Development\n\n```bash\n# Run frontend + backend in dev mode\npnpm tauri dev\n\n# Run frontend tests\npnpm test\n\n# Run Rust tests\ncargo test --manifest-path src-tauri/Cargo.toml\n\n# Type check\npnpm build\n```\n\n## Roadmap\n\n- [x] Cross-platform support (Windows \u0026 Linux)\n- [x] Multi-language UI (i18n: Chinese + English)\n- [x] Theme switching (Light / Dark mode)\n- [x] OpenClaw health check \u0026 auto-repair\n- [ ] Browser automation beyond Chrome (Firefox, Edge, etc.)\n- [x] Comprehensive CI/CD pipeline (multi-platform matrix)\n- [x] PR-level CI checks (lint, test, clippy)\n- [ ] Architecture / sequence diagram\n- [x] Safer port management (avoid killing unrelated processes)\n- [x] Operator WebSocket graceful shutdown on disconnect\n- [x] Unified config source of truth (frontend vs backend)\n\n## Star History\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://star-history.com/#liuzeming-yuxi/Openclaw-Connector\u0026Date\"\u003e\n    \u003cimg src=\"https://api.star-history.com/svg?repos=liuzeming-yuxi/Openclaw-Connector\u0026type=Date\" alt=\"Star History Chart\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Acknowledgments\n\nOpenClaw Connector is built on excellent open-source projects:\n\n- [OpenClaw](https://github.com/openclaw/openclaw) — The AI agent runtime\n- [Tauri](https://v2.tauri.app/) — Lightweight desktop framework\n- [React](https://react.dev/) — UI component library\n- [Zustand](https://github.com/pmndrs/zustand) — Lightweight state management\n- [Tailwind CSS](https://tailwindcss.com/) — Utility-first CSS framework\n- [Lucide](https://lucide.dev/) — Beautiful icon set\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Security\n\nSee [SECURITY.md](SECURITY.md) for the security model and vulnerability reporting.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuzeming-yuxi%2Fopenclaw-connector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliuzeming-yuxi%2Fopenclaw-connector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuzeming-yuxi%2Fopenclaw-connector/lists"}