AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證AI Agent with decisions memory at its core
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
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.檢視完整 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.