← Back to Skills Marketplace
cn-big-cabbage

FastAPI

by CN-big-cabbage · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
79
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install fastapi-framework
Description
FastAPI - 高性能 Python Web API 框架
README (SKILL.md)

FastAPI 高性能 Python Web API 框架

技能概述

本技能帮助开发者使用 FastAPI 构建现代化、高性能的 Web API,支持以下场景:

  • REST API 开发: 快速构建符合 OpenAPI 标准的 RESTful 接口
  • 数据验证: 基于 Pydantic 的自动请求/响应数据验证
  • 自动文档: 自动生成 Swagger UI 和 ReDoc 交互式 API 文档
  • 异步支持: 原生支持 async/await,处理高并发场景
  • 依赖注入: 强大的依赖注入系统,简化认证、数据库连接等公共逻辑
  • 安全认证: 内置 OAuth2、JWT、API Key 等认证方案

技术基础: FastAPI 构建于 Starlette(Web 框架层)和 Pydantic(数据验证层)之上,性能接近 NodeJS 和 Go。

架构概览

FastAPI 应用架构
├── app/
│   ├── main.py              # 应用入口,注册路由和中间件
│   ├── dependencies.py      # 公共依赖(认证、数据库会话等)
│   ├── models/              # Pydantic 数据模型
│   │   ├── __init__.py
│   │   └── user.py
│   ├── routers/             # 路由模块(按业务划分)
│   │   ├── __init__.py
│   │   ├── users.py
│   │   └── items.py
│   ├── crud/                # 数据库操作层
│   │   ├── __init__.py
│   │   └── user.py
│   └── core/                # 核心配置
│       ├── config.py
│       └── security.py

核心概念

概念 说明
路径操作 使用 @app.get/post/put/delete 装饰器定义 API 端点
路径参数 URL 中的变量,如 /items/{item_id}
查询参数 URL 查询字符串,如 /items?skip=0&limit=10
请求体 通过 Pydantic 模型接收 JSON 数据
依赖注入 通过 Depends() 注入可复用的依赖函数
中间件 处理每个请求/响应的通用逻辑
路由器 APIRouter 将路由按模块组织,类似 Flask Blueprint

使用流程

AI 助手将引导你完成以下步骤:

  1. 安装 FastAPI 及依赖(uvicorn、pydantic 等)
  2. 创建应用入口文件 main.py
  3. 定义 Pydantic 数据模型
  4. 编写路径操作函数(路由处理器)
  5. 配置依赖注入和中间件
  6. 启动开发服务器并验证 API 文档

关键章节导航

AI 助手能力

当你向 AI 描述需求时,AI 会:

  • 自动生成 路由处理函数和 Pydantic 数据模型
  • 自动配置 依赖注入(数据库会话、用户认证)
  • 自动搭建 项目骨架结构(models、routers、crud 分层)
  • 自动实现 JWT 认证和 OAuth2 安全方案
  • 自动集成 SQLAlchemy/SQLModel 数据库操作
  • 自动编写 测试用例(pytest + httpx)
  • 自动处理 CORS 配置和自定义中间件

核心功能

  • ✅ 基于 Python 类型提示的自动数据验证
  • ✅ 自动生成 OpenAPI/Swagger 交互式文档
  • ✅ 原生 async/await 异步支持
  • ✅ 强大的依赖注入系统
  • ✅ 内置安全认证(OAuth2、JWT、API Key、HTTP Basic)
  • ✅ 支持 WebSocket 实时通信
  • ✅ 支持 GraphQL(通过 Strawberry 集成)
  • ✅ 支持后台任务(BackgroundTasks)
  • ✅ 支持文件上传和静态文件服务
  • ✅ 支持中间件和 CORS 配置

快速示例

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    is_offer: bool | None = None

@app.get("/")
async def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str | None = None):
    return {"item_id": item_id, "q": q}

@app.put("/items/{item_id}")
async def update_item(item_id: int, item: Item):
    return {"item_name": item.name, "item_id": item_id}
# 启动开发服务器
fastapi dev main.py

# 或使用 uvicorn
uvicorn main:app --reload

访问 http://127.0.0.1:8000/docs 查看自动生成的交互式 API 文档。

扩展点

  • 中间件: 实现日志、限流、请求追踪等横切关注点
  • 依赖注入: 封装数据库连接、权限校验等可复用逻辑
  • 事件处理: startup/shutdown 生命周期钩子
  • 自定义响应: 支持 JSONResponseHTMLResponseFileResponse
  • 插件生态: 支持 SQLAlchemy、Celery、Redis、S3 等主流库

环境要求

  • Python 3.8 或更高版本(推荐 3.11+)
  • pip 包管理器
  • (可选)虚拟环境工具(venv、conda、uv)

许可证

MIT License

项目链接

Usage Guidance
This appears to be a genuine FastAPI tutorial/assistant and is generally coherent with its stated purpose. Before installing or executing the example commands: 1) Prefer creating and activating a virtual environment rather than running global pip changes; avoid 'pip config set global.index-url' unless you understand the global effects. 2) Be cautious about the guide's recommendation to install/run a tool named 'uv' — verify that tool's origin before running it. 3) Do not reuse the example SECRET_KEY, fake tokens, or hard-coded passwords in any real environment — move secrets into environment variables or a secrets manager. 4) Review any generated code (especially auth, SECRET_KEY, and DB connection strings) before running it or deploying to production. If you want, I can point out every line that contains potentially insecure practice and suggest safer alternatives (env vars, .env usage, or secrets management).
Capability Assessment
Purpose & Capability
Name/description (FastAPI framework) match the files and instructions: installation, quickstart, advanced usage, examples and tests are all consistent with a FastAPI how-to/assistant skill.
Instruction Scope
Instructions tell the AI to run standard local commands (python --version, create venv, pip install, run uvicorn) and to generate/modify project files — this is expected. Notable deviations: recommending a non-standard 'uv' tool (uv venv / uv pip install) and suggesting 'pip config set global.index-url' which modifies global pip configuration; both are beyond minimal scope and could have unintended system-wide effects. The guides also include runnable example code (including auth and JWT) which the AI may generate/execute for the user.
Install Mechanism
No install spec is provided (instruction-only). The skill does not download or install code itself; it instructs the agent to use pip/venv/uvicorn already on the system. This is the lowest-risk install model for a skill.
Credentials
The skill does not request environment variables or external credentials, which matches its purpose. However, the included example security code hard-codes a JWT SECRET_KEY and uses placeholder tokens/credentials (e.g., fake-super-secret-token, hashed password created from literal 'secret'). These are insecure if copied to production; they are not requested as secrets but are embedded in the code samples.
Persistence & Privilege
Skill is not always-enabled and does not request persistent system privileges. It does, however, instruct the agent to run commands that can create files and change pip's global config if the user follows the troubleshooting steps; that is an expected behavior for a project-setup guide but worth noting.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fastapi-framework
  3. After installation, invoke the skill by name or use /fastapi-framework
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release - FastAPI framework skill distilled from github.com/fastapi/fastapi (97k+ stars)
Metadata
Slug fastapi-framework
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is FastAPI?

FastAPI - 高性能 Python Web API 框架. It is an AI Agent Skill for Claude Code / OpenClaw, with 79 downloads so far.

How do I install FastAPI?

Run "/install fastapi-framework" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is FastAPI free?

Yes, FastAPI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does FastAPI support?

FastAPI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created FastAPI?

It is built and maintained by CN-big-cabbage (@cn-big-cabbage); the current version is v0.1.0.

💬 Comments