# Graphorin > TypeScript framework for building long-living personal AI assistants. > Local-first, vendor-neutral, durable, observable, type-safe. > Created and maintained by Oleksiy Stepurenko. MIT License. - Website: https://docs.graphorin.com - Landing page: https://graphorin.com - Repository: https://github.com/o-stepper/graphorin - Maintainer: Oleksiy Stepurenko - License: MIT (© 2026 Oleksiy Stepurenko) ## Guide - [What is Graphorin?](https://docs.graphorin.com/guide): A TypeScript framework for building long-living personal AI assistants. The framework owns the agent loop, memory, workflow, observability, secrets, and an optional standalone server runtime. - [Agent runtime](https://docs.graphorin.com/guide/agent-runtime): The typed model -> tool calls -> model loop, streaming events, durable HITL approvals, multi-agent handoffs, model fallback, fan-out, and lateral-leak defenses. - [Architecture](https://docs.graphorin.com/guide/architecture): A layered view of the Graphorin framework - how packages compose from the dependency-free core up to the optional standalone server. - [Benchmarks](https://docs.graphorin.com/guide/benchmarks): Memory-quality benchmark results rendered from committed, benchConfig-stamped harness reports. - [Channels](https://docs.graphorin.com/guide/channels): The messenger front door - vendor-neutral ChannelAdapter SPI, identity routing, pairing access policy, the trust boundary (inbound sanitisation + taint), the gateway runtime, and the adapter testkit. - [CLI](https://docs.graphorin.com/guide/cli): graphorin - the operator CLI for the standalone server. Doctor, secrets, storage, audit, memory, consolidator, triggers, auth, pricing, skills, traces. - [Deployment](https://docs.graphorin.com/guide/deployment): Run Graphorin in production - systemd, Docker, Kubernetes, GitHub Actions integration, file modes, and observability hookup. - [Embedders](https://docs.graphorin.com/guide/embedders): Embedders turn text into dense vectors for semantic memory search via the EmbedderProvider contract - local Transformers.js / Ollama backends, dimension locking, and migration. - [Error contract](https://docs.graphorin.com/guide/errors): How Graphorin surfaces failures: which error classes exist, which - [Evals & benchmarks](https://docs.graphorin.com/guide/evals): Offline-first eval harness - a parallel runner, code/LLM/trajectory scorers, regression gating against a baseline, dataset loaders (LongMemEval, LOCOMO), and terminal/markdown/JSON/JUnit/HTML reporters. - [Examples](https://docs.graphorin.com/guide/examples): End-to-end example apps that exercise Graphorin against a deterministic stub provider so CI never needs a live LLM. Every example is shipped in the repository. - [Golden path: a local agent in 10 minutes](https://docs.graphorin.com/guide/golden-path-local): One file, one local model, one custom tool, persistent memory - a fully offline agent with expected output and troubleshooting. - [Golden path: a production API server](https://docs.graphorin.com/guide/golden-path-production): From graphorin init to an authenticated, encrypted, health-checked HTTP server with an agent behind it - plus the checklist separating demo from production. - [Golden path: safe code execution](https://docs.graphorin.com/guide/golden-path-sandbox): Running untrusted or model-written code behind the DockerSandbox boundary - threat model, a worked example, the limits that are enforced, and what stays out of scope. - [Installation](https://docs.graphorin.com/guide/installation): Install the @graphorin/* packages from the npm registry. Node.js 22+ and any of pnpm, npm, or yarn are supported. - [MCP client](https://docs.graphorin.com/guide/mcp-client): An in-core Model Context Protocol client over stdio and Streamable HTTP, wrapping @modelcontextprotocol/sdk. - [Memory system](https://docs.graphorin.com/guide/memory-system): Six tiers of memory - working, session, episodic, semantic, procedural, shared - plus derived insights, hybrid search with weighted fusion, an entity graph, bi-temporal time-travel, a memory-safety gate, and a background consolidator. - [Migration (pre-1.0)](https://docs.graphorin.com/guide/migration): How Graphorin versions move before 1.0 - the versioning policy, storage migrations, and what to expect when upgrading. - [Minimal profile](https://docs.graphorin.com/guide/minimal-profile): The scaffold 'minimal' preset, the lean install path, and the README-on-demand skill pattern for cheap always-on agents. - [Observability](https://docs.graphorin.com/guide/observability): OpenTelemetry-native traces with the GenAI Semantic Conventions, sensitivity-aware redaction with 14 built-in PII patterns, and replay primitives. - [Operations runbooks](https://docs.graphorin.com/guide/operations): Step-by-step procedures for operating a standalone Graphorin server: - [Performance & scale](https://docs.graphorin.com/guide/performance): Measured practical limits of the SQLite-backed memory store - hybrid-search latency, graph expansion cost, consolidator pass time, and DB size at 100k facts - plus how to reproduce the numbers. - [Persistence](https://docs.graphorin.com/guide/persistence): SQLite + sqlite-vec + FTS5 by default. Pluggable storage adapters. Optional SQLCipher v4 encryption-at-rest. - [Privacy & no-phone-home](https://docs.graphorin.com/guide/privacy): Zero version pings, zero analytics, zero auto-update calls. The only outbound traffic Graphorin generates is the traffic your code initiates. Verified by a CI check. - [Proactivity](https://docs.graphorin.com/guide/proactivity): Heartbeat and cron-leg primitives, the notify/question/review/act escalation ladder, act grants, budgets and active hours. - [Providers](https://docs.graphorin.com/guide/providers): One Provider interface for every LLM. Adapters for the Vercel AI SDK, Ollama, OpenAI-compatible servers, the llama.cpp HTTP server, and an in-process GGUF companion. - [Quickstart](https://docs.graphorin.com/guide/quickstart): A single-file memory-backed agent that streams tokens, persists a fact to local SQLite, and recalls it after a cold reopen - all offline via local embeddings. - [Rerankers](https://docs.graphorin.com/guide/rerankers): After memory retrieves candidates, a reranker reorders them by relevance before they enter the context window - a pluggable stage behind the ReRanker contract. - [Secrets](https://docs.graphorin.com/guide/secrets): SecretValue wrapper, SecretRef URI scheme, OS keychain integration, optional encryption-at-rest, and the per-tool secrets ACL. - [Security](https://docs.graphorin.com/guide/security): Sandbox tiers, server-token auth, audit log, OAuth 2.1, supply-chain pipeline, the lateral-leak defense layer, and the provenance / data-flow policy. - [Sessions](https://docs.graphorin.com/guide/sessions): A hybrid session facade with multi-agent attribution, agent registry, handoff records, JSONL export schema 1.0, and replay reconstruction. - [Skills](https://docs.graphorin.com/guide/skills): A loader for the public Agent Skills SKILL.md packaging format with three-tier progressive disclosure, Graphorin extensions namespaced under graphorin-*, and a supply-chain pipeline. - [Stability & versioning](https://docs.graphorin.com/guide/stability): What "stable" means for the `@graphorin/*` packages, what may change - [Standalone server](https://docs.graphorin.com/guide/standalone-server): Promote your assistant to a daemon with REST + WebSocket + SSE fallback, durable triggers, replay, Prometheus metrics, and health checks. - [Storage backends](https://docs.graphorin.com/guide/storage): The store contracts behind Graphorin persistence - memory, sessions, workflow checkpoints, triggers, auth - with a default SQLite implementation and opt-in encryption-at-rest. - [Tools](https://docs.graphorin.com/guide/tools): The typed tool({...}) builder, ToolRegistry, and ToolExecutor - parallel dispatch, approvals, sandbox-policy resolution, inbound sanitisation, and the memory-modification guard. - [Troubleshooting](https://docs.graphorin.com/guide/troubleshooting): Common Graphorin issues and how to resolve them - install & runtime, storage, providers, memory, and the standalone server. - [Workflow engine](https://docs.graphorin.com/guide/workflow-engine): A durable step-graph workflow engine with checkpoints, pause / resume across process restarts, dynamic parallelism, and human-in-the-loop primitives. ## Reference - [Changelog](https://docs.graphorin.com/reference/changelog): A rolled-up release-note feed for the framework. Per-package CHANGELOGs live in each `@graphorin/*` workspace. - [Design principles](https://docs.graphorin.com/reference/design-principles): Eighteen design principles encoded into the framework. If a feature contradicts a principle, the feature loses. - [FAQ](https://docs.graphorin.com/reference/faq): Frequently asked questions about Graphorin - what it is, what it isn't, and how to use it in production. - [Glossary](https://docs.graphorin.com/reference/glossary): The shared vocabulary used throughout the Graphorin documentation. - [Packages](https://docs.graphorin.com/reference/packages): Every @graphorin/* package, with a one-line summary, scope, and stability status. - [Pricing snapshot](https://docs.graphorin.com/reference/pricing): A bundled, never-auto-refreshed snapshot of LLM pricing data, sourced from the public @pydantic/genai-prices dataset. Refresh on demand with `graphorin pricing refresh`. ## Contributing - [Contributing](https://docs.graphorin.com/contributing): How to set up the repository, the development workflow, and the project conventions. - [Code of Conduct](https://docs.graphorin.com/contributing/code-of-conduct): Graphorin adopts the Contributor Covenant v2.1. By participating in the project you agree to abide by these expectations. - [Security policy](https://docs.graphorin.com/contributing/security): Vulnerability disclosure process, supported versions, and the project's privacy and cryptographic baselines. - [Third-party notices](https://docs.graphorin.com/contributing/third-party-notices): Runtime, peer, and build-time dependencies pulled in by Graphorin, with versions, licenses, and the role each plays. ## Optional - [API reference index](https://docs.graphorin.com/llms-api.txt): one line per generated API page (~2800 entries) - [Full documentation snapshot](https://docs.graphorin.com/llms-full.txt): concatenated Markdown of every published page