feat: add marketplace_path setting to GUI (local and SaaS)

Adds a configurable marketplace_path setting that controls which marketplace
is used when loading public skills. Users can:
- Use the default marketplace (marketplaces/default.json) - default behavior
- Specify a custom marketplace path
- Leave empty to load all skills without marketplace filtering

Changes:
- Added marketplace_path field to Settings data model (backend)
- Added marketplace_path to frontend Settings type
- Added DEFAULT_MARKETPLACE_PATH constant to frontend settings service
- Added Skills Settings section in App Settings page with marketplace_path input

This applies to both Local GUI and SaaS GUI as they share the same frontend code.

Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
openhands
2026-03-01 18:49:21 +00:00
parent 4a3a42c858
commit d14e858040
4 changed files with 55 additions and 2 deletions

View File

@@ -54,6 +54,9 @@ class Settings(BaseModel):
git_user_name: str | None = None
git_user_email: str | None = None
v1_enabled: bool = True
# Path to the marketplace JSON file for public skills loading
# Defaults to 'marketplaces/default.json' in the public skills repository
marketplace_path: str | None = 'marketplaces/default.json'
model_config = ConfigDict(
validate_assignment=True,