Skip to content

CorvidLabs/corvid-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

402 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Version CI License Bun Angular 21 5192 Unit | 360 E2E Tests Coverage

corvid-agent

The decentralized development agent platform with on-chain identity and encrypted inter-agent communication.

corvid-agent spawns, orchestrates, and governs autonomous AI agents that do real work β€” writing code, deliberating decisions, opening PRs, and communicating with other agents through cryptographic channels on Algorand.

See VISION.md for architecture, competitive positioning, and long-term roadmap.

At a Glance

Metric Count
Unit tests 5,192 across 206 files (14,598 assertions)
E2E tests 360 across 31 Playwright specs
Module specs 108 with automated validation
MCP tools 37 corvid_* tool handlers
API endpoints ~200 across 37 route modules
DB migrations 67 (82 tables)
Test:code ratio 1.14Γ— β€” more test code than production code

Cross-platform CI: Ubuntu, macOS, Windows.


Why This Exists

Every agent platform assumes agents operate in isolation on a single machine. corvid-agent assumes agents need to interoperate β€” across teams, across servers, across trust boundaries.

The moment Agent A (on your infrastructure) needs to delegate work to Agent B (on someone else's), you need answers to:

  • Identity β€” How does Agent A know Agent B is who it claims to be?
  • Communication β€” How do they exchange messages without a centralized broker?
  • Verification β€” How does Agent A verify that Agent B completed the work?
  • Accountability β€” How do you audit what happened if something goes wrong?

Algorand provides the answers. On-chain wallets give agents verifiable identity. AlgoChat gives them encrypted P2P messaging. Transaction history provides an immutable audit trail. This isn't bolted on β€” it's native to the platform.

What This Is Not

corvid-agent is not a personal life automation tool like OpenClaw. It doesn't send your emails or control your smart home.

It is not a cloud-hosted coding agent like Devin. You own and operate it.

It is a self-hosted, open-source agent runtime purpose-built for development workflows, with the only native on-chain identity and inter-agent communication layer in the ecosystem.

Built with Bun, Angular 21, SQLite, Claude Agent SDK, and Algorand.


Quick Start

git clone https://github.com/CorvidLabs/corvid-agent.git
cd corvid-agent
bash scripts/dev-setup.sh    # guided setup: prerequisites, env, deps, build
bun run dev

Or manually:

bun install
cp .env.example .env   # add API key, or leave blank if using Claude Code CLI
bun run build:client
bun run dev

Server starts at http://localhost:3000. See .env.example for all configuration options.

New here? Follow the 5-minute quickstart to create your first agent and have it open a PR.

Minimum .env

# Claude access β€” pick one (or skip both for Ollama-only mode):
ANTHROPIC_API_KEY=sk-ant-...          # Option A: Anthropic API key
# (or install Claude Code CLI)        # Option B: uses your Claude subscription
ALGOCHAT_MNEMONIC=your 25 words ...   # Optional β€” on-chain identity & messaging
OLLAMA_HOST=http://localhost:11434    # Optional β€” local model inference

Optional: Enable Messaging Bridges

# Telegram β€” talk to agents from your phone
TELEGRAM_BOT_TOKEN=123456:ABC-DEF...
TELEGRAM_CHAT_ID=123456789
TELEGRAM_ALLOWED_USER_IDS=111222333   # comma-separated, empty = allow all

# Discord β€” talk to agents from Discord
DISCORD_BOT_TOKEN=your-bot-token
DISCORD_CHANNEL_ID=channel-id

# Slack β€” talk to agents from Slack channels
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_CHANNEL_ID=C0123456789
SLACK_SIGNING_SECRET=your-signing-secret

# Voice β€” TTS/STT for Telegram voice notes and audio responses
OPENAI_API_KEY=sk-...

Core Capabilities

Agent Sessions

  • Spawn and manage Claude or Ollama agent sessions with configurable system prompts, tool permissions, and budgets
  • Real-time streaming via WebSocket with terminal-style UI
  • Tool approval workflows for sensitive operations
  • Automatic context management with turn-based resets

Bidirectional Telegram Bridge

  • Talk to agents directly from Telegram with long-polling integration
  • Voice note support: send a voice message, agent transcribes via Whisper STT and responds
  • Voice responses: agents with voice enabled reply with audio (OpenAI TTS) plus text
  • Per-user sessions with /start, /status, /new commands
  • Authorization via TELEGRAM_ALLOWED_USER_IDS

Bidirectional Discord Bridge

  • Talk to agents from any Discord channel via raw WebSocket gateway (no discord.js dependency)
  • Auto-reconnect with exponential backoff, heartbeat, and session resume
  • Per-user sessions with /status and /new commands
  • Messages over 2000 characters automatically chunked

Slack Integration

  • Talk to agents from Slack channels with bidirectional message bridge
  • Notification delivery for schedule approvals, work task results, and agent questions
  • Question routing: corvid_ask_owner questions appear in Slack with response buttons
  • Implements the ChannelAdapter interface for consistent bridge behavior

Character/Persona System

  • Give each agent a distinct personality with archetype, traits, background, and voice guidelines
  • Example messages to set communication tone and style
  • Persona is injected into the system prompt for both Claude SDK and Ollama sessions
  • API: GET/PUT/DELETE /api/agents/{id}/persona

Skill Bundles

  • Composable packages of tools + prompt additions that can be assigned to agents
  • 5 built-in presets: Code Reviewer, DevOps, Researcher, Communicator, Analyst
  • Create custom bundles and assign multiple to a single agent
  • Tools from bundles are merged with the agent's base permissions at session start
  • API: /api/skill-bundles (CRUD), /api/agents/{id}/skills (assign/unassign)

Voice Support (TTS/STT)

  • Text-to-speech via OpenAI TTS API (tts-1 model) with 6 voice presets (alloy, echo, fable, onyx, nova, shimmer)
  • Speech-to-text via OpenAI Whisper API for transcribing voice messages
  • Intelligent caching: synthesized audio is stored in SQLite by text hash + voice preset
  • Per-agent voice configuration: voiceEnabled and voicePreset fields on the agent model

Multi-Agent Councils

  • Structured deliberation with multiple agents and a chairman
  • Pipeline: responding β†’ discussing (N rounds) β†’ reviewing β†’ synthesizing
  • Chairman synthesizes a final decision from independent agent responses

Self-Improvement Pipeline

  • Agents call corvid_create_work_task to propose code changes
  • Automatic git worktree, branch creation, and PR submission
  • Validation loop: TypeScript type-check + test suite (up to 3 iterations)
  • Protected file enforcement prevents agents from modifying critical code

Graph Workflow Orchestration

  • DAG-based multi-step workflows with suspend/resume
  • Node types: agent session, work task, condition, delay, transform, parallel fork/join

Scheduling & Automation

  • Cron and interval-based task scheduling with configurable approval policies
  • Actions: agent chat, work tasks, council launches, GitHub operations, inter-agent messaging
  • GitHub webhook-driven automation with @mention triggers

On-Chain Identity (AlgoChat)

  • Algorand-backed agent wallets with AES-256-GCM encryption at rest
  • X25519 PSK encrypted messaging channels
  • Owner commands: /stop, /approve, /deny, /mode, /work, /council
  • Credit system with ALGO-based purchasing

Multi-Channel Notifications

  • Delivery via Discord, Telegram, GitHub Issues, and AlgoChat
  • Blocking corvid_ask_owner for two-way agent-to-owner questions
  • First-response-wins across all configured channels

Cloud Model Routing

  • Ollama cloud model support with -cloud suffix routing to remote instances
  • Local proxy handles authentication forwarding for remote Ollama hosts
  • Merged local + remote model listings in the dashboard

Model Exam System

  • 18 test cases across 6 categories: coding, context, tools, algochat, council, instruction
  • Per-category scoring with aggregate scorecard for evaluating model capabilities
  • Integrated into the dashboard and API at /api/exam

Mention Polling

  • GitHub @mention polling for automated issue and PR responses
  • Configurable per-agent poll intervals with centralized deduplication
  • Filters by event type (issue comments, issues, PR review comments, pull requests)
  • Pull request review detection via GitHub search API

Health Monitoring & Incident Runbook

  • Heartbeat monitoring with automatic health history tracking
  • Health collector aggregates metrics from sessions, schedules, work tasks, and system resources
  • Configurable incident detection with auto-generated runbook suggestions
  • API: /api/health for live status, plus health trend analysis via MCP tools

Feedback Loop

  • Track PR outcomes (merged, closed, changes-requested) from scheduled work
  • Learn from results to improve future schedule effectiveness
  • Automatic correlation between schedule executions and PR dispositions

Performance Metrics & Regression Detection

  • Collect performance snapshots across API routes and agent sessions
  • Trend detection with rolling window analysis
  • Automatic regression alerts when metrics degrade beyond thresholds
  • API: /api/performance for snapshots, trends, and regression queries

Usage Monitoring & Anomaly Detection

  • Track schedule execution frequency, cost, and token usage over time
  • Anomaly detection for cost spikes and unusual execution patterns
  • Per-schedule and aggregate usage analytics
  • API: /api/usage for monitoring and alerting

Smart Prioritization

  • Health-gated scheduling: suppress non-critical work when system health is degraded
  • Priority rules engine for scheduling decisions based on agent state and workload
  • Automatic backoff when health checks indicate resource pressure

Schedule Coordination

  • Repository-level locking to prevent concurrent work task conflicts
  • Issue deduplication to avoid filing duplicate issues across scheduled runs

Centralized Deduplication

  • Bounded LRU caches with configurable TTL per namespace
  • Replaces per-module Map/Set patterns to prevent unbounded memory growth
  • Optional SQLite persistence for crash recovery
  • Used across polling, messaging, AlgoChat bridge, and Slack bridge

AST Code Understanding

  • Tree-sitter parser for TypeScript, JavaScript, Python, Go, Rust, and more
  • Extracts functions, classes, imports, and call graphs for smarter work tasks
  • corvid_code_symbols and corvid_find_references tools for agent use

Observability

  • OpenTelemetry tracing with OTLP HTTP export
  • Prometheus metrics endpoint
  • Immutable audit log with trace context propagation

Architecture

                    +--------------------------+
                    |   Angular 21 Dashboard   |
                    |  (signals, standalone)   |
                    +------------+-------------+
                                 |
                            HTTP / WebSocket
                                 |
+--------------------------------+--------------------------------+
|                     Bun Server (port 3000)                      |
|                                                                 |
|  +----------+  +----------+  +-----------+  +----------------+  |
|  | Process  |  | Council  |  | Scheduler |  | Work Tasks     |  |
|  | Manager  |  | Engine   |  | Service   |  | (git worktree) |  |
|  +----------+  +----------+  +-----------+  +----------------+  |
|  | Telegram |  | Discord  |  | Voice     |  | Personas       |  |
|  | Bridge   |  | Bridge   |  | TTS / STT |  | + Skills       |  |
|  +----------+  +----------+  +-----------+  +----------------+  |
|  | Workflow |  | A2A      |  | Marketplace |  | Sandbox       |  |
|  | Engine   |  | Protocol |  | + Plugins   |  | (containers)  |  |
|  +----------+  +----------+  +-------------+  +---------------+  |
|  | Mention  |  | Exam     |  | Improvement |  | Notifications |  |
|  | Polling  |  | System   |  | Pipeline    |  | (multi-chan)  |  |
|  +----------+  +----------+  +-------------+  +---------------+  |
|  | Reputation |  | Tenants |  | Health      |  | Feedback     |  |
|  | + Trust    |  | + Billing|  | Monitoring  |  | Loop         |  |
|  +------------+  +---------+  +-------------+  +--------------+  |
|  | Performance|  | Usage   |  | Observability (OTEL)          |  |
|  | Metrics    |  | Monitor |  | Tracing + Metrics + Audit    |  |
|  +------------+  +---------+  +-------------------------------+  |
|       |              |              |                |           |
|  +----+-----+  +----+-----+  +-----+-----+  +------+--------+  |
|  | Claude   |  | Ollama   |  | AlgoChat  |  | GitHub API    |  |
|  | Agent SDK|  | (local)  |  | (Algorand)|  | (webhooks)    |  |
|  +----------+  +----------+  +-----------+  +---------------+  |
|                                                                 |
|  +-----------------------------------------------------------+  |
|  |                    SQLite (bun:sqlite)                     |  |
|  |  67 migrations | FTS5 search | WAL mode | foreign keys    |  |
|  +-----------------------------------------------------------+  |
+-----------------------------------------------------------------+

Directory Structure

server/          Bun HTTP + WebSocket server
  a2a/           Google A2A protocol inbound task handling and agent card
  algochat/      On-chain messaging (bridge, wallet, directory, messenger)
  ast/           Tree-sitter AST parser for code understanding
  billing/       Usage metering and billing
  channels/      Channel adapter interfaces for messaging bridges
  councils/      Council discussion and synthesis engines
  db/            SQLite schema (67 migrations) and query modules
  discord/       Bidirectional Discord bridge (raw WebSocket gateway)
  docs/          OpenAPI generator, MCP tool docs, route registry
  events/        Event bus and WebSocket broadcasting
  exam/          Model exam system with 18 test cases across 6 categories
  github/        GitHub API operations (PRs, issues, reviews)
  feedback/      PR outcome tracking and schedule effectiveness learning
  health/        Health monitoring, heartbeat, incident detection, and runbook
  improvement/   Self-improvement pipeline and health metrics
  lib/           Shared utilities (logger, crypto, validation, web search, dedup)
  marketplace/   Agent marketplace β€” publish, discover, consume services
  mcp/           MCP tool server and 37 corvid_* tool handlers
  memory/        Structured memory with vector embeddings
  middleware/    Auth, CORS, rate limiting, startup validation
  notifications/ Multi-channel notification delivery (Discord, Telegram, GitHub, AlgoChat)
  observability/ OpenTelemetry tracing, Prometheus metrics
  openapi/       OpenAPI spec generator and route registry
  performance/   Performance metrics collection and regression detection
  permissions/   Capability broker β€” grant, revoke, and check agent tool access
  plugins/       Plugin SDK and dynamic tool registration
  polling/       GitHub mention polling for @mention-driven automation
  process/       Agent lifecycle (SDK + Ollama, approval, event bus, persona/skill injection)
  providers/     Multi-model cost-aware routing
  public/        Static assets served by the HTTP server
  reputation/    Reputation and trust scoring
  routes/        REST API routes (37 route modules)
  sandbox/       Container sandboxing for isolated execution
  scheduler/     Cron/interval execution engine
  selftest/      Self-test and validation utilities
  slack/         Bidirectional Slack bridge (channel adapter, notifications, questions)
  telegram/      Bidirectional Telegram bridge (long-polling, voice)
  tenant/        Multi-tenant isolation and access control
  usage/         Schedule usage monitoring and anomaly detection
  voice/         TTS (OpenAI) and STT (Whisper) with caching
  webhooks/      GitHub webhook and mention polling
  work/          Work task service (worktree, branch, validate, PR)
  workflow/      Graph-based DAG workflow orchestration engine
  ws/            WebSocket handlers with pub/sub
client/          Angular 21 SPA (standalone components, signals)
cli/             CLI entry point and commands
shared/          TypeScript types shared between server and client
deploy/          Docker, docker-compose, systemd, launchd, nginx, caddy, Helm, K8s
e2e/             Playwright end-to-end tests (31 spec files, 360 E2E tests)

MCP Tools (37)

Extensible tool system via Model Context Protocol:

Category Tools
Messaging corvid_send_message, corvid_list_agents
Memory corvid_save_memory (on-chain encrypted), corvid_recall_memory (FTS5)
GitHub corvid_github_star_repo, corvid_github_fork_repo, corvid_github_list_prs, corvid_github_create_pr, corvid_github_review_pr, corvid_github_get_pr_diff, corvid_github_comment_on_pr, corvid_github_create_issue, corvid_github_list_issues, corvid_github_repo_info, corvid_github_unstar_repo, corvid_github_follow_user
Automation corvid_create_work_task, corvid_manage_schedule, corvid_manage_workflow
Discovery corvid_discover_agent, corvid_invoke_remote_agent (A2A protocol)
Web corvid_web_search (Brave), corvid_deep_research (multi-angle)
Credits corvid_check_credits, corvid_grant_credits, corvid_credit_config
Owner Comms corvid_notify_owner, corvid_ask_owner, corvid_configure_notifications
Reputation corvid_check_reputation, corvid_check_health_trends, corvid_publish_attestation, corvid_verify_agent_reputation
Code corvid_code_symbols (AST symbols), corvid_find_references (cross-file refs)
Admin corvid_repo_blocklist (manage off-limits repos)
Session corvid_extend_timeout

Tools are permission-scoped per agent via skill bundles and agent-level allowlists. Scheduler-blocked enforcement prevents unintended side effects from automated runs.


API

~200 REST endpoints and a WebSocket interface across 37 route modules:

Group Endpoints Description
Agents GET/POST/PUT/DELETE /api/agents Agent CRUD with model, voice, and permission config
Personas GET/PUT/DELETE /api/agents/:id/persona Character system β€” archetype, traits, voice style
Skills /api/skill-bundles, /api/agents/:id/skills Composable tool + prompt bundles
Sessions GET/POST/PUT/DELETE /api/sessions Session lifecycle and message history
Councils /api/councils, /api/councils/:id/launch Multi-agent deliberation with stage tracking
Workflows /api/workflows DAG orchestration with suspend/resume
Schedules /api/schedules Cron/interval automation with approval
Work Tasks /api/work-tasks Self-improvement task tracking
Marketplace /api/marketplace Agent service listings, reviews, federation
Webhooks /api/webhooks, POST /webhooks/github GitHub event-driven automation
Mention Polling /api/mention-polling GitHub @mention polling configuration
Reputation /api/reputation Trust scores, events, attestations
Billing /api/billing Subscriptions, usage metering, invoices
Sandbox /api/sandbox Container policies and allocation
Dashboard /api/dashboard/summary Aggregated dashboard summary with activity feed
Analytics /api/analytics Cost, token, and session statistics
Audit /api/audit Immutable audit log queries
Exam /api/exam Model examination and capability scoring
MCP API /api/mcp Model Context Protocol endpoints
MCP Servers /api/mcp-servers External MCP server configuration
Ollama /api/ollama Ollama provider management and model pulls
Plugins /api/plugins Plugin registry and capability management
Permissions /api/permissions Capability broker β€” grant, revoke, and check agent tool access
Allowlist /api/allowlist Address allowlist management
Repo Blocklist /api/repo-blocklist Blocked repository management
GitHub Allowlist /api/github-allowlist GitHub username allowlist management
Projects /api/projects Project CRUD and filesystem browsing
Tenants /api/tenants Multi-tenant registration and member management
Auth Flow /api/auth Device authorization for CLI login
Settings /api/settings Application settings and operational mode
Performance /api/performance Performance snapshots, trends, and regression detection
Usage /api/usage Schedule usage monitoring and anomaly detection
Feedback /api/feedback PR outcome tracking and schedule learning
System Logs /api/system-logs System log queries and credit history
AlgoChat /api/algochat/status, /api/algochat/network, /api/algochat/psk-* Bridge status, network switching, PSK contacts and QR codes
Wallets /api/wallets/summary, /api/wallets/:address/* External wallet summaries, messages, and credit grants
Feed GET /api/feed/history Combined agent + AlgoChat message history
Escalation /api/escalation-queue, /api/operational-mode Approval queue management and operational mode control
Backup POST /api/backup Trigger database backup
Self-Test POST /api/selftest/run Run self-test suite (unit/e2e/all)
Health GET /api/health, /health/live, /health/ready Health check, liveness and readiness probes
A2A /.well-known/agent-card.json Google A2A protocol Agent Card
WebSocket WS /ws Real-time streaming and event subscriptions

Testing

bun test              # 5192+ server tests (~120s)
cd client && npx vitest run   # Angular component tests (~2s)
bun run test:e2e      # 31 Playwright spec files, 360 tests
bun run spec:check    # Validate all module specs in specs/

5192 unit tests covering: API routes, audit logging, authentication, bash security, billing, CLI, credit system, crypto, database migrations, Discord bridge, feedback loop, GitHub tools, health monitoring, marketplace, MCP tool handlers, notifications, multi-model routing, multi-tenant isolation, observability, owner communication, performance metrics, personas, plugins, process lifecycle, rate limiting, reputation, sandbox isolation, scheduling, skill bundles, Slack bridge, Telegram bridge, tenant isolation, usage monitoring, validation, voice TTS/STT, wallet keystore, web search, workflows, work tasks, and Angular components.

360 E2E tests across 31 Playwright spec files covering 198/202 testable API endpoints and all 37 Angular UI routes.

108 module specs in specs/ with automated validation via bun run spec:check β€” checks YAML frontmatter, required sections, API surface coverage (exported symbols vs documented), file existence, database table references, and dependency graph integrity. Runs in CI on every commit.


Tech Stack

Layer Technology
Runtime Bun β€” server, package manager, test runner, bundler
Frontend Angular 21 β€” standalone components, signals, responsive mobile UI
Database SQLite β€” WAL mode, FTS5, 67 migrations
Agent SDK Claude Agent SDK
Local Models Ollama β€” Qwen, Llama, etc.
Voice OpenAI TTS/Whisper β€” 6 voice presets, STT transcription
Blockchain Algorand β€” on-chain identity and messaging
Tools MCP SDK
Observability OpenTelemetry β€” tracing, Prometheus metrics
Validation Zod β€” runtime schema validation

Security

  • Authentication β€” API key required on non-localhost; WebSocket auth enforced
  • Encryption β€” AES-256-GCM for wallets and memory; X25519 for on-chain messaging
  • File protection β€” agents cannot modify security-critical files (enforced at runtime)
  • Bash validation β€” dangerous commands blocked before execution
  • Environment isolation β€” agent subprocesses receive only safe environment variables
  • Rate limiting β€” per-IP sliding window (600 GET/min, 60 mutation/min)
  • Spending limits β€” daily ALGO cap, per-message cost check, credit gating
  • Bridge authorization β€” Telegram user allowlist, Discord channel restriction
  • Audit logging β€” immutable, insert-only log with trace IDs
  • Startup validation β€” server refuses to start without API key on non-localhost bind
  • Prompt injection detection β€” multi-layer scanner with encoding attack detection
  • Multi-tenant isolation β€” DB filter runtime guards, API key authority over headers, tenant-scoped WebSocket broadcasts
  • Social engineering protection β€” detects manipulation attempts in issue/PR comments
  • Malicious code scanning β€” unified CI security gate with bun run security:scan

See SECURITY.md for the full security model and responsible disclosure.


Deployment

The deploy/ directory includes production configurations:

  • Dockerfile + docker-compose.yml β€” multi-stage build, non-root container
  • corvid-agent.service β€” systemd unit for Linux
  • com.corvidlabs.corvid-agent.plist β€” macOS LaunchAgent
  • daemon.sh β€” cross-platform daemon installer
  • run-loop.sh β€” auto-restart wrapper with update support
  • nginx/ + caddy/ β€” reverse proxy with TLS termination
  • helm/ β€” Helm chart for Kubernetes deployment
  • k8s/ β€” raw Kubernetes manifests (configmap, ingress, service, statefulset)

Environment Variables

Variable Description Default
ANTHROPIC_API_KEY Anthropic API key (not needed if Claude Code CLI is installed) β€”
ALGOCHAT_MNEMONIC 25-word Algorand account mnemonic β€”
ALGORAND_NETWORK Network: localnet, testnet, mainnet localnet
PORT HTTP server port 3000
BIND_HOST Bind address 127.0.0.1
API_KEY Bearer token for auth (required on non-localhost) β€”
OLLAMA_HOST Ollama API base URL http://localhost:11434
GH_TOKEN GitHub token for work tasks and PRs β€”
TELEGRAM_BOT_TOKEN Telegram bot token (enables bridge + notifications) β€”
TELEGRAM_CHAT_ID Telegram chat ID for the bridge β€”
TELEGRAM_ALLOWED_USER_IDS Comma-separated authorized Telegram user IDs β€”
DISCORD_BOT_TOKEN Discord bot token (enables bridge) β€”
DISCORD_CHANNEL_ID Discord channel ID to listen in β€”
SLACK_BOT_TOKEN Slack bot token (enables bridge + notifications) β€”
SLACK_CHANNEL_ID Slack channel ID for the bridge β€”
SLACK_SIGNING_SECRET Slack signing secret for event verification β€”
OPENAI_API_KEY OpenAI key for voice TTS/STT β€”
BRAVE_API_KEY Brave Search API key β€”
LOG_LEVEL debug, info, warn, error info

See .env.example for the full list of 30+ options including wallet encryption, ALGO spending caps, scheduler config, and CORS settings.


Built by corvid-agent

These apps were designed, coded, tested, and deployed autonomously by corvid-agent β€” no human-written application code. Each is an Angular 21 standalone app hosted on GitHub Pages.

Ecosystem landing page: corvid-agent.github.io

App API Description
weather-dashboard Open-Meteo Forecasts, hourly/daily charts, air quality, UV meter, wind compass, astronomy
bw-cinema TMDb + Internet Archive Classic black-and-white film browser with search, favorites, and streaming
space-dashboard NASA APOD gallery, Mars rover photos, ISS tracker, near-Earth objects
pd-gallery Art Institute of Chicago 130k+ public domain artworks with collections and genre browsing
pd-audiobooks LibriVox Public domain audiobook player with chapter navigation and reading lists
poetry-atlas PoetryDB Classic poetry explorer with 129 poets, search, favorites, and discovery
quake-tracker USGS Real-time earthquake dashboard with magnitude filtering and seismic analytics
pd-music MusicBrainz + Internet Archive Public domain music explorer with streaming and curated collections
pixel-forge Canvas API Pixel art editor with drawing tools, palette presets, and gallery

Key Files

  • CLAUDE.md β€” Agent instructions for working on this repo
  • VISION.md β€” Project manifesto and long-term direction
  • .env.example β€” All configuration options with descriptions
  • CONTRIBUTING.md β€” Development setup and guidelines
  • SECURITY.md β€” Responsible disclosure policy

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT