OpenWork: Open‑Source Alternative to Claude Cowork with Full‑Feature Windows Client
OpenWork is an open‑source, locally‑first replacement for Claude Cowork that packages AI agents into a desktop app usable by non‑technical teammates, offering multi‑threaded execution, automation, a reusable Skills system, native Slack/Telegram integration, and a clear comparison against Claude Cowork and Codex.
Overview
OpenWork is an open‑source alternative to Claude Cowork designed for team collaboration. It wraps existing Agent configurations (Claude Code, Codex, OpenCode, or custom stacks) into a desktop application that non‑technical colleagues can use without needing to run scripts.
Core Philosophy
Local‑first, cloud optional : Runs on the local machine with instant response, no cloud dependency.
Composable : Desktop app, WhatsApp/Slack/Telegram connectors, or server mode can be selected independently.
Pop‑out : All capabilities of OpenCode are available in OpenWork.
Share‑first : A single command can be shared with the whole team.
Key Features
Multi‑threaded parallel work : Multiple independent task threads can run simultaneously, switching between browser tasks and local file operations.
Automated tasks : Any prompt can be scheduled or trigger‑based (e.g., daily ops report, weekly competitor scan).
Skills system : Complex workflows can be packaged as reusable Skills that teammates execute with one click.
Slack native integration : @Agent in Slack channels provides real‑time progress updates.
Architecture
OpenWork provides three run modes:
Desktop Host : Desktop app launches local OpenCode/OpenWork (personal, one‑click start).
CLI Host : Command‑line start via openwrk (server deployment, headless operation).
Remote Client : App connects to an existing OpenWork server (team sharing, multi‑user collaboration).
Core components:
OpenWork App : Desktop/mobile/Web client UI.
OpenWork Server : API and control layer.
OpenWork Worker : Execution environment for a specific workspace.
OpenCode Router : Slack/Telegram message bridge with directory routing.
Installation & Quick Start
Method 1: Desktop app (recommended)
macOS – download DMG from GitHub Releases.
Windows – Alpha version available.
Linux – Alpha version available.
After installation, launch the app; no registration is required and the local model is ready to use.
Method 2: CLI mode (server deployment)
# Install CLI tool
npm install -g openwrk
# Start OpenWork
openwrk start --workspace /path/to/workspace --approval auto
# Check status
openwrk status --openwork-url http://127.0.0.1:8787 --opencode-url http://127.0.0.1:4096Method 3: Build from source
# Prerequisites: Node.js, pnpm, Rust toolchain, Tauri CLI
pnpm install
pnpm dev # start desktop version
pnpm dev:ui # start only the web UIWorker Isolation for Secure Multi‑User Collaboration
Each Worker is isolated, allowing separate workspaces such as agency-core, client-a, and client-b. Operations are limited to the selected Worker, preventing cross‑domain data leakage.
Select the target Worker before starting a job.
Only Skills and automated tasks belonging to that Worker are available.
Cross‑Worker tasks require explicit copying; automatic merges are not performed.
Benefits include more deterministic prompts, clear audit trails, safer data boundaries, and easier onboarding for non‑technical staff.
Automation: One‑time Setup, Lifetime Execution
OpenWork follows the principle “one task → one business result.” Jobs are created in the Automations (Beta) UI, e.g., daily-ops-summary, weekly-team-brief, competitor-scan-core.
Open the Automations UI.
Create a Job for each business outcome (e.g., daily-ops-summary for daily ops summary).
Key guidelines:
Each Job does a single thing; avoid over‑loading prompts.
Name Jobs by business outcome, not implementation details.
Ensure a Job failure does not block other Jobs.
Message Routing: Slack/Telegram Integration
OpenCode Router bridges messages from Slack or Telegram to Workers.
# Install router
npm install -g opencode-router
opencode-router startConfiguration requires two environment variables: OPENCODE_URL: OpenCode service address. OPENCODE_DIRECTORY: Working directory.
Common commands:
# Check status
opencode-router status
# List Telegram bindings
opencode-router telegram list
# List Slack bindings
opencode-router slack list
# Set a binding
opencode-router bindings set \
--channel telegram \
--identity default \
--peer <chatId> \
--dir /path/to/workdirRouting logic maps (channel, identity, peer) → directory, allowing flexible message‑to‑workspace mapping.
Comparison with Similar Products
Open source: ✅ MIT (OpenWork) vs ❌ Closed (Claude Cowork, Codex).
Local‑first: ✅ (OpenWork) vs ❌ Cloud (Claude Cowork, Codex).
Team sharing: ✅ Worker isolation (OpenWork) vs ❌ (Claude Cowork) vs Limited (Codex).
Automated tasks: ✅ Timed/triggered (OpenWork) vs Limited (Claude Cowork) vs ❌ (Codex).
Slack/Telegram support: ✅ Native (OpenWork) vs ❌ (Claude Cowork, Codex).
Custom Skills: ✅ (OpenWork) vs ❌ (Claude Cowork, Codex).
Non‑technical usability: ✅ (OpenWork) vs ❌ (Claude Cowork, Codex).
Price: Free (OpenWork) vs Paid (Claude Cowork, Codex).
Demonstration Images
Old Zhang's AI Learning
AI practitioner specializing in large-model evaluation and on-premise deployment, agents, AI programming, Vibe Coding, general AI, and broader tech trends, with daily original technical articles.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
