Next-generation agentic orchestration tool for developers and power users
Radium is a high-performance, Rust-based platform for creating, managing, and deploying autonomous agents. Built with safety and efficiency in mind, Radium provides a robust framework for orchestrating complex agent workflows.
# Clone the repository
git clone https://github.com/Unicorn/Radium.git
cd RAD
# Build the project
cargo build --release
# Or use npm scripts
npm run build
The Radium server is automatically embedded in client applications (CLI, TUI, Desktop). You can also run it standalone:
# Run the standalone server
npm run server
# Or directly with Cargo
cargo run --bin radium-core
# Initialize a workspace
radium init
# Create a plan
radium plan --input "Build a web app"
# Execute the plan
radium craft <plan-id>
# Use structured output with JSON schema
rad step agent-id "Extract user data" --response-format json-schema --response-schema user-schema.json
npm run desktop
The desktop app automatically starts an embedded server on launch.
Radium uses a modular monorepo structure:
crates/radium-core: Core backend with gRPC server and orchestrationapps/cli: Command-line interfaceapps/tui: Terminal user interfaceapps/desktop: Tauri-based desktop applicationpackages/: Shared TypeScript packages for web/desktopRadium includes automatic server lifecycle management:
See Embedded Server Documentation for details.
Radium uses a declarative TOML-based configuration system for defining AI agents. Agents are automatically discovered from configured directories and can be managed through the CLI.
Create an agent configuration file at agents/core/my-agent.toml:
[agent]
id = "my-agent"
name = "My Agent"
description = "A custom agent for specific tasks"
prompt_path = "prompts/agents/core/my-agent.md"
engine = "gemini"
model = "gemini-2.0-flash-exp"
reasoning_effort = "medium"
[agent.persona]
[agent.persona.models]
primary = "gemini-2.0-flash-exp"
fallback = "gemini-2.0-flash-thinking"
premium = "gemini-1.5-pro"
[agent.persona.performance]
profile = "balanced"
estimated_tokens = 1500
Create the corresponding prompt file at prompts/agents/core/my-agent.md:
# My Agent
## Role
Define the agent's role and responsibilities here.
## Instructions
Provide step-by-step instructions for the agent.
Radium supports self-hosted AI models (Ollama, vLLM, LocalAI) for cost savings, data privacy, and air-gapped environments. See the Self-Hosted Models Documentation for setup guides, configuration examples, and troubleshooting.
Quick Start:
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2
# Configure agent to use local model
export UNIVERSAL_BASE_URL="http://localhost:11434/v1"
# List all discovered agents
rad agents list
# Search for agents
rad agents search "architecture"
# Get agent information
rad agents info my-agent
# Validate agent configurations
rad agents validate
# Create a new agent template
rad agents create my-agent "My Agent" --category core
The MCP Proxy Server provides centralized access to multiple MCP (Model Context Protocol) servers through a single endpoint, with load balancing, failover, security, and tool aggregation.
# Initialize proxy configuration
rad mcp proxy init
# Start the proxy server
rad mcp proxy start
# Check status
rad mcp proxy status
# Stop the proxy
rad mcp proxy stop
See MCP Proxy Documentation for detailed setup and configuration.
Radium's extension system allows you to package and share reusable agent configurations, MCP servers, custom commands, and hooks. Extensions enable the community to share workflows, tools, and configurations.
# Install an extension
rad extension install ./my-extension
# List installed extensions
rad extension list
# Get extension information
rad extension info my-extension
# Create a new extension
rad extension create my-extension --author "Your Name" --description "My extension"
Context files (GEMINI.md) provide persistent instructions to agents without repeating them in every prompt. They support hierarchical loading (global, project, subdirectory) and can import other files using @file.md syntax.
Create a context file at your project root:
# Project Context
This project uses Rust and follows these guidelines:
- Use `cargo fmt` for formatting
- Write comprehensive tests for all public APIs
- Document all public types and functions
@docs/coding-standards.md
# List all context files in workspace
rad context list
# Show which context files would be loaded for a path
rad context show src/
# Validate all context files
rad context validate
Radium's orchestration system provides intelligent, model-agnostic task routing that automatically selects and coordinates specialist agents without requiring manual agent selection.
Orchestration is enabled by default in the TUI. Simply type naturally without command prefixes:
You: I need to refactor the authentication module
π€ Analyzing...
π Invoking: senior-developer
β
Complete (2.3s)
Assistant: I've refactored the authentication module...
/chat or /agents commands~/.radium/orchestration.tomlControl orchestration via TUI commands:
# Show current status
/orchestrator
# Enable/disable
/orchestrator toggle
# Switch provider
/orchestrator switch gemini
/orchestrator switch claude
/orchestrator switch openai
Radium's Policy Engine provides fine-grained control over tool execution to ensure security and prevent unwanted operations. Configure workspace-specific and enterprise-ready security policies with rule-based enforcement.
# Initialize a default policy file
rad policy init
# List all policy rules
rad policy list
# Check if a tool would be allowed
rad policy check read_file config.toml
# Validate policy file syntax
rad policy validate
Create .radium/policy.toml in your workspace:
approval_mode = "ask"
[[rules]]
name = "Allow safe file operations"
priority = "user"
action = "allow"
tool_pattern = "read_*"
[[rules]]
name = "Require approval for file writes"
priority = "user"
action = "ask_user"
tool_pattern = "write_*"
[[rules]]
name = "Deny dangerous shell commands"
priority = "admin"
action = "deny"
tool_pattern = "run_terminal_cmd"
arg_pattern = "rm -rf *"
Radium's workflow behavior system enables dynamic execution control, allowing agents to adapt to changing conditions, handle errors gracefully, and coordinate with other agents.
Workflow behaviors are controlled via a behavior.json file placed at .radium/memory/behavior.json:
{
"action": "loop",
"reason": "Tests failing, need to retry"
}
Radium supports multiple AI providers through a unified engine abstraction layer. You can list, configure, and switch between different engines seamlessly.
# List all available engines
rad engines list
# Show detailed information about an engine
rad engines show gemini
# Check authentication status
rad engines status
# Set default engine
rad engines set-default gemini
# Check engine health
rad engines health
gemini): Google's Gemini models (gemini-pro, gemini-2.0-flash-exp)claude): Anthropic's Claude models (claude-3-opus, claude-3-sonnet, claude-3-haiku)openai): OpenAI GPT models (gpt-4, gpt-4-turbo, gpt-3.5-turbo)mock): Testing engine for developmentSet up API keys for each provider:
# Authenticate with a provider
rad auth login gemini
rad auth login claude
rad auth login openai
Credentials are securely stored in ~/.radium/credentials.json.
Engine settings are stored in .radium/config.toml:
[engines]
default = "gemini"
Radium automatically tracks every agent session, providing detailed analytics on costs, performance, and optimization opportunities.
# View current session statistics
rad stats session
# View model usage breakdown
rad stats model
# View session history
rad stats history
# Compare two sessions
rad stats compare <session-id-1> <session-id-2>
# Export analytics data
rad stats export --output analytics.json
Radium's Vibe Check system provides Chain-Pattern Interrupt (CPI) functionality to prevent reasoning lock-in and improve agent alignment. Research shows CPI systems improve agent success rates by +27% and reduce harmful actions by -41%.
# Manual vibe check
rad vibecheck --goal "Build feature" --plan "Use React and Node.js"
# With phase specification
rad vibecheck --phase planning --goal "Design API" --plan "REST API"
# JSON output
rad vibecheck --goal "Test" --plan "Test plan" --json
The learning system tracks mistakes, preferences, and successes:
# List learning entries
rad learning list
# Add a mistake
rad learning add-mistake --category "Feature Creep" --description "Added unnecessary feature"
# View skillbook
rad learning show-skillbook
# Tag a skill
rad learning tag-skill --skill-id "skill-00001" --tag "helpful"
# Run tests
cargo test
# Run CLI
npm run cli
# Run TUI
npm run tui
# Run desktop app
npm run desktop
Radium uses cargo-llvm-cov for code coverage reporting.
# Install coverage tools (one-time setup)
cargo install cargo-llvm-cov
# Generate HTML coverage report
cargo llvm-cov --workspace --html
# Generate LCOV coverage report (for CI)
cargo llvm-cov --workspace --lcov --output-path lcov.info
# View HTML report (opens in browser)
open target/llvm-cov/html/index.html
See Testing Documentation for comprehensive testing guidelines.
We welcome contributions! Please see our contributing guidelines and development rules:
MIT License - see LICENSE file for details
Next-generation agentic orchestration tool for developers and power users
Radium is a high-performance, Rust-based platform for creating, managing, and deploying autonomous agents. Built with safety and efficiency in mind, Radium provides a robust framework for orchestrating complex agent workflows.
# Clone the repository
git clone https://github.com/Unicorn/Radium.git
cd RAD
# Build the project
cargo build --release
# Or use npm scripts
npm run build
The Radium server is automatically embedded in client applications (CLI, TUI, Desktop). You can also run it standalone:
# Run the standalone server
npm run server
# Or directly with Cargo
cargo run --bin radium-core
# Initialize a workspace
radium init
# Create a plan
radium plan --input "Build a web app"
# Execute the plan
radium craft <plan-id>
# Use structured output with JSON schema
rad step agent-id "Extract user data" --response-format json-schema --response-schema user-schema.json
npm run desktop
The desktop app automatically starts an embedded server on launch.
Radium uses a modular monorepo structure:
crates/radium-core: Core backend with gRPC server and orchestrationapps/cli: Command-line interfaceapps/tui: Terminal user interfaceapps/desktop: Tauri-based desktop applicationpackages/: Shared TypeScript packages for web/desktopRadium includes automatic server lifecycle management:
See Embedded Server Documentation for details.
Radium uses a declarative TOML-based configuration system for defining AI agents. Agents are automatically discovered from configured directories and can be managed through the CLI.
Create an agent configuration file at agents/core/my-agent.toml:
[agent]
id = "my-agent"
name = "My Agent"
description = "A custom agent for specific tasks"
prompt_path = "prompts/agents/core/my-agent.md"
engine = "gemini"
model = "gemini-2.0-flash-exp"
reasoning_effort = "medium"
[agent.persona]
[agent.persona.models]
primary = "gemini-2.0-flash-exp"
fallback = "gemini-2.0-flash-thinking"
premium = "gemini-1.5-pro"
[agent.persona.performance]
profile = "balanced"
estimated_tokens = 1500
Create the corresponding prompt file at prompts/agents/core/my-agent.md:
# My Agent
## Role
Define the agent's role and responsibilities here.
## Instructions
Provide step-by-step instructions for the agent.
Radium supports self-hosted AI models (Ollama, vLLM, LocalAI) for cost savings, data privacy, and air-gapped environments. See the Self-Hosted Models Documentation for setup guides, configuration examples, and troubleshooting.
Quick Start:
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2
# Configure agent to use local model
export UNIVERSAL_BASE_URL="http://localhost:11434/v1"
# List all discovered agents
rad agents list
# Search for agents
rad agents search "architecture"
# Get agent information
rad agents info my-agent
# Validate agent configurations
rad agents validate
# Create a new agent template
rad agents create my-agent "My Agent" --category core
The MCP Proxy Server provides centralized access to multiple MCP (Model Context Protocol) servers through a single endpoint, with load balancing, failover, security, and tool aggregation.
# Initialize proxy configuration
rad mcp proxy init
# Start the proxy server
rad mcp proxy start
# Check status
rad mcp proxy status
# Stop the proxy
rad mcp proxy stop
See MCP Proxy Documentation for detailed setup and configuration.
Radium's extension system allows you to package and share reusable agent configurations, MCP servers, custom commands, and hooks. Extensions enable the community to share workflows, tools, and configurations.
# Install an extension
rad extension install ./my-extension
# List installed extensions
rad extension list
# Get extension information
rad extension info my-extension
# Create a new extension
rad extension create my-extension --author "Your Name" --description "My extension"
Context files (GEMINI.md) provide persistent instructions to agents without repeating them in every prompt. They support hierarchical loading (global, project, subdirectory) and can import other files using @file.md syntax.
Create a context file at your project root:
# Project Context
This project uses Rust and follows these guidelines:
- Use `cargo fmt` for formatting
- Write comprehensive tests for all public APIs
- Document all public types and functions
@docs/coding-standards.md
# List all context files in workspace
rad context list
# Show which context files would be loaded for a path
rad context show src/
# Validate all context files
rad context validate
Radium's orchestration system provides intelligent, model-agnostic task routing that automatically selects and coordinates specialist agents without requiring manual agent selection.
Orchestration is enabled by default in the TUI. Simply type naturally without command prefixes:
You: I need to refactor the authentication module
π€ Analyzing...
π Invoking: senior-developer
β
Complete (2.3s)
Assistant: I've refactored the authentication module...
/chat or /agents commands~/.radium/orchestration.tomlControl orchestration via TUI commands:
# Show current status
/orchestrator
# Enable/disable
/orchestrator toggle
# Switch provider
/orchestrator switch gemini
/orchestrator switch claude
/orchestrator switch openai
Radium's Policy Engine provides fine-grained control over tool execution to ensure security and prevent unwanted operations. Configure workspace-specific and enterprise-ready security policies with rule-based enforcement.
# Initialize a default policy file
rad policy init
# List all policy rules
rad policy list
# Check if a tool would be allowed
rad policy check read_file config.toml
# Validate policy file syntax
rad policy validate
Create .radium/policy.toml in your workspace:
approval_mode = "ask"
[[rules]]
name = "Allow safe file operations"
priority = "user"
action = "allow"
tool_pattern = "read_*"
[[rules]]
name = "Require approval for file writes"
priority = "user"
action = "ask_user"
tool_pattern = "write_*"
[[rules]]
name = "Deny dangerous shell commands"
priority = "admin"
action = "deny"
tool_pattern = "run_terminal_cmd"
arg_pattern = "rm -rf *"
Radium's workflow behavior system enables dynamic execution control, allowing agents to adapt to changing conditions, handle errors gracefully, and coordinate with other agents.
Workflow behaviors are controlled via a behavior.json file placed at .radium/memory/behavior.json:
{
"action": "loop",
"reason": "Tests failing, need to retry"
}
Radium supports multiple AI providers through a unified engine abstraction layer. You can list, configure, and switch between different engines seamlessly.
# List all available engines
rad engines list
# Show detailed information about an engine
rad engines show gemini
# Check authentication status
rad engines status
# Set default engine
rad engines set-default gemini
# Check engine health
rad engines health
gemini): Google's Gemini models (gemini-pro, gemini-2.0-flash-exp)claude): Anthropic's Claude models (claude-3-opus, claude-3-sonnet, claude-3-haiku)openai): OpenAI GPT models (gpt-4, gpt-4-turbo, gpt-3.5-turbo)mock): Testing engine for developmentSet up API keys for each provider:
# Authenticate with a provider
rad auth login gemini
rad auth login claude
rad auth login openai
Credentials are securely stored in ~/.radium/credentials.json.
Engine settings are stored in .radium/config.toml:
[engines]
default = "gemini"
Radium automatically tracks every agent session, providing detailed analytics on costs, performance, and optimization opportunities.
# View current session statistics
rad stats session
# View model usage breakdown
rad stats model
# View session history
rad stats history
# Compare two sessions
rad stats compare <session-id-1> <session-id-2>
# Export analytics data
rad stats export --output analytics.json
Radium's Vibe Check system provides Chain-Pattern Interrupt (CPI) functionality to prevent reasoning lock-in and improve agent alignment. Research shows CPI systems improve agent success rates by +27% and reduce harmful actions by -41%.
# Manual vibe check
rad vibecheck --goal "Build feature" --plan "Use React and Node.js"
# With phase specification
rad vibecheck --phase planning --goal "Design API" --plan "REST API"
# JSON output
rad vibecheck --goal "Test" --plan "Test plan" --json
The learning system tracks mistakes, preferences, and successes:
# List learning entries
rad learning list
# Add a mistake
rad learning add-mistake --category "Feature Creep" --description "Added unnecessary feature"
# View skillbook
rad learning show-skillbook
# Tag a skill
rad learning tag-skill --skill-id "skill-00001" --tag "helpful"
# Run tests
cargo test
# Run CLI
npm run cli
# Run TUI
npm run tui
# Run desktop app
npm run desktop
Radium uses cargo-llvm-cov for code coverage reporting.
# Install coverage tools (one-time setup)
cargo install cargo-llvm-cov
# Generate HTML coverage report
cargo llvm-cov --workspace --html
# Generate LCOV coverage report (for CI)
cargo llvm-cov --workspace --lcov --output-path lcov.info
# View HTML report (opens in browser)
open target/llvm-cov/html/index.html
See Testing Documentation for comprehensive testing guidelines.
We welcome contributions! Please see our contributing guidelines and development rules:
MIT License - see LICENSE file for details