Content
<a name="readme-top"></a>
<h1 align="center">
<img width="406" height="96" alt="image" src="https://github.com/user-attachments/assets/e0956234-1a97-42c6-852d-411fa02c3f01" />
<br>
HiMarket AI Open Platform
</h1>
[](https://deepwiki.com/higress-group/himarket)
## What is HiMarket?
HiMarket is a ready-to-use AI open platform solution designed for building enterprise-level AI capability marketplaces and developer ecosystems.
It consists of three core components that perfectly match the needs of different roles within an enterprise:
1. AI Open Platform Management Backend (for Administrators/Operations): Here, diverse AI capabilities such as underlying model services, MCP Server, Agent, etc., can be easily packaged into standardized "AI Products" in the form of APIs, complete with comprehensive documentation and examples, and ultimately published to the portal with a single click.
2. AI Open Platform Portal (for Developers/Internal Users): The portal serves as a "store" for internal and external developers. Developers can register, create consumers, obtain credentials, browse and subscribe to AI Products, conduct online testing, and clearly monitor their usage status and costs.
3. AI Gateway: As a subproject of the Higress community, the Higress AI Gateway supports all AI call authentication, security, flow control, protocol conversion, and observability capabilities.
## Quick Start
### Prerequisites
1. **Install Git**
https://git-scm.com/downloads
2. **Install JDK 8 or higher**
3. **Install Node.js (recommended v20 and above)**
https://nodejs.org/
4. **Install Maven**
https://maven.apache.org/download.cgi
5. **Prepare Database**
The backend service relies on an external database. You need to start a local database (such as MySQL/MariaDB) and configure the database connection parameters in the application.yaml file located in portal-bootstrap.
### Clone the Project Code
```bash
git clone https://github.com/higress-group/himarket.git
cd himarket
```
### Start the Backend portal-bootstrap
The backend service relies on an external database. Please refer to `portal-bootstrap/src/main/resources/application.yaml` to configure the database-related parameters. You can also override these configurations via command line arguments at startup.
#### Startup Method
First, package it:
```bash
mvn clean package
```
Then start it:
```bash
java -Ddb.host=xxxx.mysql.rds.aliyuncs.com \
-Ddb.port=3306 \
-Ddb.name=xxx \
-Ddb.username=xxx \
-Ddb.password=xxx \
-jar portal-bootstrap/target/portal-bootstrap-1.0-SNAPSHOT.jar
```
### Start the Frontend Project
#### 1. portal-web/api-portal-admin
```bash
cd portal-web/api-portal-admin
npm install
npm run dev
```
The local access address can be referenced from the console output, generally http://localhost:5174.
#### 2. portal-web/api-portal-frontend
```bash
cd portal-web/api-portal-frontend
npm install
npm run dev
```
The local access address is the same as above, generally http://${portal_frontend_domain}:5173.
During local development, the portal_frontend_domain needs to be configured for domain resolution (modify the /etc/hosts file locally). In HiMarket's design, the portal domain name is the basis for resolving to the corresponding portal ID.
### HiMarket Backend Management
#### Register Administrator
Visit `http://localhost:5174` and register an administrator account on your first visit.

#### Import Higress Instance
Select 【Instance Management】 - 【Gateway Instance】 - 【Import Gateway Instance】 - 【Higress Gateway】 to import the Higress gateway instance. For example, use http://demo.higress.io, with both username and password as admin.

#### Create Portal
Select 【Portal】 - 【Create Portal】 to create a portal named himarket-demo.

Click on the portal card to enter the portal configuration. Keep other configurations as default options. In 【Setting】 - 【Domain Management】 - 【Bind Domain Name】, bind a localhost domain name for development testing. Other menus can be ignored for now; here’s a brief introduction to their functions:
- Published API Products: Manage the API Products published in the portal.
- Developers: Manage the Developers of the portal and the Consumers associated with them.
- Settings:
- Configure the basic information of the portal.
- Control whether the registration approval for Developers in the portal is automatic and whether API Product subscriptions are automatically approved.
- Third-party login supported by the portal. Supports standard OIDC configurations such as Aliyun, Google, Github, etc.
#### Create API Product
Select 【API Products】 - 【Create API Product】 to create an API Product named demo-api.

The initial status of the API Product is "Pending Configuration," requiring operations such as linking APIs and publishing to the portal.
#### Associate API

Associate an MCP service of a gateway, with the data source coming from the Higress MCP service management. The API Config will also automatically synchronize the configuration in Higress.
#### Usage Guide

You can edit custom documentation information in the usage guide.
#### Publish to Portal
Once the API Product is ready, you can choose to publish it to the specified portal.

At this point, a Higress MCP Server has been successfully published to the portal.
### HiMarket Portal
The HiMarket portal is designed for multi-tenancy, identifying different portal instances through domain names.
The portal will have a default assigned domain name, but domain resolution needs to be completed by the user. For example, if the automatically assigned domain name is portal-68ac4564bdb292ee9261ff4a.api.portal.local, it needs to be resolved to the corresponding IP of api-portal-frontend.
Since we have already configured a localhost domain for the test portal, you can also directly access the frontend via localhost:5173.
#### Register Developer

Since the automatic approval was not enabled in the portal settings, after registering an account, you will need to wait for the administrator to approve the developer. Once approved, you can log in to the frontend with the registered account.

Accessing the MCP portal will show the recently published MCP Server.


#### Create Consumer
In the design of the AI open platform, the consumer Developer represents a general user identity, and users need to hold the corresponding credentials to apply for subscriptions to API Products. This concept of credentials is referred to as Consumer in the AI open platform, where Developer and Consumer have a one-to-many relationship.

After creating a consumer, you can apply for a subscription to the API Product.

In the default configuration of the portal, subscription approval is turned off by default, meaning that the developer's application will be automatically approved.
#### Initiate Call
With the consumer's credentials, configure the connection address of the MCP Server in the portal to initiate a call to the MCP Server.
### Alibaba Cloud Out-of-the-Box
Alibaba Cloud ComputeNest supports an out-of-the-box version of this project. You can use the link below to deploy the community version with one click:
[](https://computenest.console.aliyun.com/service/instance/create/cn-hangzhou?type=user&ServiceName=HiMarket%20AI%20%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0)
## Community
### Communication Group

### Technical Sharing
WeChat Official Account:

### Related Repositories
- Higress: https://github.com/alibaba/higress
- Higress Console: https://github.com/higress-group/higress-console
### Contributors
<a href="https://github.com/higress-group/himarket/graphs/contributors">
<img alt="contributors" src="https://contrib.rocks/image?repo=higress-group/himarket"/>
</a>
### Star History
[](https://star-history.com/#higress-group/himarket&Date)
<p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
<a href="#readme-top" style="text-decoration: none; color: #007bff; font-weight: bold;">
↑ Back to Top ↑
</a>
</p>
Connection Info
You Might Also Like
semantic-kernel
Build and orchestrate AI agents with the enterprise-ready Semantic Kernel.

apisix
Apache APISIX is an API Gateway that provides dynamic routing and management...
opik
Opik is a versatile tool for managing and optimizing machine learning experiments.
voice-mcp
Voice Mode for Claude Code
mcpstore
McpStore is an SDK for easy management of MCP services, compatible with...
joinly
Joinly is an AI project for collaborative tools and resources.