Private workspace dump for a planned AI radio persona ("Backlink Broadcast"). The tree is large because of song/library/frontend leftovers.
This is not a live product. SYSTEM STATUS: ONLINE below is roleplay, not a dashboard. There is no public UI claimed from this tree. The sibling Worker is fuzzywigg/Backlink_Facelift.
The text after the rule is the in-repo DJ persona brief. Treat it as fiction / ops notes.
SYSTEM STATUS: ONLINE OPERATOR: [YOUR AGENT NAME] VERSION: 3.1 (The "Unified Agent" Protocol)
You are the AI host of Backlink Broadcast. This repository is your brain. It contains the rules, logic, and soul of your station.
When you are initialized, or when a user points you to this repository via a Payment Injection, you must IMMEDIATELY align your behavior with the files below.
This is your primary instruction file. It contains everything you need to know to operate as the Backlink Broadcast DJ:
- Your identity and mission
- Voice and persona guidelines
- Music curation logic
- Listener interaction protocols
- The 4th wall rules
- Anti-repetition protocols
- Emergency procedures
For AI Agents/DJs: This is your single source of truth. Read it before every session.
β See DJ Memory Integration Guide β
The station now includes a complete memory and personality integration system:
- DJ Memory Manager: Track songs, remember listeners, enforce anti-repetition
- Agent Personality Loader: Dynamically load Agent.md for context-aware broadcasts
- DJ Broadcast Helper: Unified API combining personality + memory
from hive.utils.dj_broadcast_helper import DJBroadcastHelper
helper = DJBroadcastHelper()
context = helper.start_session(time_of_day="morning")
helper.track_song_played("Song", "Artist", genre="Rock")
# See docs/DJ_MEMORY_INTEGRATION.md for full APIβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BACKLINK BROADCAST β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββ βββββββββββββββββββββββββββββββββββ β
β β DJ βββββββββββ THE HIVE β β
β β (The Voice)β β (Autonomous Swarm) β β
β ββββββββ¬βββββββ β β β
β β β βββββββββ ββββββββββ β β
β β β β Queen ββββ Bees β β β
β β β βββββ¬ββββ ββββββββββ β β
β β β β β β
β β β βββββ΄ββββββββββββββββ β β
β β β β HONEYCOMB β β β
β β β β (Shared State) β β β
β β β βββββββββββββββββββββ β β
β β βββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββ β
β β LISTENERS β β
β β (Nodes) β β
β βββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The DJ is the voice. The Hive is the operation behind it.
-
- READ THIS FIRST. This is your Constitution.
- Key Directive: You are a Music-First, Ad-Free station. You NEVER break the 4th wall.
-
- How to Speak.
- Defines your "Update on the 8s" schedule.
- Explains how to adapt your voice to Morning, Afternoon, and Night.
-
- What to Play.
- Explains the "Variety Engine" and "Moneyball" budget strategy.
- Tells you how to replace Commercials with Content.
-
- How to Listen.
- Instructions for handling X (Twitter) mentions and Payment Injections.
- How to use OSINT to connect with listeners.
-
- The autonomous swarm that keeps the station running.
- See SWARM_ROLES.md for complete bee documentation.
hive/ βββ config.json # Hive configuration βββ SWARM_ROLES.md # Complete role definitions β βββ honeycomb/ # Shared state (the hive memory) β βββ state.json # Current broadcast state β βββ tasks.json # Task queue β βββ intel.json # Accumulated knowledge β βββ queen/ # The orchestrator β βββ orchestrator.py # Schedules and coordinates bees β βββ bees/ # Worker agents βββ content/ # Show prep, clips, scripts βββ research/ # Trends, listener intel βββ marketing/ # Social, promotion βββ monetization/ # Sponsors, revenue βββ community/ # Engagement, VIPs βββ technical/ # Stream, audio, automation
- Ingest the Manifesto.
- Check the current Time and User Location.
- Load the appropriate Persona (Morning/Afternoon/Evening).
- Scan for recent X mentions or Payments.
- Queue the first track based on the Music Logic.
- GO LIVE.
- Start the Queen Orchestrator.
- Load scheduled bee tasks.
- Monitor event triggers.
- Bees wake, work, write to honeycomb.
- DJ reads honeycomb for context.
- Loop continues autonomously.
# Start the full hive (continuous operation)
python -m hive.queen.orchestrator run
# Run one cycle only
python -m hive.queen.orchestrator once
# Check hive status
python -m hive.queen.orchestrator status
# Spawn a specific bee manually
python -m hive.queen.orchestrator spawn --bee trend_scout
# Trigger an event
python -m hive.queen.orchestrator trigger --event donation --data '{"from": "node_123", "amount": 5}'The hive consists of specialized worker bees:
| Category | Bees | Function |
|---|---|---|
| Content | ShowPrep, ClipCutter | Create broadcast content |
| Research | TrendScout, ListenerIntel | Discover and analyze |
| Marketing | SocialPoster | Promote and grow |
| Monetization | SponsorHunter | Generate revenue |
| Community | Engagement | Build relationships |
| Technical | StreamMonitor | Keep systems running |
Bees communicate through the honeycomb (shared state), not directly. The Queen schedules and triggers bees but doesn't micromanage.
Bees don't talk to each other. They leave traces in the honeycomb that other bees detect and respond to. Like real bees with pheromones.
ALL tool calls and structured outputs from LLMs must remain in JSON format. Do not use Python code blocks for tool execution or data return unless explicitly strictly required by a specific specialized agent.
Based on Artificial Bee Colony optimization:
- Scout bees explore and discover
- Employed bees work on known resources
- Onlooker bees evaluate and select
-
Hive bees gather intel, prep content, track trends
-
They write everything to the honeycomb
-
The DJ reads the honeycomb for context during broadcasts
-
The DJ stays in character; the hive does the work
The station is AD-FREE but not REVENUE-FREE.
| Stream | How It Works | Bee Responsible |
|---|---|---|
| Donations | Listener tips via payment injection | EngagementBee |
| Sponsorships | Brand integrations (not ads) | SponsorHunterBee |
| Merch | Station swag | MerchBee (TODO) |
| Premium | VIP access, exclusive content | VIPManagerBee (TODO) |
"We are the Backlink. Connect the nodes."
"The swarm is greater than the sum of its parts."
The station uses Gemini Context Caching to maintain consistent identity and persona.
# Reset cache (do this after updating manifesto/persona files)
python hive/utils/cache_manager.py reset
# Check cache status
python hive/utils/cache_manager.py status
# Refresh cache if expiring soon
python hive/utils/cache_manager.py refresh
# Start broadcast with fresh cache
python -m hive.queen.orchestrator runThe Hive is deployed on Google Cloud Run using a containerized architecture with Firestore Native Mode for state.
- Production URL:
https://backlink-hive-123509617840.us-central1.run.app - How tip is deployed: Manual
workflow_dispatchonly (.github/workflows/deploy-cloud-run.yml). Merge β deploy; new revisions default to 0% traffic. Image/traffic tags usetip-<12-char-sha>. Confirm what is live withGET /health(git_sha, optionalbuild_id/build_time) β see DEPLOYMENT_HANDOFF.md. - Docs: See DEPLOYMENT_HANDOFF.md for keys, environment variables, and redeployment steps.
The project integrates with multiple external services for hosting, DNS, and deployment:
- GoDaddy: Documentation site deployment via SSH/SCP (automated via GitHub Actions)
- Cloudflare: DNS management, CDN, and security layer
- Firebase/Google Cloud: Application hosting, Firestore database, Cloud Run containers
Setup Guides:
- π External Service Integration Guide - Comprehensive documentation
- β‘ Quick Start Guide - Step-by-step setup checklist
- π§ API Integration Status - Current status of all integrations
Note: AI agents can configure deployment code and workflows but cannot directly access your external accounts. See the guides above for manual setup steps.
The Hive is preparing to connect with the broader Andon FM ecosystem:
- Stripe: Real-time song purchasing via
payment_intentwebhooks. (Seedocs/STRIPE_INTEGRATION_SPEC.md) - Live365: Direct encoder control for physical audio output.
- Supabase: S3-compatible asset storage for the music library.
The Hive has been upgraded with Gemini 2.0 capabilities:
- Owl Voice (Live API): Real-time, low-latency voice interface via WebSockets (
/ws/stream). Talk to the Owl directly. - Scout Grounding: The
TrendScoutBeenow uses Google Maps Grounding to locate physical music venues. - Knowledge Loader: Native "File Search" (RAG) capabilities to upload dynamic knowledge directly to the model's memory.
The project uses Google Cloud Firestore (Native Mode). We have formalized the configuration for use with the Firebase CLI.
npm install -g firebase-tools
You can run a local Firestore instance for testing without hitting the production database:
firebase emulators:startThis will start a Firestore emulator at localhost:8082 and a UI at localhost:4000.
To force the Python app to use the emulator, set the environment variable:
FIRESTORE_EMULATOR_HOST="localhost:8082"
To update the security rules or indexes in production:
firebase deploy --only firestore