# python_skills_download **Repository Path**: enzoism/python_skills_download ## Basic Information - **Project Name**: python_skills_download - **Description**: AI开发的保存和上传SKILLS的demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SKILLS 上传下载演示系统 一个完整的SKILL技能市场演示系统,支持创建、上传、下载和管理SKILLS。 ## 功能特性 ### 前端功能 - ✅ 创建文本SKILL:直接编写文本内容保存为SKILL - ✅ 上传ZIP SKILL:上传ZIP格式的SKILL文件 - ✅ 浏览SKILL市场:查看可用的SKILLS - ✅ 下载SKILL:从市场下载SKILL到本地 - ✅ 管理已下载SKILL:查看和删除已下载的SKILLS ### 后端功能 - ✅ FastAPI异步Web框架 - ✅ SKILL文本保存 - ✅ ZIP文件解压 - ✅ 本地市场模拟 - ✅ 文件存储管理 - ✅ RESTful API设计 ## 项目结构 ``` python_skills_download/ ├── src/python_skills_download/ │ ├── main.py # FastAPI应用入口 │ ├── models/ # 数据模型 │ │ └── skill.py │ ├── services/ # 业务逻辑 │ │ ├── storage_service.py │ │ └── skill_service.py │ ├── routes/ # API路由 │ │ └── skills.py │ └── utils/ # 工具函数 ├── memory/ # 存储目录 │ ├── skills/ # 已下载的SKILLS │ └── market/ # SKILLS市场 ├── static/ # 前端文件 │ ├── index.html │ ├── css/style.css │ └── js/app.js ├── uploads/ # 临时上传目录 └── tests/ # 测试文件 ``` ## 安装和运行 ### 1. 安装依赖 ```bash # 使用uv(推荐) uv sync # 或使用pip pip install fastapi uvicorn pydantic python-multipart aiofiles loguru ``` ### 2. 启动服务 ```bash # 方式1:直接运行 python -m python_skills_download.main # 方式2:使用uvicorn uvicorn python_skills_download.main:app --reload --host 0.0.0.0 --port 8000 ``` ### 3. 访问应用 打开浏览器访问:http://localhost:8000 ## API文档 启动服务后访问: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## API端点 ### 创建文本SKILL ```http POST /api/skills/create Content-Type: application/json { "name": "my-skill", "description": "My custom skill", "content": "Skill content here...", "author": "Your Name", "category": "tools" } ``` ### 上传ZIP SKILL ```http POST /api/skills/upload Content-Type: multipart/form-data file: name: "my-zip-skill" description: "ZIP skill description" ``` ### 从市场下载SKILL ```http POST /api/skills/download/{market_item_id}?skill_name=downloaded_skill_name ``` ### 查看已下载SKILLS ```http GET /api/skills/downloaded ``` ### 查看市场SKILLS ```http GET /api/skills/market ``` ### 删除SKILL ```http DELETE /api/skills/{skill_name} ``` ## 示例SKILLS 项目预置了3个示例SKILLS在市场中: 1. **data-analyzer** - 数据分析工具 - 数据清洗、转换和可视化功能 2. **web-scraper** - 网页爬虫工具 - 支持静态和动态网页数据提取 3. **code-formatter** - 代码格式化工具 - 支持Python、JavaScript等多种语言 ## 技术栈 - **后端**:FastAPI + Pydantic - **前端**:原生HTML/CSS/JavaScript - **存储**:本地文件系统 - **日志**:Loguru ## 开发 ### 运行测试 ```bash pytest tests/ ``` ### 添加新的市场SKILL 1. 在 `memory/market/` 下创建新目录 2. 添加 `metadata.json` 文件 3. 添加SKILL内容文件 ## 注意事项 - 上传的ZIP文件会被解压到 `memory/skills/` 目录 - SKILL名称必须唯一 - 临时上传文件会自动清理 - 建议使用Python 3.11+ ## 许可证 MIT License