Go to file
openhands 3a234b78a4 feat: add registered_marketplaces to Settings for multiple marketplace support
This PR introduces support for registering multiple marketplaces with explicit
auto-load semantics, providing an alternative to the single marketplace_path
approach in PR #13117.

## Changes

### New Models

**MarketplaceRegistration** - Registration for a plugin marketplace:
- name: Identifier for this marketplace registration
- source: Marketplace source (github:owner/repo, git URL, or local path)
- ref: Optional branch, tag, or commit
- repo_path: Subdirectory path for monorepos
- auto_load: 'all' to load plugins at conversation start, None for on-demand

### Updated Settings Model

Added registered_marketplaces field to Settings (list of MarketplaceRegistration).
This allows users to configure multiple marketplaces with different loading
behaviors.

### Updated Skill Loading

- skill_loader: Added registered_marketplaces parameter to pass marketplace
  registrations to the agent-server API
- app_conversation_service_base: Added registered_marketplaces parameter to
  load_and_merge_all_skills method

### Tests

- Added comprehensive tests for MarketplaceRegistration model
- Added tests for Settings.registered_marketplaces field
- Added tests for skill_loader marketplace handling

## Key Behaviors

- Marketplace resolution composes instance → org → user (additive)
- auto_load='all' loads all plugins at conversation start
- auto_load=None registers marketplace for on-demand resolution
- Path validation rejects absolute paths and directory traversal

## Dependencies

This PR is designed to work with SDK PR #2495 which provides:
- MarketplaceRegistry class for managing registered marketplaces
- Plugin resolution via 'plugin-name@marketplace-name' syntax
- Lazy fetching and caching of marketplace manifests

## Related

- Alternative to #13117 (marketplace_path setting)
- Leverages SDK PR OpenHands/software-agent-sdk#2495
- Enables #12916 (org-level default resources)
- Aligns with #13188 (instance-default org proposal)
- Supports #10947 (OpenHands configuration proposal)
2026-03-19 17:47:24 +00:00
2025-10-29 16:17:46 -04:00
2025-05-26 21:35:27 -04:00
2025-05-26 21:35:27 -04:00
2025-03-01 13:21:31 +00:00

Logo

OpenHands: AI-Driven Development


🙌 Welcome to OpenHands, a community focused on AI-driven development. Wed love for you to join us on Slack.

There are a few ways to work with OpenHands:

OpenHands Software Agent SDK

The SDK is a composable Python library that contains all of our agentic tech. It's the engine that powers everything else below.

Define agents in code, then run them locally, or scale to 1000s of agents in the cloud.

Check out the docs or view the source

OpenHands CLI

The CLI is the easiest way to start using OpenHands. The experience will be familiar to anyone who has worked with e.g. Claude Code or Codex. You can power it with Claude, GPT, or any other LLM.

Check out the docs or view the source

OpenHands Local GUI

Use the Local GUI for running agents on your laptop. It comes with a REST API and a single-page React application. The experience will be familiar to anyone who has used Devin or Jules.

Check out the docs or view the source in this repo.

OpenHands Cloud

This is a deployment of OpenHands GUI, running on hosted infrastructure.

You can try it for free using the Minimax model by signing in with your GitHub or GitLab account.

OpenHands Cloud comes with source-available features and integrations:

  • Integrations with Slack, Jira, and Linear
  • Multi-user support
  • RBAC and permissions
  • Collaboration features (e.g., conversation sharing)

OpenHands Enterprise

Large enterprises can work with us to self-host OpenHands Cloud in their own VPC, via Kubernetes. OpenHands Enterprise can also work with the CLI and SDK above.

OpenHands Enterprise is source-available--you can see all the source code here in the enterprise/ directory, but you'll need to purchase a license if you want to run it for more than one month.

Enterprise contracts also come with extended support and access to our research team.

Learn more at openhands.dev/enterprise

Everything Else

Check out our Product Roadmap, and feel free to open up an issue if there's something you'd like to see!

You might also be interested in our evaluation infrastructure, our chrome extension, or our Theory-of-Mind module.

All our work is available under the MIT license, except for the enterprise/ directory in this repository (see the enterprise license for details). The core openhands and agent-server Docker images are fully MIT-licensed as well.

If you need help with anything, or just want to chat, come find us on Slack.

Description
🙌 OpenHands: Code Less, Make More
Readme MIT Cite this repository 794 MiB
Languages
Python 73.9%
TypeScript 24.8%
Jinja 0.6%
JavaScript 0.3%
Makefile 0.1%
Other 0.2%