Files
openide/plugins/agent-workbench
Mikhail Filippov 3e0bbe8460 [build] IJPL-232588 update Kotlin compiler to 2.3.20-RC2
(cherry picked from commit 02cf3f93e77aa26b098c5c0d52caa4cf1af5078c)

IJ-MR-194445

GitOrigin-RevId: a84f0832e3330d80bbe2b7a15de6db95ffa1aa88
2026-03-05 23:30:09 +00:00
..
2026-02-13 21:24:05 +00:00
2026-02-16 19:03:38 +00:00
2026-02-16 19:03:38 +00:00
2026-02-16 19:03:38 +00:00

Agent Workbench Plugin

Vision: AI-First Workflow UX

The Agent Workbench plugin reimagines the IDE experience around AI-assisted development. Rather than treating AI as an add-on feature, the plugin creates a seamless workflow where developers can:

  • Start conversations naturally - Begin coding discussions from any context in the IDE
  • Maintain persistent threads - Keep conversation history organized and accessible across sessions
  • Navigate AI interactions - Browse, search, and resume previous conversations efficiently
  • Integrate with development flow - Connect AI assistance directly to code navigation, editing, and debugging

The goal is to make AI assistance feel like a native part of the development environment, reducing context switching and keeping developers in flow.

Architecture

The plugin provides two complementary views for working with AI-assisted development:

┌─────────────────────────────────────────────────────────────────────────────┐
│                              IntelliJ IDEA                                  │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   ┌─────────────────────────────────┐   ┌─────────────────────────────────┐ │
│   │      PROJECT FRAME              │   │    AI-CHAT DEDICATED VIEW       │ │
│   │  (traditional development)      │   │   (task orchestration)          │ │
│   │                                 │   │                                 │ │
│   │  ┌────────┐ ┌────────────────┐  │   │  ┌────────┐ ┌────────────────┐  │ │
│   │  │ Agent  │ │                │  │   │  │ Agent  │ │                │  │ │
│   │  │Sessions│ │     Editor     │  │◄─►│  │Sessions│ │   Chat Panel   │  │ │
│   │  │  Tool  │ │                │  │   │  │  Tool  │ │                │  │ │
│   │  │ Window │ │                │  │   │  │ Window │ │  • Status      │  │ │
│   │  │        │ │  • Navigate    │  │   │  │        │ │  • Input       │  │ │
│   │  │Projects│ │  • Edit        │  │   │  │Projects│ │  • History     │  │ │
│   │  │  └─Th. │ │  • Debug       │  │   │  │  └─Th. │ │                │  │ │
│   │  │    └─… │ │  • Review VCS  │  │   │  │    └─… │ │                │  │ │
│   │  └────────┘ └────────────────┘  │   │  └────────┘ └────────────────┘  │ │
│   └─────────────────────────────────┘   └─────────────────────────────────┘ │
│                                                                             │
│   Why dual views?                                                           │
│   • Work on multiple tasks in parallel — see status of each                 │
│   • AI isn't "there" yet — you still review, read, understand code          │
│   • Not vibe-coding — we use AI in production, need to know how/why         │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

The Agent Threads Tool Window organizes conversations by project:

Projects
├── project-a
│   ├── Thread: "Add caching layer"     [done]
│   └── Thread: "Fix auth bug"          [needs input]
│       └── sub-agent: "research"
└── project-b (not open)                [Connect]
    └── Thread: "Refactor API"          [inactive]

Specifications

Detailed requirements and testing contracts are documented in the spec files:

  • Agent Threads Tool Window - Requirements for the Sessions tool window UI, session management, and user interactions
  • Testing Contract - Testing strategy, UI coverage requirements, and verification criteria

Test All

Run all Agent Workbench tests with:

./tests.cmd '-Dintellij.build.test.patterns=com.intellij.agent.workbench.*'