From 6dd06320d201838375b9168930f588da67677038 Mon Sep 17 00:00:00 2001 From: enyst Date: Tue, 21 Oct 2025 15:26:17 +0000 Subject: [PATCH 01/11] docs: rename 'All Hands AI' to 'OpenHands' across docs and workflows; update repo links to OpenHands org where applicable\n\n- Updated agent-sdk links from All-Hands-AI to OpenHands\n- Replaced textual mentions: 'All Hands AI', 'All Hands', and 'All-Hands-AI' -> 'OpenHands'\n- Preserved ghcr.io/docker.all-hands.dev references per issue guidance\n- Left links to code repo All-Hands-AI/OpenHands intact (no OpenHands/OpenHands repo exists)\n- Adjusted troubleshooting and Slack docs to reflect accurate repo names\n\nCo-authored-by: openhands --- .github/scripts/README.md | 2 +- .github/workflows/sync-agent-sdk-openapi.yml | 2 +- .github/workflows/sync-docs-code-blocks.yml | 2 +- .openhands/microagents/repo.md | 2 +- openhands/usage/cloud/gitlab-installation.mdx | 2 +- openhands/usage/troubleshooting/feedback.mdx | 4 ++-- openhands/usage/troubleshooting/troubleshooting.mdx | 6 +++--- sdk/arch/llms/configuration.mdx | 2 +- sdk/arch/llms/index.mdx | 2 +- sdk/getting-started.mdx | 6 +++--- sdk/guides/custom-tools.mdx | 2 +- sdk/guides/hello-world.mdx | 2 +- sdk/guides/mcp.mdx | 6 +++--- sdk/index.mdx | 4 ++-- 14 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/scripts/README.md b/.github/scripts/README.md index 35861a81..9aff1875 100644 --- a/.github/scripts/README.md +++ b/.github/scripts/README.md @@ -42,7 +42,7 @@ To test locally: cd docs # Clone agent-sdk if not already present -git clone https://github.com/All-Hands-AI/agent-sdk.git agent-sdk +git clone https://github.com/OpenHands/agent-sdk.git agent-sdk # Run the script python .github/scripts/sync_code_blocks.py diff --git a/.github/workflows/sync-agent-sdk-openapi.yml b/.github/workflows/sync-agent-sdk-openapi.yml index 0a290933..cb610367 100644 --- a/.github/workflows/sync-agent-sdk-openapi.yml +++ b/.github/workflows/sync-agent-sdk-openapi.yml @@ -38,7 +38,7 @@ jobs: - name: Checkout agent-sdk uses: actions/checkout@v4 with: - repository: All-Hands-AI/agent-sdk + repository: OpenHands/agent-sdk path: agent-sdk ref: ${{ env.AGENT_SDK_REF }} fetch-depth: 0 diff --git a/.github/workflows/sync-docs-code-blocks.yml b/.github/workflows/sync-docs-code-blocks.yml index e4ac2fc0..72dfeb50 100644 --- a/.github/workflows/sync-docs-code-blocks.yml +++ b/.github/workflows/sync-docs-code-blocks.yml @@ -31,7 +31,7 @@ jobs: - name: Checkout agent-sdk uses: actions/checkout@v4 with: - repository: All-Hands-AI/agent-sdk + repository: OpenHands/agent-sdk path: agent-sdk ref: ${{ github.event.inputs.agent_sdk_ref || 'main' }} fetch-depth: 0 diff --git a/.openhands/microagents/repo.md b/.openhands/microagents/repo.md index 24ac8e26..d76df712 100644 --- a/.openhands/microagents/repo.md +++ b/.openhands/microagents/repo.md @@ -100,7 +100,7 @@ Links to the GitHub source file: ```mdx -This example is available on GitHub: [examples/01_standalone_sdk/02_custom_tools.py](https://github.com/All-Hands-AI/agent-sdk/blob/main/examples/01_standalone_sdk/02_custom_tools.py) +This example is available on GitHub: [examples/01_standalone_sdk/02_custom_tools.py](https://github.com/OpenHands/agent-sdk/blob/main/examples/01_standalone_sdk/02_custom_tools.py) ``` diff --git a/openhands/usage/cloud/gitlab-installation.mdx b/openhands/usage/cloud/gitlab-installation.mdx index 38ae0ed8..066f0745 100644 --- a/openhands/usage/cloud/gitlab-installation.mdx +++ b/openhands/usage/cloud/gitlab-installation.mdx @@ -33,7 +33,7 @@ This feature works for personal projects and is available for group projects wit [Premium or Ultimate tier subscription](https://docs.gitlab.com/user/project/integrations/webhooks/#group-webhooks). A webhook is automatically installed within a few minutes after the owner/maintainer of the project or group logs into -OpenHands Cloud. If you decide to delete the webhook, then re-installing will require the support of All Hands AI but +OpenHands Cloud. If you decide to delete the webhook, then re-installing will require the support of OpenHands but we are planning to improve this in a future release. diff --git a/openhands/usage/troubleshooting/feedback.mdx b/openhands/usage/troubleshooting/feedback.mdx index b02c9858..79270ac2 100644 --- a/openhands/usage/troubleshooting/feedback.mdx +++ b/openhands/usage/troubleshooting/feedback.mdx @@ -26,7 +26,7 @@ However, a link with a unique ID will still be created that you can share public ### Who collects and stores the data? -The data is collected and stored by [All Hands AI](https://openhands.dev), a company founded by OpenHands maintainers to support and improve OpenHands. +The data is collected and stored by [OpenHands](https://openhands.dev), a company founded by OpenHands maintainers to support and improve OpenHands. ### How will public data be released? @@ -40,7 +40,7 @@ removing email submitter email addresses, and attempting to remove any sensitive ### What if I want my data deleted? -For data on the All Hands AI servers, we are happy to delete it at request: +For data on the OpenHands servers, we are happy to delete it at request: **One Piece of Data:** If you want one piece of data deleted, we will shortly be adding a mechanism to delete pieces of data using the link and password that is displayed on the interface when you submit data. diff --git a/openhands/usage/troubleshooting/troubleshooting.mdx b/openhands/usage/troubleshooting/troubleshooting.mdx index 262e3590..afa576f3 100644 --- a/openhands/usage/troubleshooting/troubleshooting.mdx +++ b/openhands/usage/troubleshooting/troubleshooting.mdx @@ -109,7 +109,7 @@ To fix this: **Description** -After the GitHub organization rename from `All-Hands-AI` to `OpenHands`, you may encounter issues with git remotes, Docker images, or broken links. +After the GitHub organization rename from `OpenHands` to `OpenHands`, you may encounter issues with git remotes, Docker images, or broken links. **Resolution** @@ -119,10 +119,10 @@ After the GitHub organization rename from `All-Hands-AI` to `OpenHands`, you may git remote get-url origin # Update SSH remote - git remote set-url origin git@github.com:OpenHands/OpenHands.git + git remote set-url origin git@github.com:All-Hands-AI/OpenHands.git # Or update HTTPS remote - git remote set-url origin https://github.com/OpenHands/OpenHands.git + git remote set-url origin https://github.com/All-Hands-AI/OpenHands.git ``` * Update Docker image references from `ghcr.io/all-hands-ai/` to `ghcr.io/openhands/` * Find and update any hardcoded references: diff --git a/sdk/arch/llms/configuration.mdx b/sdk/arch/llms/configuration.mdx index f6b3bf55..3d861d57 100644 --- a/sdk/arch/llms/configuration.mdx +++ b/sdk/arch/llms/configuration.mdx @@ -65,7 +65,7 @@ human review of committed configuration. into SDK telemetry so downstream interfaces can display usage estimates. Refer to the docstring within -[`openhands.sdk.llm.LLM`](https://github.com/All-Hands-AI/agent-sdk/blob/main/openhands-sdk/openhands/sdk/llm/llm.py) +[`openhands.sdk.llm.LLM`](https://github.com/OpenHands/agent-sdk/blob/main/openhands-sdk/openhands/sdk/llm/llm.py) for the full schema. All fields can be set programmatically or via environment variables using the naming rule `field -> LLM_FIELD`. diff --git a/sdk/arch/llms/index.mdx b/sdk/arch/llms/index.mdx index 0a93cbea..2aa8485d 100644 --- a/sdk/arch/llms/index.mdx +++ b/sdk/arch/llms/index.mdx @@ -38,7 +38,7 @@ graph LR ## Creating LLM instances -Use the [`openhands.sdk.llm.LLM`](https://github.com/All-Hands-AI/agent-sdk/blob/main/openhands-sdk/openhands/sdk/llm/llm.py) +Use the [`openhands.sdk.llm.LLM`](https://github.com/OpenHands/agent-sdk/blob/main/openhands-sdk/openhands/sdk/llm/llm.py) class to configure model access. The only required field is the `model` name; other options (API keys, retry tuning, response tracing) are optional. diff --git a/sdk/getting-started.mdx b/sdk/getting-started.mdx index e169e435..26aeb9db 100644 --- a/sdk/getting-started.mdx +++ b/sdk/getting-started.mdx @@ -57,7 +57,7 @@ export LLM_API_KEY=your-api-key-here ```bash # Clone the repository - git clone https://github.com/All-Hands-AI/agent-sdk.git + git clone https://github.com/OpenHands/agent-sdk.git cd agent-sdk # Install dependencies and setup development environment @@ -168,5 +168,5 @@ ls examples/01_standalone_sdk/ ### Get Help - **[Slack Community](https://openhands.dev/joinslack)** - Ask questions and share projects -- **[GitHub Issues](https://github.com/All-Hands-AI/agent-sdk/issues)** - Report bugs or request features -- **[Example Directory](https://github.com/All-Hands-AI/agent-sdk/tree/main/examples)** - Browse working code samples +- **[GitHub Issues](https://github.com/OpenHands/agent-sdk/issues)** - Report bugs or request features +- **[Example Directory](https://github.com/OpenHands/agent-sdk/tree/main/examples)** - Browse working code samples diff --git a/sdk/guides/custom-tools.mdx b/sdk/guides/custom-tools.mdx index 8440e8cf..d91b51bd 100644 --- a/sdk/guides/custom-tools.mdx +++ b/sdk/guides/custom-tools.mdx @@ -32,7 +32,7 @@ These components are tied together by a **ToolDefinition** that registers the to ## Creating a Custom Tool -This example is available on GitHub: [examples/01_standalone_sdk/02_custom_tools.py](https://github.com/All-Hands-AI/agent-sdk/blob/main/examples/01_standalone_sdk/02_custom_tools.py) +This example is available on GitHub: [examples/01_standalone_sdk/02_custom_tools.py](https://github.com/OpenHands/agent-sdk/blob/main/examples/01_standalone_sdk/02_custom_tools.py) Here's a minimal example of creating a custom grep tool: diff --git a/sdk/guides/hello-world.mdx b/sdk/guides/hello-world.mdx index d33e6c11..0cefa2e8 100644 --- a/sdk/guides/hello-world.mdx +++ b/sdk/guides/hello-world.mdx @@ -4,7 +4,7 @@ description: The simplest possible OpenHands agent - configure an LLM, create an --- -This example is available on GitHub: [examples/01_standalone_sdk/01_hello_world.py](https://github.com/All-Hands-AI/agent-sdk/blob/main/examples/01_standalone_sdk/01_hello_world.py) +This example is available on GitHub: [examples/01_standalone_sdk/01_hello_world.py](https://github.com/OpenHands/agent-sdk/blob/main/examples/01_standalone_sdk/01_hello_world.py) This is the most basic example showing how to set up and run an OpenHands agent: diff --git a/sdk/guides/mcp.mdx b/sdk/guides/mcp.mdx index ff9c615e..5084c716 100644 --- a/sdk/guides/mcp.mdx +++ b/sdk/guides/mcp.mdx @@ -9,7 +9,7 @@ MCP (Model Context Protocol) is a protocol for exposing tools and resources to A ## Basic MCP Usage -This example is available on GitHub: [examples/01_standalone_sdk/07_mcp_integration.py](https://github.com/All-Hands-AI/agent-sdk/blob/main/examples/01_standalone_sdk/07_mcp_integration.py) +This example is available on GitHub: [examples/01_standalone_sdk/07_mcp_integration.py](https://github.com/OpenHands/agent-sdk/blob/main/examples/01_standalone_sdk/07_mcp_integration.py) Here's an example integrating MCP servers with an agent: @@ -89,7 +89,7 @@ conversation = Conversation( logger.info("Starting conversation with MCP integration...") conversation.send_message( - "Read https://github.com/OpenHands/OpenHands and write 3 facts " + "Read https://github.com/All-Hands-AI/OpenHands and write 3 facts " "about the project into FACTS.txt." ) conversation.run() @@ -139,7 +139,7 @@ agent = Agent( ## MCP with OAuth -This example is available on GitHub: [examples/01_standalone_sdk/08_mcp_with_oauth.py](https://github.com/All-Hands-AI/agent-sdk/blob/main/examples/01_standalone_sdk/08_mcp_with_oauth.py) +This example is available on GitHub: [examples/01_standalone_sdk/08_mcp_with_oauth.py](https://github.com/OpenHands/agent-sdk/blob/main/examples/01_standalone_sdk/08_mcp_with_oauth.py) For MCP servers requiring OAuth authentication: diff --git a/sdk/index.mdx b/sdk/index.mdx index dfae86f3..3eeef3d0 100644 --- a/sdk/index.mdx +++ b/sdk/index.mdx @@ -78,7 +78,7 @@ Other SDKs (e.g. [Claude Code](https://github.com/anthropics/claude-agent-sdk-py Explore the complete SDK API and source code. @@ -118,7 +118,7 @@ Other SDKs (e.g. [Claude Code](https://github.com/anthropics/claude-agent-sdk-py Contribute to the SDK or report issues on GitHub. From ae37fe87047a4e0e20a66b590f6585e4f4b4da52 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 21 Oct 2025 15:26:33 +0000 Subject: [PATCH 02/11] docs: sync code blocks from agent-sdk examples Synced from agent-sdk ref: main --- agent-sdk | 2 +- sdk/guides/mcp.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agent-sdk b/agent-sdk index 74cc24f5..8d8134ca 160000 --- a/agent-sdk +++ b/agent-sdk @@ -1 +1 @@ -Subproject commit 74cc24f5ad15f9dff21dfaf77840f588718c7b10 +Subproject commit 8d8134ca5a87cc3e90e3ff968327a7f4c961e22e diff --git a/sdk/guides/mcp.mdx b/sdk/guides/mcp.mdx index 5084c716..0c62b09c 100644 --- a/sdk/guides/mcp.mdx +++ b/sdk/guides/mcp.mdx @@ -89,7 +89,7 @@ conversation = Conversation( logger.info("Starting conversation with MCP integration...") conversation.send_message( - "Read https://github.com/All-Hands-AI/OpenHands and write 3 facts " + "Read https://github.com/OpenHands/OpenHands and write 3 facts " "about the project into FACTS.txt." ) conversation.run() From 69652a5c6ca9f496dec26d063b1aa7fef769b87e Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Tue, 21 Oct 2025 18:34:01 +0200 Subject: [PATCH 03/11] Update openhands/usage/cloud/gitlab-installation.mdx --- openhands/usage/cloud/gitlab-installation.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openhands/usage/cloud/gitlab-installation.mdx b/openhands/usage/cloud/gitlab-installation.mdx index 066f0745..c9bfd669 100644 --- a/openhands/usage/cloud/gitlab-installation.mdx +++ b/openhands/usage/cloud/gitlab-installation.mdx @@ -33,7 +33,7 @@ This feature works for personal projects and is available for group projects wit [Premium or Ultimate tier subscription](https://docs.gitlab.com/user/project/integrations/webhooks/#group-webhooks). A webhook is automatically installed within a few minutes after the owner/maintainer of the project or group logs into -OpenHands Cloud. If you decide to delete the webhook, then re-installing will require the support of OpenHands but +OpenHands Cloud. If you decide to delete the webhook, then re-installing will require the support of All Hands AI, but we are planning to improve this in a future release. From 1686961880ab96381400efeff00f6661b5234d45 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 21 Oct 2025 16:34:19 +0000 Subject: [PATCH 04/11] docs: sync code blocks from agent-sdk examples Synced from agent-sdk ref: main --- agent-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent-sdk b/agent-sdk index 8d8134ca..1a76d349 160000 --- a/agent-sdk +++ b/agent-sdk @@ -1 +1 @@ -Subproject commit 8d8134ca5a87cc3e90e3ff968327a7f4c961e22e +Subproject commit 1a76d349062235c80955e76258ab6f073dc24f15 From e31f02ed4908451b9cd8c70363e754b08eb49b49 Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Tue, 21 Oct 2025 18:34:30 +0200 Subject: [PATCH 05/11] Update openhands/usage/troubleshooting/feedback.mdx --- openhands/usage/troubleshooting/feedback.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openhands/usage/troubleshooting/feedback.mdx b/openhands/usage/troubleshooting/feedback.mdx index 79270ac2..2c4fe5e8 100644 --- a/openhands/usage/troubleshooting/feedback.mdx +++ b/openhands/usage/troubleshooting/feedback.mdx @@ -40,7 +40,7 @@ removing email submitter email addresses, and attempting to remove any sensitive ### What if I want my data deleted? -For data on the OpenHands servers, we are happy to delete it at request: +For data on the All Hands AI servers, we are happy to delete it at request: **One Piece of Data:** If you want one piece of data deleted, we will shortly be adding a mechanism to delete pieces of data using the link and password that is displayed on the interface when you submit data. From aadc20a06b1ddc799fa36dbd53459331ac5a7ba8 Mon Sep 17 00:00:00 2001 From: all-hands-bot Date: Tue, 21 Oct 2025 16:35:07 +0000 Subject: [PATCH 06/11] sync(openapi): agent-sdk/main 1a76d34 --- openapi/agent-sdk.json | 339 +++++++++++++++-------------------------- 1 file changed, 122 insertions(+), 217 deletions(-) diff --git a/openapi/agent-sdk.json b/openapi/agent-sdk.json index e499decb..62aa00b8 100644 --- a/openapi/agent-sdk.json +++ b/openapi/agent-sdk.json @@ -2015,7 +2015,7 @@ "description": "Optional AgentContext to initialize the agent with specific context.", "examples": [ { - "microagents": [ + "skills": [ { "content": "When you see this message, you should reply like you are a grumpy cat forced to use the internet.", "name": "repo.md", @@ -2100,32 +2100,13 @@ }, "AgentContext-Output": { "properties": { - "microagents": { + "skills": { "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/KnowledgeMicroagent" - }, - { - "$ref": "#/components/schemas/RepoMicroagent" - }, - { - "$ref": "#/components/schemas/TaskMicroagent" - } - ], - "title": "BaseMicroagent", - "discriminator": { - "propertyName": "kind", - "mapping": { - "openhands__sdk__context__microagents__microagent__KnowledgeMicroagent-Output__1": "#/components/schemas/KnowledgeMicroagent", - "openhands__sdk__context__microagents__microagent__RepoMicroagent-Output__1": "#/components/schemas/RepoMicroagent", - "openhands__sdk__context__microagents__microagent__TaskMicroagent-Output__1": "#/components/schemas/TaskMicroagent" - } - } + "$ref": "#/components/schemas/Skill" }, "type": "array", - "title": "Microagents", - "description": "List of available microagents that can extend the user's input." + "title": "Skills", + "description": "List of available skills that can extend the user's input." }, "system_message_suffix": { "anyOf": [ @@ -2154,7 +2135,7 @@ }, "type": "object", "title": "AgentContext", - "description": "Central structure for managing prompt extension.\n\nAgentContext unifies all the contextual inputs that shape how the system\nextends and interprets user prompts. It combines both static environment\ndetails and dynamic, user-activated extensions from microagents.\n\nSpecifically, it provides:\n- **Repository context / Repo Microagents**: Information about the active codebase,\n branches, and repo-specific instructions contributed by repo microagents.\n- **Runtime context**: Current execution environment (hosts, working\n directory, secrets, date, etc.).\n- **Conversation instructions**: Optional task- or channel-specific rules\n that constrain or guide the agent\u2019s behavior across the session.\n- **Knowledge Microagents**: Extensible components that can be triggered by user input\n to inject knowledge or domain-specific guidance.\n\nTogether, these elements make AgentContext the primary container responsible\nfor assembling, formatting, and injecting all prompt-relevant context into\nLLM interactions." + "description": "Central structure for managing prompt extension.\n\nAgentContext unifies all the contextual inputs that shape how the system\nextends and interprets user prompts. It combines both static environment\ndetails and dynamic, user-activated extensions from skills.\n\nSpecifically, it provides:\n- **Repository context / Repo Skills**: Information about the active codebase,\n branches, and repo-specific instructions contributed by repo skills.\n- **Runtime context**: Current execution environment (hosts, working\n directory, secrets, date, etc.).\n- **Conversation instructions**: Optional task- or channel-specific rules\n that constrain or guide the agent\u2019s behavior across the session.\n- **Knowledge Skills**: Extensible components that can be triggered by user input\n to inject knowledge or domain-specific guidance.\n\nTogether, these elements make AgentContext the primary container responsible\nfor assembling, formatting, and injecting all prompt-relevant context into\nLLM interactions." }, "AgentErrorEvent": { "properties": { @@ -3076,13 +3057,13 @@ "confirmation_policy": { "$ref": "#/components/schemas/ConfirmationPolicyBase" }, - "activated_knowledge_microagents": { + "activated_knowledge_skills": { "items": { "type": "string" }, "type": "array", - "title": "Activated Knowledge Microagents", - "description": "List of activated knowledge microagents name" + "title": "Activated Knowledge Skills", + "description": "List of activated knowledge skills name" }, "stats": { "$ref": "#/components/schemas/ConversationStats-Output", @@ -3829,62 +3810,30 @@ "description" ], "title": "InputMetadata", - "description": "Metadata for task microagent inputs." + "description": "Metadata for task skill inputs." }, - "KnowledgeMicroagent": { + "KeywordTrigger": { "properties": { - "kind": { - "type": "string", - "const": "KnowledgeMicroagent", - "title": "Kind", - "default": "KnowledgeMicroagent" - }, - "name": { - "type": "string", - "title": "Name" - }, - "content": { - "type": "string", - "title": "Content" - }, - "source": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source", - "description": "The source path or identifier of the microagent. When it is None, it is treated as a programmatically defined microagent." - }, "type": { "type": "string", - "enum": [ - "knowledge", - "repo", - "task" - ], + "const": "keyword", "title": "Type", - "default": "knowledge" + "default": "keyword" }, - "triggers": { + "keywords": { "items": { "type": "string" }, "type": "array", - "title": "Triggers", - "description": "List of triggers for the microagent" + "title": "Keywords" } }, "type": "object", "required": [ - "name", - "content" + "keywords" ], - "title": "KnowledgeMicroagent", - "description": "Knowledge micro-agents provide specialized expertise that's triggered by keywords\nin conversations.\n\nThey help with:\n- Language best practices\n- Framework guidelines\n- Common patterns\n- Tool usage" + "title": "KeywordTrigger", + "description": "Trigger for keyword-based skills.\n\nThese skills are activated when specific keywords appear in the user's query." }, "LLM": { "properties": { @@ -4622,13 +4571,13 @@ "$ref": "#/components/schemas/Message", "description": "The exact LLM message for this message event" }, - "activated_microagents": { + "activated_skills": { "items": { "type": "string" }, "type": "array", - "title": "Activated Microagents", - "description": "List of activated microagent name" + "title": "Activated Skills", + "description": "List of activated skill name" }, "extended_content": { "items": { @@ -5074,66 +5023,6 @@ "title": "RemoteWorkspace", "description": "Remote Workspace Implementation." }, - "RepoMicroagent": { - "properties": { - "kind": { - "type": "string", - "const": "RepoMicroagent", - "title": "Kind", - "default": "RepoMicroagent" - }, - "name": { - "type": "string", - "title": "Name" - }, - "content": { - "type": "string", - "title": "Content" - }, - "source": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source", - "description": "The source path or identifier of the microagent. When it is None, it is treated as a programmatically defined microagent." - }, - "type": { - "type": "string", - "enum": [ - "knowledge", - "repo", - "task" - ], - "title": "Type", - "default": "repo" - }, - "mcp_tools": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Tools", - "description": "MCP tools configuration for the microagent. It should conform to the MCPConfig schema: https://gofastmcp.com/clients/client#configuration-format" - } - }, - "type": "object", - "required": [ - "name", - "content" - ], - "title": "RepoMicroagent", - "description": "Microagent specialized for repository-specific knowledge and guidelines.\n\nRepoMicroagents are loaded from `.openhands/microagents/repo.md` files within\nrepositories and contain private, repository-specific instructions that are\nautomatically loaded when\nworking with that repository. They are ideal for:\n - Repository-specific guidelines\n - Team practices and conventions\n - Project-specific workflows\n - Custom documentation references" - }, "ResponseLatency": { "properties": { "model": { @@ -5293,6 +5182,84 @@ "title": "SetConfirmationPolicyRequest", "description": "Payload to set confirmation policy for a conversation." }, + "Skill": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "content": { + "type": "string", + "title": "Content" + }, + "trigger": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/KeywordTrigger" + }, + { + "$ref": "#/components/schemas/TaskTrigger" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "keyword": "#/components/schemas/KeywordTrigger", + "task": "#/components/schemas/TaskTrigger" + } + } + }, + { + "type": "null" + } + ], + "title": "Trigger" + }, + "source": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source", + "description": "The source path or identifier of the skill. When it is None, it is treated as a programmatically defined skill." + }, + "mcp_tools": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Tools", + "description": "MCP tools configuration for the skill (repo skills only). It should conform to the MCPConfig schema: https://gofastmcp.com/clients/client#configuration-format" + }, + "inputs": { + "items": { + "$ref": "#/components/schemas/InputMetadata" + }, + "type": "array", + "title": "Inputs", + "description": "Input metadata for the skill (task skills only)" + } + }, + "type": "object", + "required": [ + "name", + "content", + "trigger" + ], + "title": "Skill", + "description": "A skill provides specialized knowledge or functionality.\n\nSkills use triggers to determine when they should be activated:\n- None: Always active, for repository-specific guidelines\n- KeywordTrigger: Activated when keywords appear in user messages\n- TaskTrigger: Activated for specific tasks, may require user input" + }, "StartConversationRequest": { "properties": { "agent": { @@ -5522,69 +5489,6 @@ ], "title": "TaskItem" }, - "TaskMicroagent": { - "properties": { - "kind": { - "type": "string", - "const": "TaskMicroagent", - "title": "Kind", - "default": "TaskMicroagent" - }, - "name": { - "type": "string", - "title": "Name" - }, - "content": { - "type": "string", - "title": "Content" - }, - "source": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source", - "description": "The source path or identifier of the microagent. When it is None, it is treated as a programmatically defined microagent." - }, - "type": { - "type": "string", - "enum": [ - "knowledge", - "repo", - "task" - ], - "title": "Type", - "default": "task" - }, - "triggers": { - "items": { - "type": "string" - }, - "type": "array", - "title": "Triggers", - "description": "List of triggers for the microagent" - }, - "inputs": { - "items": { - "$ref": "#/components/schemas/InputMetadata" - }, - "type": "array", - "title": "Inputs", - "description": "Input metadata for the microagent. Only exists for task microagents" - } - }, - "type": "object", - "required": [ - "name", - "content" - ], - "title": "TaskMicroagent", - "description": "TaskMicroagent is a special type of KnowledgeMicroagent that requires user input.\n\nThese microagents are triggered by a special format: \"/{agent_name}\"\nand will prompt the user for any required inputs before proceeding." - }, "TaskTrackerAction": { "properties": { "kind": { @@ -5651,6 +5555,29 @@ "title": "TaskTrackerObservation", "description": "This data class represents the result of a task tracking operation." }, + "TaskTrigger": { + "properties": { + "type": { + "type": "string", + "const": "task", + "title": "Type", + "default": "task" + }, + "triggers": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Triggers" + } + }, + "type": "object", + "required": [ + "triggers" + ], + "title": "TaskTrigger", + "description": "Trigger for task-specific skills.\n\nThese skills are activated for specific task types and can modify prompts." + }, "TextContent": { "properties": { "cache_prompt": { @@ -6173,28 +6100,6 @@ }, "title": "CondenserBase" }, - "BaseMicroagent": { - "oneOf": [ - { - "$ref": "#/components/schemas/KnowledgeMicroagent" - }, - { - "$ref": "#/components/schemas/RepoMicroagent" - }, - { - "$ref": "#/components/schemas/TaskMicroagent" - } - ], - "discriminator": { - "propertyName": "kind", - "mapping": { - "openhands__sdk__context__microagents__microagent__KnowledgeMicroagent-Input__1": "#/components/schemas/KnowledgeMicroagent", - "openhands__sdk__context__microagents__microagent__RepoMicroagent-Input__1": "#/components/schemas/RepoMicroagent", - "openhands__sdk__context__microagents__microagent__TaskMicroagent-Input__1": "#/components/schemas/TaskMicroagent" - } - }, - "title": "BaseMicroagent" - }, "BaseWorkspace": { "oneOf": [ { From 1b90602b74f7a7d7477a4176a7a49e33eeabb6b0 Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Tue, 21 Oct 2025 18:35:20 +0200 Subject: [PATCH 07/11] Update openhands/usage/troubleshooting/feedback.mdx --- openhands/usage/troubleshooting/feedback.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openhands/usage/troubleshooting/feedback.mdx b/openhands/usage/troubleshooting/feedback.mdx index 2c4fe5e8..b02c9858 100644 --- a/openhands/usage/troubleshooting/feedback.mdx +++ b/openhands/usage/troubleshooting/feedback.mdx @@ -26,7 +26,7 @@ However, a link with a unique ID will still be created that you can share public ### Who collects and stores the data? -The data is collected and stored by [OpenHands](https://openhands.dev), a company founded by OpenHands maintainers to support and improve OpenHands. +The data is collected and stored by [All Hands AI](https://openhands.dev), a company founded by OpenHands maintainers to support and improve OpenHands. ### How will public data be released? From 97ad6fd201cc05f68941abd1d4a7261c27cda323 Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Tue, 21 Oct 2025 20:13:45 +0200 Subject: [PATCH 08/11] Update openhands/usage/troubleshooting/troubleshooting.mdx --- openhands/usage/troubleshooting/troubleshooting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openhands/usage/troubleshooting/troubleshooting.mdx b/openhands/usage/troubleshooting/troubleshooting.mdx index afa576f3..def66408 100644 --- a/openhands/usage/troubleshooting/troubleshooting.mdx +++ b/openhands/usage/troubleshooting/troubleshooting.mdx @@ -109,7 +109,7 @@ To fix this: **Description** -After the GitHub organization rename from `OpenHands` to `OpenHands`, you may encounter issues with git remotes, Docker images, or broken links. +After the GitHub organization rename from `All Hands AI` to `OpenHands`, you may encounter issues with git remotes, Docker images, or broken links. **Resolution** From fbfb5b6c8f539629c7be27a9ce1f9aa89c81c7fa Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Wed, 22 Oct 2025 14:34:48 +0200 Subject: [PATCH 09/11] revert file --- openhands/usage/troubleshooting/troubleshooting.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openhands/usage/troubleshooting/troubleshooting.mdx b/openhands/usage/troubleshooting/troubleshooting.mdx index def66408..262e3590 100644 --- a/openhands/usage/troubleshooting/troubleshooting.mdx +++ b/openhands/usage/troubleshooting/troubleshooting.mdx @@ -109,7 +109,7 @@ To fix this: **Description** -After the GitHub organization rename from `All Hands AI` to `OpenHands`, you may encounter issues with git remotes, Docker images, or broken links. +After the GitHub organization rename from `All-Hands-AI` to `OpenHands`, you may encounter issues with git remotes, Docker images, or broken links. **Resolution** @@ -119,10 +119,10 @@ After the GitHub organization rename from `All Hands AI` to `OpenHands`, you may git remote get-url origin # Update SSH remote - git remote set-url origin git@github.com:All-Hands-AI/OpenHands.git + git remote set-url origin git@github.com:OpenHands/OpenHands.git # Or update HTTPS remote - git remote set-url origin https://github.com/All-Hands-AI/OpenHands.git + git remote set-url origin https://github.com/OpenHands/OpenHands.git ``` * Update Docker image references from `ghcr.io/all-hands-ai/` to `ghcr.io/openhands/` * Find and update any hardcoded references: From c1c02b082503ce4f91b4dae609a14f10f717e65a Mon Sep 17 00:00:00 2001 From: all-hands-bot Date: Wed, 22 Oct 2025 12:35:31 +0000 Subject: [PATCH 10/11] sync(openapi): agent-sdk/main cab92fc --- openapi/agent-sdk.json | 48 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/openapi/agent-sdk.json b/openapi/agent-sdk.json index 62aa00b8..cbb419e4 100644 --- a/openapi/agent-sdk.json +++ b/openapi/agent-sdk.json @@ -1489,14 +1489,14 @@ } } }, - "/api/bash/execute_bash_command": { + "/api/bash/start_bash_command": { "post": { "tags": [ "Bash" ], "summary": "Start Bash Command", - "description": "Execute a bash command", - "operationId": "start_bash_command_api_bash_execute_bash_command_post", + "description": "Execute a bash command in the background", + "operationId": "start_bash_command_api_bash_start_bash_command_post", "requestBody": { "content": { "application/json": { @@ -1531,6 +1531,48 @@ } } }, + "/api/bash/execute_bash_command": { + "post": { + "tags": [ + "Bash" + ], + "summary": "Execute Bash Command", + "description": "Execute a bash command and wait for a result", + "operationId": "execute_bash_command_api_bash_execute_bash_command_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExecuteBashRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BashOutput" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, "/api/bash/bash_events": { "delete": { "tags": [ From 37456717a31beb045d3945ce47464724ba773d5f Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Wed, 22 Oct 2025 14:37:36 +0200 Subject: [PATCH 11/11] Update openhands/usage/cloud/gitlab-installation.mdx --- openhands/usage/cloud/gitlab-installation.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openhands/usage/cloud/gitlab-installation.mdx b/openhands/usage/cloud/gitlab-installation.mdx index c9bfd669..11f55079 100644 --- a/openhands/usage/cloud/gitlab-installation.mdx +++ b/openhands/usage/cloud/gitlab-installation.mdx @@ -33,7 +33,7 @@ This feature works for personal projects and is available for group projects wit [Premium or Ultimate tier subscription](https://docs.gitlab.com/user/project/integrations/webhooks/#group-webhooks). A webhook is automatically installed within a few minutes after the owner/maintainer of the project or group logs into -OpenHands Cloud. If you decide to delete the webhook, then re-installing will require the support of All Hands AI, but +OpenHands Cloud. If you decide to delete the webhook, then re-installing will require our support, but we are planning to improve this in a future release.