Skip to content

Commit 3bd7632

Browse files
chore(plugin): move installed plugins dir under ~/.openhands/plugins
Co-authored-by: openhands <openhands@all-hands.dev>
1 parent ce64794 commit 3bd7632

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

openhands-sdk/openhands/sdk/plugin/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
available plugins with their metadata and source locations.
88
99
Additionally, it provides utilities for managing installed plugins in the
10-
user's home directory (~/.openhands/skills/installed/).
10+
user's home directory (~/.openhands/plugins/installed/).
1111
"""
1212

1313
from openhands.sdk.plugin.fetch import (

openhands-sdk/openhands/sdk/plugin/installed.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
"""Installed plugins management for OpenHands SDK.
22
33
This module provides utilities for managing plugins installed in the user's
4-
home directory (~/.openhands/skills/installed/). It supports:
4+
home directory (~/.openhands/plugins/installed/). It supports:
55
66
- Installing plugins from GitHub repositories, git URLs, or local paths
77
- Listing installed plugins with their metadata
88
- Uninstalling plugins by name
99
- Loading all installed plugins
1010
1111
The installed plugins directory structure follows the Claude Code pattern:
12-
~/.openhands/skills/installed/
12+
~/.openhands/plugins/installed/
1313
├── plugin-name-1/
1414
│ ├── .plugin/
1515
│ │ └── plugin.json
@@ -62,7 +62,7 @@
6262
logger = get_logger(__name__)
6363

6464
# Default directory for installed plugins
65-
DEFAULT_INSTALLED_PLUGINS_DIR = Path.home() / ".openhands" / "skills" / "installed"
65+
DEFAULT_INSTALLED_PLUGINS_DIR = Path.home() / ".openhands" / "plugins" / "installed"
6666

6767
# Metadata file for tracking installed plugins
6868
INSTALLED_METADATA_FILE = ".installed.json"
@@ -161,7 +161,7 @@ def get_installed_plugins_dir() -> Path:
161161
"""Get the directory for installed plugins.
162162
163163
Returns:
164-
Path to ~/.openhands/skills/installed/
164+
Path to ~/.openhands/plugins/installed/
165165
"""
166166
return DEFAULT_INSTALLED_PLUGINS_DIR
167167

@@ -205,7 +205,7 @@ def install_plugin(
205205
ref: Optional branch, tag, or commit to install.
206206
repo_path: Subdirectory path within the repository (for monorepos).
207207
installed_dir: Directory for installed plugins.
208-
Defaults to ~/.openhands/skills/installed/
208+
Defaults to ~/.openhands/plugins/installed/
209209
force: If True, overwrite existing installation. If False, raise error
210210
if plugin is already installed.
211211
@@ -286,7 +286,7 @@ def uninstall_plugin(
286286
Args:
287287
name: Name of the plugin to uninstall.
288288
installed_dir: Directory for installed plugins.
289-
Defaults to ~/.openhands/skills/installed/
289+
Defaults to ~/.openhands/plugins/installed/
290290
291291
Returns:
292292
True if the plugin was uninstalled, False if it wasn't installed.
@@ -334,7 +334,7 @@ def list_installed_plugins(
334334
335335
Args:
336336
installed_dir: Directory for installed plugins.
337-
Defaults to ~/.openhands/skills/installed/
337+
Defaults to ~/.openhands/plugins/installed/
338338
339339
Returns:
340340
List of InstalledPluginInfo for each installed plugin.
@@ -427,7 +427,7 @@ def load_installed_plugins(
427427
428428
Args:
429429
installed_dir: Directory for installed plugins.
430-
Defaults to ~/.openhands/skills/installed/
430+
Defaults to ~/.openhands/plugins/installed/
431431
432432
Returns:
433433
List of loaded Plugin objects.
@@ -455,7 +455,7 @@ def get_installed_plugin(
455455
Args:
456456
name: Name of the plugin to look up.
457457
installed_dir: Directory for installed plugins.
458-
Defaults to ~/.openhands/skills/installed/
458+
Defaults to ~/.openhands/plugins/installed/
459459
460460
Returns:
461461
InstalledPluginInfo if the plugin is installed, None otherwise.
@@ -496,7 +496,7 @@ def update_plugin(
496496
Args:
497497
name: Name of the plugin to update.
498498
installed_dir: Directory for installed plugins.
499-
Defaults to ~/.openhands/skills/installed/
499+
Defaults to ~/.openhands/plugins/installed/
500500
501501
Returns:
502502
Updated InstalledPluginInfo if successful, None if plugin not installed.

tests/sdk/plugin/test_installed_plugins.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ class TestGetInstalledPluginsDir:
136136
"""Tests for get_installed_plugins_dir function."""
137137

138138
def test_returns_default_path(self):
139-
"""Test that default path is under ~/.openhands/skills/installed/."""
139+
"""Test that default path is under ~/.openhands/plugins/installed/."""
140140
path = get_installed_plugins_dir()
141141
assert ".openhands" in str(path)
142-
assert "skills" in str(path)
142+
assert "plugins" in str(path)
143143
assert "installed" in str(path)
144144

145145

0 commit comments

Comments
 (0)