-
Notifications
You must be signed in to change notification settings - Fork 73
Description
Are you requesting a new GitHub Repository within opensearch-project GitHub Organization?
https://github.com/mingshl/opensearch-agent-server
GitHub Repository Proposal
opensearch-project/OpenSearch#20602
GitHub Repository Additional Information
- What is the new GitHub repository name?
opensearch-agent-server
- Project description and community value?
OpenSearch Agent Server is a multi-agent orchestration server for OpenSearch Dashboards. It provides a conversational AI interface that routes user requests to specialized sub-agents based on the current Dashboard page context. The server implements the AG-UI protocol for standardized agent communication and uses Model Context Protocol (MCP) for secure, credential-aware access to OpenSearch.
The initial implementation is in Python using Strands SDK, but the project is designed to be language-agnostic and framework-agnostic — we plan to support additional languages and agent frameworks (e.g., LangGraph, CrewAI) as the project matures.
Community value:
- Lowers the barrier for developers to build OpenSearch agents (starting with Python, expanding to other languages)
- Provides a pluggable agent architecture — contributors can add new specialized sub-agents without modifying core code
- Enables domain teams (e.g., the ART team for Search Relevance) to independently develop and contribute specialized agents
- Production-ready infrastructure: authentication (header/JWT/API key), rate limiting, structured logging, error recovery
- What user problem are you trying to solve with this new repository?
OpenSearch Dashboards users need intelligent, context-aware assistance that understands which page they're on and provides relevant help. Currently:
- Building agents requires Java expertise and OpenSearch core knowledge
- There is no standardized way to add page-specific AI assistants to Dashboards
- The rich AI agent ecosystem (Strands, LangGraph, CrewAI, etc.) across multiple languages is inaccessible from the Java-based agent framework
This server solves these by providing a standalone service that:
- Routes requests to the right sub-agent based on page context (e.g., Search Relevance page → ART agent, Discover page → general assistant)
- Streams responses via AG-UI protocol (SSE) for real-time chat in Dashboards
- Enables developers to contribute new specialized agents with minimal boilerplate
- Starts with Python/Strands but is open to additional languages and frameworks over time
- Why do we create a new repo at this time?
The AG-UI protocol support in OpenSearch Dashboards is ready, the OpenSearch MCP Server is published, and the Strands SDK has reached production maturity. The foundation pieces are in place to support a standalone agent server. Creating the repo now enables the community to contribute specialized agents (starting with the ART agent for Search Relevance) as these integration points stabilize.
- Is there any existing projects that is similar to your proposal?
- opensearch-ai-agents (#418): A multi-framework agent service with broader scope.
opensearch-agent-serveris a focused implementation that prioritizes page-context routing and multi-agent orchestration as first-class features, starting with Strands and expanding to additional frameworks over time. It serves as a lightweight, production-ready agent server with a clear path to multi-language and multi-framework support. - ml-commons: Provides Java-based agent framework within OpenSearch clusters.
opensearch-agent-serverruns as an external service, avoiding resource contention with the cluster.
- Should this project be in OpenSearch Core/OpenSearch Dashboards Core? If no, why not?
No. This is a standalone service with its own lifecycle, deployment, and scaling requirements. It communicates with Dashboards via the AG-UI protocol over HTTP/SSE and should not be coupled to OpenSearch or Dashboards release cycles. Running externally also avoids competing for cluster resources and allows the project to evolve across languages and frameworks independently.
- Is this project an OpenSearch/OpenSearch Dashboards plugin to be included as part of the OpenSearch release?
No. It is an independent service, initially distributed via PyPI, with potential for additional distribution channels as multi-language support is added.
GitHub Repository Owners
- Who will be supporting this repo going forward?
- @mingshl — full-time contributor to the OpenSearch project, active maintainer of opensearch-mcp-server-py
- @jiapingzeng — will help develop the AG-UI agent integration
- @wrigleyDan - The ART (Agentic Relevance Tuning) team, including @epugh, will contribute specialized sub-agents (e.g., the ART agent for Search Relevance)
- What is your plan (including staffing) to be responsive to the community?
- Issues triaged within 2 weeks, security issues within 24 hours
- PRs reviewed within 1 week
- Active monitoring of OpenSearch forum and GitHub discussions
- Collaboration with the ART team for specialized agent development and testing
- Plan to recruit additional maintainers from contributors as the project grows
- Initial Maintainers List (max 3 users, provide GitHub aliases):
GitHub Repository Source Code / License / Libraries
- Please provide the URL to the source code.
https://github.com/mingshl/opensearch-agent-server
- What is the license for the source code?
Apache License 2.0 (will be added before transfer)
- Does the source code include any third-party code that is not compliant with the Apache License 2.0?
No. All dependencies are Apache 2.0 compatible: strands-agents (Apache 2.0), FastAPI (MIT), opensearch-py (Apache 2.0), ag-ui-protocol (Apache 2.0), opensearch-mcp-server-py (Apache 2.0), Pydantic (MIT), uvicorn (BSD), PyJWT (MIT), SQLAlchemy (MIT).
What is the publication target(s)?
You can choose multiple targets from the list.
- PyPI — for the Python implementation
- DockerHub Production — probably the most universal distribution for a standalone service, language-agnostic
Notes (DO NOT CHANGE)
Next Steps:
-
If this is about creating a new GitHub Repository
- Build Interest Group (BIG) and its members will review your proposal and provide feedback
- Review of Proposal, asking questions, adding comments
- If there is any concern regarding the naming / IP, additional IP review will be requested
- Involve Subject Matter Experts from other repositories on the proposed topics
- Ensure new repositories align with the foundation's charter
- Review the provided source code if any
- Send final feedback and recommendations to the Technical Steering Committee
- Technical Steering Committee (TSC) will have a vote based on BIG feedback, and reply back the vote as a comment in this issue by a TSC member
- At least three positive (+1) TSC members' votes are necessary, and no vetoes (-1) after a one week period, then Admin Team will open a repo creation ticket with Linux Foundation
- Linux Foundation verify the votes and create repo
- Admin Team setup automations on repo settings, secrets, scanning, add initial maintainers, and more
- Repository delivered to the original requester
- Build Interest Group (BIG) and its members will review your proposal and provide feedback
-
If you already have a GitHub repo and just want to add new publication target(s)
- Admin Team will review your request and follow up
Track the progress of your request here: Engineering Effectiveness Board (view).
Member of @opensearch-project/admin will take a look at the request soon.
Thanks!
Metadata
Metadata
Assignees
Labels
Type
Projects
Status