Skip to main content

Persistent memory graph for AI agents — store, recall, and connect knowledge across conversations.

Project description

HyperMemory CLI

Persistent memory graph for AI agents — store, recall, and connect knowledge across conversations.

HyperMemory gives AI assistants (Claude, Cursor, ChatGPT, custom agents) a long-term memory layer. The hm CLI is the primary interface for reading and writing to that memory, both for humans and for AI agents running shell commands.

Installation

pip install hypermemory-cli

Requires Python 3.10+.

Quick Start

# Authenticate (opens browser → GitHub OAuth)
hm login

# Store a fact
hm store person_alice "Alice, senior backend engineer at Acme" --type person

# Store a decision
hm store decision_jwt "We chose JWT over session cookies for auth" --type decision

# Connect them — describe WHY
hm relate --from person_alice --to decision_jwt --rel "Alice drove the JWT decision based on her scaling experience"

# Search by natural language
hm recall "authentication decisions"

# Traverse the graph
hm find person_alice --depth 2

# Check what you have
hm overview

Authentication

Browser login (recommended):

hm login

Opens your browser for GitHub-based OAuth. Tokens are saved to ~/.config/hypermemory/config.json and refresh automatically.

API key:

hm config --set-key hm_YOUR_API_KEY

Generate API keys at app.hypermemory.io/api-keys.

Environment variable:

export HYPERMEMORY_API_KEY=hm_YOUR_KEY
hm recall "recent decisions"

Commands

Memory Operations

Command Description
hm store KEY "desc" --type TYPE Create a new memory node
hm recall "query" Search memory by natural language or keywords
hm nodes KEY... Fetch full details for known exact node keys
hm update KEY --desc "new info" Update an existing node
hm forget KEY [--cascade] Delete a node (and optionally its edges)
hm relate --from A --to B --rel R Create a relationship between nodes
hm find KEY [--depth N] Traverse the graph from a starting node
hm relationships KEY List all edges connected to a node
hm ingest "text" [--context "label"] Auto-extract nodes from free-form text
hm overview Show graph stats and top nodes
hm export [--no-ontology] Export the full graph as JSON
hm skill list List current HyperMemory agent skills
hm skill get --variant general Retrieve the latest skill instructions
hm skill check --current-version X Check whether a skill update is available

Auth & Config

Command Description
hm login Authenticate via browser (OAuth 2.1 + PKCE)
hm logout Clear saved tokens
hm config Show current configuration
hm config --set-key KEY Save an API key
hm config --set-url URL Override the API endpoint
hm health Check server connectivity
hm version Print CLI version

Node Types

Every node requires a --type:

Type Use for
user The primary user (singleton user_profile node)
person People — teammates, contacts, users
organization Companies, teams, departments
component Software components, services, libraries
event Meetings, launches, incidents
decision Architecture choices, policy decisions
concept Ideas, patterns, abstract topics
artifact Documents, repos, configs, files
project Projects, initiatives, products
technology Languages, frameworks, tools, platforms
preference User preferences and settings
fact Verified facts, data points, measurements
skill Skills, expertise, capabilities

Relationships

Describe connections in plain language with --rel. Be specific about why the connection exists:

# BAD — bare verb, no context
hm relate --from component_api --to tech_redis --rel depends_on

# GOOD — explains why the connection exists
hm relate --from component_api --to tech_redis --rel "API depends on Redis for session caching and rate limiting"
hm relate --from person_alice --to decision_jwt --rel "Alice chose JWT because it supports stateless scaling"
hm relate --from project_app --to tech_sveltekit --rel "frontend built with SvelteKit for SSR and progressive enhancement"

The server automatically summarizes long labels into shorter searchable versions.

Key Format

Use descriptive, namespaced keys: {type}_{name}

person_alice          decision_jwt_auth       component_redis
pref_dark_mode        event_2025_launch       org_acme

AI Agent Integration

HyperMemory is designed to be used by AI agents as a persistent memory layer. The typical agent workflow:

  1. Start of conversation: hm overview + hm recall "relevant keywords" to load context
  2. When meaningful info appears: hm recall first to check for duplicates, then hm store new facts, decisions, or preferences
  3. As needed: hm update to correct information, hm forget to remove outdated info

The server automatically enriches stored nodes with structured data, edges, and hyperedges — agents just provide the key, description, and type.

Agents can retrieve current skill instructions directly:

hm skill list
hm skill get --variant general --raw
hm skill get --variant software-development --output hypermemory-skill.md
hm skill check --variant general --current-version 0.5.4

Available variants: general, openai, software-development, marketing, legal, cursor, cli, and project.

Pipe-Friendly Output

All data commands output JSON to stdout. Errors go to stderr. This makes hm composable with jq, scripts, and other tools:

# Count total nodes
hm overview | jq '.total_nodes'

# Get all decision keys
hm recall "decisions" | jq '.nodes[] | select(.node_type == "decision") | .key'

# Hydrate known keys with full details
hm nodes fact_a fact_b | jq '.nodes.fact_a.node'

# Export and filter
hm export | jq '.nodes | length'

# Backup
hm export > memory-backup-$(date +%F).json

Configuration

Config is stored at ~/.config/hypermemory/config.json. Auth priority:

  1. $HYPERMEMORY_API_KEY environment variable
  2. Config file (API key or OAuth tokens)
  3. Defaults (API URL only)

Links

  • Web app: app.hypermemory.io
  • API endpoint: https://api.hypermemory.io
  • Claude Connector: Add https://api.hypermemory.io/mcp as an MCP server in Claude Desktop

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

hypermemory_cli-1.1.2.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

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

hypermemory_cli-1.1.2-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file hypermemory_cli-1.1.2.tar.gz.

File metadata

  • Download URL: hypermemory_cli-1.1.2.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hypermemory_cli-1.1.2.tar.gz
Algorithm Hash digest
SHA256 449eb6f87884069aaebbb75ae1438dac1cd4c4b5bca395b4ca9d4df98e66076c
MD5 cc0f6e5619133715518057113800094d
BLAKE2b-256 b5b7f56c11194d0acc734f7c0c3b47f6bac9587c97c6c52d60dec69346cb2307

See more details on using hashes here.

File details

Details for the file hypermemory_cli-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for hypermemory_cli-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6ffc5367699d850128bd4f3454f8a2ee0217b519703a1b0d4175d5842b49dfe9
MD5 4e7e6ccc5cd92ff12236708f7bb30776
BLAKE2b-256 8a17b76dd584055a387aed50cab726288dcd6c5397aa2b0438921257f05c48a5

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