AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Nous is a continuous memory platform for AI agents: persistent memory, decision intelligence, and the ability to learn from its own mistakes. Built on the FORGE architecture, grounded in Minsky's Soci
Developer toolsPython · SvelteGitHub @tfatykhovOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI Agent with decisions memory at its core
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A cognitive architecture for AI agents, grounded in Minsky's Society of Mind.
Nous is a framework for building AI agents that think, learn, and grow — not just respond. It applies the decision intelligence principles proven by Cognition Engines, and implements Marvin Minsky's Society of Mind principles as first-class architectural components.
"To explain the mind, we have to show how minds are built from mindless stuff." — Marvin Minsky
Quickstart Guide → — Deploy Nous from scratch in minutes.Read the full README ↗"To explain the mind, we have to show how minds are built from mindless stuff." — Marvin Minsky
Most agents are brilliant for one conversation and blank the next. Nous is built to live for months: one agent, one database, and a growing memory of what it saw, what it decided, what worked and what didn't. It works on its own schedule, carries long jobs in the background, and is held to account by records of what it actually did.
| Most agents and harnesses | Nous | |
|---|---|---|
| Lifetime | One session, then the context resets | Always on, with months of history in one database |
| Memory | A chat log, a notes file or a vector store | Typed memories (episodes, facts, procedures, decisions, censors) linked in a knowledge graph and consolidated every night |
| Decisions | Made and forgotten | Recorded with confidence and reasons, reviewed against outcomes, calibrated over time |
| "Done!" | Taken on trust | Checked against a durable ledger of the tool calls that really ran |
| Rules | Prompt instructions it may ignore | Censors and guardrails that block the action in code |
| Initiative | Waits for your message | Heartbeat checks, schedules, background tasks and multi-step plans |
| Getting better | Only when you edit its prompt | Learns procedures from what worked; every new lesson must pass a gate first |
| Grading | Grades itself | Background work is scored by a separate, deterministic scorer |
Nous is not a wrapper around a chat window. It is the long-lived mind behind one.
Episodes, facts, procedures, censors and working memory, each with its own lifecycle. Recall fuses full-text and vector search, then spreads through a knowledge graph. A nightly sleep cycle consolidates, links and prunes.
Every significant decision is recorded with its confidence, reasons and deliberation trace. Similar past decisions come back before the next choice; outcomes are reviewed and Brier scores track calibration.
Procedures (Minsky's K-lines) are learned from clusters of successful decisions, episode lessons and error recoveries. A lesson gate checks each one against its evidence and against what Nous already knows.
Side-effecting tool calls are recorded in a durable execution ledger. Risky actions are gated by tier, and after each turn the agent's claims are checked against what actually ran.
A heartbeat runs scheduled checks (health, Drive, email, or any check described in plain words) and escalates what matters. Schedules, background subtasks and durable multi-node DAGs carry long work.
Finished background subtasks get a deterministic score from a separate scorer job, built to run under its own database role so the agent can read its scores but not change them.
A dashboard covers memory, the graph, decisions, calibration, retrieval, the ledger, the heartbeat and DAGs. A companion app (web and Android) lets the agent answer with live, interactive UI.
Streaming chat over REST, an MCP server for other agents and tools, and a streaming Telegram bot with attachments. Tools include web search, Python, a shell, files, documents and an optional browser.
Capabilities that change behavior sit behind documented flags. Items marked opt-in ship switched off; see the environment variable reference.
learn_skill from a URL, a file or inline markdown, delivered in full when recalled.ingest_document chunks and stores whole documents; images, PDFs and text files arrive through Telegram and REST.recall_deep, plus multi-query expansion.cache_retrieve away, four-tier pruning of old tool results, and history compaction with a hallucination guard.resolve_decision closes the loop; Brier scores and a calibration factor keep confidence honest.send_email works only toward an allowlist.record_decision, recall_deep, recall_recent, learn_fact, learn_skill, ingest_document, get_procedure, create_censor, cache_retrieve.bash, read_file, write_file, run_python, send_file.web_search (routed by query type across Tavily, Exa and Brave), web_fetch, and browser_task (opt-in), an isolated agent loop on headless Chromium.spawn_task, spawn_sync, schedule_task, dag_create, list_tasks, cancel_task, heartbeat_check_create, heartbeat_check_manage.push_surface and propose_action.The agent tools reference lists every tool and which frames can use it.
nous_chat, nous_recall, nous_status, nous_teach, nous_decide.Every turn runs through the Nous loop, and a sleep cycle feeds what was learned back into recall:
flowchart LR
S([Sense]) --> F[Frame] --> R[Recall] --> D[Deliberate] --> A[Act] --> M[Monitor] --> L[Learn]
L -.->|"sleep cycle: consolidate, link, prune"| R
graph TB
IF["Interfaces<br/>REST · MCP · Telegram · Dashboard · Companion"]
CL["Cognitive layer<br/>frames · context engine · pre/post-turn hooks"]
BR["Brain<br/>decisions · calibration · guardrails · graph"]
HE["Heart<br/>episodes · facts · procedures · censors · working memory"]
BG["Background organs<br/>heartbeat · schedules · subtasks · DAGs · sleep"]
BUS(("Event bus"))
DB[("PostgreSQL 17 + pgvector")]
IF --> CL
CL <--> BR
CL <--> HE
BG --> CL
CL --> BUS --> HE
BR --- DB
HE --- DB
brain, heart, nous_system and scoring.agent_id, so one database can host several agents.| Minsky's idea | In Nous |
|---|---|
| K-lines | Procedures that rebuild the mental state a kind of work needs |
| Censors | Rules that block an action rather than rewrite it |
| Frames | One active interpretation per turn, switched explicitly |
| Papert's principle | Growth through better management of what is already known: detours, not replacements |
| Parallel bundles | Decisions backed by several independent reasons, not one chain |
| B-brains | A critic that watches the agent think (first phase shipped) |
git clone https://github.com/tfatykhov/nous.git
cd nous
cp .env.example .env # set ANTHROPIC_API_KEY; OPENAI_API_KEY enables embeddings
docker compose up -d
curl http://localhost:8000/health
Then say hello:
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Hello, who are you?"}'
The dashboard is at http://localhost:8000/dashboard. Migrations run on startup. The Quickstart guide covers Telegram, local development and verification.
| Quickstart | Deploy from scratch, local development, verification |
| Feature index | Every feature and its status, including planned work |
| What's shipped | Ship notes, design rationale and invariants |
| Environment variables | Settings and feature flags |
| REST API · Agent tools | The interfaces |
| Project structure | A map of the code |
| Research | Design rationale, from the Minsky mapping to storage |
Nous applies the decision-intelligence ideas proven by Cognition Engines: decisions, deliberation traces, calibration, guardrails and bridge definitions. It is an independent implementation. Cognition Engines is a standalone server any agent can call; the Nous Brain is an embedded organ with no network overhead. Same ideas, not same code.