Snak
Snak 是一个用于构建与 Starknet 区块链交互的 AI 代理的工具包,支持多个 AI 提供商,并提供服务器/NPM 包选项。
Snak (Alpha) - 快速开始
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
模式:
- 聊天模式:与代理对话,可查询余额、执行转账、管理账户
- 自主模式:配置自动化监控
在 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余额是多少?");
更多资源
- 动作文档:https://docs.kasar.io/agent-actions
- 添加动作指南:https://docs.kasar.io/add-agent-actions
- 完整文档:https://docs.kasar.io
许可证
MIT