Skip to main content

Topos personal AI engine (FastAPI): local data, sync, control plane WebSocket client

Project description

Topos Node

Topos Logo

Topos Node is your personal AI node that runs on your own device. It helps you process and organize your data locally, then connect to Topos and 3rd-party services with explicit user-controlled access.

Why Topos Node

  • Runs locally on your machine
  • Keeps your node data under your control
  • Supports source ingestion, local processing, and controlled sharing flows
  • Installs as a single command-line tool via uv

How Topos Works (in product terms)

Topos Node has two core parts that work together to give you control:

Your Apps/Data -> Topos Database -> Topos Engine -> Safe Responses
Part What it is What it does for you
🗂️ Topos Database Your private memory layer on your device Stores your records, keeps your history, and makes your personal context searchable
🧠 Topos Engine Your decision and processing layer Understands requests, runs AI workflows, and returns the right answer based on your permissions

🛡️ Cognitive Firewall (user control first)

The Topos Engine acts as a Cognitive Firewall: it helps ensure only the right information is used and shared.

Cognitive Firewall principle What that means in practice
🔒 Permission-aware Requests are evaluated against your access rules before data is returned
🎯 Precision over data dumps The engine is designed to return only what is needed, not your entire history
👁️ Transparent behavior Boundaries and limits are explicit so sharing stays understandable and controllable

🤖 Core ML tools in the Engine

Topos Engine uses both local and model-hub paths so users can choose flexibility and control:

ML tool Role in the workflow User-facing benefit
🦙 Ollama Local model execution path Keep more processing on-device and reduce external dependency
🤗 Hugging Face Model and backend integration path Access broad model capabilities for enrichment and analysis tasks

Why this split matters

  • 🏠 Your data lives in one durable place (Database)
  • ⚙️ Intelligence and policy decisions happen in a separate runtime (Engine)
  • 🛡️ The Cognitive Firewall model helps protect context while still enabling useful AI actions
  • 🔄 You can evolve processing/model strategy without changing your core stored memory

Shared runtime contracts

The shared/ package in this repo is part of the node runtime contract. It contains common schema and filtering definitions used by both API and engine paths.

Quick Start

1) Install

uv tool install topos-node

2) Configure

Topos Node requires a TOPOS_KEY.

topos-node --set-topos-key "<YOUR_TOPOS_KEY>"

This stores your key in:

  • ~/.topos/.env

Optional:

  • TOPOS_CONTROL_PLANE_URL if you need a non-default endpoint

3) Run

topos-node --host 0.0.0.0 --port 9000

4) Verify

curl http://localhost:9000/health

Common Commands

# Start node
topos-node

# Save your TOPOS_KEY for future runs
topos-node --set-topos-key "<YOUR_TOPOS_KEY>"

# Discover available local databases and exit
topos-node --discover

# Use custom database path
topos-node --db-path /path/to/topos.sqlite

# Bind custom host and port
topos-node --host 127.0.0.1 --port 9100

Upgrade or Uninstall

# Upgrade to latest
uv tool upgrade topos-node

# Remove
uv tool uninstall topos-node

Security and Privacy Notes

  • Do not commit topos/.env or any real credentials.
  • Keep your TOPOS_KEY private.
  • Review env.example for available configuration options.

Developing Locally

uv sync --extra engine
just run

Engine memory (local dev)

ML models are cached inside the Engine with LRU eviction. For lighter local runs (especially inside Cursor's integrated terminal), see Engine memory management.

# Default: ENGINE_MAX_RESIDENT_MODELS=3; pipeline flush is automatic
# Override only if needed, e.g. lower RAM: export ENGINE_MAX_RESIDENT_MODELS=2
export PRIVACY_FILTER_DEVICE=cpu

Run tests:

pip install -e ".[dev,engine]"
pytest tests -m "public and not e2e" -q

Contributing

See CONTRIBUTING.md for:

  • public vs private test lanes
  • where deployment scripts now live
  • contribution scope and security expectations

License

Apache License 2.0. See LICENSE.

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

topos_node-1.0.5.tar.gz (465.1 kB view details)

Uploaded Source

Built Distribution

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

topos_node-1.0.5-py3-none-any.whl (619.4 kB view details)

Uploaded Python 3

File details

Details for the file topos_node-1.0.5.tar.gz.

File metadata

  • Download URL: topos_node-1.0.5.tar.gz
  • Upload date:
  • Size: 465.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for topos_node-1.0.5.tar.gz
Algorithm Hash digest
SHA256 86fb19f07e1b3c9bbbd8789a6d5cb58f2a3f751b8df28fb652f0ec0be4008ac2
MD5 150dae77c26651561b19b1139d0885d0
BLAKE2b-256 ed5384d9a6eed0f3b7d426a2c96729c098be95b9e3053618705e0c6f1e2dde81

See more details on using hashes here.

Provenance

The following attestation bundles were made for topos_node-1.0.5.tar.gz:

Publisher: publish.yml on dialoguesai/topos

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

File details

Details for the file topos_node-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: topos_node-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 619.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for topos_node-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5b6975979e6f558c074cf4bd470f21e805be770edb3d8a2c267338a356241b07
MD5 d4544481196e73ef9226bd34b6f10b33
BLAKE2b-256 bee4c271f62e2b9a3449d9dc3bd695ac66b4027cf3e5e9b4073ea53d75a9fa5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for topos_node-1.0.5-py3-none-any.whl:

Publisher: publish.yml on dialoguesai/topos

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