# sunlab **Repository Path**: gzcloud/sunlab ## Basic Information - **Project Name**: sunlab - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sunlab > **⚠️ This project is currently unavailable. Please wait for the v0.0.1 release.** **AI-Native Development Platform** — A next-generation development environment built around AI Agents. [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![CI](https://github.com/normojs/sublab/actions/workflows/ci.yml/badge.svg)](https://github.com/normojs/sublab/actions/workflows/ci.yml) [中文](README-zh.md) ## Vision Sunlab is not "yet another IDE with an AI sidebar." It is a ground-up **Agent-First** development platform where AI Agents and human developers share the exact same tools and APIs, collaborating on coding, debugging, refactoring, and deployment. ## Key Features - **Microkernel + Actor Model** — Event-driven, service-isolated, extensible architecture - **Agent-First** — AI Agents are first-class citizens, sharing the same Command path as humans - **Bidirectional MCP** — Acts as both MCP Client (calling external tools) and MCP Server (exposing IDE capabilities) - **WASM Plugin Sandbox** — Capability-based security model; plugins render UI via Reactive Component Protocol (RCP) - **Multi-Deployment Modes** — Desktop (Tauri IPC) / Server (Unix Socket Daemon + Gateway) / Hybrid - **Event Sourcing** — All state changes flow through `Command → Event` pipeline, enabling undo/redo and auditing ## Tech Stack | Layer | Technology | |---|---| | Desktop Framework | Tauri v2 | | Server | Unix Socket Daemon + axum Gateway | | Backend | Rust (Edition 2024) | | Frontend | React 19 + TypeScript + Mantine + TailwindCSS 4 | | Editor | Monaco Editor | | Terminal | xterm.js | | AI Chat | assistant-ui | | WASM Runtime | wasmtime (Component Model) | | AI Protocols | MCP + ACP | ## Architecture ``` Frontend (React 19) │ Transport Abstraction (auto-detect environment) │ ┌────┼────────────┐ │ │ │ Tauri WebSocket Unix Socket IPC (→Gateway) (SSH tunnel) │ │ │ └────┼────────────┘ │ Rust Kernel (Microkernel) ├── Event Bus ├── Editor Service (LSP) ├── File System (VFS) ├── Terminal (PTY) ├── Agent Engine (MCP) └── Extension Host (WASM) ``` See [ARCHITECTURE.md](ARCHITECTURE.md) for the full design document. ## Project Structure ``` sunlab/ ├── crates/ │ ├── sunlab-protocol/ # Shared types, zero business logic │ ├── sunlab-core/ # Microkernel │ ├── sunlab-transport/ # Transport layer (Tauri IPC / Unix Socket / WS) │ ├── sunlab-agent/ # AI Agent engine │ ├── sunlab-editor/ # Editor service (LSP) │ ├── sunlab-fs/ # File system service │ ├── sunlab-terminal/ # Terminal service (PTY) │ ├── sunlab-workspace/ # Workspace management │ ├── sunlab-search/ # Search service │ ├── sunlab-git/ # Git service │ ├── sunlab-app/ # Tauri desktop entry │ ├── sunlab-server/ # Unix Socket Daemon │ └── sunlab-gateway/ # Protocol gateway (HTTP/WS) ├── frontend/ # React frontend ├── examples/ # WASM plugin examples ├── scripts/ # CI & dev scripts ├── docs/ # Architecture docs ├── Dockerfile # Server mode multi-stage build └── docker-compose.yml # One-click server deployment ``` ## Getting Started ### Prerequisites - Rust (Edition 2024) - Node.js 22+ / pnpm 9+ - Tauri v2 CLI (for desktop mode) ### Desktop Mode (Tauri) ```bash cd frontend && pnpm install cargo tauri dev ``` ### Server Mode ```bash # Quick start bash scripts/dev-server.sh # Or manually: cargo build --release -p sunlab-server -p sunlab-gateway cd frontend && pnpm install && pnpm build # Start daemon + gateway (see docs/ci.md for details) ``` ### Docker ```bash docker compose up -d # Open http://localhost:8080 ``` ## Deployment Two deployment modes, both supporting macOS, Linux, and Windows: | Mode | Description | Artifacts | |------|-------------|-----------| | **Desktop** | Tauri app with embedded Kernel | `.dmg` / `.deb` / `.AppImage` / `.msi` | | **Server** | Daemon + Gateway, accessed via browser | Native binaries (`.tar.gz` / `.zip`) or Docker | See [docs/ci.md](docs/ci.md) for the full CI/CD guide. ## Documentation | Document | Content | |---|---| | [ARCHITECTURE.md](ARCHITECTURE.md) | System overview, design principles | | [docs/01-core-kernel.md](docs/01-core-kernel.md) | Microkernel: Event Bus, Command Dispatch, Actor Model | | [docs/02-agent-system.md](docs/02-agent-system.md) | Agent architecture: Model Router, MCP/ACP | | [docs/03-plugin-system.md](docs/03-plugin-system.md) | WASM plugins: Reactive Component Protocol | | [docs/04-frontend.md](docs/04-frontend.md) | Frontend: Transport abstraction, state management | | [docs/05-project-structure.md](docs/05-project-structure.md) | Project structure: 13 crates, dependency graph | | [docs/06-deployment-modes.md](docs/06-deployment-modes.md) | Deployment: Daemon + Gateway, Docker | | [docs/ci.md](docs/ci.md) | CI/CD guide: GitHub Actions, Gitee sync, scripts | ## Contributing Contributions are welcome! Please read the architecture docs before submitting PRs. ## License [Apache-2.0](LICENSE)