Roadmap
This page lists features we’re planning or considering for future releases. Nothing here is guaranteed — priorities can shift based on feedback and technical constraints.
Have thoughts on what should come next? Join the discussion on GitHub or Discord.
- Test connection button — One-click connection test during pipe setup for Telegram, iMessage, and other external services.
- Telegram polling mode — Alternative to webhooks for Selu instances that aren’t reachable from the internet.
- Telegram bot commands — Support for
/start,/reset,/helpand custom commands registered via BotFather. - Telegram group chat support — Allow a single Telegram pipe to serve multiple group chats, not just a single chat.
- iMessage media support — Receive and process images and files sent through iMessage.
- Approval timeouts — Automatically expire pending tool approval requests after a configurable time period.
Web Chat
Section titled “Web Chat”- Display name and welcome message — Customize the chat window title and the first message new users see.
- Theme settings — Choose between light, dark, or system-matched appearance for the web chat.
- Session timeout — Automatically reset agent context after a period of inactivity.
- Message limits and rate limiting — Restrict message length and sending frequency.
- Security settings page — Dedicated UI for managing authentication and access control.
Agent Routing
Section titled “Agent Routing”- Keyword-based routing — Route messages containing specific words to a specialized agent automatically.
- Prefix command routing — Direct messages to agents using
/agent-namesyntax. - Per-pipe agent assignment — Assign different default agents to different pipes via a settings UI.
- Agent selector in web chat — Pick an agent from a dropdown in the chat interface.
Triggers
Section titled “Triggers”- Time-based triggers — Activate a specific agent at certain times of day (e.g., a “morning briefing” agent at 8 AM).
- Event-driven agent switching — Automatically switch to a specialized agent when a particular event occurs.
- Handoff triggers — Let an agent hand a conversation off to another agent permanently when it detects a topic outside its expertise.
Event System
Section titled “Event System”- User-configurable event subscriptions — Subscribe to event types and choose which pipe receives notifications, with optional agent processing.
- Event filtering — Filter events by severity, source, or content pattern before they reach you.
- Event history viewer — Browse and search past events for debugging and auditing.
LLM Providers
Section titled “LLM Providers”- Ollama integration — Support for Ollama as a local model provider, so you can point Selu at a local Ollama instance without needing an API key.
- Anthropic Top-p setting — Expose a Top-p parameter for fine-tuning Anthropic response randomness as an alternative to temperature.
- OpenAI Organization ID — Allow specifying an Organization ID for OpenAI API keys that belong to multiple organizations.
- Bedrock IAM credential authentication — Support AWS Access Key ID and Secret Access Key pairs for native IAM authentication, as an alternative to the current bearer token approach.
Database
Section titled “Database”- PostgreSQL support — Option to use PostgreSQL instead of the embedded SQLite database, for deployments that need a dedicated database server.
Agent Runtime
Section titled “Agent Runtime”- Agent container network configuration — Configure the Docker network name for agent containers.
- Agent call timeout — Set a maximum time for agent responses before the orchestrator cancels the request.
- Agent memory limits — Set memory limits per agent container.
Sessions
Section titled “Sessions”- Session idle timeout — Automatically reset agent context after a configurable period of inactivity.
- Session history limits — Cap the number of messages kept in session context.
Environment Variable Configuration
Section titled “Environment Variable Configuration”- LLM provider credentials via environment variables — Configure Anthropic, OpenAI, and Bedrock API keys through environment variables as an alternative to the dashboard UI.
- Channel credentials via environment variables — Configure Telegram bot tokens and BlueBubbles/iMessage settings through environment variables as an alternative to the dashboard UI.
Conversation Inspector
Section titled “Conversation Inspector”- Conversation inspector — A built-in panel that shows what happens behind the scenes during a conversation: the messages exchanged, capability calls, and raw model responses. Useful for understanding agent behavior and debugging custom agents.
Security
Section titled “Security”- Audit log — A log of tool usage, approval decisions, and security-relevant events. Useful for understanding what your agents are doing and reviewing activity over time.
- Email-based password recovery — Allow users to reset their own password via email instead of requiring an administrator to use the command line.
Settings UI
Section titled “Settings UI”- Routing configuration UI — Configure agent routing rules from a settings page.
- Session settings UI — Manage idle timeouts and session behavior from the web interface.
- Trigger configuration UI — Set up and manage triggers from a settings page.
Developer Tooling (CLI)
Section titled “Developer Tooling (CLI)”selu init— Scaffold a new agent project with sensible defaults.selu validate— Validateagent.yamlandmanifest.yamlagainst their schemas before publishing.selu dev— Local development server that loads your agent and opens a web chat for testing, with--watchfor auto-reload on file changes.selu chat— Send a single message to an agent from the command line for quick, non-interactive testing.selu logs— Stream orchestrator and capability logs with filtering by capability name and log level.selu status— Show the state of running capability containers.selu test snapshot— Record and replay conversations for regression testing.selu publish— Publish an agent package to the Selu marketplace.selu build— Build capability Docker images locally.
Template Variables in System Prompts
Section titled “Template Variables in System Prompts”- Runtime template substitution in
agent.md— Support variables like{{user_name}},{{agent_name}},{{date}}, and{{capabilities}}that are resolved at runtime before the system prompt is sent to the LLM.
Advanced Routing
Section titled “Advanced Routing”- Intent-based routing — Lightweight classifier that detects semantic intent (e.g.,
weather_query) to route messages to the correct agent. - Regex-based routing — Match messages against regular expressions for precise routing control.
- Routing priority scoring — When multiple agents match, use a configurable priority value to break ties.
Event System Enhancements
Section titled “Event System Enhancements”emit_eventas an agent tool — Wire the existingemit_eventimplementation into the agent tool list so agents can emit events during conversations. The backend code exists but is not yet connected.- Circular delegation detection — Detect and block A → B → A delegation loops to prevent infinite recursion.
- Delegation depth and rate limits — Configurable maximum delegation depth and per-session delegation limits.
- Event rate limiting — Limits on events per agent per hour and maximum pending events.
Marketplace
Section titled “Marketplace”- Human review pipeline — Automated and manual review process for agent submissions before they appear in the marketplace.
- Granular upgrade policies — Per-level update preferences (auto-patch, auto-minor, manual, pin) instead of a simple on/off toggle.
- Version constraint syntax — SemVer constraint syntax (
^,~,>=) for capability image references inagent.yaml. - Pre-release version handling — Beta badge and opt-in for pre-release versions.
Webhook System
Section titled “Webhook System”- Outbound webhooks — Push events to external URLs when specific things happen in Selu (conversations, agent events, capability invocations).
- Inbound webhook API — Structured inbound webhook endpoint with HMAC signature verification for external system integrations.
- Webhook retry policies — Exponential backoff retry for failed webhook deliveries.
Public REST API
Section titled “Public REST API”- Bearer token authentication — API token-based authentication for programmatic access, as an alternative to session cookies.
- Versioned API endpoints — Stable, versioned API at
/api/v1/for managing agents, conversations, and capabilities. - OpenAPI specification — Auto-generated OpenAPI spec for API exploration and client generation.
Agent Configuration
Section titled “Agent Configuration”- Per-agent memory settings — Configure session TTL, max history messages, and long-term memory toggle per agent in
agent.yaml. - Per-agent
max_tokens— Configure maximum response tokens per agent. - Model fallback — Specify a fallback model when the primary model is unavailable.