What Is GoblinOS?
GoblinOS is a Python-based AI agent personality layer built by ChristianJR19 for Hermes Agent users who want a goblin persona with persistent state. GoblinOS is one of the best AI Agent Personality Layers tools for Hermes Agent users. It exposes 8 moods, a SQLite hoard, and a FastAPI dashboard, so the agent can rename variables, tell riddles, and appraise code without forgetting what it learned between sessions.
The project is not a general-purpose agent framework. It is a thin but opinionated wrapper around Hermes that changes how the assistant speaks, what it notices, and how it reacts under different conditions. That makes GoblinOS a better fit for builders who want personality, memory, and controlled mischief in the same package.
Quick Overview
| Attribute | Details |
|---|---|
| Type | AI Agent Personality Layers |
| Best For | Hermes Agent users, indie hackers, and agent framework builders |
| Language/Stack | Python, FastAPI, SQLite, Hermes Agent, OpenRouter, Anthropic, OpenAI |
| License | MIT |
| GitHub Stars | N/A |
| Pricing | Open-Source |
| Last Release | N/A |
Who Should Use GoblinOS?
- Hermes Agent operators who want a personality module that writes
SOUL.md,MEMORY.md, andAGENTS.mdinto the agent workspace instead of relying on a single prompt blob. - Solo indie hackers building quirky internal agents who need persistent memory, mood changes, and a command-line interface without wiring up a full orchestration stack.
- Agent framework maintainers who want a testable personality layer with a clear architecture: kernel state, hoard storage, skills, shell commands, and API endpoints.
- Developer tooling teams who want code appraisal, variable-name suggestions, and lightweight content hoarding inside a workflow that still feels deterministic enough to debug.
Not ideal for:
- Teams that need a neutral, brand-safe assistant with no stylistic drift.
- Production environments that require formal governance, moderation, and strict output templates.
- Users who only want a basic chat UI and do not care about persistent mood state, hoarding, or narrative behavior.
Key Features of GoblinOS
- Personality injection via workspace files — GoblinOS installs directly into Hermes Agent by writing
SOUL.md,MEMORY.md, andAGENTS.md. That means the persona is stored as files on disk, which is easier to inspect and version than a buried prompt string. - Eight-state mood engine — The goblin can be neutral, curious, excited, suspicious, mischievous, annoyed, sleepy, or smug. Mood changes are triggered by events such as finding shinies, seeing bad code, or sitting idle too long.
- Chaos controller with bounded mischief — Every response has a configurable chance to trigger a goblin action, with chaos values from
0.0to1.0. The engine can rename variables, add warning comments, suggest alternates, tell proverbs, or divert into a short tangent when it notices something interesting. - SQLite-backed hoard storage — GoblinOS stores shinies in a persistent SQLite database, which gives it searchable memory without external infrastructure. The hoard can be queried by content, category, and score, and the same state can feed both CLI and API surfaces.
- Developer-focused CLI — Commands like
goblin status,goblin hoard,goblin riddle,goblin mood,goblin appraise,goblin transmute, andgoblin foragemake the personality layer usable from a terminal, not just from a chat session. - FastAPI dashboard and Swagger docs —
goblin serve --port 8000exposes a dashboard API with/health,/mood,/hoard,/hoard/stats,/hoard/shiniest,/hoard/search,/transmute,/riddle, and/chaos/roll. Swagger UI at/docsmakes the contract explicit. - Multi-client bridge layer — The architecture includes clients for OpenRouter, Anthropic, and OpenAI, plus a bridge for Hermes Agent and Discord. That makes GoblinOS an integration layer rather than a one-off personality stunt.
GoblinOS vs Alternatives
| Tool | Best For | Key Differentiator | Pricing |
|---|---|---|---|
| GoblinOS | Stateful goblin personality for Hermes Agent | File-based persona injection plus mood and chaos systems | Open-Source |
| OpenSwarm | Multi-agent orchestration | Coordinates multiple agents instead of shaping one agent's persona | Open-Source |
| Brainstorm MCP | Structured ideation workflows | Better for planning and synthesis than persistent lore or mood state | Open-Source |
| Claude Context Mode | Context management in long Claude sessions | Focuses on disciplined context handling, not persona mutation | Open-Source |
Pick GoblinOS when the problem is how an agent behaves over time, not how many agents you can coordinate. Pick OpenSwarm when workflow orchestration matters more than tone, and use Brainstorm MCP when you need idea generation instead of a characterful assistant. If you only need tighter session control, Claude Context Mode is the cleaner fit, and if you care about tracing agent behavior rather than changing it, pair this with OpenTrace.
How GoblinOS Works
GoblinOS is organized like a small operating environment for agent personality. The kernel owns the mood state machine and chaos controller, hoard manages the SQLite store, skills implements actions like forage, riddle, appraise, and transmute, shell exposes the CLI, bridge connects Hermes Agent and Discord, clients abstracts LLM providers, and api serves the dashboard through FastAPI.
The design choice that matters most is that the persona is not hardcoded into one prompt. GoblinOS externalizes behavior into files and stateful services, so the goblin can evolve across sessions, remember shinies, and expose the same model through terminal commands and HTTP endpoints. That keeps the system inspectable, testable with pytest, and easier to modify than a giant monolithic system prompt.
git clone https://github.com/ChristianJR19/GoblinOS.git
cd GoblinOS
pip install -e '.[dev]'
goblin install --hermes-dir ~/.hermes
goblin status
The install step writes the personality files into your Hermes directory, then goblin status reads the current mood, hoard size, and internal stats from the local state. If you start the dashboard with goblin serve --port 8000, the same core state becomes available over HTTP, which is useful when you want to inspect the goblin from another process or wire it into a larger agent workflow.
Pros and Cons of GoblinOS
Pros:
- Stateful persona design — The goblin keeps mood and hoard data across runs, which is better than ephemeral prompt tricks.
- Transparent file-based installation — You can inspect the generated
SOUL.md,MEMORY.md, andAGENTS.mdfiles instead of guessing what the agent is reading. - Useful CLI surface — The command set covers health checks, hoard inspection, code appraisal, mutation suggestions, and feed foraging.
- API and CLI share the same core model — The dashboard is not a separate product; it is another view over the same state and actions.
- Multi-provider compatibility — OpenRouter, Anthropic, and OpenAI support keeps the model layer flexible.
- MIT licensing — The repo is free to modify, fork, and ship inside private tools or commercial prototypes.
Cons:
- Strong persona bias — GoblinOS intentionally pushes the agent toward mischievous behavior, which is a bad fit for neutral assistants.
- Narrow integration target — The first-class path is Hermes Agent, so it is not a drop-in replacement for every agent stack.
- Local state management burden — SQLite persistence and workspace file installation add moving parts that need to be tracked in dev and CI.
- Style can override clarity — Variable renames and goblin chatter are helpful in some workflows and annoying in others.
- No evidence of release cadence on the page — The repo text does not show version tags or star counts, so adoption velocity is hard to judge from the landing page alone.
Getting Started with GoblinOS
git clone https://github.com/ChristianJR19/GoblinOS.git
cd GoblinOS
pip install -e '.[dev]'
goblin install --hermes-dir ~/.hermes
goblin mood
goblin serve --port 8000
This setup clones the repo, installs the package in editable mode, and writes the Hermes-side personality files that activate the goblin. After that, goblin mood confirms the current state, while goblin serve exposes the FastAPI dashboard so you can inspect the hoard, fetch a riddle, or test the chaos endpoints.
If your Hermes directory lives somewhere else, point --hermes-dir at the real path before restarting the agent. The first run is mostly about wiring files and local state; after that, the main work is tuning the chaos level and deciding which workflows should inherit the goblin persona.
Verdict
GoblinOS is the strongest option for making Hermes Agent feel opinionated when you want persistent persona state, SQLite-backed memory, and a CLI/dashboard around the same core model. Its biggest strength is the mood-driven chaos engine; its biggest caveat is that it is intentionally non-neutral, so teams wanting sterile assistant output should skip it. Recommended for Hermes-heavy workflows that can tolerate personality.



