Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

aptx-token-storeaptx 令牌存储

Agent Skill

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

总安装

517

周安装

22

GitHub Stars

公开资料未说明

下载量

181
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/haibaraaiaptx/aptx-skill --skill aptx-token-store

简介

aptx-token-store 定义 token 存储抽象接口,要求实现 get/set/clear 核心方法及过期元数据处理。

  • 适用于认证系统底层支撑,保持实现无业务耦合,可独立于 @aptx/api-core 使用。
  • 推荐搭配 @aptx/token-store-cookie 或 SSR 专用版本,确保环境适配性。
  • 安装命令为 npx skills add https://github.com/haibaraaiaptx/aptx-skill --skill aptx-token-store。
  • 注意所有方法必须保持同步/异步一致性,不可混用 Promise 和非 Promise 返回值。

SKILL.md

aptx-token-store

核心规范

在实现 token 存储抽象时,按以下规范执行:

  1. 实现 TokenStore 的最小能力:getTokensetTokenclearToken
  2. 若需要过期控制,提供 getMeta/setMetagetRecord/setRecord,并确保 meta.expiresAt 可读取。
  3. 保持实现无业务耦合,不包含请求逻辑,不依赖 @aptx/api-core
  4. 把环境相关能力放到独立包中(如 cookie、小程序、内存)。
  5. @aptx/api-plugin-auth 作为主要消费方进行联调测试。
  6. 所有方法必须保持同步/异步一致性,不可混用。

接口定义

import type { TokenStore, TokenMeta, TokenRecord, TokenStoreResolver } from '@aptx/token-store';

interface TokenStore {
  // 核心方法(必须实现)
  getToken(): string | undefined | Promise<string | undefined>;
  setToken(token: string, meta?: TokenMeta): void | Promise<void>;
  clearToken(): void | Promise<void>;

  // 可选方法(支持过期控制)
  getMeta?(): TokenMeta | undefined | Promise<TokenMeta | undefined>;
  setMeta?(meta: TokenMeta): void | Promise<void>;
  getRecord?(): TokenRecord | undefined | Promise<TokenRecord | undefined>;
  setRecord?(record: TokenRecord): void | Promise<void>;
}

interface TokenMeta {
  expiresAt?: number;  // 时间戳(毫秒)
  [key: string]: unknown;
}

interface TokenRecord {
  token?: string;
  meta?: TokenMeta;
}

// Store 解析器类型(用于 @aptx/api-plugin-auth)
type TokenStoreResolver =
  | TokenStore                    // 直接实例(向后兼容)
  | (() => TokenStore)            // 同步工厂函数
  | (() => Promise<TokenStore>);  // 异步工厂函数(SSR)

工具函数

resolveTokenStore

统一处理三种 TokenStoreResolver 形式,返回 TokenStore 实例:

import { resolveTokenStore } from '@aptx/token-store';

// 三种形式都会被正确解析为 TokenStore
const store1 = await resolveTokenStore(directInstance);
const store2 = await resolveTokenStore(syncFactory);
const store3 = await resolveTokenStore(asyncFactory);

使用场景: 当你需要统一处理用户传入的 store 参数时使用。@aptx/api-plugin-auth 内部使用此函数。

实现检查清单

  • 实现了 getToken()setToken()clearToken() 三个核心方法
  • 如需过期控制,实现了 getMeta()/setMeta()(或 getRecord()/setRecord()
  • meta.expiresAt 支持时间戳格式(毫秒)
  • 所有方法保持同步/异步一致性(不可混用)
  • clearToken() 同时清除 token 和 meta 数据
  • 不依赖 @aptx/api-core 或请求库
  • 实现了 TokenStoreFactory.create()(如果需要配置)

同步/异步选择规则

场景推荐理由
localStorage/sessionStorage同步阻塞时间极短
cookie (js-cookie)同步内存操作
IndexedDB异步I/O 操作
网络请求异步必须异步
内存存储同步无 I/O
小程序存储 (wx.getStorageSync)同步同步 API 更可靠

重要原则: 所有方法必须保持同步/异步一致性,不可混用。

实现指南

详细实现示例

完整的实现示例请参考:

TokenStoreFactory 模式

当实现需要配置时,使用 Factory 模式:

import type { TokenStoreFactory } from '@aptx/token-store';

// 定义配置接口
export interface YourStoreOptions {
  tokenKey?: string;
  metaKey?: string;
  prefix?: string;
}

// 实现类
class YourTokenStore implements TokenStore {
  constructor(private options: YourStoreOptions) {
    this.tokenKey = options.tokenKey ?? 'aptx_token';
    this.metaKey = options.metaKey ?? 'aptx_token_meta';
    this.prefix = options.prefix ?? '';
  }

  private readonly tokenKey: string;
  private readonly metaKey: string;
  private readonly prefix: string;

  // ... 实现 TokenStore 方法
}

// Factory 函数
export const createYourTokenStore: TokenStoreFactory<YourStoreOptions>["create"] = (
  options: YourStoreOptions = {}
) => {
  return new YourTokenStore(options);
};

与 @aptx/api-plugin-auth 集成

基本集成模式

import { createAuthMiddleware } from '@aptx/api-plugin-auth';

client.use(createAuthMiddleware({
  store,                      // 你的 TokenStore 实现
  refreshLeewayMs: 60_000,   // 提前60秒刷新
  refreshToken: async () => {
    // 返回格式1:完整对象(推荐)
    return {
      token: 'new-token',
      expiresAt: Date.now() + 30 * 60 * 1000  // 30分钟后过期
    };

    // 或返回格式2:仅 token(不自动设置 expiresAt)
    // return 'new-token';
  },
}));

工厂函数模式(推荐)

store 参数支持三种形式,便于浏览器端和 SSR 端保持 API 一致性:

// 形式 1:直接实例(向后兼容)
const store = new CookieTokenStore();
createAuthMiddleware({ store, ... });

// 形式 2:同步工厂函数(浏览器端推荐)
createAuthMiddleware({
  store: () => store,
  ...
});

// 形式 3:异步工厂函数(SSR 端必须)
createAuthMiddleware({
  store: async () => {
    const cookies = await getNextCookies();
    return new SsrCookieTokenStore({
      getCookieHeader: () => cookies.toString(),
      setCookie: (v) => { ... },
    });
  },
  ...
});

集成要求

  • 必须实现: getToken() - 读取 token 用于请求
  • 必须实现: setToken() - 保存刷新后的 token
  • 必须实现: clearToken() - 刷新失败时清除无效 token
  • 推荐实现: getMeta() - 支持 expiresAt 读取(主动刷新)
  • 推荐实现: setMeta() - 支持 expiresAt 写入

更多集成详情

完整的集成指南和示例请参考 references/integration.md,包括:

  • api-plugin-auth 的关键调用逻辑
  • 常见集成场景(localStorage、Cookie、小程序、测试)
  • 同步/异步集成注意事项
  • 调试技巧

测试

测试模式

测试相关的内容请参考 references/test-patterns.md,包括:

  • Mock 存储模式
  • 使用内存存储进行测试
  • 完整的测试用例示例

实现注意事项

实现过程中的注意事项请参考 references/test-patterns.md#实现注意事项,包括:

  • 错误处理(localStorage 超限、cookie 禁用等)
  • 类型安全(使用完整类型定义)
  • 性能考虑(避免阻塞、并发控制)
  • 安全性(Cookie 配置、敏感信息加密、XSS 防护)

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

34.52%
按下载量换算62

Claude

27.55%
按下载量换算50

Cursor

21.07%
按下载量换算38

Gemini CLI

9.81%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills