mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
docs: reorganize AI Copilot documentation structure
- Add README.md with documentation overview and structure guide - Move implemented designs to docs/gns3-copilot/implemented/: - chat-api.md (from ai-chat-api-design.md) - llm-model-configs.md (from llm-model-configs-api.md) - command-security.md - context-window-management.md - Add Jinja2 configuration template system design documents: - jinja2-config-templates-system.md - config-templates-implementation-guide.md - ai-prompting-for-config-templates.md - Remove obsolete documents (acl-web-ui, Chinese RBAC doc) This reorganization makes it clearer which features are implemented vs planned, following the established documentation structure. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a6c33061c4
commit
e452f75ac3
10 files changed
+218
-1806
No files matched your search
@@ -0,0 +1,136 @@
|
||||
# GNS3 AI Copilot Documentation
|
||||
|
||||
This directory contains design documentation, implementation guides, and future plans for the GNS3 AI Copilot feature.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
docs/gns3-copilot/
|
||||
├── README.md # This file
|
||||
├── implemented/ # Implemented features and designs
|
||||
│ ├── chat-api.md # Chat API design (SSE, session management)
|
||||
│ ├── llm-model-configs.md # LLM model configuration system
|
||||
│ ├── command-security.md # Command security and filtering
|
||||
│ └── context-window-management.md # Context window optimization
|
||||
├── todo/ # Planned features and designs
|
||||
│ ├── jinja2-config-templates-system.md # Config template system
|
||||
│ ├── config-templates-implementation-guide.md # Template implementation
|
||||
│ ├── ai-prompting-for-config-templates.md # AI prompts for templates
|
||||
│ ├── acl-web-ui-implementation-guide.md # ACL/ACL Web UI
|
||||
│ ├── hitl-implementation-plan.md # HITL (Human-in-the-Loop)
|
||||
│ ├── vision-topology-creation.md # Vision-based topology
|
||||
│ └── ... # More planned features
|
||||
└── guides/ # User and developer guides (TBD)
|
||||
```
|
||||
|
||||
## Implemented Features
|
||||
|
||||
### Chat API (`implemented/chat-api.md`)
|
||||
The core Chat API that enables AI-powered conversations within GNS3 projects.
|
||||
|
||||
**Key Features:**
|
||||
- Server-Sent Events (SSE) for streaming responses
|
||||
- Project-level session isolation
|
||||
- Session management (CRUD operations)
|
||||
- Statistics tracking (messages, tokens, LLM calls)
|
||||
- User-level LLM configuration
|
||||
|
||||
**Status:** ✅ Implemented
|
||||
|
||||
### LLM Model Configs (`implemented/llm-model-configs.md`)
|
||||
Multi-level LLM model configuration system.
|
||||
|
||||
**Key Features:**
|
||||
- System-wide defaults
|
||||
- Group-level configurations
|
||||
- User-level overrides
|
||||
- Runtime parameter adjustment
|
||||
- Model provider abstraction
|
||||
|
||||
**Status:** ✅ Implemented
|
||||
|
||||
### Command Security (`implemented/command-security.md`)
|
||||
Security framework for AI-generated commands.
|
||||
|
||||
**Key Features:**
|
||||
- Command filtering and validation
|
||||
- Dangerous operation detection
|
||||
- HITL (Human-in-the-Loop) confirmations
|
||||
- Audit logging
|
||||
|
||||
**Status:** ✅ Implemented
|
||||
|
||||
### Context Window Management (`implemented/context-window-management.md`)
|
||||
Optimization strategies for handling large project contexts.
|
||||
|
||||
**Key Features:**
|
||||
- Intelligent content filtering
|
||||
- Token usage optimization
|
||||
- Summary generation
|
||||
- Context compression
|
||||
|
||||
**Status:** ✅ Implemented
|
||||
|
||||
## Planned Features
|
||||
|
||||
### Jinja2 Configuration Templates (`todo/jinja2-config-templates-system.md`)
|
||||
Template-based configuration generation system.
|
||||
|
||||
**Planned Features:**
|
||||
- Vendor-specific templates (Cisco, Juniper, Huawei, etc.)
|
||||
- JSON schema validation
|
||||
- AI generates structured data → Templates render configs
|
||||
- Multi-vendor support
|
||||
|
||||
**Status:** 📋 Design Complete, Implementation Pending
|
||||
|
||||
### ACL Web UI (`todo/acl-web-ui-implementation-guide.md`)
|
||||
Web-based ACL (Access Control List) management interface.
|
||||
|
||||
**Status:** 📋 Design Complete
|
||||
|
||||
### HITL Implementation (`todo/hitl-implementation-plan.md`)
|
||||
Enhanced Human-in-the-Loop confirmation workflows.
|
||||
|
||||
**Status:** 📋 Design Complete
|
||||
|
||||
### Vision Topology Creation (`todo/vision-topology-creation.md`)
|
||||
Create network topologies from images/diagrams.
|
||||
|
||||
**Status:** 📋 Design Complete
|
||||
|
||||
## Contributing
|
||||
|
||||
When adding new documentation:
|
||||
|
||||
1. **Design Phase:** Add new documents to `todo/`
|
||||
2. **Implementation:** Move to `implemented/` when feature is complete
|
||||
3. **Naming:**
|
||||
- `todo/`: Use descriptive names like `{feature}-implementation-guide.md`
|
||||
- `implemented/`: Use concise names like `{feature}.md`
|
||||
|
||||
## Document Status Legend
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| ✅ Implemented | Feature is fully implemented and deployed |
|
||||
| 📋 Design Complete | Design is done, awaiting implementation |
|
||||
| 🚧 In Progress | Currently being implemented |
|
||||
| 💡 Proposed | Initial idea or proposal |
|
||||
|
||||
## Related Documentation
|
||||
|
||||
- [GNS3 Server API Documentation](https://api.gns3.com/)
|
||||
- [GNS3 Web UI Documentation](https://docs.gns3.com/)
|
||||
- [LangGraph Documentation](https://langchain-ai.github.io/langgraph/)
|
||||
- [FastAPI Documentation](https://fastapi.tiangolo.com/)
|
||||
|
||||
## Quick Links
|
||||
|
||||
- **Current Feature Branch:** `feature/ai-copilot-bridge`
|
||||
- **Main Branch:** `master`
|
||||
- **Issue Tracker:** [GitHub Issues](https://github.com/GNS3/gns3-server/issues)
|
||||
|
||||
---
|
||||
|
||||
_Last updated: 2026-03-10_
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File diff suppressed because it is too large.
Load diff
@@ -795,3 +795,30 @@ test_cases = [
|
||||
| Assume vendor/OS | Ask or detect from node |
|
||||
| Mix features in one dict | Separate by feature key |
|
||||
| Use string for numbers | Use int: `process_id: 100` not `"process_id": "100"` |
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
**Copyright © 2025 Yue Guobin (岳国宾)**
|
||||
|
||||
This work is licensed under the [Creative Commons Attribution-ShareAlike 4.0
|
||||
International License (CC BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/).
|
||||
|
||||

|
||||
|
||||
### Summary
|
||||
|
||||
You are free to:
|
||||
|
||||
- **Share** — Copy and redistribute the material in any medium or format
|
||||
- **Adapt** — Remix, transform, and build upon the material for any purpose
|
||||
|
||||
Under the following terms:
|
||||
|
||||
- **Attribution** — You must give appropriate credit to **Yue Guobin (岳国宾)**, provide
|
||||
a link to the license, and indicate if changes were made.
|
||||
- **ShareAlike** — If you remix, transform, or build upon the material, you must
|
||||
distribute your contributions under the **same license** (CC BY-SA 4.0).
|
||||
|
||||
Full license text: [DESIGN_DOCS_LICENSE](../DESIGN_DOCS_LICENSE.md)
|
||||
@@ -707,3 +707,30 @@ Solution: Check if feature flag "enabled" is set to True
|
||||
```
|
||||
Solution: Review template logic, check conditional statements
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
**Copyright © 2025 Yue Guobin (岳国宾)**
|
||||
|
||||
This work is licensed under the [Creative Commons Attribution-ShareAlike 4.0
|
||||
International License (CC BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/).
|
||||
|
||||

|
||||
|
||||
### Summary
|
||||
|
||||
You are free to:
|
||||
|
||||
- **Share** — Copy and redistribute the material in any medium or format
|
||||
- **Adapt** — Remix, transform, and build upon the material for any purpose
|
||||
|
||||
Under the following terms:
|
||||
|
||||
- **Attribution** — You must give appropriate credit to **Yue Guobin (岳国宾)**, provide
|
||||
a link to the license, and indicate if changes were made.
|
||||
- **ShareAlike** — If you remix, transform, or build upon the material, you must
|
||||
distribute your contributions under the **same license** (CC BY-SA 4.0).
|
||||
|
||||
Full license text: [DESIGN_DOCS_LICENSE](../DESIGN_DOCS_LICENSE.md)
|
||||
@@ -1082,3 +1082,31 @@ include network 192.168.1.0/24 in area 0. Output as structured JSON data."
|
||||
```
|
||||
|
||||
Then the agent calls `render_device_config` tool to get the actual configuration.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
**Copyright © 2025 Yue Guobin (岳国宾)**
|
||||
|
||||
This work is licensed under the [Creative Commons Attribution-ShareAlike 4.0
|
||||
International License (CC BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/).
|
||||
|
||||

|
||||
|
||||
### Summary
|
||||
|
||||
You are free to:
|
||||
|
||||
- **Share** — Copy and redistribute the material in any medium or format
|
||||
- **Adapt** — Remix, transform, and build upon the material for any purpose
|
||||
|
||||
Under the following terms:
|
||||
|
||||
- **Attribution** — You must give appropriate credit to **Yue Guobin (岳国宾)**, provide
|
||||
a link to the license, and indicate if changes were made.
|
||||
- **ShareAlike** — If you remix, transform, or build upon the material, you must
|
||||
distribute your contributions under the **same license** (CC BY-SA 4.0).
|
||||
|
||||
Full license text: [DESIGN_DOCS_LICENSE](../DESIGN_DOCS_LICENSE.md)
|
||||
Reference in new issue
Block a user