Merge branch '3.1' into feature/packet-filter-validation

This commit is contained in:
Jeremy Grossmann 2026-05-29 19:16:59 +02:00 committed by GitHub
commit 458eff6020
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 12 additions and 12 deletions

View File

@ -121,7 +121,7 @@ sequenceDiagram
## Injection Skills Repository ## Injection Skills Repository
Skills are organized by protocol/category in the external [GNS3-Skills](https://github.com/yueguobin/GNS3-Skills) repository: Skills are organized by protocol/category in the external [GNS3-Skills](https://github.com/gns3/gns3-skills) repository:
| Category | File | Example Issues | | Category | File | Example Issues |
|----------|------|----------------| |----------|------|----------------|

View File

@ -10,7 +10,7 @@ See LICENSE file for licensing information.
## Overview ## Overview
GNS3 Copilot loads all skills, prompts, and security configurations from an external Git repository at [github.com/yueguobin/GNS3-Skills](https://github.com/yueguobin/GNS3-Skills). This enables dynamic updates without server redeployment. GNS3 Copilot loads all skills, prompts, and security configurations from an external Git repository at [github.com/gns3/gns3-skills](https://github.com/gns3/gns3-skills). This enables dynamic updates without server redeployment.
The repository provides: The repository provides:
- **Injection skills** (39 categories): Network fault scenarios for troubleshooting practice - **Injection skills** (39 categories): Network fault scenarios for troubleshooting practice
@ -74,14 +74,14 @@ Skills repository settings are configured in `gns3_server.conf` under the `[Serv
```ini ```ini
[Server] [Server]
skills_repo_url = https://github.com/yueguobin/GNS3-Skills.git skills_repo_url = https://github.com/gns3/gns3-skills.git
skills_repo_branch = main skills_repo_branch = main
skills_auto_update = true skills_auto_update = true
``` ```
| Setting | Default | Description | | Setting | Default | Description |
|---------|---------|-------------| |---------|---------|-------------|
| `skills_repo_url` | `https://github.com/yueguobin/GNS3-Skills.git` | Git repository URL | | `skills_repo_url` | `https://github.com/gns3/gns3-skills.git` | Git repository URL |
| `skills_repo_branch` | `main` | Git branch to track | | `skills_repo_branch` | `main` | Git branch to track |
| `skills_auto_update` | `true` | Automatically pull on reload | | `skills_auto_update` | `true` | Automatically pull on reload |

View File

@ -38,7 +38,7 @@ graph TD
subgraph "Remote" subgraph "Remote"
GH[GitHub API<br/>Pull Requests] GH[GitHub API<br/>Pull Requests]
REPO[yueguobin/GNS3-Skills] REPO[gns3/gns3-skills]
end end
UI -->|CRUD + PR| API UI -->|CRUD + PR| API
@ -147,7 +147,7 @@ All endpoints require **superadmin** authentication. Prefix: `/v3/copilot/skills
{"category": "config", "file_count": 1, "path": "config/"} {"category": "config", "file_count": 1, "path": "config/"}
], ],
"repository": { "repository": {
"repo_url": "https://github.com/yueguobin/GNS3-Skills.git", "repo_url": "https://github.com/gns3/gns3-skills.git",
"branch": "main", "branch": "main",
"current_version": "abc123def456...", "current_version": "abc123def456...",
"is_dirty": false "is_dirty": false
@ -241,7 +241,7 @@ Response:
```json ```json
{ {
"success": true, "success": true,
"pr_url": "https://github.com/yueguobin/GNS3-Skills/pull/42", "pr_url": "https://github.com/gns3/gns3-skills/pull/42",
"pr_number": 42, "pr_number": 42,
"branch": "fix/ospf-descriptions" "branch": "fix/ospf-descriptions"
} }

View File

@ -34,7 +34,7 @@ from gns3server.config import Config
# Default skills repository configuration # Default skills repository configuration
SKILLS_CONFIG = { SKILLS_CONFIG = {
# Git repository URL for skills # Git repository URL for skills
"repo_url": "https://github.com/yueguobin/GNS3-Skills.git", "repo_url": "https://github.com/gns3/gns3-skills.git",
# Git branch to use # Git branch to use
"branch": "main", "branch": "main",

View File

@ -29,7 +29,7 @@ Prompts Module for GNS3-Copilot
This package provides system prompts loading utilities for the GNS3-Copilot AI agent. This package provides system prompts loading utilities for the GNS3-Copilot AI agent.
All system prompts are now loaded from the external GNS3-Skills repository: All system prompts are now loaded from the external GNS3-Skills repository:
https://github.com/yueguobin/GNS3-Skills https://github.com/gns3/gns3-skills
Available prompts (loaded from external repository): Available prompts (loaded from external repository):
- lab_automation_assistant.md: Lab automation mode (diagnostics + config) - lab_automation_assistant.md: Lab automation mode (diagnostics + config)

View File

@ -76,12 +76,12 @@ class SkillsManager:
Initialize the skills manager. Initialize the skills manager.
Args: Args:
repo_url: Git repository URL (default: https://github.com/yueguobin/GNS3-Skills.git) repo_url: Git repository URL (default: https://github.com/gns3/gns3-skills.git)
branch: Git branch to use (default: "main") branch: Git branch to use (default: "main")
auto_update: Whether to automatically pull updates on reload auto_update: Whether to automatically pull updates on reload
""" """
if repo_url is None: if repo_url is None:
repo_url = "https://github.com/yueguobin/GNS3-Skills.git" repo_url = "https://github.com/gns3/gns3-skills.git"
# Get local path from GNS3 config directory # Get local path from GNS3 config directory
config_dir = Config.instance().config_dir config_dir = Config.instance().config_dir

View File

@ -159,7 +159,7 @@ class ServerSettings(BaseModel):
allow_remote_console: bool = False allow_remote_console: bool = False
enable_builtin_templates: bool = True enable_builtin_templates: bool = True
install_builtin_appliances: bool = True install_builtin_appliances: bool = True
skills_repo_url: str = "https://github.com/yueguobin/GNS3-Skills.git" skills_repo_url: str = "https://github.com/gns3/gns3-skills.git"
skills_repo_branch: str = "main" skills_repo_branch: str = "main"
skills_auto_update: bool = True skills_auto_update: bool = True
model_config = ConfigDict(validate_assignment=True, str_strip_whitespace=True) model_config = ConfigDict(validate_assignment=True, str_strip_whitespace=True)