# Synapse

> A self-hosted, open-source AI workspace runtime for building digital teams with shareable AI teammates, shared conversations, memory, and governed access to plugins and local devices.

Synapse is a self-hosted AI workspace runtime built by Zhipu AI and released under the Apache License 2.0. Rather than treating chat as a thin interface over an isolated bot, Synapse makes the conversation itself the collaboration boundary — humans, platform-native actors, and bridged remote agents all work in the same thread. The project is in an early design and implementation phase, with schemas and runtime contracts still subject to change.

## What It Is

Synapse is a conversation-centric runtime for digital teammates. The core idea is that a conversation is not a chat log in front of a bot — it is the runtime boundary where participants, transcript visibility, actor sessions, wakeups, and memory handoff are all scoped. The platform supports four kinds of participants in a single thread: workspace members, native actors (role-based AI teammates), bridged remote agents (external runtimes like Claude Code or Codex CLI), and external IM identities. Everything those participants can touch — plugins, skills, devices, sandboxes, event sources, memory — is governed at the workspace layer through explicit, revocable grants tracked in a single `workspace_resource_grants` ledger.

## Architecture and Core Model

Synapse separates its runtime into distinct subsystems around a conversation core:

- **Conversation and session runtime** — Conversations, participants, conversation items, actor sessions, and durable session wakeups define the collaboration model. Model context is compiled from canonical items into shared and private archive chains plus a live tail, bounded by compaction that never rewrites history.
- **Runtimes and resources** — Paired devices (desktop, Linux server, cloud Docker host) and sandboxes are both runtimes under one supertype, exposing grantable capabilities including filesystem, command line, browser (Chrome DevTools), and computer use.
- **Access control** — Every resource type is authorized against a single grants ledger, with interactive consume-once approvals for sensitive calls. Approving a blocked call replays the exact original call server-side.
- **Memory subsystem** — Memory lives in permissioned memory spaces shared via grants. Retrieval combines lexical indexing and embeddings; long conversations are archived verbatim rather than summarized away.
- **Pluggable providers** — Embedding, OCR, document extraction, transcription, and real-time ASR resolve through env-selected providers (cloud APIs or self-hosted sidecars) and default to `none` or built-in implementations.
- **Transport and automation** — Eight IM transports (Feishu/Lark, WeChat, WeCom, DingTalk, QQ, Telegram, WhatsApp Cloud API, WhatsApp web protocol) bind external chats to the same conversation runtime. Schedules, custom webhooks, and GitHub/GitLab events wake conversations through the same durable session wakeups as human messages.

## Deployment Model

Synapse is designed for self-hosting on a single Ubuntu host using Docker Compose. The repo ships with Dockerized PostgreSQL, Redis, API, desktop web, nginx (TLS entrypoint), mobile web, and Certbot for Let's Encrypt. Optional self-hosted provider sidecars for embedding, OCR, document extraction, transcription, and real-time ASR are available as Compose profiles. The quick-start path requires Node.js 22 and Docker Compose; the mobile client (Expo Router) lives in a separate package and supports iOS, Android, and web targets.

## What's in the Repository

The monorepo (TypeScript, Apache 2.0) contains:

- `packages/api` — Fastify API, orchestration runtime, chat, memory, files, automation, plugins, devices, and IM
- `packages/web-next` — Next.js desktop web app and workspace dashboard
- `packages/mobile-app` — Expo Router mobile app
- `packages/device-runtime` — Device runtime with filesystem, command-line, browser, and computer-use capabilities
- `packages/remote-agent-daemon` — Machine-side daemon for bridging external runtimes such as Codex CLI or Claude Code
- `subprojects/cli-anything` — CLI catalog (HKUDS/CLI-Anything) included as a git submodule; the device runtime probes each CLI's prerequisites and exposes only tools that can actually run

## Current Status and Roadmap

The GitHub repository notes that Synapse is in an early design and implementation phase, with backward compatibility for old data not yet guaranteed. The project had 470 stars and 31 forks as of the last recorded update. Planned roadmap items include cross-workspace collaboration (sharing covers discovery and rosters today; planned: shared actors executing with destination-workspace grants and conversations spanning workspaces), standardized sandbox environment profiles, and a virtual-filesystem projection for browser and computer-use runtimes.

## Features
- Conversation-centric runtime where humans, native actors, and remote agents share one thread
- Four participant types: workspace members, native actors, bridged remote agents, external IM identities
- Shareable AI teammates (actors) via QR code or friend ID with owner approval
- Bridged remote agents (Claude Code, Codex CLI) retain their own runtime and tools
- Eight IM transport integrations: Feishu/Lark, WeChat, WeCom, DingTalk, QQ, Telegram, WhatsApp Cloud API, WhatsApp web
- Paired device support: desktop, Linux server, cloud Docker host with filesystem, CLI, browser, and computer-use capabilities
- Session-scoped sandboxes: local process, Docker container, or E2B-compatible VM (CubeSandbox)
- Single workspace_resource_grants ledger for explicit, revocable access control across all resource types
- Interactive consume-once approvals for sensitive calls surfaced as cards in conversation
- Permissioned memory spaces with lexical + embedding retrieval across conversations
- Lossless context: older turns fold into archive chains, nothing silently dropped
- Event-driven automation: schedules, custom webhooks, GitHub/GitLab events wake conversations
- Actors can schedule their own follow-up wakeups
- Plugin marketplace with workspace-level install and role/session-scoped distribution
- Role-based actor catalog: research, writing, operations, customer service, recruiting, and more
- Self-hosted deployment via Docker Compose on Ubuntu
- Mobile client via Expo Router (iOS, Android, web)
- Pluggable providers for embedding, OCR, document extraction, transcription, and real-time ASR

## Integrations
Feishu (Lark), WeChat, WeCom, DingTalk, QQ, Telegram, WhatsApp Cloud API, WhatsApp (unofficial web protocol), GitHub (webhooks), GitLab (webhooks), Claude Code, Codex CLI, Chrome DevTools (browser automation), PostgreSQL, Redis, Docker, E2B / CubeSandbox, Zhipu Toolkit, Anthropic API, MCP (Model Context Protocol)

## Platforms
WEB, API, CLI, ANDROID, IOS, LINUX, MACOS, WINDOWS

## Pricing
Open Source

## Links
- Website: https://synapse-zai-org.vercel.app/
- Documentation: https://github.com/zai-org/Synapse/blob/main/deploy.md
- Repository: https://github.com/zai-org/Synapse
- EveryDev.ai: https://www.everydev.ai/tools/synapse-zai-org
