LinYushen ab90c8330a Merge pull request #134 from multica-ai/dev
fix: resolve duplicate user message in UI after focus sync
2026-02-05 11:51:01 +08:00
2026-01-27 12:09:28 +08:00
2026-01-19 00:53:42 +08:00
2026-01-15 13:20:57 +08:00
2026-01-25 10:43:53 +08:00

Multica

Multiplexed Information and Computing Agent

A native desktop client that brings coding agent capabilities to everyone through a visual interface.

English | 简体中文 | 繁體中文 | 日本語 | 한국어

Download the latest release

Multica Screenshot

Why "Multica"?

The name is inspired by Multics (Multiplexed Information and Computing Service), a pioneering operating system created in 1964. Although Multics never achieved widespread adoption, it laid the foundation for modern operating systems, including concepts like the hierarchical file system. Unix itself was derived from Multics (Uniplexed Information and Computing Service -> Unics -> Unix).

The metaphor: Just as Multics was created to solve the problem of multi-user time-sharing on computing resources, Multica is designed to solve the problem of multi-model/multi-agent collaboration for knowledge workers.

The Problem

Coding agents (like Claude Code, Codex CLI, OpenCode) have become incredibly powerful in 2025, capable of solving complex tasks far beyond just writing code. However, 95% of knowledge workers are locked out of these capabilities due to three core barriers:

1. Interaction Mismatch

  • CLI-based tools require understanding of terminal concepts, file paths, and environment variables
  • Current tools focus on code output (diffs, commits, linting) rather than business outcomes
  • Knowledge workers care about results (charts, reports, analysis), not the scripts that generate them

2. Local Environment Challenges

  • Web-based agents can't access local files, folders, or native applications
  • Setting up Python, Node.js, or other dependencies is a significant barrier
  • Missing the "just works" sandbox environment that handles all dependencies

3. Privacy & Trust

  • Sensitive business data (financial analysis, legal documents, medical records) can't be uploaded to third-party servers
  • Need a model where data stays local while intelligence comes from the cloud

Multica bridges this gap by providing a visual, native desktop interface that leverages coding agents' capabilities while keeping your data local.

Features

  • Native macOS application with a clean, intuitive interface
  • Support for multiple AI agents through the Agent Client Protocol (ACP)
  • Local-first: your data never leaves your machine
  • Session management with history and resume capabilities
  • Built-in CLI for power users and testing

Supported Agents

Agent Command Install
Claude Code claude-code-acp npm install -g @anthropics/claude-code-acp
OpenCode opencode acp go install github.com/opencode-ai/opencode@latest
Codex CLI (ACP) codex-acp npm install -g codex-acp

Quick Start

# Install dependencies
pnpm install

# Check which agents are installed
pnpm cli doctor

# Start the desktop app
pnpm dev

CLI

Multica includes a comprehensive CLI for testing and interacting with agents:

pnpm cli                          # Interactive mode
pnpm cli prompt "message"         # One-shot prompt
pnpm cli sessions                 # List sessions
pnpm cli resume <id>              # Resume session
pnpm cli agents                   # List available agents
pnpm cli doctor                   # Check agent installations

Interactive Mode

Start an interactive REPL session:

pnpm cli

Available commands:

Command Description
/help Show help
/new [cwd] Create new session (default: current directory)
/sessions List all sessions
/resume <id> Resume session by ID prefix
/delete <id> Delete a session
/history Show current session message history
/agent <name> Switch to a different agent
/agents List available agents
/doctor Check agent installations
/status Show current status
/cancel Cancel current request
/quit Exit CLI

One-Shot Prompt

Send a single prompt and exit:

pnpm cli prompt "What is 2+2?"
pnpm cli prompt "List files" --cwd=/tmp

Options

Option Description
--cwd=PATH Working directory for the agent
--log Save session log to logs/ directory
--log=PATH Save session log to specified file

Development

# Start Electron app in dev mode
pnpm dev

# Type check
pnpm typecheck

# Run tests
pnpm test

Build

pnpm build:mac      # macOS
pnpm build:win      # Windows
pnpm build:linux    # Linux

Architecture

Multica (Electron)
+-- Renderer Process (React)
|   +-- UI Components (Chat, Settings, etc.)
|
+-- Main Process
|   +-- Conductor (orchestrates agent communication)
|   |   +-- SessionStore (session persistence)
|   |   +-- ClientSideConnection (ACP SDK)
|   |         +-- AgentProcess (subprocess management)
|   |               +-- opencode/codex-acp/gemini (stdio)
|   |
|   +-- IPC Handlers (session, agent, config)
|
+-- Preload (contextBridge)
    +-- electronAPI (exposed to renderer)

Session Management

Multica maintains its own session layer on top of ACP:

~/.multica/sessions/
+-- index.json              # Session list (fast load)
+-- data/
    +-- {session-id}.json   # Full session data + updates

Key design decisions:

  • Client-side storage: Multica stores raw session/update data for UI display
  • Agent-agnostic: Each agent manages its own internal state separately
  • Resume behavior: Creates new ACP session, displays stored history in UI

License

Apache-2.0

Description
No description provided
Readme 230 MiB
Languages
Go 46.1%
TypeScript 44.8%
MDX 7.5%
PLpgSQL 0.5%
CSS 0.4%
Other 0.6%