Starknetブロックチェーンと連携できるAIエージェントを作成するためのツールキットです。NPMパッケージと、すぐに使えるウェブインターフェースを備えたNestJSサーバーの両方でご利用いただけます。Anthropic、OpenAI、Google Gemini、Ollamaなど、複数のAIプロバイダーをサポートしています。
クイックスタート
前提条件
- Starknetウォレット(推奨: Argent X )
- AI プロバイダー API キー (Anthropic/OpenAI/Google Gemini/Ollama)
- Node.jsとpnpmがインストールされている
インストール
git clone https://github.com/kasarlabs/snak.git
cd snak
pnpm install
構成
.env
ファイルを作成します。
# Starknet configuration (mandatory)
STARKNET_PUBLIC_ADDRESS="YOUR_STARKNET_PUBLIC_ADDRESS"
STARKNET_PRIVATE_KEY="YOUR_STARKNET_PRIVATE_KEY"
STARKNET_RPC_URL="YOUR_STARKNET_RPC_URL"
# AI Provider configuration (mandatory)
AI_PROVIDER_API_KEY="YOUR_AI_PROVIDER_API_KEY"
AI_MODEL="YOUR_AI_MODEL"
AI_PROVIDER="YOUR_AI_PROVIDER"
# NestJS server configuration
SERVER_API_KEY="YOUR_SERVER_API_KEY"
SERVER_PORT="YOUR_SERVER_PORT"
#Node Configuration # optional by default : production
NODE_ENV="YOUR_NODE_ENV"
# Agent additional configuration
POSTGRES_USER="YOUR_POSTGRES_USER"
POSTGRES_PASSWORD="YOUR_POSTGRES_PASSWORD"
POSTGRES_ROOT_DB="YOUR_POSTGRES_ROOT_DB"
POSTGRES_HOST="YOUR_POSTGRES_HOST"
POSTGRES_PORT="YOUR_POSTGRES_PORT"
- agent.config.jsonを作成する
{
"name": "Your Agent name",
"bio": "Your AI Agent Bio",
"lore": ["Some lore of your AI Agent 1", "Some lore of your AI Agent 1"],
"objectives": [
"first objective that your AI Agent need to follow",
"second objective that your AI Agent need to follow"
],
"knowledge": [
"first knowledge of your AI Agent",
"second knowledge of your AI Agent"
],
"interval": "Your agent interval beetween each transaction of the Agent in ms,",
"chat_id": "Your Agent Chat-id for isolating memory",
"autonomous": "Your agent is autonomous or not",
"plugins": ["Your first plugin", "Your second plugin"],
"mcpServers": {
"nxp_server_example": {
"command": "npx",
"args": ["-y", "@npm_package_example/npx_server_example"],
"env": {
"API_KEY": "YOUR_API_KEY"
}
},
"local_server_example": {
"command": "node",
"args": ["node /path/to/local_server/dist/index.js"]
}
}
}
snakagentのツールを使用して、独自のエージェント構成を簡単に作成できます。
使用法
プロンプトモード
プロンプトを実行します:
# start with the default.agent.json
pnpm run start
# start with your custom configuration
pnpm run start --agent="name_of_your_config.json"
サーバーモード
サーバーを実行します:
# start with the default.agent.json
pnpm run start:server
# start with your custom configuration
pnpm run start:server --agent="name_of_your_config.json"
利用可能なモード
|インタラクティブモード|自律モード|
|---|---|---|
|プロンプトモード|✅|✅|
|サーバーモード|✅|❌|
プロジェクトにSnakを実装する
- snakパッケージをインストールする
#using npm
npm install @starknet-agent-kit
# using pnpm
pnpm add @starknet-agent-kit
- エージェントインスタンスを作成する
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',
agentconfig: y,
});
const response = await agent.execute("What's my ETH balance?");
アクション
アクションの詳細については、こちらのドキュメントセクションをご覧ください。キットの包括的なインターフェースは、利用可能なすべてのプラグインとそのアクションを簡単にナビゲートできるカタログを提供し、プラグインの発見と使用を容易にします。
エージェントにアクションを追加するには、こちらのステップバイステップガイドに従ってください。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
MIT ライセンス - 詳細については LICENSE ファイルを参照してください。
詳細なドキュメントについては、 docs.kasar.ioをご覧ください。