Files
openwork/README.md
T
Hunter Lovell 676b8e678b Revert "rename to deepwork"
This reverts commit e6360cd6b4.
2026-01-14 18:56:17 -08:00

5.8 KiB

openwork

CI npm version License: MIT

A tactical agent interface for deepagentsjs - an opinionated harness for building deep agents with filesystem capabilities, planning, and subagent delegation.

openwork screenshot

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

# Run directly
npx openwork

# Or install globally
npm install -g openwork
openwork

Requires Node.js 18+. Electron is installed automatically as a dependency.

From Source

git clone https://github.com/langchain-ai/openwork.git
cd openwork
npm install
npm run dev

Configuration

API Keys

openwork supports multiple LLM providers. Set your API keys via:

  1. Environment Variables (recommended)

    export ANTHROPIC_API_KEY="sk-ant-..."
    export OPENAI_API_KEY="sk-..."
    export GOOGLE_API_KEY="..."
    
  2. 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
Google 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
npm install

# Start development server
npm run dev

# Build for production
npm run build

Releases

To publish a new release:

  1. Create a git tag: git tag v0.2.0
  2. Push the tag: git push origin v0.2.0
  3. GitHub Actions will:
    • Build the application
    • Publish to npm
    • Create a GitHub release

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.