{"id":29383519,"url":"https://github.com/lijianqiao/network_manage","last_synced_at":"2026-05-16T13:31:16.998Z","repository":{"id":302889032,"uuid":"1013841760","full_name":"lijianqiao/network_manage","owner":"lijianqiao","description":"一个使用 FastAPI 和现代 Python 技术栈构建的高性能网络自动化平台","archived":false,"fork":false,"pushed_at":"2025-07-04T15:04:53.000Z","size":476,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-04T16:41:23.958Z","etag":null,"topics":["fastapi","network-automation","nornir","python","scrapli","websocket"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lijianqiao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-04T14:55:31.000Z","updated_at":"2025-07-04T15:13:42.000Z","dependencies_parsed_at":"2025-07-04T16:51:59.114Z","dependency_job_id":null,"html_url":"https://github.com/lijianqiao/network_manage","commit_stats":null,"previous_names":["lijianqiao/network_manage"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lijianqiao/network_manage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2Fnetwork_manage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2Fnetwork_manage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2Fnetwork_manage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2Fnetwork_manage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lijianqiao","download_url":"https://codeload.github.com/lijianqiao/network_manage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lijianqiao%2Fnetwork_manage/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264528809,"owners_count":23623227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","network-automation","nornir","python","scrapli","websocket"],"created_at":"2025-07-10T04:35:39.529Z","updated_at":"2026-05-16T13:31:16.976Z","avatar_url":"https://github.com/lijianqiao.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌐 网络设备自动化管理平台\n\n基于 FastAPI + Scrapli + Nornir 构建的企业级网络设备自动化管理平台，支持多厂商网络设备的统一管理、配置部署、监控运维和批量操作。\n\n## 🚀 核心功能\n\n- **多厂商支持** - Cisco、华为、H3C、Juniper等主流设备\n- **批量操作** - 支持设备、区域、分组的批量任务执行\n- **配置管理** - 配置备份、部署、差异对比、自动回滚\n- **WebSocket CLI** - 实时CLI交互，支持多设备并发连接\n- **连接池管理** - 异步连接池、并发控制、资源优化\n- **安全加密** - Fernet密码加密、凭据安全管理\n\n## 🏗️ 技术栈\n\n- **FastAPI** - 现代化异步Web框架\n- **Tortoise ORM** - 异步ORM，支持PostgreSQL\n- **Scrapli** - 专业网络设备SSH/Telnet连接驱动\n- **Nornir** - 网络自动化任务调度框架\n- **WebSocket** - 实时CLI交互\n- **UV** - 现代化Python包管理器\n\n## 📁 项目结构\n\n```\nnetwork_manage/\n├── app/                        # 应用核心代码\n│   ├── main.py                # FastAPI应用入口\n│   ├── api/v1/endpoints/      # API路由端点\n│   ├── core/                  # 核心组件\n│   ├── network_automation/    # 网络自动化核心模块\n│   ├── models/                # 数据模型\n│   ├── schemas/               # Pydantic模型\n│   ├── services/              # 业务服务层\n│   ├── repositories/          # 数据访问层\n│   └── utils/                 # 工具模块\n├── templates/textfsm/         # TextFSM解析模板\n├── docs/                      # 项目文档\n├── tests/                     # 测试文件\n├── pyproject.toml            # UV项目配置\n└── README.md\n```\n\n## 🚀 快速开始\n\n### 📋 环境要求\n\n- **Python 3.13+**\n- **PostgreSQL 12+**\n- **UV** - Python包管理器\n\n### 📥 安装部署\n\n```bash\n# 1. 克隆项目\n\n# github\ngit clone https://github.com/lijianqiao/network_manage\n# gitee\ngit clone https://gitee.com/lijianqiao/network_manage\n\ncd network_manage\n\n# 2. 安装依赖\nuv sync\n\n# 3. 配置环境变量\ncp .env.example .env\n# 编辑 .env 文件配置数据库等信息\n\n# 4. 初始化数据库\nuv run python init_db.py\n\n# 5. 启动应用\nuv run python start.py\n```\n\n### 🌐 访问应用\n\n- **API文档**: http://127.0.0.1:8010/api/docs\n- **网络终端**: http://127.0.0.1:8010/api/ws/cli/terminal\n- **健康检查**: http://127.0.0.1:8010/health\n\n## 🎯 主要API端点\n\n### 网络自动化API\n\n```bash\nPOST /api/automation/ping           # Ping连通性测试\nPOST /api/automation/command        # 执行单条命令\nPOST /api/automation/commands       # 批量执行命令\nPOST /api/automation/backup         # 配置备份\nPOST /api/automation/deploy         # 配置部署\nPOST /api/automation/device-info    # 设备信息获取\nGET  /api/automation/connection-stats # 连接池状态\n```\n\n### WebSocket CLI\n\n```bash\nWS   /api/ws/cli/{host_ip}           # WebSocket CLI连接\nGET  /api/ws/cli/sessions           # 获取CLI会话状态\nGET  /api/ws/cli/terminal           # 网络终端界面\n```\n\n### 设备管理API\n\n```bash\nGET    /api/devices          # 获取设备列表\nPOST   /api/devices          # 创建设备\nGET    /api/devices/{id}     # 获取设备详情\nPUT    /api/devices/{id}     # 更新设备\nDELETE /api/devices/{id}     # 删除设备\n\nGET    /api/regions          # 区域管理\nGET    /api/device-groups    # 设备分组管理\nGET    /api/brands           # 设备品牌管理\n```\n\n## 📄 许可证\n\n本项目采用 MIT 许可证，详见 [LICENSE](LICENSE) 文件。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flijianqiao%2Fnetwork_manage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flijianqiao%2Fnetwork_manage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flijianqiao%2Fnetwork_manage/lists"}