Token导航 LogoToken导航TokenDH.com
开发external-servicegithub未标认证来源可访问许可证需确认审计通过

actix-webActix 网络

Agent Skill

actix-web 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

696

周安装

29

GitHub Stars

12

下载量

232
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:actix-web(Actix 网络)
来源仓库:https://github.com/claude-dev-suite/claude-dev-suite
仓库路径:skills/actix-web
安装命令:
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill actix-web
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/claude-dev-suite/claude-dev-suite --skill actix-web

简介

actix-web 是一个 Rust Web 框架,用于构建高性能、异步的 HTTP 服务器和 API。

  • 适用于需要开发后端服务、RESTful API 或处理高并发网络请求的场景。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限与运行环境兼容性。
  • 建议结合官方文档和示例代码验证具体实现细节与使用方式。
  • actix-web 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Actix-web Core Knowledge

Full Reference: See advanced.md for custom timing middleware, authentication middleware, custom error types, WebSocket actors, and graceful shutdown patterns.
Deep Knowledge: Use mcp__documentation__fetch_docs with technology: actix-web for comprehensive documentation.

Basic Setup

# Cargo.toml
[dependencies]
actix-web = "4"
actix-rt = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
use actix_web::{web, App, HttpServer, HttpResponse, Responder};

async fn hello() -> impl Responder {
    HttpResponse::Ok().body("Hello, World!")
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| {
        App::new()
            .route("/", web::get().to(hello))
    })
    .bind("127.0.0.1:8080")?
    .run()
    .await
}

Route Macros

use actix_web::{get, post, web, HttpResponse, Responder};

#[get("/users/{id}")]
async fn get_user(path: web::Path<u32>) -> impl Responder {
    let id = path.into_inner();
    HttpResponse::Ok().json(serde_json::json!({ "id": id }))
}

#[post("/users")]
async fn create_user(body: web::Json<CreateUser>) -> impl Responder {
    HttpResponse::Created().json(body.into_inner())
}

// Register with App
App::new()
    .service(get_user)
    .service(create_user)

Extractors

ExtractorPurpose
web::Path<T>URL path parameters
web::Query<T>Query string
web::Json<T>JSON body
web::Form<T>Form data
web::Data<T>Application state

Application State

struct AppState {
    db_pool: Pool<Postgres>,
}

#[get("/users")]
async fn list_users(data: web::Data<AppState>) -> impl Responder {
    let users = sqlx::query_as!(User, "SELECT * FROM users")
        .fetch_all(&data.db_pool)
        .await?;
    HttpResponse::Ok().json(users)
}

HttpServer::new(move || {
    App::new()
        .app_data(web::Data::new(state.clone()))
        .service(list_users)
})

Built-in Middleware

use actix_web::middleware::{Logger, Compress, NormalizePath};

App::new()
    .wrap(Logger::default())
    .wrap(Compress::default())
    .wrap(NormalizePath::trim())

Health Checks

#[get("/health")]
async fn health() -> impl Responder {
    HttpResponse::Ok().json(serde_json::json!({ "status": "healthy" }))
}

#[get("/ready")]
async fn ready(data: web::Data<AppState>) -> impl Responder {
    match data.db_pool.acquire().await {
        Ok(_) => HttpResponse::Ok().json(serde_json::json!({
            "status": "ready",
            "database": "connected"
        })),
        Err(_) => HttpResponse::ServiceUnavailable().json(serde_json::json!({
            "status": "not ready"
        })),
    }
}

When NOT to Use This Skill

  • Axum projects - Axum is more ergonomic with Tower ecosystem
  • Rocket projects - Rocket has better compile-time guarantees
  • Warp projects - Warp uses filters for composition
  • Simple CLI tools - No web server needed
  • Embedded systems - Too heavy for resource-constrained devices

Anti-Patterns

Anti-PatternWhy It's BadSolution
.clone() on every requestPerformance overheadUse web::Data<Arc<T>> for shared state
Blocking I/O in async handlersBlocks executor threadsUse web::block() for blocking operations
Not using extractorsManual parsing is error-proneUse Json, Path, Query extractors
Missing #[actix_web::main]Manual runtime setupUse macro for simple setup
Global mutable stateData racesUse Mutex or RwLock with web::Data
No custom error typesGeneric error messagesImplement ResponseError trait

Quick Troubleshooting

ProblemDiagnosisFix
"Cannot move out of borrowed content"Ownership issueClone data or use web::Data<Arc<T>>
Handler not found (404)Route not registeredCheck .service() or .route() calls
JSON parsing failsWrong content-typeEnsure client sends Content-Type: application/json
Slow performanceBlocking I/OWrap blocking code in web::block()
WebSocket connection closesMissing ping/pongImplement heartbeat mechanism
State not accessibleNot added to appUse .app_data() when building app

Checklist

  • CORS properly configured
  • Authentication middleware
  • Custom error handling
  • Request logging (Logger middleware)
  • Health/readiness endpoints
  • Graceful shutdown
  • Connection pooling for database
  • Input validation
  • Rate limiting (actix-ratelimit)

Reference Documentation

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.41%
按下载量换算80

Claude

30.38%
按下载量换算70

Cursor

20.74%
按下载量换算48

Gemini CLI

9.82%
按下载量换算23

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills