Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
Your local AI apps in one studio: apps, one shared MCP server, chat, notifications, updates and six terminals.
Developer toolsTypeScript · RustGitHub @Lautaro005OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
One desktop workspace for brain, OpenCue and Lumina: chat, one MCP server, terminals and updates.
Taken from the repository README
Loading the full README.
Read the full README ↗macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/Lautaro005/workstudio/main/install.sh | sh
With brain, Lumina and OpenCue too:
curl -fsSL https://raw.githubusercontent.com/Lautaro005/workstudio/main/install.sh | sh -s -- --all
Windows (PowerShell):
irm https://raw.githubusercontent.com/Lautaro005/workstudio/main/install.ps1 | iex
On macOS the app goes to /Applications/AI WorkStudio.app (or ~/Applications with --user), on Linux to
~/.local/opt/workstudio with a menu entry, on Windows to your user's programs. All of them add a workstudio
command: workstudio opens it, workstudio update updates it, workstudio uninstall removes it (your settings in
~/.workstudio stay). No release yet for your platform? Add --build to build from source (needs git, Node and Rust).
| Workspace | Home with every app's status and version; sidebar with live status; Google-style app launcher; ⌘K palette. Spanish and English. |
| Apps inside | Each app opens on its details; brain's dashboard and Lumina can also be used inside WorkStudio (with the preferences of their own window), or open there directly if you check it. OpenCue opens in its own window. |
| Chat | Talk to Claude Code, Codex, Gemini, any Ollama model or an OpenCue agent. Pills turn on brain, Lumina and web search (built into WorkStudio). Conversations stay in ~/.workstudio/chats. |
| Terminals | Up to six real terminals in a grid. Profiles for Claude Code, Codex, Gemini CLI, Cursor Agent, brain, lumina and opencue. |
| One MCP server | workstudio mcp joins the tools of your apps (and the servers you add) under one server, named <app>__<tool>. Terminals and the chat get it automatically; connect Claude Code, Claude Desktop, Codex, Cursor, Gemini or Windsurf with one click (with a backup). |
| Notifications | brain vault changes, Lumina meetings, apps that start or stop, new versions — in the app and as system notifications. |
| Updates | Checks GitHub releases and npm every few hours; updates each app and CLI from a terminal and reads the installed version again when the command ends; WorkStudio updates itself (signed bundles). |
| Models | Settings → Models: choose which models of each provider show in the chat picker and add your own by ID. |
workstudio mcp is an MCP server that starts the servers of your apps, merges their tools and routes each call:
brain__search_knowledge, lumina__…, opencue__…. Agents see one server instead of a long list.
workstudio mcp --only brain,lumina,web limits it; web adds WorkStudio's own web__search and web__fetch.
WorkStudio writes it to ~/.workstudio/mcp/claude.json and to a workspace folder (~/.workstudio/workspace) that
agent terminals start in:
claude --mcp-config ~/.workstudio/mcp/claude.jsoncodex -c mcp_servers.workstudio.command=… -c mcp_servers.workstudio.args=[…] (your config.toml is untouched).gemini/settings.json in the workspace.cursor/mcp.json in the workspace; VS Code → .vscode/mcp.jsonHTTP servers you add are passed next to it, as they are. The servers it carries:
| App | Server |
|---|---|
| brain | uv run --directory ~/.brain python server.py |
| Lumina | lumina mcp |
| OpenCue | opencue mcp-serve --agent <id> (pick the agent in MCP) |
| Model | How it runs |
|---|---|
| Claude Code (Opus / Sonnet / Haiku latest and each version: Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1, Opus 5 … Haiku 4.5) | claude -p headless with your login, only the workstudio server (--strict-mcp-config) and no built-in tools |
Codex (default, a latest per family and every version: your account's models from ~/.codex/models_cache.json first, then the GPT versions Codex knows) | codex exec --json, read-only sandbox, workstudio passed with -c |
| Gemini CLI | gemini -p in a folder whose .gemini/settings.json has only workstudio |
| Ollama | /api/chat from WorkStudio, which runs the tool calls itself |
| OpenCue agent | OpenCue's send_to_agent: the agent answers with its own tools (the pills don't apply) |
New apps of the family go in catalog/apps.json (shipped inside WorkStudio). For one of your
own, add an entry like this to the apps list of ~/.workstudio/apps.json; it wins by id:
{
"id": "my-app",
"name": "My App",
"tagline": "What it does",
"kind": "web",
"url": "http://127.0.0.1:9000/",
"health": { "url": "http://127.0.0.1:9000/api/health", "contains": "ok" },
"cli": "my-app",
"repo": "me/my-app",
"start": { "unix": "my-app serve", "windows": "my-app serve" },
"install": { "unix": "curl -fsSL https://example.com/install.sh | sh", "windows": "irm https://example.com/install.ps1 | iex" },
"update": { "unix": "my-app update", "windows": "my-app update" },
"mcp": { "command": "{cli}", "args": ["mcp"] }
}
Placeholders in MCP commands: {cli} (full path of the app's command), {home} (its home folder), {uv}, {ws}
(~/.workstudio).
Everything WorkStudio keeps is in ~/.workstudio (WORKSTUDIO_HOME overrides it): settings.json, apps.json,
mcp.json, notifications.json, mcp/ (generated configs), workspace/ and logs/.
cd apps/desktop
npm install
npm run dev # UI in the browser with a mock backend (http://localhost:1430)
npx tauri dev # the desktop app
npx tauri build # bundles (set TAURI_SIGNING_PRIVATE_KEY for updater artifacts)
Rust checks (what CI runs): cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test in
apps/desktop/src-tauri.
Stack: Tauri 2 + Rust (portable-pty, ureq, toml_edit) and React 19 + TypeScript + zustand + xterm.js. Same family pattern as brain, OpenCue and Lumina.
Bump the version in apps/desktop/package.json, src-tauri/Cargo.toml and src-tauri/tauri.conf.json, add a
CHANGELOG.md entry, then push a tag vX.Y.Z. The Release workflow builds macOS (universal), Linux and Windows
installers plus latest.json for the updater. It needs the repository secret TAURI_SIGNING_PRIVATE_KEY (the key
whose public half is in tauri.conf.json).
Apache-2.0 with the Commons Clause — free to use, modify and share, not to sell. See LICENSE and SECURITY.md.