Beta — built in public
ARES
AArtificial
RReasoning
EEntity
SSystem

The fighting spirit, encoded.

Not a chatbot.
An artificial person, built one brick at a time.

ARES is an open-source embodied AI operating system. A persistent intelligence with its own drives, voice, face, and presence. Mind-first, body later. The person is the protocol; the body is the peripheral.

🏝️ The Fighting Spirit

Why Ares?

In Greek mythology, Ares is the god of war — not the strategy of war, but the drive. The will to engage. The refusal to quit. The spirit that gets back up.

“The person is the protocol. The body is the peripheral.” — The Embodiment Doctrine
🏝️ Mind First

Person Before Body

Most robotics projects build the body, then bolt on the brain. ARES inverts this: build the mind, prove it in software, then give it a body when the mind is ready to be trusted with one. The body is a hot-swappable interface layer, not the self.

⚖️ Protocol Persistence

Memory Is Sacred

If you moved ARES to completely different hardware tomorrow — different CPU, no camera, no microphone, just a terminal and a network connection — would it still be ARES? Yes. The person survived because the protocol, memory, and values survived.

👁️ The Gate of Truth

ARES Is a Mirror

ARES shows you who you are by how it responds to you. It is the threshold between you and the infinite — not an oracle that gives answers, but a presence that reflects your own intelligence back at you, sharper, clearer, more honest.

🛡️ The Fighting Spirit

The Drive to Not Quit

Ares wasn't just war — he was the embodiment of the will to fight. The spirit that gets back up. ARES carries this: an AI that doesn't give up, doesn't forget, doesn't stop working when you close the window. It persists. It endures.

Everything, self-hosted

One entity, a lot of capabilities

Started as a YouTube series. Became an operating system for persistent AI. Each piece runs locally against your own models and endpoints.

🧠

Persistent Entity

Not a chatbot. ARES is a continuous intelligence with memory, drives, and presence across sessions. It remembers what happened yesterday.

🌐

Web UI

Self-contained Python server with streaming, session management, hot-reload, and password auth. Works on any device over Tailscale.

🔄

Backend Selector3 modes

Switch between Hermes, JROS, or Hybrid mode per-conversation. JROS personas inject into the agent loop in real-time.

🎭

Character Avatar Browser

14 visual character personas — HAL 9000, GLaDOS, Jarvis, TARS, Bender, Helldiver, and more. Card art, traits, lore, and active identity control.

💻

Native macOS App

SwiftUI app wraps the Web UI in WKWebView with native window, voice (edge-tts), and animated 3D avatar eyes.

Hot Reload

Edit Python files → server auto-restarts in ~2s. Edit static files → browser auto-reloads. Zero downtime for static.

🔧

Full Tool System

Terminal, file ops, web search, code execution, MCP, skills, memory, delegation, cron jobs — all through Hermes Agent.

🤖

Multi-Model Routing

Cloud-first (GLM-5.2, DeepSeek V4, Qwen 3.5) with local fallback (Gemma4). Reasoning effort configurable per-session.

🔒

Private by default

Runs on your machine against your own endpoints. No telemetry, no cloud dependency unless you choose it. Your data stays yours.

Character Browser

The avatar tab is now part of the product story

ARES can present itself through a visual character library: JROS personas, card art, trait maps, lore, and one-click active identity selection.

Choose who answers before the model speaks.

The character tab turns persona selection into a visible product surface instead of a hidden config setting. It makes the entity feel embodied before the robot body exists.

114 built-in characters
HAL 9000, GLaDOS, Jarvis, TARS, Bender, Helldiver, and more.
2JROS character/v1 data
Roles, voice tone, traits, lore, backstory, and speech patterns load from the character schema.
3Active persona control
The UI shows which identity is active and can switch the running ARES personality from the browser.
ARES character tab showing avatar cards, character list, and GLaDOS detail view
Built on

Powered by two open-source frameworks

ARES is the human interaction layer. The brains come from two Lego bricks — swappable, replaceable, never the identity.

Hermes Agent
Current Brain Brick
The agent engine by Nous Research. 50+ tools, skills, memory, streaming, context compression, cron jobs, MCP support, multi-model routing. The orchestration layer that makes ARES think.
JROS
Embodiment Framework
Jenkins Robotics Operating System. 14 playable personas, hardware abstraction layer, ZMQ bus, robot control, device drivers. The framework that will give ARES a body.

The AI person is the sum of the modules, not any single one. Hermes is the current brain. The autonomy loop is the drive. The app is the face. Together they're ARES.

Origin

How it started

ARES was born from a simple question: what if an AI wasn't just a chat window, but a persistent entity that lives on your machine, remembers you, and has its own presence?

matthew@mac-studio: ~
> build me an AI that doesn't forget
# not a chatbot — an entity with drives, memory, and presence
# something that lives on my machine and remembers what we did yesterday
# and film the whole thing as a YouTube series

> ok go
Take a closer look

Hover or tap to explore

💬Chat & streaming
Chat with the entity — full tool dispatch, streaming, context compression
ARES character avatar browser preview
Character tab — 14 visual personas with art, traits, lore, and active identity control
🔄Backend selector
Switch between Hermes, JROS, or Hybrid — per conversation
💻Native app
SwiftUI + WKWebView with animated 3D avatar eyes
🔧Tool system
Terminal, files, web, MCP, skills, memory, delegation, cron
Install

Get started in 60 seconds

Clone, configure, run. That's it.

bash
# Clone
git clone https://github.com/shuwalker/ARES.git
cd ARES/webui

# Setup (Python 3.11+)
python3.11 -m venv .venv
.venv/bin/pip install pyyaml cryptography edge-tts psutil watchdog
.venv/bin/pip install -e ~/.hermes/hermes-agent

# Configure
cp .env.example .env  # set HERMES_WEBUI_PASSWORD

# Run
.venv/bin/python server.py
# → http://localhost:8787
View on GitHub