Snak

by KasarLabs
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows agents to send notifications and alerts to Discord channels, particularly for autonomous monitoring mode.

  • Support for Google Gemini AI models to power agents that interact with and monitor the Starknet blockchain.

  • Provides a ready-to-use NestJS server with web interface for agent interaction and monitoring.

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

構成

  1. .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"
  1. 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を実装する

  1. snakパッケージをインストールする
#using npm npm install @starknet-agent-kit # using pnpm pnpm add @starknet-agent-kit
  1. エージェントインスタンスを作成する
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をご覧ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Starknet を活用した強力で安全な AI エージェントを構築します。

  1. Prerequisites
    1. Installation
      1. Configuration
        1. Usage
          1. Prompt Mode
          2. Server Mode
          3. Implement Snak in your project
        2. Actions
          1. Contributing
            1. License
              ID: fk0cmc0rul