Add a convenience script to build unsigned, unnotarized macOS .app for local development and personal use. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Multica
Multiplexed Information and Computing Agent
A native desktop client that brings coding agent capabilities to everyone through a visual interface.
English | 简体中文 | 繁體中文 | 日本語 | 한국어
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/updatedata 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
