Native WebUI development · local Ollama · Apache-2.0

// the universal turnkey agentic agent

Local inference, tools, memory, and a persona pipeline — the Mind, ready to run.

Local inference, tools, skills, memory, heartbeats and schedules — now with an ARES-derived browser interface. Jaeger remains an independent agent; ARES governs optional sharing through explicit, fail-closed grants.

install — bash
# Clone, install, create your first agent.
$ git clone https://github.com/JenkinsRobotics/JaegerAI.git
$ cd JaegerAI && ./install.sh
$ ./jaeger agent create▎
// what it is

The turnkey product, not a headless library.

JaegerAI ships the complete universal agentic agent (Hermes lineage): loop, tools, skills, memory, persona, local inference, AND its own faces — chat app, TUI, voice, the protocol it serves. Headless (robots) is a config of JaegerAI, not a fork.

Built on JaegerOS — the framework tier (bus, node, modules/slots, supervisor, safety, contract, capability layer). This repo pins a JaegerOS release; it never forks or edits it.

The jaeger CLI lives here — JaegerOS ships no console script of its own. Engine modules (kokoro_tts, whisper_stt) are optional extras, each its own repo, pinning JaegerOS only.

// capabilities

What ships in the Mind

Real, shipped capabilities — not aspirational ones. See CHANGELOG.md for the full release history.

persona_first — the id/ego pipeline

Default since 0.8.0: a persona lane speaks to the user directly, in character, and has exactly one tool — perform_task(request) — which runs the full clean inner agentic loop. The id never touches reality directly.

agent

Characters as State → View

14 shipped characters own identity + soul + traits + lore as numeric State (HEXACO/SPECIAL/Expression), compiled on change — never per turn — into the natural-language View the model actually sees.

personality

Its own faces + protocol

The Swift app (default windowed UI), the TUI, voice, and the frozen PySide6 set — all clients of one versioned NDJSON protocol (JrosClient), the same wire contract third-party apps can embed.

interfaces
// on deck — in active development

Module-shipped hardware SOPs

Extending the module-shipped skill pattern (a module carrying its own skills/) to hardware-package setup SOPs, mirroring 0.8.1's messaging-setup skill.

planned
// architecture

The Mind — pinned to JaegerOS, never forked from it.

JaegerAI is the second tier in the Jaeger ecosystem's four-tier map. See JAEGER_ECOSYSTEM.md for the full whole-ecosystem rundown and THREE_TIER_STRUCTURE.md for the tier-map reasoning.

// this repo

JaegerAI — the Mind

Loop, tools, skills, memory, persona (id/ego), local inference, and its own faces. Registers its module roots (agent, nodes, plugins) through the jaeger_os.module_roots entry-point group — JaegerOS discovers it without ever naming it.

// pinned framework

JaegerOS

Bus · Node · modules/slots · supervisor · safety · contract · capability layer. This repo builds on a pinned release; JaegerOS itself is never edited to make this repo work.

// install

One script, then create your agent.

1

Clone + install

install.sh sets up a venv and installs jaeger-os + jaeger-ai editable (PEP 660) — the code stays writable in place because the agent self-modifies its own skills. pip is the machinery underneath, resolving the dependency chain across all four ecosystem packages (path-pinned during staging, moving to git/version-range pins once each repo publishes releases).

$ git clone https://github.com/JenkinsRobotics/JaegerAI.git
$ cd JaegerAI
$ ./install.sh
$ ./jaeger update   # later: pull + reinstall, non-interactive
2

Voice extras (optional)

A robot body can run JaegerAI text-only; pull in an engine module when you want speech.

$ pip install -e '.[kokoro_tts]'   # speak
$ pip install -e '.[whisper_stt]'  # listen
3

Create + launch an agent

The setup wizard picks a character, model, and permissions.

$ ./jaeger agent create
$ ./jaeger

The from-scratch flow (a clean machine, no prior checkout) is being finalized for the 0.9 release — the checkout path above (steps 1–3) is the verified one. pip install jaeger-ai from PyPI is (planned, 1.0) — not available yet.

// roadmap

From the monorepo to its own repo, faces intact.

0.8.1 — Shipped

The field-test patch

Eleven fixes from release-day testing on a deployed station: offline-first boot, a persona self-model, persistent plugin activation, queued mid-turn messages, messaging channels visible in discovery again, readable light-mode settings.

Later

1.0 — the ecosystem opens

Contract freeze at the JaegerOS seam; engine modules and hardware packages move to independently-versioned repos once the slot contracts survive a real body and a real engine swap.