Go to file
2025-08-10 12:38:15 +08:00
.github/workflows chore: move CLI to client dir and fix build paths 2025-08-09 18:56:12 +08:00
client feat: add allama support 2025-08-10 12:38:15 +08:00
cmd refactor: migrate server and cli to cobra 2025-08-10 11:00:26 +08:00
deploy Add Askai limiter Proxy-Wasm module 2025-08-03 20:21:37 +08:00
docs Merge pull request #131 from svc-design/codex/add-embedding-configuration-fields 2025-08-10 10:41:44 +08:00
example docs: update embedding dimension to 1024 2025-08-10 10:27:30 +08:00
internal/rag feat: add allama support 2025-08-10 12:38:15 +08:00
server feat: add allama support 2025-08-10 12:38:15 +08:00
ui feat(ui): fall back to askai when rag empty 2025-08-09 20:59:47 +08:00
wasm/askai_limiter feat: add flexible askai rate limiter 2025-08-04 00:00:49 +08:00
workflows chore: update proxy host variable 2025-07-23 17:11:10 +08:00
.gitignore chore: add .gitignore and init.sql, update Makefile and docs 2025-08-07 19:32:03 +08:00
go.mod refactor: migrate server and cli to cobra 2025-08-10 11:00:26 +08:00
go.sum refactor: migrate server and cli to cobra 2025-08-10 11:00:26 +08:00
install-openresty.sh Refactor install-openresty target 2025-08-09 10:38:44 +08:00
LICENSE Initial commit 2025-05-30 10:49:17 +08:00
Makefile refactor: derive Chutes endpoint from provider config 2025-08-09 19:38:55 +08:00
README.md docs: document logging configuration 2025-08-10 09:30:37 +08:00

XControl

XControl is a modular multi-tenant management platform written in Go. The project integrates several optional components to provide a visual control plane for traffic statistics, configuration export and multi-node management.

This repository contains the API server, agent code and a Next.js-based UI.

Components

  • ui-homepage
  • ui-panel
  • xcontrol-cli
  • xcontrol-server

All UI components provide both Chinese and English interfaces.

Tech Stack

Category Technology Version
Framework Go 1.24
Framework Next.js 14.1.0
Gateway OpenResty 1.27.1.2
Database PostgreSQL + pgvector N/A
Cache Redis N/A
Model Large Language Models via CodePRobot N/A

Supported Platforms

Tested on Ubuntu 22.04 x64 and macOS 26 arm64.

Installation

make install
make init-db   # initialize database (optional)

Features

  • XCloudFlow Multi-cloud IaC engine built with Pulumi SDK and Go. GitHub →
  • KubeGuard Kubernetes cluster application and node-level backup system. GitHub →
  • XConfig Lightweight task execution & configuration orchestration engine. GitHub →
  • CodePRobot AI-driven GitHub Issue to Pull Request generator and code patching tool. GitHub →
  • OpsAgent AIOps-powered intelligent monitoring, anomaly detection and RCA. GitHub →
  • XStream Cross-border developer proxy accelerator for global accessibility. GitHub →

The docs directory contains a more detailed overview and design documents for each module.

Building

make build

This produces a binary under bin/xcontrol. Run make agent to build the node agent.

Testing

make test

Deployment

make start

This launches the server, homepage and panel. Use make stop to stop all components.

The API server also accepts a custom configuration file:

xcontrol-server --config path/to/server.yaml

Logging

Both xcontrol-cli and xcontrol-server accept a --log-level flag to control verbosity. The level may be one of debug, info, warn, or error:

xcontrol-cli --log-level debug
xcontrol-server --log-level warn

The server's log level can also be set in the configuration file:

log:
  level: info

The flag value takes precedence over the configuration file.

License

This project is licensed under the terms of the MIT License.