[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75010":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},75010,"OpenRoom","MiniMax-AI\u002FOpenRoom","MiniMax-AI","A browser-based desktop where AI Agent operates every app through natural language.","https:\u002F\u002Fwww.openroom.ai",null,"TypeScript",1209,152,8,1,0,4,7,38,12,69.85,"MIT License",false,"main",true,[27,28,29,30,31,32,33,34,35,36],"ai-agent","browser","desktop","micro-frontend","minimax","natural-language","open-source","react","typescript","vibe-coding","2026-06-12 04:01:16","# VibeApps\n\n[中文](.\u002FREADME_zh.md) | English\n\n> Imagine a desktop that lives in your browser — and an AI that knows how to use every app on it.\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)\n\n**[Website](https:\u002F\u002Fwww.openroom.ai)** · **[X \u002F Twitter](https:\u002F\u002Fx.com\u002Fopenroom_ai_)**\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fadb176a3-02db-41e0-ba71-c9f9cece13d5\n\n## What is VibeApps?\n\nVibeApps brings a full desktop experience into your browser — windows you can drag and resize, apps you can open side by side, all wrapped in a clean macOS-inspired interface. But what makes it different is the **AI Agent** sitting inside.\n\nInstead of clicking through menus, just tell it what you want:\n\n> *\"Play some jazz\"* — and the Music app starts playing.\n>\n> *\"Write a diary entry about today's hiking trip\"* — Diary opens, a new entry appears.\n>\n> *\"Let's play chess\"* — the board is ready.\n\nThe Agent doesn't just launch apps — it **operates** them. It reads data, triggers actions, and updates state, all through a structured Action system that every app speaks.\n\nEverything runs locally in your browser. No backend, no accounts, no setup headaches. Your data stays in IndexedDB, right where it belongs.\n\n## Built-in Apps\n\nOut of the box, you get a suite of apps ready to explore:\n\n| App | Description |\n|-----|-------------|\n| 🎵 Music | Full-featured player with playlists, playback controls, and album art |\n| ♟️ Chess | Classic chess with complete rule enforcement |\n| ⚫ Gomoku | Five-in-a-row — simple rules, deep strategy |\n| 🃏 FreeCell | The solitaire game that's all skill, no luck |\n| 📧 Email | Inbox, sent, drafts — a familiar email experience |\n| 📔 Diary | Journal with mood tracking to capture your days |\n| 🐦 Twitter | A social feed you actually control |\n| 📷 Album | Browse and organize your photo collections |\n| 📰 CyberNews | Stay informed with a curated news aggregator |\n\nEach app is fully integrated with the AI Agent — meaning you can interact with any of them through natural language.\n\n## Getting Started\n\n### Prerequisites\n\n| Tool | Version | Check | Install |\n|------|---------|-------|---------|\n| **Node.js** | 18+ | `node -v` | [nodejs.org](https:\u002F\u002Fnodejs.org\u002F) |\n| **pnpm** | 9+ | `pnpm -v` | `npm install -g pnpm@9` |\n\n> **In China?** Uncomment the mirror lines in `.npmrc` for faster downloads via npmmirror.\n\n### Up and Running in 60 Seconds\n\n```bash\n# Clone & enter the project\ngit clone https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FOpenRoom.git\ncd OpenRoom\n\n# Install dependencies\npnpm install\n\n# (Optional) Set up environment variables\ncp apps\u002Fwebuiapps\u002F.env.example apps\u002Fwebuiapps\u002F.env\n\n# Launch\npnpm dev\n```\n\nOpen `http:\u002F\u002Flocalhost:3000` — you'll see a desktop with app icons. **Double-click** to open any app.\n\n### Meet the AI Agent (In-App Chat)\n\nClick the **chat icon** in the bottom-right corner. A panel slides open — that's your Agent.\n\nType naturally: *\"play the next song\"*, *\"show me my emails\"*, *\"start a new chess game\"*. The Agent figures out which app to talk to, what action to take, and makes it happen.\n\n> **Note:** You'll need an LLM API key. Configure it in the Chat Panel settings.\n>\n> This chat panel is for **using** existing apps. To **create** new apps, see the [Vibe Workflow](#build-your-own-apps--just-describe-them) section below — that runs in Claude Code CLI.\n\n## Build Your Own Apps — Just Describe Them\n\nThis is where it gets interesting. With the **Vibe Workflow**, you can generate a complete, fully-integrated app just by describing what you want. No boilerplate, no scaffolding — [Claude Code](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code) handles the entire process.\n\n> **Important:** The Vibe Workflow runs in **Claude Code (CLI terminal)**, not in the browser's chat panel. The in-app chat panel is for operating existing apps; creating new apps happens in your development environment.\n\n### Create from Scratch\n\n```bash\n\u002Fvibe WeatherApp Create a weather dashboard with 5-day forecasts and temperature charts\n```\n\nBehind the scenes, the workflow runs through **6 stages** — each one building on the last:\n\n```\nRequirement Analysis   →  What exactly are we building?\nArchitecture Design    →  Components, data models, state shape\nTask Planning          →  Breaking it down into implementable chunks\nCode Generation        →  Writing the actual React + TypeScript code\nAsset Generation       →  Creating icons and images\nProject Integration    →  Registering the app so it shows up on the desktop\n```\n\nWhen it's done, your new app is live — complete with AI Agent integration.\n\n### Evolve Existing Apps\n\nAlready have an app but want more? Describe the change:\n\n```bash\n\u002Fvibe MusicApp Add a lyrics panel that shows synced lyrics during playback\n```\n\nThis triggers a focused **4-stage change workflow**: Impact Analysis → Planning → Implementation → Verification.\n\n### Resume or Replay\n\n```bash\n# Pick up where you left off\n\u002Fvibe MyApp\n\n# Jump to a specific stage\n\u002Fvibe MyApp --from=04-codegen\n```\n\n## Under the Hood\n\n### Project Layout\n\n```\nOpenRoom\u002F\n├── apps\u002Fwebuiapps\u002F              # The main desktop application\n│   └── src\u002F\n│       ├── components\u002F          # Shell, window manager, chat panel\n│       ├── lib\u002F                 # Core SDK — file API, actions, app registry\n│       ├── pages\u002F               # Where each app lives\n│       └── routers\u002F             # Route definitions\n├── packages\u002F\n│   └── vibe-container\u002F          # iframe communication SDK (stub in open-source mode)\n├── .claude\u002F                     # AI workflow engine\n│   ├── commands\u002Fvibe.md         # Workflow entry point\n│   ├── workflow\u002F                # Stage definitions & rules\n│   └── rules\u002F                   # Code generation constraints\n└── .github\u002Fworkflows\u002F           # CI pipeline\n```\n\n> **Note on `vibe-container`:** In the open-source standalone version, the real iframe SDK is replaced by a local mock (`src\u002Flib\u002FvibeContainerMock.ts`) that uses IndexedDB for storage and a local event bus for Agent communication. The package under `packages\u002Fvibe-container\u002F` provides type definitions and the client-side SDK interface. See its [README](.\u002Fpackages\u002Fvibe-container\u002FREADME.md) for details.\n\n### Anatomy of an App\n\nEvery app follows the same structure — consistent, predictable, easy to navigate:\n\n```\npages\u002FMusicApp\u002F\n├── components\u002F         # UI building blocks\n├── data\u002F               # Seed data (JSON)\n├── store\u002F              # State management (Context + Reducer)\n├── actions\u002F            # How the AI Agent talks to this app\n│   └── constants.ts    # APP_ID + action type definitions\n├── i18n\u002F               # Translations (en.ts + zh.ts)\n├── meta\u002F               # Metadata for the Vibe workflow\n│   ├── meta_cn\u002F        # guide.md + meta.yaml (Chinese)\n│   └── meta_en\u002F        # guide.md + meta.yaml (English)\n├── index.tsx           # Entry point\n├── types.ts            # TypeScript definitions\n└── index.module.scss   # Scoped styles\n```\n\n## Development\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Start dev server → `http:\u002F\u002Flocalhost:3000` |\n| `pnpm build` | Production build |\n| `pnpm run lint` | Lint + auto-fix |\n| `pnpm run pretty` | Format with Prettier |\n| `pnpm clean` | Clean build artifacts |\n\n## Tech Stack\n\n| | |\n|---|---|\n| **Framework** | React 18 + TypeScript + Vite |\n| **Styling** | Tailwind CSS + CSS Modules + Design Tokens |\n| **Icons** | Lucide React |\n| **State** | React Context + Reducer |\n| **Storage** | IndexedDB (standalone) \u002F Cloud NAS (production) |\n| **i18n** | i18next + react-i18next |\n| **Monorepo** | pnpm workspaces + Turborepo |\n| **CI** | GitHub Actions |\n\n## Environment Variables\n\n```bash\ncp apps\u002Fwebuiapps\u002F.env.example apps\u002Fwebuiapps\u002F.env\n```\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `CDN_PREFIX` | No | CDN prefix for static assets |\n| `VITE_RUM_SITE` | No | RUM monitoring endpoint |\n| `VITE_RUM_CLIENT_TOKEN` | No | RUM client token |\n| `SENTRY_AUTH_TOKEN` | No | Sentry auth token (enables error tracking when set) |\n| `SENTRY_ORG` | No | Sentry organization slug |\n| `SENTRY_PROJECT` | No | Sentry project slug |\n\nAll optional. The app runs fine without any of them.\n\n## Contributing\n\nWe'd love your help. Whether it's fixing a bug, building a new app, or improving docs — check out [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) to get started.\n\n## License\n\n[MIT](LICENSE) — Copyright (c) 2025 MiniMax\n","OpenRoom 是一个基于浏览器的桌面环境，用户可以通过自然语言指令让AI代理操作其中的每一个应用程序。该项目使用TypeScript编写，具备微前端架构和React技术栈，支持多种内置应用如音乐播放器、日记本、国际象棋等，并且所有这些应用都可以通过与AI代理的自然语言交互来控制。适合需要在网页环境中实现高效办公或娱乐，同时希望通过更自然的方式（如语音或文本命令）来操作软件的场景。整个项目开源并遵循MIT许可证，在本地浏览器中运行，无需后端支持，保证了数据的安全性和隐私性。",2,"2026-06-11 03:51:57","high_star"]