Skip to content

Add OpenHands to compatible clients - #66

Open
VascoSch92 wants to merge 1 commit into
agentplugins:mainfrom
VascoSch92:vasco/add-openhands-client
Open

VascoSch92 wants to merge 1 commit into
agentplugins:mainfrom
VascoSch92:vasco/add-openhands-client

Conversation

@VascoSch92

Copy link
Copy Markdown

OpenHands is an open-source platform for AI software development agents that
write code, run commands, and use tools in a sandboxed workspace.

Note

Draft until the OpenHands app release that carries this support is out. The
loader ships in openhands-sdk / openhands-agent-server 1.49.2 (released
2026-09-17); the OpenHands app's main already pins agent-server 1.49.2, but
its latest release (v1.20.0) still pins 1.49.1. I'll mark this ready and add
the app version once that release is published.

Surface

One listing for the OpenHands product family. Agent Plugins packages load
through the same plugin path OpenHands uses everywhere: a directory with a root
plugin.json is detected as an Agent Plugins package ahead of the legacy
layout, and is installed and attached like any other plugin (Agent Canvas UI,
or Conversation(plugins=[...]) programmatically). OpenHands implements
version 1.0.0 of the specification and uses the dev.openhands extension
namespace for its client-specific components.

Evidence

Every item on the client conformance checklist
is mapped to a named test in
this table;
all 228 Agent Plugins tests pass at the v1.49.2 tag. The suite loads a vendored
copy of agent-plugins-example
(5f3f508) and purpose-built packages through the public Plugin.load() path
(OpenHands/software-agent-sdk#5160).

  • Skills — discovered from skills/ only, each skill isolated at its own
    failure boundary; skill resources travel with the skill. Covered by
    TestVendoredExample, TestFixedLocations, TestFailureBoundaries, plus an
    end-to-end test that runs a conversation and asserts the skills reach the
    agent (tests/sdk/conversation/test_local_conversation_agent_plugins.py).
  • MCP stdiomcp.json (no leading dot) with closed-document and
    per-entry validation; commands resolved as single tokens; PLUGIN_ROOT and a
    dedicated persistent PLUGIN_DATA provided, with ${PLUGIN_ROOT} /
    ${PLUGIN_DATA} expanded only in args, env values and cwd; working
    directory contained in the plugin root. Covered by TestStdioDefaults,
    TestPlaceholderExpansion, TestFailureBoundaries, and the end-to-end test
    asserting the constructed server.
  • MCP streamable-http — declared transport carried to the connection;
    URL and header requirements enforced (plain http only for loopback,
    client-generated headers dropped, headers never expanded). Covered by
    TestFixedLocations::test_the_declared_transport_is_the_one_carried and
    TestRemote in tests/sdk/plugin/test_agent_plugins_mcp.py.

sse is not claimed: entries declaring it are reported and skipped, as §7.2.2
rule 4 allows.

Logos

Official OpenHands logotype (mark + wordmark), light and dark SVG variants,
byte-identical to the brand assets published on openhands.dev:

pnpm build passes.

@vercel

vercel Bot commented Sep 19, 2026

Copy link
Copy Markdown

@VascoSch92 is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

@VascoSch92
VascoSch92 marked this pull request as ready for review September 19, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant