mirror of
https://github.com/langchain-ai/openwork.git
synced 2026-07-18 20:54:26 -04:00
v0.1.0
openwork
A tactical agent interface for deepagentsjs - an opinionated harness for building deep agents with filesystem capabilities, planning, and subagent delegation.
Features
- Chat Interface - Stream conversations with your AI agent in real-time
- TODO Tracking - Visual task list showing agent's planning progress
- Filesystem Browser - See files the agent reads, writes, and edits
- Subagent Monitoring - Track spawned subagents and their status
- Human-in-the-Loop - Approve, edit, or reject sensitive tool calls
- Multi-Model Support - Use Claude, GPT-4, Gemini, or local models
- Thread Persistence - SQLite-backed conversation history
Installation
npm (recommended)
# Run directly (downloads binary on first run)
npx openwork
# Or install globally
npm install -g openwork
openwork
Homebrew (macOS)
brew tap langchain-ai/tap
brew install --cask openwork
Direct Download
Download the latest release for your platform from the releases page.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Linux (x64) | .AppImage, .deb |
| Linux (ARM64) | .AppImage, .deb |
| Windows (x64) | .exe |
From Source
git clone https://github.com/langchain-ai/openwork.git
cd openwork
pnpm install
pnpm run dev
Configuration
API Keys
openwork supports multiple LLM providers. Set your API keys via:
-
Environment Variables (recommended)
export ANTHROPIC_API_KEY="sk-ant-..." export OPENAI_API_KEY="sk-..." export GOOGLE_API_KEY="..." -
In-App Settings - Click the settings icon and enter your API keys securely.
Supported Models
| Provider | Models |
|---|---|
| Anthropic | Claude Sonnet 4, Claude 3.5 Sonnet, Claude 3.5 Haiku |
| OpenAI | GPT-4o, GPT-4o Mini |
| Gemini 2.0 Flash |
Architecture
openwork is built with:
- Electron - Cross-platform desktop framework
- React - UI components with tactical/SCADA-inspired design
- deepagentsjs - Agent harness with planning, filesystem, and subagents
- LangGraph - State machine for agent orchestration
- SQLite - Local persistence for threads and checkpoints
┌─────────────────────────────────────────────────────────────┐
│ Electron Main Process │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ IPC Handlers│ │ SQLite │ │ DeepAgentsJS │ │
│ │ - agent │ │ - threads │ │ - createAgent │ │
│ │ - threads │ │ - runs │ │ - checkpointer │ │
│ │ - models │ │ - assists │ │ - middleware │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
IPC Bridge
│
┌─────────────────────────────────────────────────────────────┐
│ Electron Renderer Process │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌─────────────────────┐ ┌───────────────┐ │
│ │ Sidebar │ │ Chat Interface │ │ Right Panel │ │
│ │ - Threads│ │ - Messages │ │ - TODOs │ │
│ │ - Model │ │ - Tool Renderers │ │ - Files │ │
│ │ - Config │ │ - Streaming │ │ - Subagents │ │
│ └──────────┘ └─────────────────────┘ └───────────────┘ │
└─────────────────────────────────────────────────────────────┘
Development
# Install dependencies
pnpm install
# Start development server
pnpm run dev
# Build for production
pnpm run build
# Build for specific platform
pnpm run build:mac # macOS (current arch)
pnpm run build:mac:arm64 # macOS Apple Silicon
pnpm run build:mac:x64 # macOS Intel
pnpm run build:linux # Linux (current arch)
pnpm run build:win # Windows
Releases
To publish a new release:
- Create a git tag:
git tag v0.2.0 - Push the tag:
git push origin v0.2.0 - GitHub Actions will:
- Build Electron apps for all platforms
- Create a GitHub release with installers
- Publish the npm package with embedded checksums
Design System
openwork uses a tactical/SCADA-inspired design system optimized for:
- Information density - Dense layouts for monitoring agent activity
- Status at a glance - Color-coded status indicators (nominal, warning, critical)
- Dark mode only - Reduced eye strain for extended sessions
- Monospace typography - JetBrains Mono for data and code
Contributing
See CONTRIBUTING.md for development guidelines.
License
MIT License - see LICENSE for details.
Releases
10
Languages
TypeScript
96.7%
CSS
2.5%
JavaScript
0.7%
HTML
0.1%
