<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Agent Memory System on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/agent-memory-system/</link>
        <description>Recent content in Agent Memory System on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 24 Sep 2026 20:47:23 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/agent-memory-system/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>hindsight</title>
        <link>https://producthunt.programnotes.cn/en/p/hindsight/</link>
        <pubDate>Thu, 24 Sep 2026 20:47:23 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/hindsight/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1692548912452-261ede1babe0?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3OTAyNTM5NDF8&amp;ixlib=rb-4.1.0" alt="Featured image of post hindsight" /&gt;&lt;h1 id=&#34;vectorize-iohindsight&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vectorize-io/hindsight&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vectorize-io/hindsight&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Documentation&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/integrations&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Integrations&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/cookbook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cookbook&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;https://benchmarks.hindsight.vectorize.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Benchmarks&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2512.12818&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paper&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;https://ui.hindsight.vectorize.io/signup&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hindsight Cloud&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vectorize-io/hindsight/actions/workflows/release.yml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/vectorize-io/hindsight/actions/workflows/release.yml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Release&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://pypi.org/project/hindsight-api/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/pypi/v/hindsight-api?logo=python&amp;amp;logoColor=white&amp;amp;label=version&amp;amp;color=blue&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Version&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://pypi.org/project/hindsight-client/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/pypi/dm/hindsight-client?logo=pypi&amp;amp;logoColor=white&amp;amp;label=PyPI&amp;amp;color=blue&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PyPI Downloads&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/@vectorize-io/hindsight-client&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/npm/dm/%40vectorize-io%2Fhindsight-client?logo=npm&amp;amp;logoColor=white&amp;amp;label=NPM&amp;amp;color=blue&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;NPM Downloads&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://vectorize.io/slack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/Slack-Join%20Community-4A154B?logo=slack&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Slack Community&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://opensource.org/licenses/MIT&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/License-MIT-yellow.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License: MIT&#34;
	
	
&gt;&lt;/a&gt;
&lt;br/&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
 &lt;a href=&#34;https://www.star-history.com/vectorize-io/hindsight&#34;&gt;&lt;img src=&#34;https://api.star-history.com/badge?repo=vectorize-io/hindsight&amp;type=rank&#34; alt=&#34;Star History Rank&#34; /&gt; &lt;img src=&#34;https://api.star-history.com/badge?repo=vectorize-io/hindsight&amp;type=trending&#34; alt=&#34;GitHub Trending Repository of the Day&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;what-is-hindsight&#34;&gt;What is Hindsight?
&lt;/h2&gt;&lt;p&gt;Hindsight™ is an agent memory system built to create smarter agents that learn over time. Most agent memory systems focus on recalling conversation history. Hindsight is focused on making agents that learn, not just remember.&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://github.com/user-attachments/assets/923b798d-3581-4897-bb62-9cfa5a931682&#34; controls&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;It eliminates the shortcomings of alternative techniques such as RAG and knowledge graph and delivers state-of-the-art performance on long term memory tasks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#memory-performance--accuracy&#34; &gt;Memory Performance &amp;amp; Accuracy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#quick-start&#34; &gt;Quick Start&lt;/a&gt; — &lt;a class=&#34;link&#34; href=&#34;#1-start-a-server&#34; &gt;server&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#2-connect-a-client&#34; &gt;clients&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#supported-platforms&#34; &gt;platforms&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#python-embedded-no-server-required&#34; &gt;embedded&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#adding-hindsight-to-your-agent&#34; &gt;Adding Hindsight to Your Agent&lt;/a&gt; — &lt;a class=&#34;link&#34; href=&#34;#llm-wrapper-2-lines-of-code&#34; &gt;LLM Wrapper&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#integrations&#34; &gt;integrations&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#coding-agents&#34; &gt;coding agents&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#mcp-server&#34; &gt;MCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#core-concepts&#34; &gt;Core Concepts&lt;/a&gt; — &lt;a class=&#34;link&#34; href=&#34;#memory-types&#34; &gt;memory types&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#the-three-operations&#34; &gt;retain / recall / reflect&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#observations&#34; &gt;observations&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#mental-models--knowledge-pages&#34; &gt;mental models &amp;amp; knowledge pages&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;#memory-banks&#34; &gt;banks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#use-cases&#34; &gt;Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#running-in-production&#34; &gt;Running in Production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#resources&#34; &gt;Resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;memory-performance--accuracy&#34;&gt;Memory Performance &amp;amp; Accuracy
&lt;/h2&gt;&lt;p&gt;Hindsight is the most accurate agent memory system ever tested according to benchmark performance. It has achieved state-of-the-art performance on the LongMemEval benchmark, widely used to assess memory system performance across a variety of conversational AI scenarios. The current reported performance of Hindsight and other agent memory solutions as of January 2026 is shown here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Live, continuously updated results — including per-model accuracy, latency and cost — are published at &lt;a class=&#34;link&#34; href=&#34;https://benchmarks.hindsight.vectorize.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;benchmarks.hindsight.vectorize.io&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The benchmark performance data for Hindsight has been independently reproduced by research collaborators at the Virginia Tech &lt;a class=&#34;link&#34; href=&#34;https://sanghani.cs.vt.edu/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sanghani Center for Artificial Intelligence and Data Analytics&lt;/a&gt; and The Washington Post. Other scores are self-reported by software vendors.&lt;/p&gt;
&lt;p&gt;Hindsight is being used in production at Fortune 500 enterprises and by a growing number of AI startups.&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;🤖 &lt;strong&gt;Using a coding agent?&lt;/strong&gt; Install the Hindsight documentation skill for instant access to docs while you code:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add https://github.com/vectorize-io/hindsight --skill hindsight-docs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Works with Claude Code, Cursor, and other AI coding assistants.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start
&lt;/h2&gt;&lt;h3 id=&#34;1-start-a-server&#34;&gt;1. Start a server
&lt;/h3&gt;&lt;h4 id=&#34;docker-recommended&#34;&gt;Docker (recommended)
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-xxx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -it --pull always --name hindsight --restart unless-stopped -p 8888:8888 -p 9999:9999 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;HINDSIGHT_API_LLM_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$OPENAI_API_KEY&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v hindsight-data:/home/hindsight/.pg0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ghcr.io/vectorize-io/hindsight:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;API: http://localhost:8888
UI: http://localhost:9999&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hindsight works with &lt;strong&gt;25+ LLM providers&lt;/strong&gt; via &lt;code&gt;HINDSIGHT_API_LLM_PROVIDER&lt;/code&gt; — hosted (&lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;anthropic&lt;/code&gt;, &lt;code&gt;gemini&lt;/code&gt;, &lt;code&gt;groq&lt;/code&gt;, &lt;code&gt;bedrock&lt;/code&gt;, &lt;code&gt;vertexai&lt;/code&gt;, &lt;code&gt;minimax&lt;/code&gt;, &lt;code&gt;deepseek&lt;/code&gt;, &lt;code&gt;atlas&lt;/code&gt;, &lt;code&gt;meta&lt;/code&gt;, …), fully local (&lt;code&gt;ollama&lt;/code&gt;, &lt;code&gt;lmstudio&lt;/code&gt;, &lt;code&gt;llamacpp&lt;/code&gt;), any OpenAI-compatible endpoint, and gateways (&lt;code&gt;litellm&lt;/code&gt;, &lt;code&gt;litellmrouter&lt;/code&gt;) that reach the rest. Existing subscriptions work too: &lt;code&gt;openai-codex&lt;/code&gt; (ChatGPT Plus/Pro), &lt;code&gt;claude-code&lt;/code&gt; (Claude Pro/Max), &lt;code&gt;cursor&lt;/code&gt; (Cursor) and &lt;code&gt;github-copilot&lt;/code&gt; (GitHub Copilot) need no API key. See &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/models&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;supported models&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;docker-external-postgresql&#34;&gt;Docker (external PostgreSQL)
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-xxx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HINDSIGHT_DB_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;choose-a-password
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; docker/docker-compose
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Oracle AI Database is also supported for enterprise deployments with full feature parity. See the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/storage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;storage documentation&lt;/a&gt; for details.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;bare-metal-pip&#34;&gt;Bare metal (pip)
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install hindsight-api
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HINDSIGHT_API_LLM_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-xxx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hindsight-api
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;kubernetes-helm&#34;&gt;Kubernetes (Helm)
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;helm install hindsight oci://ghcr.io/vectorize-io/charts/hindsight &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --set api.llm.provider&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;openai &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --set api.llm.apiKey&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-xxx &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --set postgresql.enabled&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;managed-no-server&#34;&gt;Managed (no server)
&lt;/h4&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://vectorize.io/pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hindsight Cloud&lt;/a&gt; is the hosted option: managed infrastructure that scales automatically, plus a dashboard, backups, team collaboration and a 99.9% uptime SLA. Billing is usage-based with free credits to start — no fixed monthly or per-seat fee. Point any client at &lt;code&gt;https://api.hindsight.vectorize.io&lt;/code&gt; with your API key and skip the deployment entirely.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://vectorize.io/pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Compare self-hosted, Cloud and Enterprise →&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://ui.hindsight.vectorize.io/signup&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sign up →&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All options, including Windows and air-gapped setups, are covered in the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/installation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;installation guide&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;2-connect-a-client&#34;&gt;2. Connect a client
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install hindsight-client -U                                  &lt;span class=&#34;c1&#34;&gt;# Python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install @vectorize-io/hindsight-client                        &lt;span class=&#34;c1&#34;&gt;# Node.js / TypeScript&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;go get github.com/vectorize-io/hindsight/hindsight-clients/go     &lt;span class=&#34;c1&#34;&gt;# Go&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://hindsight.vectorize.io/get-cli &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash          &lt;span class=&#34;c1&#34;&gt;# CLI&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;python&#34;&gt;Python
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;hindsight_client&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hindsight&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Hindsight&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;base_url&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:8888&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Retain: Store information&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;retain&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Alice works at Google as a software engineer&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recall: Search memories&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;What does Alice do?&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Reflect: Generate disposition-aware response&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reflect&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Tell me about Alice&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;nodejs--typescript&#34;&gt;Node.js / TypeScript
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;HindsightClient&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;@vectorize-io/hindsight-client&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;main&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;HindsightClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;baseUrl&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;http://localhost:8888&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;retain&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;my-bank&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Alice loves hiking in Yosemite&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;recall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;my-bank&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;What does Alice like?&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Full reference: &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/python&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/nodejs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Node.js&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Go&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CLI&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/api-reference&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;REST API&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;supported-platforms&#34;&gt;Supported Platforms
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Platform&lt;/th&gt;
					&lt;th&gt;Docker&lt;/th&gt;
					&lt;th&gt;Bare Metal (pip)&lt;/th&gt;
					&lt;th&gt;Embedded DB (pg0)&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Linux&lt;/strong&gt; (x86_64, ARM64)&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;macOS&lt;/strong&gt; (Apple Silicon / arm64)&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;macOS&lt;/strong&gt; (Intel / x86_64)&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;⚠️&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Windows&lt;/strong&gt; (x86_64)&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;⚠️ Intel Macs: use &lt;code&gt;hindsight-all-slim&lt;/code&gt; — see the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/installation#supported-platforms&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;installation guide&lt;/a&gt; for details.&lt;/p&gt;
&lt;h3 id=&#34;python-embedded-no-server-required&#34;&gt;Python Embedded (no server required)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install hindsight-all -U
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On Intel (x86_64) Macs, install &lt;code&gt;hindsight-all-slim&lt;/code&gt; instead — see &lt;a class=&#34;link&#34; href=&#34;#supported-platforms&#34; &gt;Supported Platforms&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;hindsight&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HindsightServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HindsightClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HindsightServer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;llm_provider&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;openai&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;llm_model&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;gpt-5-mini&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;llm_api_key&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;environ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;OPENAI_API_KEY&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HindsightClient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;base_url&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;server&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;retain&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Alice works at Google&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Where does Alice work?&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;A &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/hindsight-all-npm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Node.js equivalent&lt;/a&gt; and a &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/embed&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;daemon CLI&lt;/a&gt; are also available.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;adding-hindsight-to-your-agent&#34;&gt;Adding Hindsight to Your Agent
&lt;/h2&gt;&lt;h3 id=&#34;llm-wrapper-2-lines-of-code&#34;&gt;LLM Wrapper (2 lines of code)
&lt;/h3&gt;&lt;p&gt;The easiest way to add memory to an existing agent is the LLM Wrapper. Swap your LLM client for a wrapped one — memories are then stored and retrieved automatically on every call, with no other changes to your code.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install hindsight-litellm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;openai&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OpenAI&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;hindsight_litellm&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wrap_openai&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Wrap your existing LLM client and you&amp;#39;re done.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Defaults to Hindsight Cloud; pass hindsight_api_url for a self-hosted server.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wrap_openai&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;OpenAI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;user-123&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hindsight_api_url&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:8888&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Hindsight recalls relevant memories before the call&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# and retains the conversation after it.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;chat&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;completions&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;create&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;model&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;gpt-5-mini&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;What do you know about me?&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;wrap_anthropic()&lt;/code&gt; does the same for the Anthropic SDK, and every setting — bank, recall budget, fact types, reflect instead of recall — can be overridden per call with &lt;code&gt;hindsight_*&lt;/code&gt; kwargs. LiteLLM sits underneath, so the same integration covers &lt;strong&gt;100+ models&lt;/strong&gt;. See the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/litellm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LiteLLM integration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you need explicit control over &lt;em&gt;when&lt;/em&gt; memories are stored and recalled, use the &lt;a class=&#34;link&#34; href=&#34;#2-connect-a-client&#34; &gt;SDKs or REST API&lt;/a&gt; directly instead.&lt;/p&gt;
&lt;h3 id=&#34;integrations&#34;&gt;Integrations
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;60+ integrations&lt;/strong&gt; — most need no code changes.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Coding agents&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Code&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/codex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Codex&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/cursor&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cursor&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/github-copilot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Copilot&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/opencode&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;opencode&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/cline&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cline&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/aider&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aider&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/zed&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zed&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/continue&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Continue&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/roo-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Roo Code&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/openhands&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenHands&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Agent frameworks&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/langgraph&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LangGraph / LangChain&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/llamaindex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LlamaIndex&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/crewai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CrewAI&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/pydantic-ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pydantic AI&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/openai-agents&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenAI Agents SDK&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/google-adk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google ADK&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/agno&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agno&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/strands&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Strands&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/autogen&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AutoGen&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/agent-framework&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Microsoft Agent Framework&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/ai-sdk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel AI SDK&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/haystack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Haystack&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;No-code / low-code&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/n8n&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;n8n&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/zapier&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zapier&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/dify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dify&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/flowise&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Flowise&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Apps &amp;amp; tools&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/chatgpt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ChatGPT&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/perplexity&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Perplexity&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/obsidian&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Obsidian&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/pipecat&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pipecat&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/vapi&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vapi&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;👉 &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/integrations&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Browse all integrations&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;coding-agents&#34;&gt;Coding Agents
&lt;/h3&gt;&lt;p&gt;One package gives CLI coding agents long-term project memory: a per-repo bank built automatically from git history and past sessions, injected into the agent as it starts working, plus curated knowledge pages covering architecture, conventions and in-flight work.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @vectorize-io/hindsight-coding-agents install all          &lt;span class=&#34;c1&#34;&gt;# every detected agent, wired natively&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @vectorize-io/hindsight-coding-agents install claude-code  &lt;span class=&#34;c1&#34;&gt;# or just one&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Supports Claude Code, Codex CLI, Cursor CLI, GitHub Copilot CLI, opencode, Kilo CLI, Cline CLI, Antigravity CLI, Devin CLI, pi, Prime Agent, Grok Build and DeepSeek Harness. Ingestion is automatic — there is no setup command. See the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/integrations/coding-agents&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;coding agents integration&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;mcp-server&#34;&gt;MCP Server
&lt;/h3&gt;&lt;p&gt;Every server ships a built-in &lt;a class=&#34;link&#34; href=&#34;https://modelcontextprotocol.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Model Context Protocol&lt;/a&gt; endpoint, one per bank, enabled by default:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8888/mcp/{bank_id}/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Point any MCP client at it to expose retain, recall and reflect as tools. See the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/mcp-server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MCP server docs&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;core-concepts&#34;&gt;Core Concepts
&lt;/h2&gt;&lt;h3 id=&#34;memory-types&#34;&gt;Memory Types
&lt;/h3&gt;&lt;p&gt;Most agent memory implementations rely on basic vector search or sometimes use a knowledge graph. Hindsight uses biomimetic data structures to organize agent memories in a way that is more like how human memory works:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;World facts:&lt;/strong&gt; facts about the world (&amp;ldquo;The stove gets hot&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experiences:&lt;/strong&gt; the agent&amp;rsquo;s own experiences (&amp;ldquo;I touched the stove and it really hurt&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observations:&lt;/strong&gt; consolidated, evidence-backed beliefs formed from many memories&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mental models:&lt;/strong&gt; learned understanding of the agent&amp;rsquo;s world, synthesized from observations and facts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Memories live in &lt;strong&gt;banks&lt;/strong&gt;. When memories are added, they are pushed into either the world facts or the experiences pathway, then represented as a combination of entities, relationships, and time series with sparse/dense vector representations to aid in later recall.&lt;/p&gt;
&lt;h3 id=&#34;the-three-operations&#34;&gt;The Three Operations
&lt;/h3&gt;&lt;h4 id=&#34;retain&#34;&gt;Retain
&lt;/h4&gt;&lt;p&gt;The &lt;code&gt;retain&lt;/code&gt; operation is used to push new memories into Hindsight. It tells Hindsight to &lt;em&gt;retain&lt;/em&gt; the information you pass in as an input.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;retain&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Alice got promoted to senior engineer&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;career update&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;timestamp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;2025-06-15T10:00:00Z&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Behind the scenes, retain uses an LLM to extract key facts, temporal data, entities, and relationships. It passes these through a normalization process to transform extracted data into canonical entities, time series, and search indexes along with metadata. These representations create the pathways for accurate memory retrieval in the recall and reflect operations.&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://github.com/user-attachments/assets/0555177d-6635-467d-97cb-9dcddb999b15&#34; controls muted&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/retain&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Retain docs →&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;recall&#34;&gt;Recall
&lt;/h4&gt;&lt;p&gt;The recall operation is used to retrieve memories. These memories can come from any of the memory types (world, experiences, etc.)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;What does Alice do?&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;What happened in June?&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# temporal&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Recall performs 4 retrieval strategies in parallel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Semantic: Vector similarity&lt;/li&gt;
&lt;li&gt;Keyword: BM25 exact matching&lt;/li&gt;
&lt;li&gt;Graph: Entity/temporal/causal links&lt;/li&gt;
&lt;li&gt;Temporal: Time range filtering&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;video src=&#34;https://github.com/user-attachments/assets/1c02eac8-1c5a-4e42-9a00-7201d44975a0&#34; controls muted&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;The individual results are merged, ordered by relevance using reciprocal rank fusion and a cross-encoder reranking model, then trimmed as needed to fit within the token limit.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/retrieval&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Recall docs →&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;reflect&#34;&gt;Reflect
&lt;/h4&gt;&lt;p&gt;The reflect operation performs a more thorough analysis of existing memories. This allows the agent to form new connections between memories and build a more thorough understanding of its world — or to answer a question that needs deep thinking rather than lookup.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reflect&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bank_id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;my-bank&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;What should I know about Alice?&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For example, reflect supports use cases such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An &lt;strong&gt;AI Project Manager&lt;/strong&gt; reflecting on what risks need to be mitigated on a project.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Sales Agent&lt;/strong&gt; reflecting on why certain outreach messages have gotten responses while others haven&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Support Agent&lt;/strong&gt; reflecting on opportunities where customers have questions not answered by current product documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;video src=&#34;https://github.com/user-attachments/assets/1dd8aa20-5ad0-4536-823e-0fadf8051d57&#34; controls muted&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/reflect&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reflect docs →&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;observations&#34;&gt;Observations
&lt;/h3&gt;&lt;p&gt;Retained facts don&amp;rsquo;t stay a flat pile. In the background, Hindsight consolidates related facts into &lt;strong&gt;observations&lt;/strong&gt; — deduplicated beliefs the bank has built up over time. Each observation keeps its supporting evidence with exact quotes and a proof count, and is &lt;em&gt;refined&lt;/em&gt; rather than overwritten when new evidence arrives, so new information strengthens, weakens or extends an existing belief instead of silently replacing it.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/observations&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Observations docs →&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;mental-models--knowledge-pages&#34;&gt;Mental Models &amp;amp; Knowledge Pages
&lt;/h3&gt;&lt;p&gt;A &lt;strong&gt;mental model&lt;/strong&gt; is a standing answer to a question about a bank (&amp;ldquo;What are this user&amp;rsquo;s preferences?&amp;rdquo;). You define the question once; Hindsight writes the answer, stores it, and rewrites it in the background as the bank learns more. Reading one is a database read — no retrieval, no LLM call — so an agent can boot with a page of settled knowledge instead of rediscovering it every session.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Knowledge pages&lt;/strong&gt; are mental models with the mechanics hidden: living documents a bank writes about itself, organized in folders like a wiki, searchable, and projectable onto disk as ordinary markdown. Supply a name and a question; every other decision is a default you can override.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/mental-models&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mental models →&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/knowledge-pages&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Knowledge pages →&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;memory-banks&#34;&gt;Memory Banks
&lt;/h3&gt;&lt;p&gt;A &lt;strong&gt;bank&lt;/strong&gt; is an isolated memory store — one &amp;ldquo;brain&amp;rdquo; for one user, agent, or project. Isolation is strict: no cross-bank leakage. Banks carry background context and &lt;strong&gt;disposition traits&lt;/strong&gt; (skepticism, literalism, empathy) that shape how reflect reasons over their memories, and can be created from declarative &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/api/bank-templates&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bank templates&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Two more things worth knowing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multilingual by default.&lt;/strong&gt; Input language is detected and preserved end to end — facts stay in their original language and entities keep their native script (张伟 stays 张伟, not &amp;ldquo;Zhang Wei&amp;rdquo;). &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/multilingual&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs →&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory Defense.&lt;/strong&gt; An opt-in, per-bank policy that scans every retain for secrets and PII against 45 patterns and either redacts the match (&lt;code&gt;[REDACTED:github_token]&lt;/code&gt;) or blocks the item before it reaches storage. &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/memory-defense&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs →&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;use-cases&#34;&gt;Use Cases
&lt;/h2&gt;&lt;p&gt;Hindsight is built to support conversational AI agents as well as agents that are intended to perform tasks autonomously. The ideal use case for Hindsight are agents that require a blend of these features such as AI employees that need to handle open-ended tasks, change behavior based on user feedback, and learn to perform complex tasks to automate work at a level that approximates a human work. Hindsight can be used with simple AI workflows like those built with n8n and other similar tools, but may be overkill for such applications.&lt;/p&gt;
&lt;h3 id=&#34;per-user-memories-and-chat-history&#34;&gt;Per-User Memories and Chat History
&lt;/h3&gt;&lt;p&gt;One of the simpler use cases you can use Hindsight for is to personalize AI chatbots and other conversational agents by storing and recalling memories associated with individual users.&lt;/p&gt;
&lt;p&gt;The requirements for this use case usually look something like this:&lt;/p&gt;
&lt;p&gt;&lt;video src=&#34;https://github.com/user-attachments/assets/4805e8e1-e7d1-47c6-a4f8-2344a5ec8906&#34; controls&gt;&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;Satisfying these requirements in Hindsight is straightforward. When new user inputs and tool calls are ingested into Hindsight using the retain operation, custom metadata can be used to enrich the new memories. Metadata provides a convenient way to isolate memories that need to be restricted to a given user. Once these are fed into the retain operation, any raw memories and mental models that get created can be filtered when retrieving relevant memories.&lt;/p&gt;
&lt;p&gt;More patterns in the &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/cookbook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cookbook&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/best-practices&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Best Practices&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;running-in-production&#34;&gt;Running in Production
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;PostgreSQL + pgvector, or Oracle AI Database 23ai with full feature parity — &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/storage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;storage&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Hierarchical: global env vars → per-tenant → per-bank — &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/configuration&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;configuration&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Monitoring&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Prometheus metrics and dashboards for LLM calls, tokens and latency — &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/monitoring&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;monitoring&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Operations&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Admin CLI for migrations, bank repair and stuck operations — &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/admin-cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;admin CLI&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Events&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Webhooks for retain, consolidation and refresh lifecycle events — &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/api/webhooks&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;webhooks&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Extensibility&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Tenant, auth and storage extension points — &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/extensions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;extensions&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Managed&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Skip all of it with &lt;a class=&#34;link&#34; href=&#34;https://vectorize.io/pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hindsight Cloud&lt;/a&gt; — managed, usage-based, 99.9% uptime SLA&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;resources&#34;&gt;Resources
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Documentation:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/faq&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FAQ&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/best-practices&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Best Practices&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/cookbook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cookbook&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/blog&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2512.12818&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Paper&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://benchmarks.hindsight.vectorize.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Benchmarks&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/developer/rag-vs-hindsight&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RAG vs Memory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Clients:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/python&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Python&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/nodejs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Node.js&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Go&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/sdks/cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CLI&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://hindsight.vectorize.io/api-reference&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;REST API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Community:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://vectorize.io/slack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vectorize-io/hindsight/issues&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;star-history&#34;&gt;Star History
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.star-history.com/?repos=vectorize-io%2Fhindsight&amp;amp;type=date&amp;amp;legend=top-left&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://api.star-history.com/chart?repos=vectorize-io/hindsight&amp;amp;type=date&amp;amp;legend=top-left&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Star History Chart&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;./CONTRIBUTING.md&#34; &gt;CONTRIBUTING.md&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;MIT — see &lt;a class=&#34;link&#34; href=&#34;./LICENSE&#34; &gt;LICENSE&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Built by &lt;a class=&#34;link&#34; href=&#34;https://vectorize.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vectorize.io&lt;/a&gt;&lt;/p&gt;
&lt;img src=&#34;https://umami-pixel.chris-latimer.workers.dev/?id=a8b043e6-6964-454d-80df-69b69d3f0d50&amp;host=github.com&amp;url=https://producthunt.programnotes.cn/vectorize-io/hindsight&#34; width=&#34;1&#34; height=&#34;1&#34; alt=&#34;&#34; /&gt;
</description>
        </item>
        
    </channel>
</rss>
