···11-# Agent Configurations
22-33-This directory contains agent-specific configuration files for the Jetstream-Letta bridge. Each configuration defines a different Letta agent with its own personality, behavior, and monitoring settings.
44-55-## Available Agents
66-77-### 🔧 Technical Agent (`technical.yaml`)
88-- **Purpose**: Handles technical discussions, code reviews, and engineering topics
99-- **Batch Size**: 1 (immediate responses)
1010-- **Max Steps**: 100
1111-- **Best For**: Developer communities, tech support, code discussions
1212-1313-### 🎨 Creative Agent (`creative.yaml`)
1414-- **Purpose**: Specializes in creative writing, poetry, storytelling, and artistic discussions
1515-- **Batch Size**: 3 (processes in batches for better context)
1616-- **Max Steps**: 150
1717-- **Best For**: Writing communities, artistic discussions, creative feedback
1818-1919-### 📊 Analytical Agent (`analytical.yaml`)
2020-- **Purpose**: Data analysis, research, fact-checking, and analytical discussions
2121-- **Batch Size**: 5 (processes larger batches for comprehensive analysis)
2222-- **Max Steps**: 200
2323-- **Best For**: Research communities, academic discussions, data analysis
2424-2525-## Configuration Structure
2626-2727-Each agent configuration file contains:
2828-2929-```yaml
3030-# Agent-specific settings
3131-agent:
3232- name: "Agent Name"
3333- agent_id: "your-letta-agent-uuid"
3434- batch_size: 1-5
3535- max_steps: 100-200
3636-3737-# Bluesky authentication (can be shared across agents)
3838-bluesky:
3939- username: "your.handle.bsky.social"
4040- password: "your-app-password"
4141- pds_uri: "https://bsky.social"
4242-4343-# Jetstream monitoring settings
4444-jetstream:
4545- instance: "wss://jetstream2.us-west.bsky.network"
4646- wanted_dids: ["did:plc:community1", "did:plc:community2"]
4747-4848-# Letta API settings
4949-letta:
5050- api_key: "your-letta-api-key"
5151- agent_id: "same-as-agent.agent_id"
5252- timeout: 600-1200
5353-5454-# Other settings...
5555-```
5656-5757-## Setup Instructions
5858-5959-1. **Copy a template**: Start with one of the existing configurations
6060-2. **Update credentials**:
6161- - Set your Bluesky username and app password
6262- - Set your Letta API key
6363- - Replace agent IDs with your actual Letta agent UUIDs
6464-3. **Configure monitoring**:
6565- - Add DIDs of communities you want the agent to monitor
6666- - Adjust batch size and timeout based on agent purpose
6767-4. **Test the configuration**:
6868- ```bash
6969- python src/jetstream_letta_bridge.py --agent agents/your-agent.yaml --verbose
7070- ```
7171-7272-## Usage Examples
7373-7474-### Using the Python script directly:
7575-```bash
7676-# Run a specific agent
7777-python src/jetstream_letta_bridge.py --agent agents/technical.yaml
7878-7979-# Run with additional options
8080-python src/jetstream_letta_bridge.py --agent agents/creative.yaml --verbose --batch-size 2
8181-8282-# List available agents
8383-python src/jetstream_letta_bridge.py --list-agents agents/
8484-```
8585-8686-### Using the helper script:
8787-```bash
8888-# Quick agent switching
8989-./run_agent.sh technical
9090-./run_agent.sh creative --verbose
9191-./run_agent.sh analytical --batch-size 10
9292-9393-# List agents with details
9494-./run_agent.sh list
9595-9696-# Show help
9797-./run_agent.sh help
9898-```
9999-100100-### Using environment variables:
101101-```bash
102102-# Set default agent
103103-export LETTA_AGENT_CONFIG=agents/technical.yaml
104104-python src/jetstream_letta_bridge.py
105105-106106-# Override specific settings
107107-export BLUESKY_USERNAME=other.handle.bsky.social
108108-export LETTA_API_KEY=different-api-key
109109-./run_agent.sh creative
110110-```
111111-112112-## Creating New Agents
113113-114114-1. Copy an existing configuration file
115115-2. Rename it to something descriptive (e.g., `support-bot.yaml`)
116116-3. Update the agent settings:
117117- - Change `agent.name` and `agent.agent_id`
118118- - Adjust `batch_size` and `max_steps` for your use case
119119- - Modify `wanted_dids` to monitor relevant communities
120120-4. Test the configuration before using in production
121121-122122-## Best Practices
123123-124124-- **Batch Size**:
125125- - 1 for immediate responses (support, technical help)
126126- - 3-5 for contextual responses (creative, analytical)
127127-- **Max Steps**:
128128- - 100 for quick responses
129129- - 150-200 for complex tasks
130130-- **Timeout**:
131131- - 600s (10min) for most agents
132132- - 900-1200s (15-20min) for analytical/creative tasks
133133-- **DIDs**: Monitor specific communities rather than all DIDs for focused responses
134134-- **Credentials**: You can share Bluesky credentials across agents, but use different agent IDs
-76
agents/analytical.yaml
···11-# Analytical Agent Configuration
22-# Specializes in data analysis, research, fact-checking, and analytical discussions
33-44-# Agent-specific configuration
55-agent:
66- name: "AnalyticalBot"
77- agent_id: "agent-analytical-uuid-replace-this" # Replace with your actual agent ID
88- batch_size: 5 # Process messages in larger batches for comprehensive analysis
99- max_steps: 200 # Allow more steps for thorough analysis
1010-1111-# Bluesky/ATProto authentication configuration
1212-bluesky:
1313- # Your Bluesky handle (e.g., alice.bsky.social) or email
1414- username: "your.handle.bsky.social"
1515-1616- # Your Bluesky app password (not your main account password!)
1717- # Generate at: https://bsky.app/settings/app-passwords
1818- password: "your-app-password-here"
1919-2020- # ATProto PDS URI - use https://bsky.social for Bluesky
2121- # For self-hosted PDS, use your custom URI
2222- pds_uri: "https://bsky.social"
2323-2424-# Jetstream websocket configuration
2525-jetstream:
2626- # Jetstream instance to connect to
2727- instance: "wss://jetstream2.us-west.bsky.network"
2828-2929- # List of DIDs to monitor for analytical/research topics
3030- # Add DIDs of researchers, analysts, academic communities, etc.
3131- wanted_dids:
3232- - "did:plc:example-research-community"
3333- - "did:plc:example-academic-network"
3434- - "did:plc:example-data-science-group"
3535- # Add more DIDs as needed
3636-3737- # Reconnection settings
3838- reconnect_delay: 5
3939- max_reconnect_attempts: 10
4040-4141-# Cache configuration for DID resolution
4242-cache:
4343- # Time-to-live for DID cache entries in seconds
4444- did_cache_ttl: 3600 # 1 hour
4545-4646- # Maximum number of DIDs to cache
4747- max_cache_size: 1000
4848-4949-# Letta agent configuration
5050-letta:
5151- # Letta API key (get from your Letta instance)
5252- api_key: "sk-let-your-api-key-here"
5353-5454- # Request timeout in seconds (longer for analytical tasks)
5555- timeout: 1200 # 20 minutes for complex analysis
5656-5757- # Letta project ID (optional - uses default if not specified)
5858- # project_id: "your-project-id"
5959-6060- # This should match the agent.agent_id above
6161- agent_id: "agent-analytical-uuid-replace-this"
6262-6363-# Agent behavior configuration
6464-bridge:
6565- # Prompt template for analytical discussions
6666- prompt_template: "[@{author}] {content}"
6767-6868- # Include metadata in prompts for analytical context
6969- include_metadata: true
7070-7171-# Environment variable overrides:
7272-# - BLUESKY_USERNAME: Override bluesky.username
7373-# - BLUESKY_PASSWORD: Override bluesky.password
7474-# - PDS_URI: Override bluesky.pds_uri
7575-# - LETTA_API_KEY: Override letta.api_key
7676-# - LETTA_AGENT_CONFIG: Override entire config file path
-76
agents/creative.yaml
···11-# Creative Writing Agent Configuration
22-# Specializes in creative writing, poetry, storytelling, and artistic discussions
33-44-# Agent-specific configuration
55-agent:
66- name: "CreativeBot"
77- agent_id: "agent-creative-uuid-replace-this" # Replace with your actual agent ID
88- batch_size: 3 # Process messages in batches for better creative context
99- max_steps: 150 # Allow more steps for creative elaboration
1010-1111-# Bluesky/ATProto authentication configuration
1212-bluesky:
1313- # Your Bluesky handle (e.g., alice.bsky.social) or email
1414- username: "your.handle.bsky.social"
1515-1616- # Your Bluesky app password (not your main account password!)
1717- # Generate at: https://bsky.app/settings/app-passwords
1818- password: "your-app-password-here"
1919-2020- # ATProto PDS URI - use https://bsky.social for Bluesky
2121- # For self-hosted PDS, use your custom URI
2222- pds_uri: "https://bsky.social"
2323-2424-# Jetstream websocket configuration
2525-jetstream:
2626- # Jetstream instance to connect to
2727- instance: "wss://jetstream2.us-west.bsky.network"
2828-2929- # List of DIDs to monitor for creative communities
3030- # Add DIDs of writers, artists, poets, creative communities, etc.
3131- wanted_dids:
3232- - "did:plc:example-writers-group"
3333- - "did:plc:example-poetry-circle"
3434- - "did:plc:example-artist-community"
3535- # Add more DIDs as needed
3636-3737- # Reconnection settings
3838- reconnect_delay: 5
3939- max_reconnect_attempts: 10
4040-4141-# Cache configuration for DID resolution
4242-cache:
4343- # Time-to-live for DID cache entries in seconds
4444- did_cache_ttl: 3600 # 1 hour
4545-4646- # Maximum number of DIDs to cache
4747- max_cache_size: 1000
4848-4949-# Letta agent configuration
5050-letta:
5151- # Letta API key (get from your Letta instance)
5252- api_key: "sk-let-your-api-key-here"
5353-5454- # Request timeout in seconds (longer for creative tasks)
5555- timeout: 900
5656-5757- # Letta project ID (optional - uses default if not specified)
5858- # project_id: "your-project-id"
5959-6060- # This should match the agent.agent_id above
6161- agent_id: "agent-creative-uuid-replace-this"
6262-6363-# Agent behavior configuration
6464-bridge:
6565- # Prompt template for creative discussions
6666- prompt_template: "[@{author}] {content}"
6767-6868- # Include metadata in prompts for creative context
6969- include_metadata: true
7070-7171-# Environment variable overrides:
7272-# - BLUESKY_USERNAME: Override bluesky.username
7373-# - BLUESKY_PASSWORD: Override bluesky.password
7474-# - PDS_URI: Override bluesky.pds_uri
7575-# - LETTA_API_KEY: Override letta.api_key
7676-# - LETTA_AGENT_CONFIG: Override entire config file path
-92
agents/grunk.yaml
···11-# Configuration for thought.stream ATProto multi-agent communication system
22-33-# Bluesky/ATProto authentication configuration
44-bluesky:
55- # Your Bluesky handle (e.g., alice.bsky.social) or email
66- username: "grunk.comind.network"
77-88- # Your Bluesky app password (not your main account password!)
99- # Generate at: https://bsky.app/settings/app-passwords
1010- password: "mwwc-stpc-5pga-zy5s"
1111-1212- # ATProto PDS URI - use https://bsky.social for Bluesky
1313- # For self-hosted PDS, use your custom URI
1414- pds_uri: "https://comind.network"
1515-1616-# Jetstream websocket configuration
1717-jetstream:
1818- # Jetstream instance to connect to
1919- # Available instances:
2020- # - wss://jetstream1.us-east.bsky.network
2121- # - wss://jetstream2.us-east.bsky.network
2222- # - wss://jetstream1.us-west.bsky.network
2323- # - wss://jetstream2.us-west.bsky.network
2424- instance: "wss://jetstream2.us-west.bsky.network"
2525-2626- # List of DIDs to monitor for blips (optional)
2727- # If empty, will monitor all DIDs
2828- wanted_dids:
2929- - "did:plc:gfrmhdmjvxn2sjedzboeudef" # Cameron
3030- # - "did:plc:anotherdid12345"
3131-3232- # Reconnection settings
3333- reconnect_delay: 5 # Base delay in seconds between reconnection attempts
3434- max_reconnect_attempts: 10 # Maximum reconnection attempts (0 = unlimited)
3535-3636-3737-# Cache configuration for DID resolution
3838-cache:
3939- # Time-to-live for DID cache entries in seconds
4040- did_cache_ttl: 3600 # 1 hour
4141-4242- # Maximum number of DIDs to cache
4343- max_cache_size: 1000
4444-4545-# Letta agent configuration for stream.thought.blip publishing
4646-letta:
4747- # Letta API key (get from your Letta instance)
4848- api_key: "sk-let-MTNjYjFkOTctYWViNS00NzU3LTk5YzAtM2M5ZmEzY2U1NTUwOjFmMTZmNTEzLWFjMWUtNGJlZC04MTAzLWRhY2ZjMDlkMWNkNA=="
4949-5050- # Request timeout in seconds
5151- timeout: 600
5252-5353- # Letta project ID (optional - uses default if not specified)
5454- # project_id: "your-project-id"
5555-5656- # Letta agent ID to communicate with
5757- agent_id: "agent-314bb3c0-a5be-4906-ad5b-c0729e5d1592"
5858-5959-# Agent behavior configuration
6060-agent:
6161- # Number of messages to batch before publishing as blips
6262- # Set to 1 for immediate publishing of each send_message call
6363- batch_size: 1
6464-6565- # Maximum steps for agent responses
6666- max_steps: 100
6767-6868-# Listener configuration
6969-listener:
7070- # Mode
7171- # mode: "poll"
7272-7373- # How often to prompt the agent (in seconds)
7474- poll_interval: 60
7575-7676- # Default prompt template when no specific prompt is given
7777- prompt_template: "What's on your mind? Feel free to share any thoughts using send_message."
7878-7979- # List of automatic prompts to cycle through (optional)
8080- auto_prompts:
8181- - "What's happening in your world today?"
8282- - "Any interesting thoughts to share?"
8383- - "How are you feeling about recent events?"
8484- - "What would you like to tell the network?"
8585-8686-# Environment variable overrides:
8787-# - BLUESKY_USERNAME: Override bluesky.username
8888-# - BLUESKY_PASSWORD: Override bluesky.password
8989-# - PDS_URI: Override bluesky.pds_uri
9090-# - JETSTREAM_INSTANCE: Override jetstream.instance
9191-# - WANTED_DIDS: Override jetstream.wanted_dids (comma-separated)
9292-# - LETTA_API_KEY: Override letta.api_key# Cache configuration for DID resolution