diff --git a/repository-conventions.md b/repository-conventions.md index 2e66a96..f7df6cb 100644 --- a/repository-conventions.md +++ b/repository-conventions.md @@ -70,6 +70,22 @@ When referencing code repositories, implementation guides, or related projects, > Follow this repository ([github/username/repo-name](https://github.com/username/repo-name)) for implementation details. ``` +## Tutorials + +### Replica Note Block + +When a tutorial document is based on or mirrors a GitHub repository README, include the following note block immediately after the metadata header (title, author, published date, and intro paragraph): + +```markdown +> **Note:** This documentation is a replica of the README available at the [github/username/repo-name](https://github.com/username/repo-name). Please refer to the original repository for the most up-to-date information. +``` + +**Example:** + +```markdown +> **Note:** This documentation is a replica of the README available at the [github/ngkore/OAI-RAN](https://github.com/ngkore/OAI-RAN). Please refer to the original repository for the most up-to-date information. +``` + ## Formatting and Style ### General Guidelines diff --git a/tutorials/index.md b/tutorials/index.md index 1be1af3..dba8361 100644 --- a/tutorials/index.md +++ b/tutorials/index.md @@ -16,6 +16,6 @@ osc-oam :maxdepth: 2 iosmcn/index -srsran/index +ocudu-srsran/index pqc/index ``` diff --git a/tutorials/srsran/index.md b/tutorials/ocudu-srsran/index.md similarity index 62% rename from tutorials/srsran/index.md rename to tutorials/ocudu-srsran/index.md index dbc5e17..593085d 100644 --- a/tutorials/srsran/index.md +++ b/tutorials/ocudu-srsran/index.md @@ -1,8 +1,9 @@ -# srsRAN +# OCUDU / srsRAN ```{toctree} :maxdepth: 1 srsran-f1ap-split srsran-open5gs +ocudu-ai-agent-skills ``` diff --git a/tutorials/ocudu-srsran/ocudu-ai-agent-skills.md b/tutorials/ocudu-srsran/ocudu-ai-agent-skills.md new file mode 100644 index 0000000..90a2e3a --- /dev/null +++ b/tutorials/ocudu-srsran/ocudu-ai-agent-skills.md @@ -0,0 +1,103 @@ +# OCUDU AI Agent Skills + +**Author:** [Shankar Malik](https://www.linkedin.com/in/evershalik/) + +**Published:** June 23, 2026 + +Agent skills for monitoring and operating an [Ocudu](https://gitlab.com/ocudu/ocudu) 5G RAN stack using AI coding agents such as Claude, Cursor, and Windsurf. Built on the open [Agent Skills](https://agentskills.io/) standard. + +> **Note:** This documentation is a replica of the README available at the [github/ngkore/OCUDU-AI-Agent-Skills](https://github.com/ngkore/OCUDU-AI-Agent-Skills). Please refer to the original repository for the most up-to-date information. + +## Repository Structure + +```text +.agents/ +└── skills/ + └── ocudu/ + ├── SKILL.md # Skill instructions read by the agent + ├── scripts/ + │ └── ws_metrics.py # WebSocket metrics collector + └── references/ + ├── metrics_schema.md # JSON metrics field reference + └── config_params.md # gNB YAML config reference +``` + +## Setup + +### 1. Install the Skill + +Clone the repository into your project or copy the `.agents/` directory: + +```bash +git clone https://github.com/ngkore/OCUDU-AI-Agent-Skills.git +``` + +### 2. Install Dependencies + +```bash +pip install websocket-client +``` + +### 3. Configure the gNB + +Enable `remote_control` and `metrics.enable_json` in the gNB YAML configuration: + +```yaml +metrics: + enable_json: true + layers: + enable_sched: true + enable_mac: true + enable_rlc: true + enable_ngap: true + enable_rrc: true + enable_executor: true + enable_app_usage: true + enable_du_low: true + enable_ru: true + +remote_control: + enabled: true + bind_addr: 127.0.0.1 + port: 8001 +``` + +Use `bind_addr: 0.0.0.0` if connecting from a remote machine. + +## Usage + +Once the skill is in place, ask your AI agent natural language questions about the running gNB: + +``` +> How many UEs are connected and what's their signal quality? +> Are there any scheduling issues or HARQ failures? +> What's the CPU and memory usage of the gNB? +> Collect metrics during a ping test and summarize the results. +> Is the AMF connected? How many PDU sessions are active? +> What MCS and modulation scheme is the UE using? +> Check if the gNB is running. +> Run a ping test from the UE to the core network. +``` + +## How It Works + +The agent connects to the Ocudu gNB WebSocket interface (default `127.0.0.1:8001`), subscribes to JSON metrics, and interprets the data to answer questions. Ocudu streams metrics over WebSocket — no REST API is involved. + +## Requirements + +- Ocudu gNB with remote control enabled +- Python 3.8+ +- `websocket-client` package + +## Testing the Metrics Collector + +Run the metrics collector manually to verify connectivity: + +```bash +pip install websocket-client +python3 .agents/skills/ocudu/scripts/ws_metrics.py --url 127.0.0.1:8001 --count 5 --pretty +``` + +## Tutorial Video + +[OCUDU AI Agent Skills Tutorial](https://youtu.be/KVzOKfnAbRA?si=z45xA8I6crJLaAUh) diff --git a/tutorials/srsran/srsran-f1ap-split.md b/tutorials/ocudu-srsran/srsran-f1ap-split.md similarity index 100% rename from tutorials/srsran/srsran-f1ap-split.md rename to tutorials/ocudu-srsran/srsran-f1ap-split.md diff --git a/tutorials/srsran/srsran-open5gs.md b/tutorials/ocudu-srsran/srsran-open5gs.md similarity index 96% rename from tutorials/srsran/srsran-open5gs.md rename to tutorials/ocudu-srsran/srsran-open5gs.md index fe244ee..6333605 100644 --- a/tutorials/srsran/srsran-open5gs.md +++ b/tutorials/ocudu-srsran/srsran-open5gs.md @@ -13,7 +13,7 @@ This repository documents a complete **end-to-end 5G standalone (SA) setup** usi ![srsran open5gs](../images/srsran/srsran-open5gs.png) -This setup is intended for **testing, learning, and research**, and runs entirely on a **single Ubuntu VM**. **End-to-End 5G Setup using Open5GS + srsRAN gNB + srsUE (ZMQ-based Virtual RF)** +This setup is intended for testing, learning, and research, and runs entirely on a single Ubuntu VM. > **Note:** This documentation is a replica of the README available at the [github/ngkore/Open5GS-srsRAN](https://github.com/ngkore/Open5GS-srsRAN). Please refer to the original repository for the most up-to-date information. @@ -24,7 +24,7 @@ This setup is intended for **testing, learning, and research**, and runs entirel ## Architecture Overview -```console +```text +-----------------------------+ | Ubuntu 22.04 VM | | |