accounts/README.md
2025-08-13 13:04:53 +08:00

115 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 |
| Cache | Redis | 8.2.0 |
| Database | PostgreSQL + pgvector | 14.18 |
| Model (Local) | HuggingFace Hub + Ollama | baai/bge-m3, llama2:13b |
| Model (Online) | Chutes.AI | baai/bge-m3, moonshotai/Kimi-K2-Instruct |
## LangChainGo 核心功能集成一览
XControl 通过 LangChainGo 统一接入多种大模型,并为 AskAI、CLI 与 Server 提供链式调用能力:
- **LLM 接口层(Model I/O)**:统一调用 Hugging Face、Ollama、OpenAI 兼容模型接口。
- **Chains(链式流程)**:将 prompt、检索结果、工具调用等组合成完整流程,支持 RAG、聊天、代码生成等场景。
- **工具与 Agent 体系**:定义 Web 搜索、实现 ReAct 风格的工具调用。
- **向量检索与数据接入**:适配 PGVector 向量存储。
- **文档加载与分块**:提供 Document Loaders 与 Text Splitters,用于处理长文本与构建向量检索块。
- **Memory 与历史追踪**:支持 Conversation Buffer 等对话记忆机制,增强交互体验。
## Supported Platforms
Tested on **Ubuntu 22.04 x64** and **macOS 26 arm64**.
## Installation
```bash
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](./docs) directory contains a more detailed [overview](./docs/overview.md) 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
```bash
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:
```bash
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`:
```bash
xcontrol-cli --log-level debug
xcontrol-server --log-level warn
```
The server's log level can also be set in the configuration file:
```yaml
log:
level: info
```
The flag value takes precedence over the configuration file.
## Changelog
See [docs/changelog.md](./docs/changelog.md) for a list of completed changes, including all work from Milestone 1.
## Roadmap
The roadmap below is also available in [docs/Roadmap.md](./docs/Roadmap.md).
## License
This project is licensed under the terms of the [MIT License](./LICENSE).