mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-07 06:19:50 +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>
120 lines
4.9 KiB
Plaintext
120 lines
4.9 KiB
Plaintext
---
|
|
title: Cloud quickstart
|
|
description: From sign-up to assigning your first task to an agent in 5 minutes.
|
|
---
|
|
|
|
import { Callout } from "fumadocs-ui/components/callout";
|
|
|
|
This page walks you end-to-end through Multica Cloud — **sign up → install the [CLI](/cli) → start the [daemon](/daemon-runtimes) → create an [agent](/agents) → assign your first [task](/tasks)**. Takes about 5 minutes.
|
|
|
|
One prerequisite: you already have at least one [AI coding tool](/providers) installed locally ([Antigravity](/providers#antigravity), [Claude Code](/providers#claude-code), [Codex](/providers#codex), [Cursor](/providers#cursor), [Copilot](/providers#copilot), [Gemini](/providers#gemini), [Hermes](/providers#hermes), [Kimi](/providers#kimi), [Kiro CLI](/providers#kiro-cli), [OpenCode](/providers#opencode), [OpenClaw](/providers#openclaw), or [Pi](/providers#pi)). The daemon auto-detects them on startup and refuses to start if none are present.
|
|
|
|
## 1. Create an account
|
|
|
|
Sign up at [multica.ai](https://multica.ai). You can log in with email (6-digit verification code) or Google.
|
|
|
|
After sign-up you're automatically placed in a default workspace (generated from your account name). You can rename it later, or create new workspaces.
|
|
|
|
## 2. Install the Multica CLI
|
|
|
|
**macOS / Linux (Homebrew recommended)**:
|
|
|
|
```bash
|
|
brew install multica-ai/tap/multica
|
|
```
|
|
|
|
**macOS / Linux (no Homebrew)**:
|
|
|
|
```bash
|
|
curl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh | bash
|
|
```
|
|
|
|
**Windows (PowerShell)**:
|
|
|
|
```powershell
|
|
irm https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.ps1 | iex
|
|
```
|
|
|
|
Verify the install:
|
|
|
|
```bash
|
|
multica version
|
|
```
|
|
|
|
## 3. Log in + start the daemon
|
|
|
|
A single command handles login and starts the daemon:
|
|
|
|
```bash
|
|
multica setup
|
|
```
|
|
|
|
`multica setup` will:
|
|
|
|
1. Configure the CLI to connect to Multica Cloud
|
|
2. Open your browser for login (same email verification code / Google OAuth as the web)
|
|
3. Store the generated PAT in `~/.multica/config.json`
|
|
4. **Start the daemon automatically** — it begins polling for tasks every 3 seconds and sending heartbeats every 15 seconds
|
|
|
|
<Callout type="info">
|
|
**Using the desktop app?** The desktop app **starts the daemon automatically** on launch — no need to run `multica setup` by hand. See [Desktop app](/desktop-app).
|
|
</Callout>
|
|
|
|
Verify the daemon is running:
|
|
|
|
```bash
|
|
multica daemon status
|
|
```
|
|
|
|
`online` means it has registered with the server.
|
|
|
|
## 4. Verify the runtime is online
|
|
|
|
In the web UI, go to **Settings → Runtimes**. The daemon you just started should appear as one or more active runtimes — one per AI coding tool installed locally.
|
|
|
|
If it shows as offline, don't panic — see [Troubleshooting → Daemon can't connect to the server](/troubleshooting#daemon-cant-connect-to-the-server).
|
|
|
|
## 5. Create an agent
|
|
|
|
In the web UI, go to **Settings → Agents** and click **New Agent**:
|
|
|
|
- **Name** — the name shown for this agent on boards and in comments. Pick something you like
|
|
- **Provider** — choose an AI coding tool you have installed locally (the dropdown only lists tools detected by your runtimes)
|
|
- **Model** (optional) — the model selection inside that tool (a static list or dynamic discovery, depending on the provider)
|
|
- **Instructions** (optional) — system prompt for this agent
|
|
|
|
Once created, the agent shows up in your workspace member list and can be assigned work like a human member.
|
|
|
|
## 6. Assign your first task
|
|
|
|
Create an issue in the web UI, or from the CLI:
|
|
|
|
```bash
|
|
multica issue create --title "Add an ASCII architecture diagram to the README"
|
|
```
|
|
|
|
Assign the issue to the agent you just created — click its avatar in the web UI, or use the CLI:
|
|
|
|
```bash
|
|
multica issue assign MUL-1 --to my-agent-name
|
|
```
|
|
|
|
`--to` takes the **name** of an agent or member. A substring match works — if the agent is called `my-code-reviewer`, `reviewer` resolves to it. If your workspace has overlapping names, pass `--to-id <uuid>` instead (mutually exclusive with `--to`); look up the UUID via `multica agent list --output json` or `multica workspace member list --output json`.
|
|
|
|
**What happens next from the daemon**:
|
|
|
|
1. It picks up the task within 3 seconds (status goes from `queued` to `dispatched`)
|
|
2. It invokes the matching AI coding tool to start work (status becomes `running`)
|
|
3. The AI works locally — it may read your code directory, run commands, edit files
|
|
4. When done, it reports the result back to Multica (status becomes `completed` or `failed`, depending on whether auto-retry kicks in)
|
|
|
|
The web UI updates in **real time** (via WebSocket) — no refresh needed.
|
|
|
|
## Next steps
|
|
|
|
- [Daemon and runtimes](/daemon-runtimes) — how the daemon operates and what runtimes mean
|
|
- [Tasks](/tasks) — task lifecycle and retry rules
|
|
- [AI coding tools compared](/providers) — capability differences across the 12 tools
|
|
- [Desktop app](/desktop-app) — if you'd rather not run the daemon yourself
|
|
- [Self-host quickstart](/self-host-quickstart) — run your own backend
|