Skip to content

Features

Key Features

  • ReAct EngineDefaultReActAgent implements the full Reasoning-Acting cycle with configurable iteration limits, streaming responses, and multi-layer error recovery
  • 6-Stage Context Compaction — Progressive pipeline (Snip → Micro → Collapse → Auto → Partial → CircuitBreaker) with "Facts First" strategy to preserve raw context as long as possible
  • 21 Built-in Tools — File ops (Read/Write/Edit/Glob/Grep), execution (Bash/Monitor), interaction (AskUser), skills (SkillList/SkillLoad), and agent ops (Spawn/Message/Task/Team/Plan)
  • Read/Write Partition — READ_ONLY tools execute in parallel, WRITE/SYSTEM_CHANGE tools serialize automatically
  • Human-in-the-Loop — Three-state permission model (ALLOWED/ASK/DENIED) with PermissionGuard
  • Multi-Agent Orchestration — TaskBoard, PlanBuilder, TeamScheduler, and in-process MessageBus
  • A2A Protocol — Agent-to-Agent communication standard (Google ADK-compatible), in-process discovery + invocation, team auto-registration
  • Middleware Pipeline — Declarative request/response interception with @MiddlewareOrder for cross-cutting concerns (logging, auth, rate-limiting)
  • Agent Snapshot/Checkpoint — Serialize agent state mid-conversation, restore from checkpoint with AgentBuilder.restoreFrom(snapshot)
  • Structured Output — Call models returning typed POJOs with automatic self-correction on format errors
  • Hook Lifecycle — 10 hook points (Pre/Post Reasoning, Acting, etc.) with CONTINUE/MODIFY/SKIP/ABORT/INJECT decisions
  • Circuit Breaker — Three-state circuit breaker for both model and tool calls with configurable thresholds
  • Loop Detection — Hash-based + frequency-based dual detection to prevent infinite agent loops
  • Cooperative Cancellation — Graceful agent termination with state preservation
  • MCP Integration — StreamableHTTP + Elicitation Protocol for external tool server connectivity
  • Skill System — Markdown-based skill definitions with TriggerGuard anti-contamination design
  • Plan Mode — Separate planning from execution; write tools blocked during planning
  • Model Harness — Deep Anthropic integration + OpenAI-compatible fallback for GLM, Qwen, GPT, etc.
  • Session Persistence — File-based state serialization with TTL cleanup

Model Support

ProviderModelsAPI TypeEnvironment Variable
AnthropicClaude Sonnet, Claude Opus, Claude HaikuNative Anthropic APIANTHROPIC_API_KEY
Zhipu AIGLM-4-Plus, GLM-4OpenAI-compatibleGLM_API_KEY
DashScopeQwen-Plus, Qwen-Max, Qwen-TurboOpenAI-compatibleQWEN_API_KEY
OpenAIGPT-4o, GPT-4, GPT-3.5OpenAI-compatibleOPENAI_API_KEY
java
// Anthropic (native API)
AnthropicProvider claude = new AnthropicProvider(apiKey);

// GLM / Qwen / GPT (OpenAI-compatible)
OpenAIProvider provider = new OpenAIProvider(apiKey, baseUrl, "/chat/completions");

Demo Examples

DemoAPI KeyWhat it tests
AgentExample --mockNoBasic ReAct loop with mock model
AgentExample --glmGLMReAct loop with GLM-4-Plus
AgentExample --qwenQwenReAct loop with Qwen-Plus
FullToolsetExampleQwenAll 6 tools: read, write, edit, glob, grep, bash
SkillExampleQwenSkill system: list, load, and use Markdown skills
MultiAgentExampleNoTaskBoard DAG tracking + MessageBus pub/sub
SessionExampleNoFileMemoryStore + SessionSerializer round-trip
Spring Boot DemoYesREST API, streaming, structured output, hooks, MCP