{"data":{"slug":"aayoawoyemi-ori-mnemos","name":"Ori-Mnemos","tagline":"Local-first persistent agentic memory powered by Recursive Memory Harness (RMH).","github_url":"https://github.com/aayoawoyemi/Ori-Mnemos","owner":"aayoawoyemi","repo":"Ori-Mnemos","owner_avatar_url":"https://avatars.githubusercontent.com/u/150862522?v=4","primary_language":"TypeScript","stars":324,"forks":31,"topics":["agent-memory","ai-agent","ai-agents","ai-memory","knowledge-graph","llm","local-first","markdown","mcp","mcp-server","memory","model-context-protocol","persistent-ai-memory","persistent-memory","recursive-memory-harness","rmh","semantic-search","sqlite","typescript","vector-search"],"archived":false,"github_pushed_at":"2026-09-20T05:53:47+00:00","maintenance_label":"Very active","stars_delta_30d":10,"url":"https://www.graphcanon.com/tools/aayoawoyemi-ori-mnemos","markdown_url":"https://www.graphcanon.com/tools/aayoawoyemi-ori-mnemos.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/aayoawoyemi-ori-mnemos","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=aayoawoyemi-ori-mnemos","description":"Local-first persistent agentic memory powered by Recursive Memory Harness (RMH). Open source must win.","homepage_url":"https://orimnemos.com.","license":"Apache-2.0","open_issues":1,"watchers":5,"ai_summary":"This repository contains a local-first persistent agentic memory system designed for AI agents using the Recursive Memory Harness. It leverages SQLite and TypeScript.","readme_excerpt":"## Quick Start\n\n```bash\nnpm install -g ori-memory\nori init my-agent\ncd my-agent\n```\n\nConnect to your agent:\n\n```bash\n\n---\n\n# Infrastructure\nori index build [--force]         # Rebuild everything derived from the vault\nori index status                  # Index statistics\nori graph metrics                 # PageRank, centrality\nori graph communities             # Louvain clustering\nori serve --mcp [--vault <path>]                                # Run MCP server\nori bridge claude-code [--scope <s>] [--activation <a>] [--vault <p>]  # Claude Code (hooks + MCP + instructions)\nori bridge hermes [--scope <s>] [--activation <a>] [--vault <p>]       # Hermes Agent (plugin + MCP + instructions)\nori bridge opencode [--scope <s>] [--activation <a>] [--vault <p>]     # OpenCode (plugin + MCP + AGENTS.md)\nori bridge cursor [--scope <s>] [--vault <p>]                          # Cursor (MCP config)\nori bridge codex [--scope <s>] [--vault <p>]                           # Codex (TOML config)\nori bridge generic [--scope <s>] [--vault <p>] [--json]                # Any MCP client (prints config)\nori bridge status [--json]                                             # Inspect all bridge installs\nori bridge <target> --uninstall                                        # Remove Ori config for a target\n```\n\nPath-taking commands treat relative file paths as vault-relative. Absolute\npaths continue to work unchanged.\n\n---\n\n## Deployment\n\n**Local.** Install globally, `ori init`, connect your MCP client. Done.\n\n**VPS / headless.** Install on the server. `ori serve --mcp --vault /path/to/vault`. Memory persists on the filesystem. Back up with `git push`.\n\n**Remote terminals.** Hermes Agent supports Docker, SSH, Modal, and Daytona backends. If your agent runs in a remote terminal, `ori` must be installed and on PATH inside that environment, and the vault must be on persistent storage (not ephemeral). For serverless backends like Modal where environments hibernate, mount the vault on a persistent volume.\n\n**Multi-vault.** Separate Ori instances for separate agents. Each vault is self-contained: its own identity, knowledge graph, and operational state.\n\n**Scriptable.** CLI returns structured JSON. Use in cron jobs, webhook handlers, or orchestration loops.\n\n---\n\n## Install Model\n\nOri separates three install concepts:\n\n- `scope`: `global` follows one vault across the machine, `project` stays inside one repo/workspace\n- `activation`: `auto` runs `ori_wake` at session start where the adapter supports it, `manual` leaves tools available but does not auto-orient\n- `vault`: explicit `--vault` wins; otherwise Ori resolves by install scope\n\nPrecedence rules:\n\n- project install overrides global install\n- explicit `--vault` overrides inferred vault\n- project activation overrides global activation\n\nBridge lifecycle:\n\n- rerun the same `ori bridge ...` command to update vault path or activation in place\n- use `--uninstall` to remove Ori-owned config from supported adapters\n- generic installs emit manual uninstall instructions because Ori does not own that client config surface\n\nClaude Code, Hermes Agent, and OpenCode are fully automated adapters with lifecycle hooks. Claude Code uses hook scripts; Hermes uses a native Python plugin installed at `~/.hermes/plugins/ori/`; OpenCode uses a JavaScript plugin at `.opencode/plugins/lifecycle.js`. All three auto-orient at session start (via first-run detection) and capture insights at session idle. Cursor and Codex have native MCP config install support. Codex writes to `~/.codex/config.toml` and uses a single global config surface; \"project\" scope there means project-like runtime vault discovery, not a separate project config file. Other MCP-capable clients can use `ori bridge generic` now and wire the emitted config into their own client surface.\n\n---\n\n---\n\n## License\n\nApache-2.0\n\n---\n\nMemory is sovereignty. Ori gives your agent a mind.","github_created_at":"2026-02-20T08:52:34+00:00","created_at":"2026-07-11T11:36:36.305703+00:00","updated_at":"2026-09-30T21:20:40.594674+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"}],"tags":[{"slug":"agent-memory","name":"agent-memory"},{"slug":"ai-agents","name":"ai-agents"},{"slug":"knowledge-graph","name":"knowledge-graph"},{"slug":"llm","name":"llm"},{"slug":"local-first","name":"local-first"},{"slug":"markdown","name":"markdown"},{"slug":"model-context-protocol","name":"model-context-protocol"},{"slug":"persistent-memory","name":"persistent-memory"}],"trust":{"provenance":{"is_fork":false,"github_id":1162428497,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T06:26:51.967Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":3,"days_since_push":0,"last_release_at":"2026-09-16T18:27:24Z","stars_delta_30d":10,"open_issues_delta_30d":1},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:36:37.523Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"mcp":{"source":"package.json:@modelcontextprotocol/*","observed_at":"2026-09-20T06:26:52.992Z","server_manifest":true},"scan":{"source":"repo_scan","observed_at":"2026-09-20T06:26:52.992Z"},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-09-20T06:26:52.992Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-09-20T06:26:52.992Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-20T06:26:52.992Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you need a robust, local-first solution that prioritizes offline capabilities and security.","If your application requires highly reliable persistent storage of agent memories without relying on cloud-based services.","For projects where maintaining context over multiple interactions is critical, due to the RMH technique."],"when_not_to_use":["When real-time synchronization across devices or cloud integration is a non-negotiable requirement for your application.","If you are looking for a memory system that leverages distributed databases for scalable access patterns; Ori-Mnemos focuses on local storage using SQLite.","In environments where complex, multi-node architectures and high availability requirements demand more than a single point of data persistence."],"source":"enrich:decision_facts","observed_at":"2026-07-11T20:50:29.532Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Ori-Mnemos is a local-first, persistent agentic memory system leveraging SQLite and TypeScript. It incorporates Recursive Memory Harness (RMH) for AI agents."}]}}