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.
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
register_agent,load_agents_from_dir. Vasco is actively working on this — believed to be close.CriticBase,APIBasedCritic, etc.Additional gaps
@register_tooldecorator for custom toolsMCPClientfor programmatic MCP accessCachedRepofor efficient git opsMarketplace,MarketplaceEntrySuggested addition (from discussion)
Future plans
Related PR: #2710
This issue was created by an AI assistant (OpenHands) on behalf of the user.