Snak是一个强大的AI代理工具包,可用于创建能与Starknet区块链交互的代理。它以NPM包形式提供,附带预构建的NestJS服务器和Web界面,支持Anthropic、OpenAI、Google Gemini和Ollama等多种AI提供商,极大提升了与区块链交互的便捷性和智能化程度。
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提供商"
# NestJS服务器配置
SERVER_API_KEY="你的服务器API密钥"
SERVER_PORT="你的服务器端口"
# Node环境配置(可选,默认为development)
NODE_ENV="development"
PORT=3000
agent.config.ts
文件export default defineConfig({
provider: {
type: 'rpc',
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,
});
交互模式 | 自动模式 | |
---|---|---|
提示模式 | ✅ | ✅ |
服务器模式 | ✅ | ❌ |
# 使用npm
npm install @snakagent
# 或使用pnpm
pnpm add @snakagent
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',
agentMode: 'auto',
});
const response = await agent.execute("What's my ETH balance?");
更多详细信息请参考docs.kasar.io。
对于更详细的文档,请访问docs.kasar.io。