Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

aptx-api-coreaptx API core 搜索

Agent Skill

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

总安装

563

周安装

23

GitHub Stars

公开资料未说明

下载量

182
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/haibaraaiaptx/aptx-skill --skill aptx-api-core

简介

aptx-api-core 辅助设计 API 接口文档与请求结构,支持 OpenAPI 草稿生成和字段命名检查。

  • 适用于前后端联调、服务集成说明及错误码整理,帮助梳理 endpoint 和业务语义。
  • 使用时需确认鉴权方式、分页策略和错误处理规则,避免凭空补充未定义字段。
  • 安装命令为 npx skills add https://github.com/haibaraaiaptx/aptx-skill --skill aptx-api-core。
  • 注意应基于现有代码、schema 或样例提取事实,不得虚构接口细节。

SKILL.md

aptx-api-core

在需要接入或调整请求内核时,按以下顺序执行:

  1. 创建 RequestClient,先确定全局配置:baseURLheaderstimeoutquerySerializerdefaultResponseTypestrictDecode。详见 实例化配置
  2. 只在 @aptx/api-core 层处理通用行为,不引入业务认证、缓存、重试逻辑。业务逻辑应通过 MiddlewarePlugin 实现。
  3. 若需求是“按路径前缀/命名空间选择网关或 baseURL”,优先使用 UrlResolver 组合链,不要依赖 middleware 在 URL 固化后再改写。详见 Plugin - 核心组件替换
  4. 通过 use(middleware)apply(plugin) 扩展能力,确保核心逻辑保持纯净。详见 扩展能力
  5. 使用 request:start/end/error/abort 事件做观测,不在事件回调里修改 payload。详见 事件系统
  6. 发生错误时按错误类型分流:HttpErrorNetworkErrorTimeoutErrorCanceledErrorConfigErrorSerializeErrorDecodeError。详见 defaults.md - ErrorMapper

最小接入模板:

import { RequestClient } from "@aptx/api-core";

const client = new RequestClient({
  baseURL: "/api",
  timeout: 10_000,
  headers: { "X-App": "web" },
  defaultResponseType: "json",
});

const res = await client.fetch("/user", {
  method: "GET",
  query: { include: ["profile", "roles"] },
});

快速参考

操作API示例
创建客户端new RequestClient()见上方模板
创建客户端(函数式)createClient()创建客户端工厂函数
发送请求client.fetch()await client.fetch("/user", {method: "GET"})
发送请求(高级)client.request()request() - 高级入口
添加 middlewareclient.use()client.use(loggingMiddleware)
应用 pluginclient.apply()client.apply(authPlugin)
监听事件client.events.on()事件系统

核心 API 映射

需求方法文档位置
请求/响应修改Middlewaremiddleware-patterns.md
替换核心组件Pluginplugin-patterns.md
按路径前缀选择网关Plugin + UrlResolverplugin-patterns.md#替换-urlresolver
中间件间共享状态Context Bagcontext-bag.md
自定义传输/解码器等Extension Pointsextension-points.md
错误拦截(HTTP 状态码)Middleware try/catchmiddleware-patterns.md#9
错误拦截(业务逻辑)Middleware 后置检查middleware-patterns.md#8
测试扩展Testingtesting-guide.md
查看默认实现Defaultsdefaults.md

请求元数据

RequestMeta 用于传递扩展元数据:

interface RequestMeta {
  /** 响应类型(覆盖默认值) */
  responseType?: "json" | "text" | "blob" | "arrayBuffer" | "raw";
  /** 自定义标签(用于追踪、日志等) */
  tags?: string[];
  /** 上传进度回调(best-effort) */
  onUploadProgress?: (info: ProgressInfo) => void;
  /** 下载进度回调(best-effort) */
  onDownloadProgress?: (info: ProgressInfo) => void;
  /** 其他扩展字段 */
  [key: string]: unknown;
}

进度回调(best-effort)

await client.fetch("/upload", {
  method: "POST",
  body: largeFile,
  meta: {
    onUploadProgress: ({ loaded, total, progress }) => {
      console.log(`Upload: ${(progress! * 100).toFixed(1)}%`);
    },
  },
});

约束

  • 进度回调仅在 FetchTransport 中生效
  • 需要服务端返回 Content-Length
  • 仅作为 best-effort 功能,不保证精确性

显式响应类型

// 文本响应
const res = await client.fetch("/data", {
  meta: { responseType: "text" },
});

// Blob 响应(文件下载)
const blobRes = await client.fetch("/file.pdf", {
  meta: { responseType: "blob" },
});

实例化配置

RequestClient 构造函数支持以下配置选项:

import {
  RequestClient,
  Transport,
  UrlResolver,
  BodySerializer,
  ResponseDecoder,
  ErrorMapper,
  Middleware,
  EventBus,
} from "@aptx/api-core";

const client = new RequestClient({
  // 基础配置
  baseURL: "https://api.example.com",
  headers: { "X-App": "web" },
  timeout: 10_000,
  querySerializer: (query, url) => `${url}?${new URLSearchParams(query).toString()}`,
  meta: { tags: ["api"] }, // 默认 meta

  // 响应配置
  defaultResponseType: "json",
  strictDecode: true, // 严格 JSON 解码

  // 核心组件(可自定义)
  transport?: Transport,        // 底层传输层
  urlResolver?: UrlResolver,    // URL 解析
  bodySerializer?: BodySerializer, // 请求体序列化
  decoder?: ResponseDecoder,    // 响应解码
  errorMapper?: ErrorMapper,    // 错误映射
  events?: EventBus,            // 事件总线

  // 扩展
  middlewares?: Middleware[],   // 初始 middleware 列表
});
详见 defaults.md 了解所有默认实现的详细说明和最佳实践。

fetch() vs request()

fetch() - fetch-like 入口

适用于大多数场景,自动处理 URL 解析和请求构建。

const res = await client.fetch("/user", {
  method: "GET",
  headers: { "X-Custom": "value" },
  query: { id: 123 },
  body: { name: "test" },
  timeout: 5000,
});

request() - 高级入口

适用于需要手动构建 Request 对象的场景:

import { Request } from "@aptx/api-core";

const req = new Request({
  method: "POST",
  url: "/api/data",
  headers: { "Content-Type": "application/json" },
  body: { key: "value" },
  timeout: 5000,
  meta: { tags: ["important"] },
});

const res = await client.request(req);

选择指南

需求选择原因
简单请求fetch()API 简洁,自动处理 URL 解析
需要复用 Request 对象request()更灵活,Request 对象可传递
需要在 middleware 间传递状态request()Request 对象可携带更多信息,详见 context-bag.md
需要显式控制请求构建request()完全控制 Request 创建过程

约束:

  • 不把重试、认证、CSRF 写进 core;统一放插件层。
  • headers: {key: null} 表示删除 header。
  • onUploadProgressonDownloadProgress 仅在支持的 transport 中生效。

响应元数据

ResponseMeta 用于在 middleware/plugin 间传递响应扩展信息:

interface ResponseMeta {
  /** 例如:{ fromCache: true } 由缓存 middleware 设置 */
  [key: string]: unknown;
}

使用示例(缓存 middleware)

const cacheMiddleware: Middleware = {
  async handle(req, ctx, next) {
    const cached = cache.get(req.url);
    if (cached) {
      return new Response({
        status: 200,
        headers: new Headers(),
        url: req.url,
        data: cached.data,
        raw: {},
        meta: { fromCache: true, cachedAt: cached.at },
      });
    }

    const res = await next(req, ctx);
    cache.set(req.url, res);
    return res;
  }
};
详见 middleware-patterns.md 了解更多缓存实现模式。

扩展能力

Middleware - 请求/响应修改

Middleware 用于处理横切关注点,如日志、认证、重试等。详见 middleware-patterns.md

创建自定义 middleware:

import { Middleware, Request, Context, Response } from "@aptx/api-core";

const loggingMiddleware: Middleware = {
  async handle(req, ctx, next) {
    console.log(`[${req.method}] ${req.url}`);
    const res = await next(req, ctx);
    console.log(`[${res.status}] ${req.url}`);
    return res;
  }
};
client.use(loggingMiddleware);

常见 Middleware 模式:

Plugin - 核心组件替换

Plugin 用于替换核心组件或监听事件。详见 plugin-patterns.md

使用场景:

Context Bag - 中间件间共享状态

使用 ctx.bag 在 middleware 间安全地共享状态。详见 context-bag.md

关键用法:

测试扩展

详见 testing-guide.md 学习如何测试 middleware 和 plugin。

事件系统

支持以下事件:

事件名Payload触发时机
request:start{req, ctx}请求开始
request:end{req, res, ctx, durationMs, attempt}请求成功
request:error{req, error, ctx, durationMs, attempt}请求失败(不包括 abort)
request:abort{req, ctx, durationMs}请求被中止

使用示例

client.events.on("request:start", ({ req, ctx }) => {
  console.log(`[${ctx.id}] START ${req.method} ${req.url}`);
});

client.events.on("request:end", ({ req, res, ctx, durationMs, attempt }) => {
  console.log(`[${ctx.id}] END ${res.status} ${req.url} (${durationMs}ms, attempt ${attempt})`);
});

client.events.on("request:error", ({ req, error, ctx, durationMs, attempt }) => {
  console.error(`[${ctx.id}] ERROR ${req.url} (${durationMs}ms)`, error);
});

client.events.on("request:abort", ({ req, ctx, durationMs }) => {
  console.warn(`[${ctx.id}] ABORT ${req.url} (${durationMs}ms)`);
});
详见 defaults.md 了解事件总线的完整实现。

创建客户端工厂函数

createClient()new RequestClient() 的别名:

import { createClient } from "@aptx/api-core";

const client = createClient({
  baseURL: "/api",
  timeout: 10_000,
});

适用于偏好函数式编程的场景。

常见问题

详见 faq.md 查看完整 FAQ,包括:

  • Request headers 没有被修改?
  • Progress 回调没有触发?
  • 如何区分超时和用户取消?
  • 如何防止 auth middleware 无限重试?
  • 何时使用 Middleware vs Plugin?
  • 如何在 middleware 间共享数据?
  • 如何测试自定义 middleware?
  • Response 数据类型不对怎么办?
  • 如何自定义 JSON 序列化?

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Claude

33.24%
按下载量换算60

Codex

32.53%
按下载量换算59

Cursor

19.3%
按下载量换算35

Gemini CLI

8.92%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills