凭证安全管理Skill credentials

该技能用于安全存储和管理交易平台的API凭证,采用AES-256-GCM加密技术,支持多种平台如Polymarket、Kalshi、Binance等,确保量化交易和算法交易中的凭证安全与可管理性。关键词:API凭证管理、交易安全、加密存储、量化金融工具、风险管理。

其他 0 次安装 0 次浏览 更新于 3/9/2026

name: credentials description: “交易平台的安全凭证管理” emoji: “🔐”

凭证 - 完整API参考

使用AES-256-GCM加密安全存储和管理交易平台的API凭证。


聊天命令

添加凭证

/creds add polymarket                       交互式设置
/creds add kalshi --key abc --secret xyz    直接设置
/creds add binance                          添加Binance API
/creds add hyperliquid                      添加钱包密钥

查看凭证

/creds list                                 列出配置的平台
/creds status                               检查凭证健康状态
/creds test polymarket                      测试API连接

删除凭证

/creds remove polymarket                    移除平台凭证
/creds clear                                清除所有(小心!)

认证状态

/auth status                                总体认证状态
/auth refresh kalshi                        刷新令牌
/auth cooldown                              查看冷却状态

TypeScript API参考

创建凭证管理器

import { createCredentialsManager } from 'clodds/credentials';

const creds = createCredentialsManager({
  // 加密密钥(必需)
  encryptionKey: process.env.CREDENTIALS_KEY,

  // 存储后端
  storage: 'sqlite',  // 'sqlite' | 'postgres'
  dbPath: './credentials.db',

  // 冷却设置
  cooldownMinutes: 15,
  maxFailures: 3,
});

设置凭证

// Polymarket (API + 签名密钥)
await creds.setCredentials({
  userId: 'user-123',
  platform: 'polymarket',
  credentials: {
    apiKey: 'pk_...',
    apiSecret: 'sk_...',
    privateKey: '0x...',  // 用于订单签名
    funderAddress: '0x...',
  },
});

// Kalshi (API密钥)
await creds.setCredentials({
  userId: 'user-123',
  platform: 'kalshi',
  credentials: {
    email: 'user@example.com',
    apiKey: 'key_...',
  },
});

// Binance Futures
await creds.setCredentials({
  userId: 'user-123',
  platform: 'binance',
  credentials: {
    apiKey: 'abc...',
    apiSecret: 'xyz...',
  },
});

// Hyperliquid (钱包)
await creds.setCredentials({
  userId: 'user-123',
  platform: 'hyperliquid',
  credentials: {
    privateKey: '0x...',
    walletAddress: '0x...',
  },
});

获取凭证

// 获取特定平台
const polymarketCreds = await creds.getCredentials({
  userId: 'user-123',
  platform: 'polymarket',
});

if (polymarketCreds) {
  console.log(`API Key: ${polymarketCreds.apiKey}`);
  // 凭证在检索时解密
}

// 列出用户配置的平台
const platforms = await creds.listUserPlatforms('user-123');
console.log(`Configured: ${platforms.join(', ')}`);

删除凭证

// 移除单个平台
await creds.deleteCredentials({
  userId: 'user-123',
  platform: 'kalshi',
});

// 移除用户所有凭证
await creds.deleteAllCredentials('user-123');

测试凭证

// 测试API连接
const result = await creds.testCredentials({
  userId: 'user-123',
  platform: 'polymarket',
});

if (result.success) {
  console.log(`✓ Connected to ${result.platform}`);
  console.log(`  Balance: $${result.balance}`);
} else {
  console.log(`✗ Failed: ${result.error}`);
}

冷却管理

// 标记失败认证尝试
await creds.markFailure({
  userId: 'user-123',
  platform: 'kalshi',
  error: 'Invalid API key',
});

// 检查是否在冷却中
const inCooldown = await creds.isInCooldown({
  userId: 'user-123',
  platform: 'kalshi',
});

if (inCooldown) {
  const remaining = await creds.getCooldownRemaining({
    userId: 'user-123',
    platform: 'kalshi',
  });
  console.log(`Cooldown: ${remaining} minutes remaining`);
}

// 标记成功认证(重置失败)
await creds.markSuccess({
  userId: 'user-123',
  platform: 'kalshi',
});

构建交易上下文

// 获取准备使用的交易上下文
const context = await creds.buildTradingContext({
  userId: 'user-123',
  platform: 'polymarket',
});

// 上下文包含认证客户端
await context.client.getBalance();
await context.client.placeOrder({ ... });

支持平台

平台 所需凭证
Polymarket API密钥、密钥、私钥、资助者地址
Kalshi 邮箱、API密钥
Betfair 应用密钥、会话令牌
Smarkets API密钥
Binance API密钥、密钥
Bybit API密钥、密钥
Hyperliquid 私钥、钱包地址
MEXC API密钥、密钥

安全特性

特性 描述
AES-256-GCM 军事级加密存储
每用户密钥 隔离的凭证存储
冷却 失败尝试的速率限制
无日志记录 秘密从不记录
内存清除 使用后凭证从内存中清除

环境变量

# 必需加密密钥(使用生成:openssl rand -hex 32)
CREDENTIALS_KEY=your-64-char-hex-key

# 可选:每平台密钥
POLYMARKET_API_KEY=pk_...
POLYMARKET_API_SECRET=sk_...
POLYMARKET_PRIVATE_KEY=0x...
KALSHI_EMAIL=user@example.com
KALSHI_API_KEY=key_...

最佳实践

  1. 强加密密钥 — 使用 openssl rand -hex 32
  2. 定期轮换密钥 — 定期更新API密钥
  3. 添加后测试 — 始终验证凭证工作
  4. 最小权限 — 尽可能使用只读密钥
  5. 安全备份 — 保持加密备份离线