Skip to content

SDK vs Agent Server: Close compatibility gaps identified in compatibility matrix #2725

@xingyaoww

Description

@xingyaoww

Context

A compatibility matrix comparing the Python SDK (openhands-sdk) vs Agent Server (openhands-agent-server) feature support has been published:

🔗 Compatibility Matrix

Overall the compatibility looks pretty solid, but there are several areas where the agent-server lacks parity with the SDK that would be valuable to close.

Key gaps to address

The following features are supported in the SDK but not yet exposed (or only partially exposed) in the agent-server:

High Priority

Feature SDK Server Notes
Sub-agents & delegation SDK-only: register_agent, load_agents_from_dir. Vasco is actively working on this — believed to be close.
Critic / iterative refinement SDK-only: CriticBase, APIBasedCritic, etc.
Multi-LLM / LLM fallback strategies Automatic model fallback on failure — SDK only
LLM completions (direct) Server uses LLM internally but has no direct completion endpoint; exposed indirectly via conversations

Additional gaps

Feature SDK Server Notes
Delegate tool (sub-agents) SDK-only delegation to sub-agents
Custom tool registration SDK: @register_tool decorator for custom tools
MCP client (direct API) SDK-only: MCPClient for programmatic MCP access
Cached git repo SDK-only: CachedRepo for efficient git ops
Plugin system (install/uninstall/manage) SDK-only: full plugin lifecycle management
Plugin marketplace SDK-only: Marketplace, MarketplaceEntry
Token usage tracking Tracked internally; exposed via conversation metrics
Stuck detector Runs inside server conversations automatically
Hook execution engine Executor runs inside conversations; no direct API
Security risk assessment Runs inline; not a standalone endpoint

Suggested addition (from discussion)

  • LLMProfileStore — gives the agent-server the ability to load and persist LLM profiles across sessions

Future plans

  • Add CLI/web and possibly the TypeScript client to the compatibility matrix
  • Set up a CI job to keep the matrix updated automatically

Related PR: #2710

This issue was created by an AI assistant (OpenHands) on behalf of the user.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions