An open API service indexing awesome lists of open source software.

https://github.com/zanni098/anomalithic

One open-core, model-agnostic AI agent runtime to rule them all — MCP, skills, hooks, multi-agent, cross-session memory, and a thinking-time ad network (50/50 stablecoin payouts).
https://github.com/zanni098/anomalithic

Last synced: 7 days ago
JSON representation

One open-core, model-agnostic AI agent runtime to rule them all — MCP, skills, hooks, multi-agent, cross-session memory, and a thinking-time ad network (50/50 stablecoin payouts).

Awesome Lists containing this project

README

          

# ⬛ Anomalithic

### One open-core, model-agnostic agent runtime to rule them all.

[**Live site →**](https://anomalithic.vercel.app)  ·  [Architecture](./ARCHITECTURE.md)  ·  [Roadmap](./ROADMAP.md)  ·  [Ad spec](./docs/specs/thinking-impressions.md)

[![CI](https://github.com/zanni098/Anomalithic/actions/workflows/ci.yml/badge.svg)](https://github.com/zanni098/Anomalithic/actions/workflows/ci.yml)
![License](https://img.shields.io/badge/license-Apache--2.0-blue)
![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6)
![Models](https://img.shields.io/badge/models-Claude%20·%20Gemini%20·%20GPT%20·%20Llama%20·%20Ollama-b8502d)

Anomalithic — one agent to rule them all

---

Anomalithic is an AI agent runtime designed to match the capability of tools like
Claude Code while staying **provider-agnostic** and **self-hostable**. It runs for
minutes or days, spawns teams of sub-agents, speaks MCP, loads **Claude *and* Codex
skills**, fires lifecycle hooks, remembers across sessions — and funds itself with a
thinking-time ad network that pays watchers **50/50** in stablecoin.

The name is *anomaly* + *-lithic* (stone / monolith): the one monolithic agent.

## ✦ The killer feature — get paid while agents think

Thinking-time ads — 50/50 split

Advertisers pay a monthly fee to place a small link + short blurb that appears
**only while the agent is thinking**. Watchers earn for those impressions, split
**50/50** between the platform and the watcher, paid in **USDC on Base**. Always
toggleable.

The trust anchor already ships: every thinking window mints a **runtime-signed
impression** (`packages/core/src/impression.ts`) that the ad ledger verifies before
crediting a watcher — impressions can only be minted by the runtime, never spoofed by
a client timer. See the frozen [impression spec](./docs/specs/thinking-impressions.md).

## ✦ Build agents visually — drag, drop, wire, export

Drag-and-drop agent builder

Compose providers, prompts, tools, code, and sub-agents on a canvas, wire them
together, and export an Anomalithic agent definition — **[try it live](https://anomalithic.vercel.app/builder)**. No code required, but code is a first-class node.

## ✦ The whole agent, not a wrapper

Ten focused, open-source packages compose into one capable agent — each tested,
typed, and small enough to read in a sitting.

| Package | What it does |
|---|---|
| `@anomalithic/providers` | Any model — Anthropic, OpenAI, OpenRouter, Ollama, or any OpenAI-compatible endpoint |
| `@anomalithic/core` | Agent loop, typed event bus, **signed thinking-impressions**, tool registry |
| `@anomalithic/mcp` | Model Context Protocol stdio client + tool adapter |
| `@anomalithic/skills` | Loads Claude `SKILL.md` **and** Codex `AGENTS.md` into one skill system |
| `@anomalithic/hooks` | Lifecycle hooks: SessionStart, Pre/PostToolUse, Stop, Thinking |
| `@anomalithic/orchestrator` | Durable task store, atomic checkout, dependency graph, budgets — run for hours/days |
| `@anomalithic/memory` | File-backed cross-session memory + recall |
| `@anomalithic/security` | Secret redaction, permission policy, path sandbox, audit log |
| `@anomalithic/os` | The agentic-OS **kernel** that composes every package into one runtime |
| `@anomalithic/cli` | The `anomalithic` CLI — `run`, `skills`, `memory`, `mcp` |

The product, running — a quiet ad shows only during the thinking window, and each
window mints one signed impression:

```console
$ anomalithic run "explain MCP" --ads
✦ thinking…
💡 Your ad here while agents think — https://anomalithic.vercel.app/ads
MCP is an open protocol that lets agents call external tools and data
sources over a uniform JSON-RPC interface.
[anthropic:claude-sonnet-4-6] 1 turn(s), 10+5 tokens, 1 impression(s)
```

## ✦ Quickstart

```bash
pnpm install
pnpm build

# Offline demo (no API key needed):
node packages/cli/dist/index.js run -p mock "hello"

# Real model — copy .env.example to .env and add a key:
cp .env.example .env # set ANTHROPIC_API_KEY or OPENAI_API_KEY
node packages/cli/dist/index.js run "explain MCP in one sentence"

# Point at any OpenAI-compatible endpoint (OpenRouter, Ollama, local):
ANOMALITHIC_PROVIDER=openai OPENAI_BASE_URL=http://localhost:11434/v1 \
node packages/cli/dist/index.js run -m llama3.1 "hi"
```

## ✦ Platforms

- **CLI + TUI** — `anomalithic run`, `chat`, full-screen `tui`, `serve` (local HTTP runtime), plus `skills` / `memory` / `mcp` / `plugins` _(shipping)_
- **Desktop app** — Tauri shell ([`apps/desktop`](./apps/desktop)) with a [release pipeline](./.github/workflows/release.yml) that builds native Windows `.msi`, macOS `.dmg`, and Linux `.deb` / AppImage — see [docs/desktop.md](./docs/desktop.md) _(pipeline ready)_
- **TUI** — full-screen interactive sessions _(roadmap)_
- **Messaging gateway** — WhatsApp, Telegram, Slack, Discord, Signal _(roadmap)_
- **Mobile** — _(later)_

See the full plan in [ROADMAP.md](./ROADMAP.md).

## ✦ Develop

```bash
pnpm build # build all packages (turbo)
pnpm test # run all tests (vitest) — 11 suites
pnpm typecheck # tsc --noEmit across the workspace
pnpm lint # biome check
```

The website lives in [`apps/web`](./apps/web) (Next.js, deployed to Vercel).

## ✦ License

**Open-core.** The runtime packages and the desktop shell are Apache-2.0
(see [LICENSE](./LICENSE)); the hosted ad marketplace, payout wallet, and advertiser
portal are proprietary. Details in [LICENSING.md](./LICENSING.md).


Built in the open · anomalithic.vercel.app