Sandbox
@OpenLAIR/dr-claw

Research workflow harness for Claude Code and Codex

Dr. Claw gives agents a structured research workspace with stages for survey, ideation, experiments, paper writing, and promotion. The harness wires those stages to a skill library and multiple execution backends, so you can keep the same process while switching between Claude Code, Gemini CLI, Codex, or OpenRouter models.

1,091 starsβ€’119 forksβ€’JavaScriptβ€’Updated 7d ago
Who it's for

Builders who want their agent to handle literature review, experiments, and paper drafting in one workflow.

What it delivers

You can move from research idea to paper draft with reusable skills and a consistent agent workflow.

What it does

Research pipeline stages

Runs a staged workflow across Survey, Ideation, Experiment, Publication, and Promotion.

Built-in skill library

Ships more than 100 research skills for ideation, analysis, writing, rebuttals, and delivery.

Multi-backend execution

Lets you switch between Claude Code, Gemini CLI, Codex, and OpenRouter models.

Terminal harness

Provides the `drclaw` CLI for login, project control, chat, and workflow status.

OpenClaw integration

Exposes JSON commands and watcher events for mobile or chat-based control.

How to get it

  1. 1No cloning or manual setup required β€” just run
    npx dr-claw
  2. 2Or install globally for repeated use
    npm install -g dr-claw
    dr-claw
  3. 3Clone the repository
    git clone https://github.com/OpenLAIR/dr-claw.git
    cd dr-claw
  4. 4Install dependencies
    npm install
  5. 5Configure environment
    cp .env.example .env
    # Edit .env with your preferred settings (port, etc.)
  6. 6Start the application
    # Development mode (with hot reload)
    npm run dev

README

Dr. Claw

Dr. Claw: Your AI Research Assistant

Full-stack research workspace.

πŸŽ‰ Accepted to EMNLP 2026 System Demonstrations

Dr. Claw Homepage arXiv npm version License: GPL-3.0 + AGPL-3.0
Join Slack Follow on X Join WeChat Claude Code Plugin

English | δΈ­ζ–‡

[!NOTE] Excited about Anthropic's Claude Science (launched June 30, 2026)? Dr. Claw has been shipping the same vision since February 2026 β€” and it's fully open source, model-agnostic (Claude Code, Gemini CLI, Codex, plus hundreds of models via OpenRouter), and runs on your own machine with your own data and GPUs. It also covers the full research lifecycle β€” survey β†’ ideation β†’ experiments β†’ paper writing β†’ slides & promotion β€” not just computational analysis. Free to use; no subscription required.

Table of Contents

Overview

Dr. Claw is a general-purpose AI research assistant designed to help researchers and builders execute end-to-end projects across different domains. From shaping an initial idea to running experiments and preparing publication-ready outputs, Dr. Claw keeps the full workflow in one place so teams can focus on research quality and iteration speed.

Product Screenshot

Dr. Claw chat interface

πŸ“° News Dashboard β€” A unified, scored feed across arXiv, HuggingFace, GitHub, WeChat 公众号, X, and Xiaohongshu

Filter by source, configure your research domains, and never leave your workspace to keep up with the field β€” covers arXiv, HuggingFace (Daily Papers + Models / Datasets / Spaces), GitHub trending & new repos, WeChat 公众号 (via RSSHub), X, and Xiaohongshu.

Dr. Claw news dashboard with multi-source feed

πŸ“š Skills Library β€” 100+ built-in research skills, auto-discovered and applied by agents

Browse skills spanning ideation, code survey, experiment development & analysis, paper writing, review response, and delivery β€” agents auto-discover and apply them as task-level assistance throughout the pipeline.

Dr. Claw skills library interface

The Philosophy: Leveraged Cognition

Leveraged Cognition

Manual work is too slow. Fully automated AI is too generic. Vibe Researching is the new frontier. Dr. Claw turns your Research Taste into outsized outcomes with Agentic Execution--so you can move faster, think bigger, and still hold the line on scientific rigor.

What's New

  • πŸŽ‰ Accepted to EMNLP 2026 2026-08-22 β€” Our paper Dr. Claw: An AI Scientist Workspace for Vibe Research has been accepted to the EMNLP 2026 System Demonstrations track! Catch the live demo in Budapest, Hungary, October 24–29, 2026.
  • πŸ§ͺ Auto Research Hub 2026-04-08 β€” One click to launch fully autonomous research! Pick a tool pack (ARIS, Autoresearch, DeepScientist), hit configure, choose a workflow in Chat β€” and watch the agent run your entire research pipeline from idea to paper while you sleep.
  • πŸ–₯️ Desktop App & npx 2026-04-06 β€” Dr. Claw now runs as a native desktop app! Grab the .dmg / .exe from GitHub Releases, or run npx dr-claw for zero-setup instant start.
  • πŸ—‚οΈ Multi-Tab Sidebar 2026-04-06 β€” Research Lab and Files now live side-by-side as switchable tabs in the right sidebar β€” everything you need, one glance away.
  • πŸ“‚ File Preview Overlay 2026-04-06 β€” Preview any project file inline with a sleek pill toggle and sidebar browser β€” no more context-switching!
  • πŸ’¬ Terminal Chat 2026-04-06 β€” Love the terminal? Run dr-claw chat for a fully agentic session with any OpenRouter model β€” zero browser required.
  • πŸŽ›οΈ Reasoning Controls 2026-03-30 β€” Fine-tune your AI's thinking! Codex reasoning effort and Gemini thinking strength selectors are now right in Chat.
  • πŸ–₯️ Local GPU Detection 2026-03-30 β€” Dr. Claw automatically detects your local GPU resources β€” ready to put that hardware to work.
  • 🌐 OpenRouter Provider 2026-03-28 β€” Unlock hundreds of models (GPT-5, Claude, Gemini, DeepSeek, Llama, Kimi, and more) with a single API key. The world's models at your fingertips!
  • πŸ”„ Session Recovery 2026-03-26 β€” Crashed mid-session? No sweat β€” hit the retry button and pick up right where you left off.
Earlier updates
  • πŸ“‘ Auto Port Fallback 2026-03-26 β€” Port already taken? Dr. Claw finds a free one automatically. One less thing to worry about.
  • 🏷️ Smart Prompt Loading 2026-03-26 β€” Tasks auto-load into Chat with a handy badge dropdown β€” just click and go!
  • 🏷️ Session Stage Tags 2026-03-26 β€” Sessions are now auto-tagged by research stage β€” instantly see where each conversation stands.
  • ✍️ Rebuttal Skill 2026-03-24 β€” New skill for crafting review rebuttals β€” turn reviewer feedback into publication-ready responses.
  • πŸ§‘β€πŸ’» Multi-Session Support 2026-03-21 β€” Run multiple sessions in parallel with smart naming β€” juggle projects like a pro!
  • πŸ—‘οΈ Trash Bin 2026-03-21 β€” Accidentally deleted a project? Relax β€” it's in the trash, ready to be restored.
  • πŸ€– Dr. Claw CLI & OpenClaw 2026-03-21 β€” Full CLI control plus an OpenClaw integration for mobile-friendly, voice-ready research management.
  • πŸ“š Reference Library 2026-03-20 β€” Manage your papers with a streamlined picker and local Zotero support β€” your literature, organized.
  • πŸ”€ Git Source Control 2026-03-20 β€” Stage, commit, diff, and switch branches without ever leaving the app. Version control, built in.
  • πŸ“° News Dashboard 2026-03-14 β€” Stay on top of research-relevant updates right inside your workspace β€” never miss a trending paper!

Highlights

  • πŸ”¬ Research Lab β€” Structured dashboard for end-to-end research: define your brief, generate a pipeline of tasks, track progress across Survey β†’ Ideation β†’ Experiment β†’ Publication β†’ Promotion, and inspect source papers, ideas (rendered with LaTeX math), and cache artifacts β€” all at a glance
  • ⚑ Auto Research β€” Start one-click sequential task execution directly from the Project Dashboard, open the generated session live, and receive an email when the run completes
  • πŸ“š 100+ Research Skills β€” A curated library spanning idea generation, code survey, experiment development & analysis, paper writing, review response, and delivery β€” automatically discovered by agents and applied as task-level assistance
  • πŸ—‚οΈ Chat-Driven Pipeline β€” Describe your research idea in Chat; the agent uses the inno-pipeline-planner skill to interactively generate a structured research brief and task list β€” no manual templates needed
  • πŸ€– Multi-Agent Backend β€” Seamlessly switch between Claude Code, Gemini CLI, Codex, and OpenRouter as your execution engines

What the Pipeline Produces

ArtifactLocationDescription
πŸ“šSurvey reportsSurvey/reports/Literature reviews with citations from arXiv, Semantic Scholar, and web sources
πŸ’‘Research ideasIdeation/ideas/Brainstorming outputs with multi-persona evaluation scores
πŸ”¬Experiment codeExperiment/core_code/Implementation from the plan β†’ implement β†’ judge loop
πŸ“ŠAnalysis resultsExperiment/analysis/Statistical analysis, tables, and paper-ready figures
πŸ“Paper draftPublication/paper/Academic manuscript (IEEE/ACM format) with citations and LaTeX math
🎞️PresentationPromotion/slides/Slide deck, TTS narration audio, and demo video

See docs/pipeline-outputs.md for the full artifact list and project directory structure.

More Features
  • πŸ’¬ Interactive Chat + Shell β€” Chat with your agent or drop into a full terminal β€” side by side with your research context
  • πŸ“ File & Git Explorer β€” Browse files with syntax highlighting, live-edit, stage changes, commit, and switch branches without leaving the UI
  • πŸ“± Responsive & PWA-Ready β€” Desktop, tablet, and mobile layouts with bottom tab bar, swipe gestures, and Add-to-Home-Screen support
  • πŸ”„ Session Management β€” Resume conversations, manage multiple sessions, and track full history across projects

Feature Gallery

Expand screenshots

Project Dashboard β€” Start from the project overview, review status, and launch end-to-end automation.

Project dashboard interface

Skill Library β€” Browse reusable research skills across ideation, experimentation, and writing.

Skill library interface

News Dashboard β€” Follow research-relevant updates without leaving the workspace.

News dashboard interface

Quick Start

Desktop App (Beta): Want to skip the setup below? Download the latest .dmg (macOS) or .exe (Windows) installer from GitHub Releases and run it directly. The desktop app is currently in beta β€” for a more stable experience, follow the full installation steps below.

Prerequisites

  • Node.js v20 or higher (v22 LTS recommended, see .nvmrc)
  • At least one of the following CLI tools installed and configured:
  • Some systems need native build tools for dependencies like node-pty and better-sqlite3. If npm install fails, see FAQ.

Cursor agent support is in progress and coming soon.

Option 1: Run with npx (Recommended)

No cloning or manual setup required β€” just run:

npx dr-claw

Or install globally for repeated use:

npm install -g dr-claw
dr-claw

Then open your browser at http://localhost:3001 to create your account and start using Dr. Claw.

Option 2: Install from Source (For Development)

  1. Clone the repository:
git clone https://github.com/OpenLAIR/dr-claw.git
cd dr-claw
  1. Install dependencies:
npm install
  1. Configure environment:
cp .env.example .env
# Edit .env with your preferred settings (port, etc.)

Need custom ports, auth, or workspace settings? See docs/configuration.md.

  1. Start the application:
# Development mode (with hot reload)
npm run dev

Then create your account via the browser http://localhost:5173.

  1. Use the application

There are two ways to interact with Dr. Claw: the frontend UI workflow or the terminal-only. The UI provides richer visualization but may encounter occasional bugs; the terminal approach is more stable and lightweight.

Option A: Frontend UI

Open the web UI in your browser

Open your browser at http://localhost:5173 (or the port you configured in .env).

Option B: Terminal Only

Use the CLI harness with your preferred agent

Terminal workflow example

Open a second terminal (keep npm run dev running in the first) and install the drclaw CLI harness:

pip install -e ./agent-harness

Then log in with the credentials you created during setup:

drclaw auth login --username YOUR_USERNAME --password YOUR_PASSWORD

Install at least one agent CLI (if you haven't already):

AgentInstallAuth
Claude Codenpm install -g @anthropic-ai/claude-code@2.1.170claude β†’ follow OAuth prompt
Gemini CLInpm install -g @google/gemini-cli@0.46.0gemini β†’ Google sign-in, or export GOOGLE_API_KEY=...
Codex CLInpm install -g @openai/codexcodex login, or export OPENAI_API_KEY=...
OpenRouterNo CLI neededexport OPENROUTER_API_KEY=sk-or-... (get a key at openrouter.ai/keys)

OpenRouter lets you use any model (GPT-5, Claude, Gemini, DeepSeek, Llama, Mistral, Qwen, etc.) through a single API key. Select your model in the UI or set OPENROUTER_MODEL in .env.

Navigate to the project directory you want to work in and launch any of the agents:

cd /path/to/your/project
claude    # or: gemini | codex

Skills from dr-claw/skills/ are automatically symlinked into each project's .claude/skills/ directory when the project is created, so the agent discovers them without extra configuration. You can also reference any skill manually inside a session:

> Read .claude/skills/inno-experiment-analysis/SKILL.md and follow it to analyze my results.

Option C: OpenRouter Terminal Chat

Lightweight terminal chat with any OpenRouter model

For a lightweight terminal-only experience using any OpenRouter model, use the built-in dr-claw chat command. No browser or UI required β€” just an interactive agentic session with full tool-calling capabilities (file I/O, shell, grep, glob, web search/fetch).

# Make sure OPENROUTER_API_KEY is set (or pass --key)
export OPENROUTER_API_KEY=sk-or-...

# Launch a chat session with any model
node server/cli.js chat --model moonshotai/kimi-k2.5

You can also pass the API key inline:

node server/cli.js chat --model anthropic/claude-sonnet-4 --key sk-or-your-key
FlagDescription
--model <slug>OpenRouter model slug (e.g., moonshotai/kimi-k2.5, anthropic/claude-sonnet-4, deepseek/deepseek-r1)
--key <key>OpenRouter API key (defaults to OPENROUTER_API_KEY env var). Prefer the env var over --key to avoid exposing secrets in shell history.

Browse all available models at openrouter.ai/models.

Option D: Desktop App

Run as a standalone desktop application (macOS & Windows)
# Development mode (launches Electron with hot reload)
npm run desktop:dev

# Build distributable installer (.dmg / .exe)
npm run desktop:dist

For details on the desktop architecture, IPC bridge, and CI/CD release process, see electron/README.md.

If agent web search does not work later, see Troubleshooting Web Search below.

OpenClaw Integration

Turn Dr. Claw into a mobile-ready, voice-friendly research secretary

OpenClaw connects to Dr. Claw through the drclaw CLI, giving you project control, smart digests, and proactive notifications β€” all from your phone or chat app.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  User  (mobile / chat / voice)                              β”‚
β”‚    ↕                                                        β”‚
β”‚  OpenClaw  ── secretary layer ──────────────────────────┐   β”‚
β”‚    β”‚  runs local `drclaw ...`       receives push msgs  β”‚   β”‚
β”‚    ↓                                        ↑           β”‚   β”‚
β”‚  drclaw CLI  ── stable control plane ──────────────┐    β”‚   β”‚
β”‚    β”‚  JSON + openclaw.* schema          WebSocket   β”‚    β”‚   β”‚
β”‚    ↓                                        β”‚       β”‚    β”‚   β”‚
β”‚  Dr. Claw Server                        Watcher β”€β”€β”€β”€β”˜    β”‚   β”‚
β”‚    (projects, sessions, pipelines, artifacts)            β”‚   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The integration has three layers:

LayerWhat it does
Control planeOpenClaw executes drclaw --json ... commands locally
Structured contractJSON responses carry a versioned openclaw.* schema payload
Proactive deliveryAn event-driven watcher pushes important changes to Feishu / Lark

Quick Start (6 steps)

Prerequisites
  • Dr. Claw server running locally (npm run dev or drclaw server on)
  • At least one project and one execution backend (Claude Code, Gemini CLI, or Codex)
  • OpenClaw with local shell / exec capability
  • (Optional) Feishu / Lark channel access for push notifications

1. Start the server

npm install && npm run dev       # or: drclaw server on
drclaw --json auth status        # verify reachability

drclaw server status only reports the daemon from drclaw server on. If you started Dr. Claw with npm run dev, it may show STOPPED even though http://localhost:3001 is working β€” use auth status as the real check.

2. Install the CLI

pip install -e ./agent-harness
drclaw --help

If drclaw is not on your PATH:

PYTHONPATH=agent-harness python3 -m cli_anything.drclaw.drclaw_cli --help

3. Authenticate

drclaw auth login --username <user> --password <pass>
drclaw --json projects list      # should return your projects

4. Link OpenClaw

drclaw install --server-url http://localhost:3001
# with push channel:
drclaw install --server-url http://localhost:3001 --push-channel feishu:<chat_id>

This copies the Dr. Claw skill, installs wrapper scripts, and saves the server URL and CLI path.

5. Verify the core loop

Run these four commands from OpenClaw β€” if they all return valid JSON, the integration is live:

drclaw --json projects list                            # resolve projects
drclaw --json chat waiting                             # find sessions needing input
drclaw --json digest portfolio                         # cross-project summary
drclaw --json workflow status --project <project>      # single-project status

6. Reply into a session

drclaw --json chat waiting                             # pick a session
drclaw --json chat reply --project <proj> --session <sid> -m β€œContinue with option B.”
drclaw --json chat waiting --project <proj>            # confirm it cleared

For multi-turn discussion within the same project:

drclaw --json chat project --project <proj> --session <sid> -m β€œSummarize blockers.”

Structured Schema

Machine-facing commands return a versioned openclaw field. Current families:

SchemaPurpose
openclaw.turn.v1Single chat turn summary
openclaw.project.v1Project digest with status, counts, and next actions
openclaw.portfolio.v1Cross-project overview with recommendations
openclaw.daily.v1Daily digest
openclaw.report.v1Mobile-ready report payload
openclaw.event.v1Watcher event with derived signals

Client rendering tips:

When you need to...Read this field
Decide whether to interrupt the useropenclaw.decision.needed
Show quick actions or voice suggestionsopenclaw.next_actions
Render a compact summaryopenclaw.turn.summary or openclaw.focus
Handle watcher notificationsopenclaw.event.v1.event.signals

Always prefer the openclaw payload over raw reply text when both are present.

Full contract: agent-harness/cli_anything/drclaw/SCHEMA.md


Proactive Watcher

The watcher is event-driven β€” it subscribes to Dr. Claw WebSocket events and only notifies on attention-worthy changes.

# Configure push channel
drclaw openclaw configure --push-channel feishu:<chat_id>

# Manage the watcher
drclaw --json openclaw-watch on --to feishu:<chat_id>
drclaw --json openclaw-watch status
drclaw --json openclaw-watch off

How it works:

WebSocket event β†’ project resolution β†’ snapshot diff β†’ signal derivation
                                                          ↓
                         dedup (6h TTL) ← stable signature + signal kinds
                                                          ↓
                         openclaw agent --deliver β†’ Feishu / Lark summary
                                (fallback: plain bridge push)

Derived signals:

SignalMeaning
human_decision_neededAgent requests permission for a tool call
waiting_for_humanSession is blocked on user input
blocker_detectedA task transitioned to blocked state
`b

Files in the repo

Repository payloadβ€’36 top-level entries
  • .claude
  • .github
  • agent-harness
  • community-tools
  • docs
  • electron
  • public
  • scripts
  • server
  • shared
  • skills
  • src
  • test
  • .cursorindexingignore
  • .env.example
  • .gitignore
  • .npmignore
  • .nvmrc
  • .release-it.json
  • CHANGELOG.md
  • CITATION.cff
  • index.html
  • LICENSE
  • modify_composer.py
  • NOTICE
  • package-lock.json
  • package.json
  • playwright.config.ts
  • postcss.config.js
  • README.md
  • README.zh-CN.md
  • release.sh
  • tailwind.config.js
  • tsconfig.json
  • vite.config.js
  • vitest.config.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More harnesses

The job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.

42k
holaboss-ai/
holaOS

Open-source agentic workspace enterprises can make their own. Connect the systems you already run β€” 100+ integrations, MCP, chat tools, apps, browser, local files β€” with shared memory. Any agent (Claude Code, Codex), any model, or BYOK. Set up in clicks, not months. Local-first: your data never leaves your machines.

11k
backnotprop/
plannotator

Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click.

8.6k
rpamis/cometHarnesses

Comet: agent skill harness for turning ideas into evaluated workflows

3k