Skip to main content

Cognits — Context-Oriented Generation for Neural Intelligent Tutoring Systems. Multi-agent AI personal tutor.

Project description

Cognits

Context-Oriented Generation for Neural Intelligent Tutoring Systems.

Cognits is a multi-agent learning system. It anchors itself to your project folder — whether you're building a game, creating a web app, learning a new language, studying a university subject, or even working on Cognits itself — and orchestrates specialized subagents that research your domain, build a skill tree, and guide you through Socratic learning sessions.

How it works

  1. Onboarding interview — Cognits interviews you to understand your background, project, experience, and learning preferences. It builds a skill tree of prerequisites automatically, researching your domain on the web in parallel.

  2. Learning sessions — A Socratic Teacher agent guides you through one skill at a time: concepts, hands-on exercises, exploration, and assessment. It adapts to your responses in real time, asking you to predict, reflect, and articulate what you've learned.

  3. Assessment & mastery tracking — An independent Evaluator agent grades your answers, updates your mastery level per skill (BKT + FSRS), and schedules spaced-repetition reviews.

  4. Session analysis — After each session, an analyzer reviews the full transcript and updates your learner profile — inferred preferences, difficulties, effective analogies — so future sessions are personalized.

Architecture

Cognits is a multi-agent system with a local web interface:

  • Orchestrator — plans your learning path, coordinates subagents
  • Teacher (Maestro) — Socratic tutor for guided learning sessions
  • Evaluator — independent examiner with rubric-based grading
  • Skill Planner — auto-generates a skill tree from your domain
  • Study Planner — creates stage-based pedagogical plans per skill
  • Documentalist — searches an internal knowledge base (local RAG)
  • Web Researcher — fetches up-to-date information from the web
  • Session Analyzer — post-session profile learning

All data stays local: sessions, reports, skill tree, learner state, and RAG index live in ./.cognits/ inside your project folder. API keys are encrypted at rest. No data is sent anywhere except the LLM API you configure.

Installation

Requires Python 3.12 (ChromaDB is not yet compatible with 3.13).

macOS / Linux / Windows (WSL2)

# Install uv (if you don't have it)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install Cognits
uv tool install cognits

For Windows users, WSL2 is the recommended environment. Native Windows support is limited (the TUI framework requires a modern terminal, and the ONNX Runtime has known instability outside WSL).

macOS Intel note

onnxruntime 1.27 does not ship a wheel for macOS x86_64. If uv tool install fails on an Intel Mac, install onnxruntime separately via conda-forge first, then retry:

conda install -c conda-forge onnxruntime
uv tool install cognits

Disable RAG (faster startup, smaller footprint)

Set COGNITS_DISABLE_RAG=1 to skip loading the BGE-M3 embedding model (~2.3 GB download). RAG-dependent features (knowledge base search) will be unavailable but the tutor still works.

The installation includes the local RAG engine (onnxruntime + ChromaDB, ~600 MB). On first launch, the BGE-M3 embeddings model is downloaded (~2.3 GB).

Usage

cd my-learning-project
cognits

Starts a local server (port 5173 by default, PORT env var) and opens the interface in your browser. State lives in ./.cognits/ (sessions, reports, encrypted configuration, RAG index).

Development

scripts/dev.sh    # Vite (HMR) + uvicorn --reload
scripts/build.sh  # frontend build + wheel
uv run pytest

The frontend is a SolidJS SPA in frontend/; the backend is Python (FastAPI) in src/cognits/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cognits-0.0.6.tar.gz (899.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cognits-0.0.6-py3-none-any.whl (845.5 kB view details)

Uploaded Python 3

File details

Details for the file cognits-0.0.6.tar.gz.

File metadata

  • Download URL: cognits-0.0.6.tar.gz
  • Upload date:
  • Size: 899.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cognits-0.0.6.tar.gz
Algorithm Hash digest
SHA256 646b29e1a5e69627b45bc15028b9f2a7d8413caf3fae7c9e2497fc5cfe3d3f33
MD5 20cf3b6493ace1fd30805b49b805deec
BLAKE2b-256 439ca5aa29c11f8aad44d4441e261f5f976d75e5904598ab9ae8bd9a938a4520

See more details on using hashes here.

File details

Details for the file cognits-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: cognits-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 845.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cognits-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0ef1e30a3a9387b2828fa18c7f38357ca3c3ee111e1502563f5a13df93d6a246
MD5 3a527dac5cc9ae8fafe5f211910dc7f4
BLAKE2b-256 7487586c4fcd543cd0a3e903d66f11b78e2a47b0ffcd990c8b1083eb6aa84e19

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page