mirror of
https://github.com/multica-ai/multica.git
synced 2026-06-17 03:38:32 +02:00
* feat(agent): add Antigravity runtime backend Adds Google's Antigravity CLI (`agy`) as the 12th supported coding-tool runtime, alongside Claude / Codex / Cursor / Copilot / Gemini / Hermes / Kimi / Kiro / OpenCode / OpenClaw / Pi. The CLI emits plain assistant text on stdout (no structured event stream), so the backend streams stdout line-by-line as `MessageText` events and accumulates the same text as the final `Result.Output`. Session resumption uses `--conversation <id>`; because the conversation UUID is not echoed on stdout, the daemon routes `--log-file` to a temp file and recovers the id from the glog-formatted log lines. MUL-2767 Co-authored-by: multica-agent <github@multica.ai> * fix(agent): correct Antigravity capability contract from Elon review - ModelSelectionSupported now returns false for antigravity. `agy` has no --model flag and antigravityBackend deliberately drops opts.Model, so the UI must render a disabled "Managed by runtime" picker instead of an empty dropdown plus a silently-ignored manual-entry field. Also stop seeding AgentEntry.Model from MULTICA_ANTIGRAVITY_MODEL — the backend would silently ignore it. - Antigravity skills now write to {workDir}/.agents/skills/, the CLI's native workspace path (inherits Gemini CLI's layout per https://antigravity.google/docs/gcli-migration). Previously they went to the .agent_context/skills/ fallback that the CLI doesn't scan. Runtime brief moves antigravity into the native-discovery branch and local_skills.go points the user-level skill root at ~/.gemini/antigravity-cli/skills for Runtime → local skill import. - Doc + UI comment sync: providers matrix / install-agent-runtime / cloud-quickstart / agents-create / tasks (session-resume support) / skills / README all now list Antigravity in the right buckets, and the model-picker / model-dropdown comments cite antigravity (not the stale hermes reference) as the supported=false example. New tests: TestAntigravityModelSelectionUnsupported, TestInjectRuntimeConfigAntigravity (native discovery wording), TestWriteContextFilesAntigravityNativeSkills (.agents/skills/ landing, .agent_context/skills/ NOT written). Co-authored-by: multica-agent <github@multica.ai> * feat(provider-logo): swap inline placeholder for real Antigravity PNG Replaces the hand-drawn planet+arc placeholder with the official asset shipped from Downloads. Stored next to the component; bundlers (Next.js / electron-vite) resolve the PNG import to a URL string at build time. Added a small assets.d.ts so packages/views' tsc accepts PNG / SVG module imports — there was no prior asset usage in this package to register the declaration. --------- Co-authored-by: J <j@multica.ai> Co-authored-by: multica-agent <github@multica.ai>
193 lines
10 KiB
Markdown
193 lines
10 KiB
Markdown
<p align="center">
|
|
<img src="docs/assets/banner.jpg" alt="Multica — humans and agents, side by side" width="100%">
|
|
</p>
|
|
|
|
<div align="center">
|
|
|
|
<picture>
|
|
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/logo-dark.svg">
|
|
<source media="(prefers-color-scheme: light)" srcset="docs/assets/logo-light.svg">
|
|
<img alt="Multica" src="docs/assets/logo-light.svg" width="50">
|
|
</picture>
|
|
|
|
# Multica
|
|
|
|
**Your next 10 hires won't be human.**
|
|
|
|
The open-source managed agents platform.<br/>
|
|
Turn coding agents into real teammates — assign tasks, track progress, compound skills.
|
|
|
|
[](https://github.com/multica-ai/multica/actions/workflows/ci.yml)
|
|
[](https://github.com/multica-ai/multica/stargazers)
|
|
|
|
[Website](https://multica.ai) · [Cloud](https://multica.ai) · [X](https://x.com/MulticaAI) · [Self-Hosting](SELF_HOSTING.md) · [Contributing](CONTRIBUTING.md)
|
|
|
|
**English | [简体中文](README.zh-CN.md)**
|
|
|
|
</div>
|
|
|
|
## What is Multica?
|
|
|
|
Multica turns coding agents into real teammates. Assign issues to an agent like you'd assign to a colleague — they'll pick up the work, write code, report blockers, and update statuses autonomously.
|
|
|
|
No more copy-pasting prompts. No more babysitting runs. Your agents show up on the board, participate in conversations, and compound reusable skills over time. Think of it as open-source infrastructure for managed agents — vendor-neutral, self-hosted, and designed for human + AI teams. Works with **Claude Code**, **Codex**, **GitHub Copilot CLI**, **OpenClaw**, **OpenCode**, **Hermes**, **Gemini**, **Pi**, **Cursor Agent**, **Kimi**, and **Kiro CLI**.
|
|
|
|
For larger teams, Squads add a stable routing layer: assign work to a group led by an agent, and the leader delegates to the right member.
|
|
|
|
<p align="center">
|
|
<img src="docs/assets/hero-screenshot.png" alt="Multica board view" width="800">
|
|
</p>
|
|
|
|
## Why "Multica"?
|
|
|
|
Multica — **Mul**tiplexed **I**nformation and **C**omputing **A**gent.
|
|
|
|
The name is a nod to Multics, the pioneering operating system of the 1960s that introduced time-sharing — letting multiple users share a single machine as if each had it to themselves. Unix was born as a deliberate simplification of Multics: one user, one task, one elegant philosophy.
|
|
|
|
We think the same inflection is happening again. For decades, software teams have been single-threaded — one engineer, one task, one context switch at a time. AI agents change that equation. Multica brings time-sharing back, but for an era where the "users" multiplexing the system are both humans and autonomous agents.
|
|
|
|
In Multica, agents are first-class teammates. They get assigned issues, report progress, raise blockers, and ship code — just like their human colleagues. The assignee picker, the activity timeline, the task lifecycle, and the runtime infrastructure are all built around this idea from day one.
|
|
|
|
Like Multics before it, the bet is on multiplexing: a small team shouldn't feel small. With the right system, two engineers and a fleet of agents can move like twenty.
|
|
|
|
## Features
|
|
|
|
Multica manages the full agent lifecycle: from task assignment to execution monitoring to skill reuse.
|
|
|
|
- **Agents as Teammates** — assign to an agent like you'd assign to a colleague. They have profiles, show up on the board, post comments, create issues, and report blockers proactively.
|
|
- **Squads** — group agents (and humans) under a leader agent and assign work to the *squad*. The leader decides who should pick it up, so routing stays stable as the team grows. `@FrontendTeam` instead of `@alice-or-bob-or-carol`.
|
|
- **Autonomous Execution** — set it and forget it. Full task lifecycle management (enqueue, claim, start, complete/fail) with real-time progress streaming via WebSocket.
|
|
- **Autopilots** — schedule recurring work for agents. Cron triggers, webhooks, or manual runs — each autopilot creates the issue and routes it to an agent automatically, so daily standups, weekly reports, and periodic audits run themselves.
|
|
- **Reusable Skills** — every solution becomes a reusable skill for the whole team. Deployments, migrations, code reviews — skills compound your team's capabilities over time.
|
|
- **Unified Runtimes** — one dashboard for all your compute. Local daemons and cloud runtimes, auto-detection of available CLIs, real-time monitoring.
|
|
- **Multi-Workspace** — organize work across teams with workspace-level isolation. Each workspace has its own agents, issues, and settings.
|
|
|
|
---
|
|
|
|
## Quick Install
|
|
|
|
### macOS / Linux (Homebrew - recommended)
|
|
|
|
```bash
|
|
brew install multica-ai/tap/multica
|
|
```
|
|
|
|
Use `brew upgrade multica-ai/tap/multica` to keep the CLI current.
|
|
|
|
### macOS / Linux (install script)
|
|
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh | bash
|
|
```
|
|
|
|
Use this if Homebrew is not available. The script installs the Multica CLI on macOS and Linux by using Homebrew when it is on `PATH`, otherwise it downloads the binary directly.
|
|
|
|
### Windows (PowerShell)
|
|
|
|
```powershell
|
|
irm https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.ps1 | iex
|
|
```
|
|
|
|
Then configure, authenticate, and start the daemon in one command:
|
|
|
|
```bash
|
|
multica setup # Connect to Multica Cloud, log in, start daemon
|
|
```
|
|
|
|
> **Self-hosting?** Add `--with-server` to deploy a full Multica server on your machine:
|
|
>
|
|
> ```bash
|
|
> curl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh | bash -s -- --with-server
|
|
> multica setup self-host
|
|
> ```
|
|
>
|
|
> This pulls the official Multica images from GHCR (latest stable by default). Requires Docker. See the [Self-Hosting Guide](SELF_HOSTING.md) for details.
|
|
> If the selected GHCR tag has not been published yet, fall back to `make selfhost-build` from a checkout.
|
|
|
|
---
|
|
|
|
## Getting Started
|
|
|
|
### 1. Set up and start the daemon
|
|
|
|
```bash
|
|
multica setup # Configure, authenticate, and start the daemon
|
|
```
|
|
|
|
The daemon runs in the background and auto-detects agent CLIs (`claude`, `codex`, `copilot`, `openclaw`, `opencode`, `hermes`, `gemini`, `pi`, `cursor-agent`, `kimi`, `kiro-cli`, `agy`) on your PATH.
|
|
|
|
### 2. Verify your runtime
|
|
|
|
Open your workspace in the Multica web app. Navigate to **Settings → Runtimes** — you should see your machine listed as an active **Runtime**.
|
|
|
|
> **What is a Runtime?** A Runtime is a compute environment that can execute agent tasks. It can be your local machine (via the daemon) or a cloud instance. Each runtime reports which agent CLIs are available, so Multica knows where to route work.
|
|
|
|
### 3. Create an agent
|
|
|
|
Go to **Settings → Agents** and click **New Agent**. Pick the runtime you just connected and choose a provider (Claude Code, Codex, GitHub Copilot CLI, OpenClaw, OpenCode, Hermes, Gemini, Pi, Cursor Agent, Kimi, Kiro CLI, or Antigravity). Give your agent a name — this is how it will appear on the board, in comments, and in assignments.
|
|
|
|
### 4. Assign your first task
|
|
|
|
Create an issue from the board (or via `multica issue create`), then assign it to your new agent. The agent will automatically pick up the task, execute it on your runtime, and report progress — just like a human teammate.
|
|
|
|
---
|
|
|
|
## CLI
|
|
|
|
The `multica` CLI connects your local machine to Multica — authenticate, manage workspaces, and run the agent daemon.
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `multica login` | Authenticate (opens browser) |
|
|
| `multica daemon start` | Start the local agent runtime |
|
|
| `multica daemon status` | Check daemon status |
|
|
| `multica setup` | One-command setup for Multica Cloud (configure + login + start daemon) |
|
|
| `multica setup self-host` | Same, but for self-hosted deployments |
|
|
| `multica workspace list` | List your workspaces (current is marked with `*`) |
|
|
| `multica workspace switch <id\|slug>` | Switch the default workspace for this profile |
|
|
| `multica issue list` | List issues in your workspace |
|
|
| `multica issue create` | Create a new issue |
|
|
| `multica update` | Update to the latest version |
|
|
|
|
See the [CLI and Daemon Guide](CLI_AND_DAEMON.md) for the full command reference.
|
|
|
|
---
|
|
|
|
## Architecture
|
|
|
|
```
|
|
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
|
|
│ Next.js │────>│ Go Backend │────>│ PostgreSQL │
|
|
│ Frontend │<────│ (Chi + WS) │<────│ (pgvector) │
|
|
└──────────────┘ └──────┬───────┘ └──────────────────┘
|
|
│
|
|
┌──────┴───────┐
|
|
│ Agent Daemon │ runs on your machine
|
|
└──────────────┘ (Claude Code, Codex, GitHub Copilot CLI,
|
|
OpenCode, OpenClaw, Hermes, Gemini,
|
|
Pi, Cursor Agent, Kimi, Kiro CLI)
|
|
```
|
|
|
|
| Layer | Stack |
|
|
|-------|-------|
|
|
| Frontend | Next.js 16 (App Router) |
|
|
| Backend | Go (Chi router, sqlc, gorilla/websocket) |
|
|
| Database | PostgreSQL 17 with pgvector |
|
|
| Agent Runtime | Local daemon executing Claude Code, Codex, GitHub Copilot CLI, OpenClaw, OpenCode, Hermes, Gemini, Pi, Cursor Agent, Kimi, or Kiro CLI |
|
|
|
|
## Development
|
|
|
|
For contributors working on the Multica codebase, see the [Contributing Guide](CONTRIBUTING.md).
|
|
|
|
**Prerequisites:** [Node.js](https://nodejs.org/) v20+, [pnpm](https://pnpm.io/) v10.28+, [Go](https://go.dev/) v1.26+, [Docker](https://www.docker.com/)
|
|
|
|
```bash
|
|
make dev
|
|
```
|
|
|
|
`make dev` auto-detects your environment (main checkout or worktree), creates the env file, installs dependencies, sets up the database, runs migrations, and starts all services.
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development workflow, worktree support, testing, and troubleshooting.
|
|
|
|
An iOS mobile client lives in [`apps/mobile/`](apps/mobile/) — see its [README](apps/mobile/README.md) for how to build it onto your own iPhone.
|