Skip to main content

Personal AI assistant with persistent memory and multi-source knowledge integration

Project description

ntrp

ntrp is entropy – the measure of disorder in a system. Your calendar, emails, notes, browser tabs, half-remembered conversations – it all accumulates. This project exists to reduce it.

I built this for myself. ADHD and scattered attention meant I kept losing track of things (e.g. what I said, what I planned, what I was supposed to follow up on). So I made an assistant that hooks into my stuff and actually remembers.

What it does

  • Persistent memory: learns facts and patterns across conversations, consolidates them over time
  • Scheduled tasks: morning briefings, daily reviews, health tracking – runs autonomously on a schedule
  • Connected sources: Obsidian vault, Gmail, Google Calendar, browser history, web search (so far)
  • Shell access: runs commands, manages files, sends emails
  • Any LLM: Claude, GPT, Gemini built-in; OpenRouter, Ollama, vLLM, or any OpenAI-compatible endpoint via custom models
Memory

Schedules

Connections

Install

uv tool install ntrp    # backend (or: pip install ntrp)
bun install -g ntrp-cli # terminal UI (or: npx ntrp-cli)

Quick start

Create ~/.ntrp/.env with at least one LLM provider key and model variables (see .env.example):

mkdir -p ~/.ntrp
cat > ~/.ntrp/.env << 'EOF'
ANTHROPIC_API_KEY=sk-ant-...
NTRP_CHAT_MODEL=claude-sonnet-4-6
NTRP_MEMORY_MODEL=claude-sonnet-4-6
NTRP_EMBEDDING_MODEL=text-embedding-3-small
EOF
ntrp serve   # starts backend, prints a one-time API key
ntrp         # terminal UI (separate terminal) – paste the key on first launch

The server generates an API key on first run and prints it once. Enter it in the UI setup screen — it's saved to your system keychain. Use ntrp serve --reset-key to regenerate.

See docs/setup.md for Google OAuth, Telegram, Obsidian, custom models, Docker, and other integrations.

Requirements

  • Python 3.13+, uv
  • Bun (terminal UI)
  • At least one LLM provider API key

Inspired by

  • opencode – terminal UI
  • letta – persistent memory and personalized approach
  • hindsight – graph memory structure

Versioning

Pre-1.0: 0.minor.patch. Minor bumps for new features (may be breaking), patch bumps for fixes. All changes go through PRs, except docs and minor non-code updates.

License

MIT

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

ntrp-0.3.4.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

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

ntrp-0.3.4-py3-none-any.whl (197.0 kB view details)

Uploaded Python 3

File details

Details for the file ntrp-0.3.4.tar.gz.

File metadata

  • Download URL: ntrp-0.3.4.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ntrp-0.3.4.tar.gz
Algorithm Hash digest
SHA256 5b9560507e00f47ec1dbfa1bdfd561edc5241b843ee1e76ef4a23b359bdc7111
MD5 cdabaf7ca5501658ea256624552d3c5a
BLAKE2b-256 fcea1b23162d81ca4c5741fed4d6c9c096cf4c3ed1fa5fc7593b64f60f9e0e25

See more details on using hashes here.

Provenance

The following attestation bundles were made for ntrp-0.3.4.tar.gz:

Publisher: publish-backend.yml on esceptico/ntrp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ntrp-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: ntrp-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 197.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ntrp-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e231d92d36aaeacc78d93de5d2414426d308178facf587117b2e5b7c8974fcee
MD5 815e7830b443672dfad0301574d7ff5f
BLAKE2b-256 391965818b530cb142bf84424f7985b8a774a84ab31150b1c7e86dab312795c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ntrp-0.3.4-py3-none-any.whl:

Publisher: publish-backend.yml on esceptico/ntrp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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