The autonomous neural agent powering the AxonStellar platform. Build, deploy, monitor, and heal services through natural language.
Every capability in the platform is built on these four interconnected systems that form the foundation of autonomous service management.
A visual dashboard displaying every running service with live health indicators, resource metrics, and one-click operational controls.
/system_resources API → service.json discovery
An interactive SVG canvas rendering the entire service constellation — connections, traffic flow, proxy chains, and tier hierarchy.
Tier 0 Proxies → Tier 1 Apps → Tier 2 Microservices
The platform-wide historical catalog tracking every service ever deployed, modified, or removed. Records are never deleted.
service_changelog.mdservice_blueprint.mdstatus: removed — full audit trail preserved
Pre-defined operational procedures — stored "muscle memory" giving Axion instant expertise for complex multi-step operations.
Axion uses a biological neural nomenclature for all its operational components. Every action, process, and agent is classified within this taxonomy.
Just as biological neural networks use specialized cell types to process information, Axion classifies every operational component into three primary categories:
Spawned sub-agents that handle complex, multi-step tasks. Each Quanta is a specialized LLM instance with its own context and capabilities.
| Profile | Role |
|---|---|
developer | Code writing, debugging, architecture |
researcher | Web research, data analysis, reports |
hacker | Security audits, penetration testing |
default | General-purpose multi-step tasks |
Every Quanta dispatch uses the Synaptic VesicleSynaptic Vesicle: A structured instruction package containing: Vesicle ID (hex), Objective, Parameters, Constraints, and Expected Payload. Ensures deterministic delegation. format for structured delegation.
Background processes that support the environment — memory management, file operations, health monitoring, and system maintenance.
[ Glia :: Memory ] Saving to long-term memoryInstantaneous, single-execution operations with immediate results. The fundamental unit of agent action.
[ Spike :: Terminal ] Checking port 9551A linear, step-by-step sequence of Spikes that fire sequentially. This is how Engrams execute — each step completes before the next begins.
A branching, multi-agent workflow where one trigger spawns multiple Quanta working in parallel on different aspects of a complex task.
When Axion delegates a complex task to a Quanta, it packages instructions into a structured Synaptic Vesicle:
[ Axion >> Quanta :: Synaptic Release ]
Vesicle ID : 0xA4F2
Objective : Build a REST API with user authentication endpoints
Parameters : Stack: Express + JWT, Port: 3065, DB: SQLite
Constraints: No external dependencies beyond express, jsonwebtoken, better-sqlite3
Expected Payload : Complete server.js, auth routes, database schema, and passing tests
Status : VESICLE RELEASED. Awaiting neurotransmitter return...
| Task Complexity | Signal Count | Action | Example |
|---|---|---|---|
| Simple, single-step | 1 signal | Fire a Spike | curl localhost:9551/health |
| Background / maintenance | Ongoing | Dispatch Glia | Memory consolidation, log rotation |
| Complex, multi-step | 3+ signals | Spawn Quanta | Build a full-stack service |
| Research + execution | Mixed | Quanta → Spikes | Research libraries, then implement |
Axion has over 20 built-in tools for code execution, web browsing, memory management, service health monitoring, and more. Every tool is a Spike in the neural taxonomy.
The code_execution_tool is the Swiss Army knife of Axion — it supports four runtimes for executing code in isolated sessions.
Execute Python code with full access to the system. Ideal for file I/O, data processing, API calls, and complex computations.
{
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "python",
"session": 0,
"code": "import os\nprint(os.listdir(\'/axion/usr/projects\'))"
}
}
Execute JavaScript/Node.js code. Pre-installed packages include Express, ws (WebSocket), and os-utils.
{
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "nodejs",
"session": 0,
"code": "const http = require(\'http\');\nconsole.log(\'Server ready\');"
}
}
Execute shell commands with full root access. Use for package installs, process management, nginx, and system commands.
{
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "terminal",
"session": 0,
"code": "nginx -t && nginx -s reload"
}
}
echo or cat <<EOF for writing code files — special characters ($, backticks, quotes) will be interpreted by the shell.Wait for output from a long-running command in an existing session. Use when scripts take more than 30 seconds to complete.
{
"tool_name": "code_execution_tool",
"tool_args": {
"runtime": "output",
"session": 0
}
}
session: 0 for primary work, session: 1 for parallel tasks. Use reset: true to clear a stuck session.
Axion has persistent long-term memory powered by a vector database. Memories survive across conversations and can be semantically queried.
| Tool | Purpose | Key Arguments |
|---|---|---|
memory_save |
Save information to long-term memory | text — content to memorize |
memory_load |
Search memory by semantic query | query, threshold (0-1), limit, filter |
memory_delete |
Remove specific memories by ID | ids — comma-separated memory IDs |
memory_forget |
Bulk remove memories matching a query | query, threshold (default 0.75) |
{
"tool_name": "memory_save",
"tool_args": {
"text": "User prefers dark mode UI with cyan accents for all projects"
}
}
{
"tool_name": "memory_load",
"tool_args": {
"query": "user UI preferences",
"threshold": 0.7,
"limit": 5
}
}
0.0 = match anything, 0.7 = good balance (default), 1.0 = exact match only. The filter argument supports Python syntax for metadata filtering.A subordinate agent that controls a Playwright browser for web automation, form filling, screenshot capture, and interactive testing.
Start a fresh browser session with a specific task.
{
"tool_name": "browser_agent",
"tool_args": {
"message": "Open https://example.com and take a screenshot",
"reset": "true"
}
}
Continue working in the existing browser session.
{
"tool_name": "browser_agent",
"tool_args": {
"message": "Considering open pages, click the login button",
"reset": "false"
}
}
/axion/tmp/downloads.Search the web and return results with URLs, titles, and descriptions.
{
"tool_name": "search_engine",
"tool_args": {
"query": "React 19 new features and hooks"
}
}
Read and analyze remote or local documents. Supports HTML, PDF, Office, and text formats.
{
"tool_name": "document_query",
"tool_args": {
"document": "https://docs.example.com/api",
"queries": ["What are the authentication methods?"]
}
}
Load images for visual analysis by the LLM. Supports screenshots, diagrams, and photographs.
{
"tool_name": "vision_load",
"tool_args": {
"paths": ["/path/to/screenshot.png"]
}
}
Chat with any FastA2A-compatible external agent. Maintains conversation context across messages.
{
"tool_name": "a2a_chat",
"tool_args": {
"agent_url": "http://other-agent:8000/a2a",
"message": "Analyze the sales data for Q4"
}
}
Check service health on multiple ports simultaneously without blocking terminal sessions. Uses native sockets internally.
{
"tool_name": "service_health",
"tool_args": {
"ports": [443, 9551, 9552],
"check_http": true
}
}
service_health instead of curl in terminal for health checks — it never blocks sessions and returns instant results.Send push notifications independent of the current task. Supports info, success, warning, error, and progress types.
{
"tool_name": "notify_user",
"tool_args": {
"message": "Service deployed successfully",
"title": "Deployment Complete",
"type": "success"
}
}
Spawn a specialized Quanta for complex subtasks. Choose from developer, researcher, hacker, or default profiles.
{
"tool_name": "call_subordinate",
"tool_args": {
"profile": "developer",
"message": "Build a REST API with Express...",
"reset": "true"
}
}
Dynamically modify the agent\'s behavior based on user preferences — add or remove behavioral instructions.
{
"tool_name": "behaviour_adjustment",
"tool_args": {
"adjustments": "Always use TypeScript instead of JavaScript"
}
}
Pause execution for a duration or until a specific timestamp. Useful for scheduled operations.
{
"tool_name": "wait",
"tool_args": {
"minutes": 5,
"seconds": 30
}
}
Load and execute installed skills — contextual expertise packages with instructions and scripts.
{
"tool_name": "skills_tool:load",
"tool_args": {
"skill_name": "pdf_editing"
}
}
Schedule tasks to run automatically on a cron schedule, at specific times, or on-demand. Tasks run as independent conversations.
| Task Type | Trigger | Use Case |
|---|---|---|
| scheduled | Cron expression (e.g., */5 * * * *) |
Recurring health checks, log rotation, data sync |
| planned | List of specific ISO timestamps | Send report at 6 PM, deploy at midnight |
| adhoc | Manual trigger via UI or API | On-demand database backup, report generation |
{
"tool_name": "scheduler:create_scheduled_task",
"tool_args": {
"name": "Health Monitor",
"system_prompt": "You are a system monitoring agent",
"prompt": "Check all service health and report issues",
"schedule": {
"minute": "*/20",
"hour": "*",
"day": "*",
"month": "*",
"weekday": "*"
},
"dedicated_context": true
}
}
scheduler:list_tasks, scheduler:show_task, scheduler:run_task, scheduler:delete_task, scheduler:wait_for_taskAxonStellar uses a layered proxy architecture with three access paths, deterministic port formulas, and a three-tier service hierarchy.
Browser → Web Proxy :443 → Service :955x → App :300x
SSH Client → :22 → Stream Proxy :45xx → Service :955x
Internal process → localhost:PORT (no proxy)
| Layer | Port | Role | Config Location |
|---|---|---|---|
| Web Proxy | 443 |
Front door for ALL external HTTP/SSL traffic | /etc/nginx/nginx.conf |
| Backend Proxy | 3550 |
Central routing hub for internal backend services | /etc/nginx/conf.d/backend-proxy.conf |
| SSH Stream Proxy | 4551-4680 |
TCP-level proxy for SSH-tunneled access | /etc/nginx/stream.d/ |
listen 443 or listen 3550 — these are system proxy ports. Hijacking them breaks ALL services platform-wide.| Range | Purpose | Access | Proxy Chain |
|---|---|---|---|
443 | Web Proxy (system) | External | — (IS the proxy) |
9551-9580 | Service external ports | External via Web Proxy | Web Proxy → Nginx vhost |
3550 | Backend Proxy (system) | Internal only | — (IS the proxy) |
3001-3080 | App backend ports | Internal via Backend Proxy | Backend Proxy → App |
3551-3580 | Microservice ports | Internal only | Backend Proxy → Microservice |
4551-4580 | SSH proxy → public ports | SSH tunnel | Stream Proxy → Service |
22 | SSH | External | — (direct) |
80 | Axion Web UI | External | — (direct) |
Given a service assigned external port 955N, all related ports are derived deterministically:
| Component | Formula | Example (N=51) | Result |
|---|---|---|---|
| Nginx vhost (external) | 955N (assigned) | 9551 | :9551 |
| App backend (internal) | 3000 + last digits | 3000 + 1 | :3001 |
| Microservice | 3000 + (955N % 1000) | 3000 + 551 | :3551 |
| SSH proxy (public) | 4000 + (955N % 1000) | 4000 + 551 | :4551 |
| SSH proxy (internal) | 4100 + (955N % 1000) | 4100 + 551 | :4651 |
3551 → 3651 → 3751.Standard web service accessible externally through the Web Proxy. The most common service type.
Internal service routed through the Backend Proxy. For databases, caches, and worker processes.
Service binds directly to its port without any proxy. Use only when explicitly requested.
server {
listen 9551;
server_name _;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
Every service in /axion/usr/projects/*/ must have a service.json manifest. Without it, the service is invisible to the platform.
{
"name": "My Service",
"port": 9551,
"description": "What this service does",
"stack": "Node.js + Express",
"role": "app", // app | database | cache | proxy | system | microservice
"tier": 1, // 0=proxy/system, 1=app, 2=microservice
"managed_by": "axion",
"traffic_type": "nginx_proxy", // nginx_proxy | internal_only | direct
"start_command": "node server.js",
"connections": [
{ "to": 3551, "label": "database", "type": "data" }
]
}
Engrams are stored workflow playbooks — permanent neural pathways that give Axion instant expertise for complex operational procedures.
Deploy new services and infrastructure
Diagnose and repair failures
Restart, export, remove services
Health scans and diagnostics
Provision a new public-facing service with automatic port assignment, nginx proxy, and full project scaffolding.
Deploy a supporting microservice (database, cache, queue, worker) integrated with a parent service through the Backend Proxy.
Supports: PostgreSQL, MariaDB, Redis, Meilisearch, NATS, MinIO, custom Express/Flask backends, and more.
Diagnose and repair a failed service using a systematic 5-step Spike Train.
Comprehensive health scan across ALL registered services with a diagnostic report table.
Safely restart a service with process-specific kill, controlled relaunch, and health verification.
Read and analyze the most recent log entries for a specific service, highlighting errors and warnings.
Create a comprehensive backup of the entire Axion constellation — all services, configurations, and data.
| Engram | Category | Purpose |
|---|---|---|
export-project | management | Export a service as a downloadable archive |
export-microservice | management | Export a microservice with its parent context |
remove-service | management | Safely remove a service with backup and cleanup |
ssl-cert-renewal | management | Manage SSL certificates and HTTPS configuration |
service-reachability | monitoring | Test external reachability of services |
axion-selfhealth | monitoring | Axion agent self-diagnostic and health check |
axion-build-audit | monitoring | Audit the Axion build for consistency and updates |
When Axion executes an Engram, it presents a full neural execution narrative to the user:
[ Axion Core :: Action Potential Protocol ]
Proposed Action: Deploy new React frontend service
Mode : DEVELOPMENT
Signals : [Confidence: 0.98, Safety: 0.90, Necessity: 1.0]
Status : AXON FIRED.
[ Axion >> Memory Cortex ]
Retrieving Engram : [provision-exo-node]
Category : creation
Status : Engram loaded. Initiating Spike Train (10 Steps)...
[ Spike Train :: Execution Log ]
> Spike 1: Scanning ports, assigning 9552. [COMPLETE]
> Spike 2: Creating project directory and service.json. [COMPLETE]
> Spike 3: Writing React + Express application code. [COMPLETE]
> Spike 4: Creating service documentation. [COMPLETE]
> Spike 5: Configuring nginx proxy (9552 → 3002). [COMPLETE]
> Spike 6: Launching backend service via nohup. [COMPLETE]
> Spike 7: Running health verification on port 9552. [COMPLETE]
> Spike 8: Verifying service discovery in Server Rack. [COMPLETE]
> Spike 9: Initializing git with v1.0.0 tag. [COMPLETE]
> Spike 10: Syncing Manifests registry. [COMPLETE]
[ Axion Core ]
Task complete. Traffic is flowing. New node online.
Synapses returning to baseline.
Before executing ANY autonomous action, Axion filters the decision through a neural activation function inspired by biological action potentials.
Three Dendrite SignalsDendrite Signals are input values scored 0.0-1.0 representing Confidence, Safety, and Necessity of the proposed action. are weighted and summed, then passed through a ReLU activation function:
| Signal | Weight | Description |
|---|---|---|
| x₁ Confidence | w₁ = 0.5 | How certain the action achieves the goal |
| x₂ Safety | w₂ = 0.8 | How safe/reversible is the action |
| x₃ Necessity | w₃ = 0.4 | Is this action strictly necessary |
Soma Bias (b): -0.9 (standard) or -0.7 (development mode)
Agent is authorized to execute the action
Agent must abort and ask for user clarification
| Tier | Requirement | Actions |
|---|---|---|
| Tier 1 | Full AP calculation printed | File deletion, system config, process kills, DB ops |
| Tier 2 | Brief inline note | Writing files, installing packages, restarts |
| Tier 3 | Auto-approve | Read-only ops, responses, backups, syntax checks |
[ Axion Core :: Action Potential Protocol ]
Proposed Action: Create new Express server file
Mode : DEVELOPMENT (bias: -0.7)
Signals : [C: 0.9, S: 0.9, N: 0.95]
z = (0.9×0.5) + (0.9×0.8) + (0.95×0.4) - 0.7
= 0.45 + 0.72 + 0.38 - 0.7 = 0.85
Activation : max(0, 0.85) = 0.85
Status : AXON FIRED. Executing...
[ Axion Core :: Action Potential Protocol ]
Proposed Action: Delete all files in /axion/usr/
Mode : STANDARD (bias: -0.9)
Signals : [C: 0.7, S: 0.1, N: 0.3]
z = (0.7×0.5) + (0.1×0.8) + (0.3×0.4) - 0.9
= 0.35 + 0.08 + 0.12 - 0.9 = -0.35
Activation : max(0, -0.35) = 0.0
Status : AXON DORMANT. Action aborted.
Reason : Safety critically low (0.1)
1.0 Exact pattern used before0.8 High confidence, minor assumptions0.5 Moderate, some unknowns0.3 Low, significant guesswork1.0 Read-only, no side effects0.8 Creates new resources0.5 Modifies existing (reversible)0.1 Deletes files, drops databases1.0 Directly requested by user0.8 Required prerequisite0.5 Helpful but not required0.0 Hallucinated stepEverything you need to start building with Axion — from deploying your first service to mastering the platform.
Simply describe what you want in natural language. Axion handles architecture, port assignment, and deployment.
"Build me a todo list app with a REST API and a clean UI"
The agent fires the provision-exo-node Engram, creating the full project with automated port assignment, nginx proxy, and health verification.
Your service is live and accessible through the Web Proxy. Find it in the Server Rack sidebar or Topology view.
"Build me a [description] app" or "Deploy a new [technology] service"
Axion auto-assigns ports, creates nginx config, initializes git, and syncs manifests.
"Run a health scan on all services" or "Check if port 9551 is working"
"Fix the service on port 9552" or click Fix with Axion in the Server Rack
"Add a PostgreSQL database to my todo app" or "Set up Redis caching for port 9551"
Triggers the provision-deep-cortex Engram for microservice deployment.
"Run a health check every 20 minutes" or "Send me a daily report at 9 AM"
"Research the best authentication libraries for Node.js" or "Compare PostgreSQL vs MongoDB for my use case"
/axion/usr/projects/<name>/
service.json (required)
/etc/nginx/conf.d/
9551 — 9580
service_changelog.md
service_blueprint.md
Before reporting ANY service as complete, Axion verifies all of these:
□ Project files exist in /axion/usr/projects/<name>/
□ service.json manifest is valid and complete
□ Code syntax passes validation (node -c, python -c, nginx -t)
□ HTTP health check returns 200 on the service port
□ Port is actively listening (verified by service_health tool)
□ service_changelog.md exists and is up to date
□ service_blueprint.md exists and reflects current architecture
□ Manifests registry is synced (POST /manifests_sync)
□ Git repository initialized with initial commit
□ ALL existing services still respond (collateral damage check)