Snak

Snak

Snak 是一个用于构建与 Starknet 区块链交互的 AI 代理的工具包,支持多个 AI 提供商,并提供服务器/NPM 包选项。

Snak (Alpha) - 快速开始

Starknet Agent Kit 徽标

NPM 版本 许可证

Snak 是一个用于创建能够与 Starknet 区块链交互的 AI 代理的工具包,支持 Anthropic、OpenAI、Google Gemini 和 Ollama 等多个 AI 提供商。

前提条件

  • Starknet 钱包(推荐:Argent X
  • AI 提供商 API 密钥
  • Node.js 和 pnpm

安装

git clone https://github.com/kasarlabs/snak.git
cd snak
pnpm install

配置

创建 .env 文件:

# Starknet 配置(必填)
STARKNET_PUBLIC_ADDRESS="你的_STARKNET_公共地址"
STARKNET_PRIVATE_KEY="你的_STARKNET_私钥"
STARKNET_RPC_URL="你的_STARKNET_RPC_URL"

# AI 提供商配置(必填)
AI_PROVIDER_API_KEY="你的_AI_提供商_API_密钥"
AI_MODEL="你的_AI_模型"
AI_PROVIDER="你的_AI_提供商"

# 可选配置
SERVER_API_KEY="你的_服务器_API_密钥"
SERVER_PORT="端口号"

使用方法

服务器模式

运行服务器:

pnpm run start

模式:

  1. 聊天模式:与代理对话,可查询余额、执行转账、管理账户
  2. 自主模式:配置自动化监控

config/agents/config-agent.json 中设置:

{
  "name": "我的代理",
  "context": "你是一个Starknet监控代理...",
  "interval": 60000,
  "chat_id": "你的_Discord_频道ID",
  "allowed_actions": ["get_balance", "get_block_number"],
  "prompt": "监控ETH余额并在低于1 ETH时发出警报..."
}

库模式

import { StarknetAgent } from 'starknet-agent-kit';

const agent = new StarknetAgent({
  provider: new RpcProvider({ nodeUrl: process.env.STARKNET_RPC_URL }),
  accountPrivateKey: process.env.STARKNET_PRIVATE_KEY,
  accountPublicKey: process.env.STARKNET_PUBLIC_ADDRESS,
  aiModel: process.env.AI_MODEL,
  aiProvider: process.env.AI_PROVIDER,
  aiProviderApiKey: process.env.AI_PROVIDER_API_KEY,
  signature: 'key',
});

const response = await agent.execute("我的ETH余额是多少?");

更多资源

许可证

MIT