123 lines
5.3 KiB
YAML
123 lines
5.3 KiB
YAML
# LettaBot Configuration
|
|
# Copy this to lettabot.yaml and fill in your values.
|
|
#
|
|
# Server modes:
|
|
# - 'api': Use Letta API (api.letta.com) with API key
|
|
# - 'docker': Use a Docker/custom Letta server
|
|
# Legacy aliases still accepted: 'cloud', 'selfhosted'
|
|
|
|
server:
|
|
mode: api
|
|
# For api mode, set your API key (get one at https://app.letta.com):
|
|
apiKey: sk-let-YOUR-API-KEY
|
|
# For docker mode, uncomment and set the base URL:
|
|
# mode: docker
|
|
# baseUrl: http://localhost:8283
|
|
|
|
agents:
|
|
- name: LettaBot
|
|
# displayName: "💜 Signo" # Prefix outbound messages (useful in multi-agent group chats)
|
|
# Note: model is configured on the Letta agent server-side.
|
|
# Select a model during `lettabot onboard` or change it with `lettabot model set <handle>`.
|
|
|
|
# workingDir: ~/my-project # Per-agent working directory (overrides global WORKING_DIR)
|
|
|
|
# Per-agent tool access (overrides global features.allowedTools / features.disallowedTools)
|
|
# features:
|
|
# allowedTools: [Read, Glob, Grep, web_search, conversation_search] # Read-only agent (no Bash/Edit/Write)
|
|
|
|
# Conversation routing (optional)
|
|
conversations:
|
|
mode: shared # "shared" (default) or "per-channel"
|
|
heartbeat: last-active # "dedicated" | "last-active" | "<channel>"
|
|
# perChannel: ["slack"] # Keep these channels isolated while others share a conversation
|
|
|
|
channels:
|
|
telegram:
|
|
enabled: true
|
|
token: YOUR-TELEGRAM-BOT-TOKEN
|
|
dmPolicy: pairing # 'pairing', 'allowlist', or 'open'
|
|
# groupDebounceSec: 5 # Debounce seconds (default: 5, 0 = immediate)
|
|
# instantGroups: ["-100123456"] # Groups that bypass batching (legacy)
|
|
# Group access + response mode:
|
|
# groups:
|
|
# "*": { mode: listen } # Observe all groups; only reply when @mentioned
|
|
# "-1001234567890": { mode: open } # This group gets all messages
|
|
# "-1009876543210": { mode: mention-only } # Drop unless @mentioned
|
|
# mentionPatterns: ["hey bot"] # Additional regex patterns for mention detection
|
|
# slack:
|
|
# enabled: true
|
|
# appToken: xapp-...
|
|
# botToken: xoxb-...
|
|
# groups:
|
|
# "*": { mode: listen }
|
|
# "C0123456789": { mode: open }
|
|
# discord:
|
|
# enabled: true
|
|
# token: YOUR-DISCORD-BOT-TOKEN
|
|
# groups:
|
|
# "*": { mode: listen }
|
|
# "1234567890123456789": { mode: open } # Server or channel ID
|
|
# whatsapp:
|
|
# enabled: true
|
|
# selfChat: false
|
|
# bluesky:
|
|
# enabled: true
|
|
# wantedDids: ["did:plc:..."]
|
|
# # groups:
|
|
# # "*": { mode: listen } # listen = observe only; open = observe + auto-reply; mention-only = auto-reply to @mentions only
|
|
# # "did:plc:...": { mode: open }
|
|
# # lists:
|
|
# # "at://did:plc:.../app.bsky.graph.list/xyz": { mode: listen }
|
|
# # wantedCollections: ["app.bsky.feed.post"]
|
|
# # notifications:
|
|
# # enabled: true
|
|
# # intervalSec: 60
|
|
# # reasons: ["mention", "reply", "quote"] # also: like, repost, follow
|
|
# # backfill: false # process initial backlog on startup
|
|
# # jetstreamUrl: wss://jetstream2.us-east.bsky.network/subscribe
|
|
# # handle: you.bsky.social
|
|
# # appPassword: xxxx-xxxx-xxxx-xxxx
|
|
# # serviceUrl: https://bsky.social
|
|
|
|
# BYOK Providers (optional, api mode only)
|
|
# These will be synced to Letta API on startup
|
|
# providers:
|
|
# - id: anthropic
|
|
# name: lc-anthropic
|
|
# type: anthropic
|
|
# apiKey: sk-ant-YOUR-ANTHROPIC-KEY
|
|
# - id: openai
|
|
# name: lc-openai
|
|
# type: openai
|
|
# apiKey: sk-YOUR-OPENAI-KEY
|
|
|
|
features:
|
|
cron: false
|
|
heartbeat:
|
|
enabled: false
|
|
intervalMin: 30
|
|
# skipRecentPolicy: fraction # fixed | fraction | off
|
|
# skipRecentFraction: 0.5 # Used when policy=fraction (0-1)
|
|
# skipRecentUserMin: 5 # Used when policy=fixed (0 disables)
|
|
# interruptOnUserMessage: true # Cancel in-flight heartbeat when user messages arrive
|
|
# sendFileDir: ./data/outbound # Restrict <send-file> directive to this directory (default: data/outbound)
|
|
# sendFileMaxSize: 52428800 # Max file size in bytes for <send-file> (default: 50MB)
|
|
# sendFileCleanup: false # Allow <send-file cleanup="true"> to delete files after send (default: false)
|
|
# memfs: true # Enable memory filesystem (git-backed context repository). Syncs memory blocks to local files.
|
|
# sleeptime: # Background reflection (requires memfs: true)
|
|
# trigger: step-count # "off" | "step-count" | "compaction-event"
|
|
# behavior: reminder # "reminder" | "auto-launch"
|
|
# stepCount: 10 # Steps between reflections (step-count trigger only)
|
|
# allowedTools: [Bash, Read, Edit, Write, Glob, Grep, Task, web_search, conversation_search] # Global default
|
|
# disallowedTools: [EnterPlanMode, ExitPlanMode] # Global default
|
|
# display:
|
|
# showToolCalls: false # Show tool invocations in chat (e.g. "Using tool: Read (file_path: ...)")
|
|
# showReasoning: false # Show agent reasoning/thinking in chat
|
|
# reasoningMaxChars: 0 # Truncate reasoning to N chars (0 = no limit, default)
|
|
|
|
# Attachment handling (defaults to 20MB if omitted)
|
|
# attachments:
|
|
# maxMB: 20
|
|
# maxAgeDays: 14
|