Skip to content
Agent

Agents

by open-jarvis

AI Summary

Agents are the agentic logic layer of OpenJarvis. They determine how a query is processed -- whether it goes directly to a model, through a tool-calling loop, via ReAct reasoning, CodeAct code execution, recursive decomposition, or an external agent runtime. All agents implement the ABC and are reg

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to set up the "Agents" agent in my project.

Please run this command in my terminal:
# Add AGENTS.md to your project root
curl --retry 3 --retry-delay 2 --retry-all-errors -o AGENTS.md "https://raw.githubusercontent.com/open-jarvis/OpenJarvis/main/docs/user-guide/agents.md"

Then explain what the agent does and how to invoke it.

Description

Personal AI, On Personal Devices

Overview

| Agent | Registry Key | accepts_tools | Multi-turn | Description | |---------------------|-------------------|-----------------|------------|----------------------------------------------| | SimpleAgent | simple | No | No | Single-turn query-to-response | | OrchestratorAgent | orchestrator | Yes | Yes | Multi-turn tool-calling loop (function_calling + structured) | | NativeReActAgent | native_react | Yes | Yes | Thought-Action-Observation loop | | NativeOpenHandsAgent | native_openhands | Yes | Yes | CodeAct-style code execution + tool calls | | RLMAgent | rlm | Yes | Yes | Recursive LM with persistent REPL | | OpenHandsAgent | openhands | No | Yes | Wraps real openhands-sdk | | ClaudeCodeAgent | claude_code | No | Yes | Claude Agent SDK via Node.js subprocess | | OpenCodeAgent | opencode | No | Yes | opencode coding agent on your local engine | | OperativeAgent | operative | Yes | Yes | Persistent scheduled agent with state management | | MonitorOperativeAgent | monitor_operative | Yes | Yes | Long-horizon agent with 4 configurable strategy axes | ---

Agents

Agents are the agentic logic layer of OpenJarvis. They determine how a query is processed -- whether it goes directly to a model, through a tool-calling loop, via ReAct reasoning, CodeAct code execution, recursive decomposition, or an external agent runtime. All agents implement the BaseAgent ABC and are registered via the AgentRegistry.

BaseAgent ABC

All agents extend the abstract BaseAgent class. `python from abc import ABC, abstractmethod from openjarvis.agents._stubs import AgentContext, AgentResult class BaseAgent(ABC): agent_id: str accepts_tools: bool = False def __init__( self, engine: InferenceEngine, model: str, *, bus: Optional[EventBus] = None, temperature: float = 0.7, max_tokens: int = 1024, ) -> None: ... @abstractmethod def run( self, input: str, context: AgentContext | None = None, **kwargs, ) -> AgentResult: """Execute the agent on the given input.""" ` The accepts_tools class attribute controls whether an agent can receive tools via --tools on the CLI or tools= in the SDK. Agents with accepts_tools = False ignore tool arguments. BaseAgent also provides concrete helper methods (_emit_turn_start, _emit_turn_end, _build_messages, _generate, _max_turns_result, _strip_think_tags) that subclasses use to avoid duplicating common logic. See the architecture docs for details. ToolUsingAgent is an intermediate base class (extends BaseAgent) that sets accepts_tools = True and adds a ToolExecutor and max_turns loop limit. All tool-using agents extend this class.

AgentContext

The runtime context handed to an agent on each invocation. | Field | Type | Description | |------------------|--------------------|------------------------------------------------| | conversation | Conversation | Message history (pre-filled with context if memory injection is active) | | tools | list[str] | Tool names available to the agent | | memory_results | list[Any] | Pre-fetched memory retrieval results | | metadata | dict[str, Any] | Arbitrary metadata for the run |

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted Today
Active
Adoption1K+ stars on GitHub
6.9k ★ · Popular
DocsMissing or thin
Undocumented

GitHub Signals

Stars6.9k
Forks1.5k
Issues73
UpdatedToday
View on GitHub
Apache-2.0 License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code
Claude.ai