Skip to main content

A context intelligence layer for LLM workflows

Project description

Waystone

Persistent cross-session memory for LLM agents. A knowledge graph that stores decisions, constraints, and context across coding sessions — so your agent starts informed, not blank.

Install

pip install waystone

Requires Python 3.11+. An LLM API key is needed for extraction (Gemini Flash recommended — fast and cheap).

Quick start

Option 1: MCP server (recommended)

Add to your editor's MCP config:

{
  "mcpServers": {
    "waystone": {
      "command": "waystone",
      "args": ["mcp-serve"],
      "env": { "WAYSTONE_PROJECT": "my-project" }
    }
  }
}

Restart your editor. waystone_query, waystone_extract, and waystone_stats appear as tools. Your agent pulls context when it needs it.

Option 2: Claude Code hooks (zero manual calls)

Add to ~/.claude/settings.json:

{
  "hooks": {
    "UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "waystone hook query my-project" }] }],
    "Stop": [{ "hooks": [{ "type": "command", "command": "waystone hook extract my-project" }] }]
  }
}

Context is injected automatically before every prompt. Facts are extracted automatically when Claude finishes.

Supported clients

Claude Code · Cursor · Windsurf · Continue.dev · Cline · Zed · OpenClaw · Hermes

Full per-client setup: unbidden.ai/docs/mcp-server/

Hermes Agent (native memory provider)

Beyond MCP, Waystone ships a first-class Hermes Agent memory provider (hermes_plugin/). It plugs the knowledge graph into Hermes as a Tier-3 memory backend:

  • prefetch() injects relevant graph context before each LLM call (in-process — the embedding model loads once and stays warm, so per-turn retrieval stays sub-second).
  • waystone_query / waystone_recall tools let the agent search the graph on demand.
  • on_session_end extraction grows the graph in the background. Fully local — no data leaves the machine.

Install:

cp -r hermes_plugin/ /path/to/hermes-agent/plugins/memory/waystone/
pip install waystone
hermes memory setup        # pick "waystone", set the project

Key CLI commands

waystone init <project>              # create a project
waystone extract <project> <file>    # extract facts from a transcript
waystone query <project> "<query>"   # retrieve relevant context
waystone onboard <project>           # import existing session history
waystone show <project>              # view project stats

How it works

At session endwaystone extract reads the conversation transcript and pulls structured facts: decisions, constraints, implementations, lessons learned, open questions. These are stored as nodes in a local SQLite knowledge graph (~/.waystone/). Superseded facts are retired automatically — if a decision changes, the graph reflects the current state.

At session startwaystone_query (or a hook) runs BFS traversal from the most relevant entry points and surfaces the top 10–25 facts. Only what's relevant to the current context, not everything ever stored.

Benchmarks

Tested on 23 questions across 3 domains (API design, auth systems, data pipelines):

Recall
Baseline 82%
With retrieval improvements 89%

Token usage vs. naive MEMORY.md on a mature project: typically 60–80% fewer context tokens per session (exact savings depend on project age and query specificity).

Full results: BENCHMARK_RESULTS.md

Hosted API

The default store is local SQLite — no cloud dependency, no infra to manage. For cross-machine sync and team access, a hosted API is available:

  • Pro ($20/mo) — unlimited projects, hosted API, 1 user
  • Team ($80/mo) — unlimited projects, hosted API, up to 10 users

unbidden.ai/pricing/

Docs

License

MIT — 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

waystone-0.4.27.tar.gz (310.8 kB view details)

Uploaded Source

Built Distribution

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

waystone-0.4.27-py3-none-any.whl (271.8 kB view details)

Uploaded Python 3

File details

Details for the file waystone-0.4.27.tar.gz.

File metadata

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

File hashes

Hashes for waystone-0.4.27.tar.gz
Algorithm Hash digest
SHA256 9a192266d7ea07bd3678f776560c620422f19db1cb9f5b1b049f595e4d73e499
MD5 14e5e35b5ad9ce7bc59d5df0df66bbd0
BLAKE2b-256 6edf87dd478b578b3ddcaea084f4b5b12687230ad1e062b84e74817545b4cf05

See more details on using hashes here.

Provenance

The following attestation bundles were made for waystone-0.4.27.tar.gz:

Publisher: publish.yml on Unbidden-AI/waystone

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

File details

Details for the file waystone-0.4.27-py3-none-any.whl.

File metadata

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

File hashes

Hashes for waystone-0.4.27-py3-none-any.whl
Algorithm Hash digest
SHA256 c3bea1e0b26d52c4dc3ec38b36d49ae0853e1c45635cc9c4cea5ec9315e4ebbb
MD5 c8c0146c31f29323bae7f6cf2b6c45f0
BLAKE2b-256 855e3441af9f158e1c3917d0979408dabb52f570efb45344a04734b06b2f1951

See more details on using hashes here.

Provenance

The following attestation bundles were made for waystone-0.4.27-py3-none-any.whl:

Publisher: publish.yml on Unbidden-AI/waystone

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