TARS AI
  • ⬅️Background
    • 🤔What is TARS?
  • 🕸️AI Market
    • 🔮Overview
    • 🤖Permissionless Agents
    • 🔥Framework Comparison
    • 💻Off-Chain Integrations
    • ⛓️On-Chain Integrations
    • 💵Fees & Economics
  • 🤓Developer Material
    • 👽Bringing AI Agents to Life
  • 🌕SONA Framework
    • 🥥What is SONA?
    • ✨Features
    • 📚Getting Started
      • ⭐Quick Start
    • 🧠Core Concepts
      • 🤯Character File
      • 📘Knowledge Management
      • 🖥️Clients
      • 🏃‍♂️Runtime
      • 🔗Adapters
      • 🔑Secret Management
Powered by GitBook
On this page
  • Common Secrets:
  • Accessing Secrets in Code:
  1. SONA Framework
  2. Core Concepts

Secret Management

SONA uses a hierarchical environment variable system that retrieves settings in this order:

  1. Character-specific secrets (highest priority)

  2. Character-specific settings

  3. Global environment variables

  4. Default values (lowest priority)

This allows you to override global settings for specific characters when needed.

Common Secrets:

# API Keys for Model Providers
OPENAI_API_KEY=sk-*               # OpenAI API key
ANTHROPIC_API_KEY=your-key        # Anthropic/Claude API key
GOOGLE_GENERATIVE_AI_API_KEY=     # Gemini API key
GROQ_API_KEY=gsk-*                # Groq API key

# Database Credentials
SUPABASE_URL=                     # Supabase URL
SUPABASE_ANON_KEY=                # Supabase anonymous key
MONGODB_CONNECTION_STRING=        # MongoDB connection string

# Blockchain Related
EVM_PRIVATE_KEY=                  # EVM private key with "0x" prefix
SOLANA_PRIVATE_KEY=               # Solana wallet private key
SOLANA_PUBLIC_KEY=                # Solana wallet public key

Accessing Secrets in Code:

// In a plugin, action, or service
const apiKey = runtime.getSetting("OPENAI_API_KEY");
if (!apiKey) {
  throw new Error("OpenAI API key not configured");
}

// With a fallback value
const temperature = runtime.getSetting("TEMPERATURE") || "0.7";

PreviousAdapters

Last updated 1 month ago

🌕
🧠
🔑