How qainsights/jmeter-ai works
Feather Wand is a JMeter plugin that brings AI chat and test-plan operations into the JMeter GUI. Users submit context-aware prompts or invoke agent tools; provider services return responses, while agent handlers can inspect and modify the live plan or run tests. Separate workflows record browser traffic into a plan and identify/apply correlations. The README also describes refactoring, special commands, CLI terminal access, attachments, persistent conversations, model selection, and a companion pet. Paths reflect the supplied tree; unsampled subsystem wiring is shown only where documented capabilities establish it.
Main entry points: AiChatPanel.java Chat panel · AiService.java AI services · ReadToolHandlers.java Plan tool handlers · RecordingWorkflowService.java Recording workflow
Components 24
Chat and providers
- Chat panel
src/main/java/org/qainsights/jmeter/ai/gui/AiChatPanel.java - Attachments
src/main/java/org/qainsights/jmeter/ai/service/attach/AttachmentRegistry.java - Chat sessions
src/main/java/org/qainsights/jmeter/ai/service/session/ConversationStore.java - AI services
src/main/java/org/qainsights/jmeter/ai/service/AiService.java - AI CLI terminal
src/main/java/org/qainsights/jmeter/ai/claudecode/ClaudeCodePanel.java
Agent and plans
- Agent chat
src/main/java/org/qainsights/jmeter/ai/gui/AiChatPanel.java - JMeter agent
src/main/java/org/qainsights/jmeter/ai/agent/JMeterAgent.java - Agent loop
src/main/java/org/qainsights/jmeter/ai/agent/loop/AgentLoop.java - Tool registry
src/main/java/org/qainsights/jmeter/ai/agent/tool/AgentToolRegistry.java - Plan tool handlers
src/main/java/org/qainsights/jmeter/ai/agent/tool/handlers/ReadToolHandlers.java
Browser recording
- Recording controls
src/main/java/org/qainsights/jmeter/ai/record/RecordingControlPanel.java - Recording workflow
src/main/java/org/qainsights/jmeter/ai/record/RecordingWorkflowService.java - Browser session
src/main/java/org/qainsights/jmeter/ai/record/BrowserSession.java - JMeter proxy
src/main/java/org/qainsights/jmeter/ai/record/JMeterProxyRecorder.java
Commands and correlation
- Correlation engine
src/main/java/org/qainsights/jmeter/ai/correlation/CorrelationEngine.java - Correlation review
src/main/java/org/qainsights/jmeter/ai/correlation/CorrelationReviewDialog.java - Correlation injector
src/main/java/org/qainsights/jmeter/ai/correlation/CorrelationInjector.java - Plan commands
src/main/java/org/qainsights/jmeter/ai/optimizer/OptimizeRequestHandler.java - Code refactoring
src/main/java/org/qainsights/jmeter/ai/service/CodeRefactorer.java
JMeter integrations
- JMeter plan
- Test execution
src/main/java/org/qainsights/jmeter/ai/agent/jmeter/TestRunController.java - Companion pet
src/main/java/org/qainsights/jmeter/ai/pet/PetBootstrap.java
Other components
- JMeter user
- LLM providers
Connections 29
- JMeter user → Chat panel: sends prompts
- Chat panel → Attachments: prepares files
- Chat panel → AI services: requests responses
- AI services → LLM providers: calls model APIs
- AI services → Chat panel: streams answers
- Chat panel → Chat sessions: saves conversations
- JMeter user → AI CLI terminal: opens terminal
- JMeter user → Agent chat: requests plan edits
- Agent chat → JMeter agent: starts agent
- JMeter agent → Agent loop: runs turns
- Agent loop → Tool registry: dispatches tools
- Tool registry → Plan tool handlers: executes tools
- Plan tool handlers → JMeter plan: reads and edits
- Plan tool handlers → Test execution: runs or stops
- JMeter user → Recording controls: starts recording
- Recording controls → Recording workflow: configures session
- Recording workflow → Browser session: drives browser
- Browser session → LLM providers: requests planning
- Recording workflow → JMeter proxy: starts capture
- JMeter proxy → JMeter plan: records samplers
- JMeter user → Correlation engine: requests analysis
- Correlation engine → Correlation review: presents candidates
- Correlation review → Correlation injector: applies selections
- Correlation injector → JMeter plan: updates plan
- JMeter user → Plan commands: invokes commands
- Plan commands → AI services: requests optimization
- JMeter user → Code refactoring: requests refactoring
- Code refactoring → AI services: requests code changes
- Test execution → Companion pet: reports run status