Probe Agent is an AI-powered code exploration and interaction platform built on Node.js. It combines Probe's semantic code search capabilities with intelligent agent orchestration, enabling you to build sophisticated AI coding assistants.
Probe Agent provides:
- AI-Powered Code Understanding: Leverage LLMs to explore, explain, and modify code
- Multi-Provider Support: Works with Anthropic Claude, OpenAI GPT, Google Gemini, AWS Bedrock, Claude Code, and Codex
- Tool Orchestration: Automatic tool calling for search, extraction, editing, and more
- Session Management: Persistent conversations with history and context compaction
- Protocol Support: MCP and ACP for integration with AI editors and agent systems
import { ProbeAgent } from '@probelabs/probe/agent';
const agent = new ProbeAgent({
path: './my-project',
provider: 'anthropic'
});
await agent.initialize();
const response = await agent.answer("How does authentication work in this codebase?");
console.log(response);Probe Agent comes in several forms to suit different use cases:
The core Node.js class for programmatic integration:
npm install @probelabs/probeimport { ProbeAgent } from '@probelabs/probe/agent';Use when: Building custom AI tools, integrating into existing applications, or creating specialized workflows.
Interactive terminal-based chat interface:
npx -y @probelabs/probe-chat@latest ./my-projectUse when: Exploring codebases interactively, quick code questions, or developer productivity.
Browser-based chat interface with syntax highlighting:
npx -y @probelabs/probe-chat@latest --web ./my-projectUse when: Team collaboration, sharing code insights, or when you prefer a visual interface.
Model Context Protocol server for AI editor integration:
probe mcpUse when: Integrating with Cursor, Windsurf, Claude Code, or other MCP-compatible AI editors.
Agent Communication Protocol for advanced agent orchestration:
node index.js --acpUse when: Building multi-agent systems, complex workflows, or custom AI platforms.
Probe Agent uses semantic search to find relevant code:
const agent = new ProbeAgent({ path: './src' });
await agent.initialize();
// The agent automatically uses search tools
const response = await agent.answer("Find all functions that handle user authentication");Extract full function and class definitions with context:
const response = await agent.answer("Extract the login function and explain how it works");Search inside your project's dependencies - npm packages, Go modules, and Rust crates:
// Ask the agent to search inside dependencies
const response = await agent.answer(
"How does createAnthropic work in the @ai-sdk/anthropic package?"
);
// The agent uses special path prefixes:
// - js:package-name (npm packages)
// - go:module/path (Go modules)
// - rust:crate-name (Rust crates)Example prompts:
- "Search for how express handles middleware"
- "Look inside the gin library to see how routing works"
- "Find the Serialize trait definition in serde"
Enable code modifications with safeguards:
const agent = new ProbeAgent({
path: './src',
allowEdit: true,
enableBash: true
});Automatic retry and fallback across providers:
const agent = new ProbeAgent({
provider: 'anthropic',
retry: { maxRetries: 3, backoffFactor: 2 },
fallback: { strategy: 'any' }
});┌─────────────────────────────────────────────────────────────┐
│ Your Application │
└─────────────────────────────┬───────────────────────────────┘
│
┌─────────────────────────────▼───────────────────────────────┐
│ ProbeAgent SDK │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Engines │ │ Tools │ │ Session Manager │ │
│ │ (Claude, │ │ (Search, │ │ (History, Tokens, │ │
│ │ OpenAI, │ │ Extract, │ │ Compaction) │ │
│ │ Gemini) │ │ Edit...) │ │ │ │
│ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ │
└─────────┼────────────────┼────────────────────┼─────────────┘
│ │ │
┌─────────▼────────────────▼────────────────────▼─────────────┐
│ Probe CLI (Rust) │
│ Semantic Search • AST Parsing • Code Extraction │
└─────────────────────────────────────────────────────────────┘
| Provider | Type | Configuration |
|---|---|---|
| Anthropic Claude | API | ANTHROPIC_API_KEY |
| OpenAI GPT | API | OPENAI_API_KEY |
| Google Gemini | API | GOOGLE_GENERATIVE_AI_API_KEY |
| AWS Bedrock | API | AWS credentials |
| Claude Code | CLI | Requires claude command |
| Codex | CLI | Requires codex command |
| Feature | SDK | Chat CLI | Chat Web | MCP | ACP |
|---|---|---|---|---|---|
| Code Search | ✓ | ✓ | ✓ | ✓ | ✓ |
| Dependency Search | ✓ | ✓ | ✓ | ✓ | ✓ |
| Code Extraction | ✓ | ✓ | ✓ | ✓ | ✓ |
| AST Queries | ✓ | ✓ | ✓ | ✓ | ✓ |
| Code Editing | ✓ | ✓ | ✓ | - | ✓ |
| Bash Execution | ✓ | ✓ | ✓ | - | - |
| Session Persistence | ✓ | ✓ | ✓ | - | ✓ |
| Multi-Provider | ✓ | ✓ | ✓ | - | ✓ |
| Streaming | ✓ | ✓ | ✓ | - | ✓ |
| Token Tracking | ✓ | ✓ | ✓ | - | ✓ |
| Delegation | ✓ | - | - | - | ✓ |
- Building custom AI applications
- Integrating into existing Node.js projects
- Need full control over agent behavior
- Creating specialized workflows
- Interactive code exploration
- Quick questions about a codebase
- Developer productivity
- Team code reviews
- Working with AI code editors (Cursor, Windsurf)
- Want Probe search in Claude Code
- Need standardized tool integration
- Building multi-agent systems
- Need session management and isolation
- Creating custom AI platforms
- Complex orchestration requirements
- SDK Quick Start - Build your first agent
- API Reference - Complete ProbeAgent documentation
- Tools Reference - Available tools and parameters
- MCP Protocol - MCP server setup and integration
- ACP Protocol - Agent Communication Protocol guide