[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-vectorize-io--hindsight":3,"tool-vectorize-io--hindsight":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":117,"forks":118,"last_commit_at":119,"license":120,"difficulty_score":32,"env_os":121,"env_gpu":122,"env_ram":123,"env_deps":124,"category_tags":133,"github_topics":134,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":139,"updated_at":140,"faqs":141,"releases":171},5094,"vectorize-io\u002Fhindsight","hindsight","Hindsight: Agent Memory That  Learns","Hindsight 是一款专为 AI 智能体设计的“学习型”记忆系统。与传统的记忆方案仅侧重于机械地存储和检索对话历史不同，Hindsight 的核心目标是让智能体在交互过程中真正具备从经验中学习并持续进化的能力。\n\n它有效解决了现有技术在处理长期记忆任务时的局限性，克服了检索增强生成（RAG）和知识图谱等方法在准确性与上下文理解上的不足。在权威的 LongMemEval 基准测试中，Hindsight 展现了业界领先的性能，能够更精准地管理复杂场景下的长周期记忆，且其测试结果已获弗吉尼亚理工学院等机构独立复现验证。\n\n这款工具主要面向 AI 开发者、研究人员以及致力于构建高级自主智能体的技术团队。其独特的技术亮点在于极致的易用性与强大的性能并存：开发者仅需两行代码，通过 LLM 包装器即可将现有智能体升级为具备自动记忆存取功能的“学习型”代理；同时也提供灵活的 SDK 和 HTTP API 以满足更深度的定制需求。无论是希望快速原型验证的初创团队，还是需要在生产环境中部署高可靠性智能体的大型企业，Hindsight 都能提供坚实的记忆基础设施支持。","\u003Cdiv align=\"center\">\n\n![Hindsight Banner](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_466053b381d0.png)\n\n[Documentation](https:\u002F\u002Fhindsight.vectorize.io) • [Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.12818) • [Cookbook](https:\u002F\u002Fhindsight.vectorize.io\u002Fcookbook) • [Hindsight Cloud](https:\u002F\u002Fui.hindsight.vectorize.io\u002Fsignup)\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Factions\u002Fworkflows\u002Frelease.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Factions\u002Fworkflows\u002Frelease.yml)\n[![Slack Community](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join%20Community-4A154B?logo=slack)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fhindsight-space\u002Fshared_invite\u002Fzt-3nhbm4w29-LeSJ5Ixi6j8PdiYOCPlOgg)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![gitcgr](https:\u002F\u002Fgitcgr.com\u002Fbadge\u002Fvectorize-io\u002Fhindsight.svg)](https:\u002F\u002Fgitcgr.com\u002Fvectorize-io\u002Fhindsight)\n![PyPI - Downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fhindsight-api?label=PyPI)\n![NPM Downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002F%40vectorize-io%2Fhindsight-client?logoColor=orange&label=NPM&color=blue&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40vectorize-io%2Fhindsight-client)\n\u003Cbr\u002F>\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F15603\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_17f4a7d6fa98.png\" alt=\"vectorize-io%2Fhindsight | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n---\n\n## What is Hindsight?\n\nHindsight™ 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.\n\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F923b798d-3581-4897-bb62-9cfa5a931682\" controls>\u003C\u002Fvideo>\n\nIt eliminates the shortcomings of alternative techniques such as RAG and knowledge graph and delivers state-of-the-art performance on long term memory tasks.\n\n## Memory Performance & Accuracy\n\nHindsight 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:\n\n![Overview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_0bed0fdbdf5f.jpg)\n\nThe benchmark performance data for Hindsight has been independently reproduced by research collaborators at the Virginia Tech [Sanghani Center for Artificial Intelligence and Data Analytics](https:\u002F\u002Fsanghani.cs.vt.edu\u002F) and The Washington Post. Other scores are self-reported by software vendors.\n\nHindsight is being used in production at Fortune 500 enterprises and by a growing number of AI startups. \n\n## Adding Hindsight to Your AI Agents\n\nThe easiest way to use Hindsight with an existing agent is with the LLM Wrapper. You can add memory to your agent with 2 lines of code. That will swap your current LLM client out with the Hindsight wrapper. After that, memories will be stored and retrieved automatically as you make LLM calls.\n\nIf you need more control over how and when your agent stores and recalls memories, there's also a simple API you can integrate with using the SDKs or directly via HTTP.\n\n![Hindsight Banner](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_85fb3f92b6ae.png)\n\n---\n\n> 🤖 **Using a coding agent?** Install the Hindsight documentation skill for instant access to docs while you code:\n> ```bash\n> npx skills add https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight --skill hindsight-docs\n> ```\n> Works with Claude Code, Cursor, and other AI coding assistants.\n\n---\n\n\n## Quick Start\n\n### Docker (recommended)\n\n```bash\nexport OPENAI_API_KEY=sk-xxx\n\ndocker run --rm -it --pull always -p 8888:8888 -p 9999:9999 \\\n  -e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY \\\n  -v $HOME\u002F.hindsight-docker:\u002Fhome\u002Fhindsight\u002F.pg0 \\\n  ghcr.io\u002Fvectorize-io\u002Fhindsight:latest\n```\n\n>API: http:\u002F\u002Flocalhost:8888\n>UI: http:\u002F\u002Flocalhost:9999\n\nYou can modify the LLM provider by setting `HINDSIGHT_API_LLM_PROVIDER`. Valid options are `openai`, `anthropic`, `gemini`, `groq`, `ollama`, `lmstudio`, and `minimax`. The documentation provides more details on [supported models](https:\u002F\u002Fhindsight.vectorize.io\u002Fdeveloper\u002Fmodels).\n\n\n\n### Docker (external PostgreSQL)\n\n```bash\nexport OPENAI_API_KEY=sk-xxx\nexport HINDSIGHT_DB_PASSWORD=choose-a-password\ncd docker\u002Fdocker-compose\ndocker compose up \n```\n\n\n>API: http:\u002F\u002Flocalhost:8888\n>UI: http:\u002F\u002Flocalhost:9999\n\n### Client\n\n```bash\npip install hindsight-client -U\n# or\nnpm install @vectorize-io\u002Fhindsight-client\n```\n\n#### Python\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# Retain: Store information\nclient.retain(bank_id=\"my-bank\", content=\"Alice works at Google as a software engineer\")\n\n# Recall: Search memories\nclient.recall(bank_id=\"my-bank\", query=\"What does Alice do?\")\n\n# Reflect: Generate disposition-aware response\nclient.reflect(bank_id=\"my-bank\", query=\"Tell me about Alice\")\n```\n\n#### Node.js \u002F TypeScript\n\n```bash\nnpm install @vectorize-io\u002Fhindsight-client\n```\n\n```javascript\nconst { HindsightClient } = require('@vectorize-io\u002Fhindsight-client');\n\nconst main = async () => {\n  const client = new HindsightClient({ baseUrl: 'http:\u002F\u002Flocalhost:8888' });\n\n  await client.retain('my-bank', 'Alice loves hiking in Yosemite');\n\n  const results = await client.recall('my-bank', 'What does Alice like?');\n  console.log(results);\n}\n\nmain();\n```\n\n\n### Python Embedded (no server required)\n\n```bash\npip install hindsight-all -U\n```\n\n```python\nimport os\nfrom hindsight import HindsightServer, HindsightClient\n\nwith HindsightServer(\n    llm_provider=\"openai\",\n    llm_model=\"gpt-5-mini\", \n    llm_api_key=os.environ[\"OPENAI_API_KEY\"]\n) as server:\n    client = HindsightClient(base_url=server.url)\n    client.retain(bank_id=\"my-bank\", content=\"Alice works at Google\")\n    results = client.recall(bank_id=\"my-bank\", query=\"Where does Alice work?\")\n```\n\n\n---\n\n## Use Cases\n\n\nHindsight 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.\n\n### Per-User Memories and Chat History\n\nOne 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.\n\nThe requirements for this use case usually look something like this:\n\n![Per-User Memories](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_fb3a9e01a5d0.png)\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4805e8e1-e7d1-47c6-a4f8-2344a5ec8906\" controls>\u003C\u002Fvideo>\n\nSatisfying 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. \n\n![Per-User Memories](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_0ddf1deb8df9.png)\n\n---\n\n## Architecture & Operations\n\n![Overview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_4c1f32b95c54.webp)\n\nMost 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:\n\n- **World:** Facts about the world (\"The stove gets hot\")\n- **Experiences:** Agent's own experiences (\"I touched the stove and it really hurt\")\n- **Mental Models:** Learned understanding of the agent's world formed by reflecting on raw memories and experiences.\n\nMemories in Hindsight are stored in banks (i.e. memory banks). When memories are added to Hindsight, they are pushed into either the world facts or experiences memory pathway. They are then represented as a combination of entities, relationships, and time series with sparse\u002Fdense vector representations to aid in later recall.\n\nHindsight provides three simple methods to interact with the system:\n\n- **Retain:** Provide information to Hindsight that you want it to remember\n- **Recall:** Retrieve memories from Hindsight\n- **Reflect:** Reflect on memories and experiences to generate new observations and insights from existing memories.\n\n### Retain\n\nThe `retain` operation is used to push new memories into Hindsight. It tells Hindsight to _retain_ the information you pass in as an input.\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# Simple\nclient.retain(\n    bank_id=\"my-bank\",\n    content=\"Alice works at Google as a software engineer\"\n)\n\n# With context and timestamp\nclient.retain(\n    bank_id=\"my-bank\",\n    content=\"Alice got promoted to senior engineer\",\n    context=\"career update\",\n    timestamp=\"2025-06-15T10:00:00Z\"\n)\n```\n\nBehind the scenes, the retain operation 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. \n\n![Retain Operation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_953276662650.webp)\n\n### Recall\n\nThe recall operation is used to retrieve memories. These memories can come from any of the memory types (world, experiences, etc.)\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# Simple\nclient.recall(bank_id=\"my-bank\", query=\"What does Alice do?\")\n\n# Temporal\nclient.recall(bank_id=\"my-bank\", query=\"What happened in June?\")\n```\n\nRecall performs 4 retrieval strategies in parallel:\n- Semantic: Vector similarity\n- Keyword: BM25 exact matching\n- Graph: Entity\u002Ftemporal\u002Fcausal links\n- Temporal: Time range filtering\n\n![Retain Operation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_00d2f495c032.webp)\n\nThe individual results from the retrievals are merged, then ordered by relevance using reciprocal rank fusion and a cross-encoder reranking model.\n\nThe final output is trimmed as needed to fit within the token limit.\n\n### Reflect\n\nThe reflect operation is used to perform 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.\n\nFor example, the `reflect` operation can be used to support use cases such as:\n\n- An **AI Project Manager** reflecting on what risks need to be mitigated on a project.\n- A **Sales Agent** reflecting on why certain outreach messages have gotten responses while others haven't.\n- A **Support Agent** reflecting on opportunities where customers have questions not answered by current product documentation.\n\nThe `reflect` operation can also be used to handle on-demand question answering or analysis which require more deep thinking.\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\nclient.reflect(bank_id=\"my-bank\", query=\"What should I know about Alice?\")\n```\n\n![Retain Operation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_f41cc65d0275.webp)\n\n---\n\n## Resources\n\n**Documentation:** \n- [https:\u002F\u002Fhindsight.vectorize.io](https:\u002F\u002Fhindsight.vectorize.io)\n\n**Clients:**\n- [Python](http:\u002F\u002Fhindsight.vectorize.io\u002Fsdks\u002Fpython)\n- [Node.js](http:\u002F\u002Fhindsight.vectorize.io\u002Fsdks\u002Fnodejs)\n- [REST API](https:\u002F\u002Fhindsight.vectorize.io\u002Fapi-reference)\n- [CLI](https:\u002F\u002Fhindsight.vectorize.io\u002Fsdks\u002Fcli)\n\n**Community:**\n- [Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fhindsight-space\u002Fshared_invite\u002Fzt-3nhbm4w29-LeSJ5Ixi6j8PdiYOCPlOgg)\n- [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues)\n\n---\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_f38d326088fe.png)](https:\u002F\u002Fwww.star-history.com\u002F#vectorize-io\u002Fhindsight&type=date&legend=top-left)\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](.\u002FCONTRIBUTING.md).\n\n## License\n\nMIT — see [LICENSE](.\u002FLICENSE)\n\n---\n\nBuilt by [Vectorize.io](https:\u002F\u002Fvectorize.io)\n\n\u003Cimg src=\"https:\u002F\u002Fumami-pixel.chris-latimer.workers.dev\u002F?id=a8b043e6-6964-454d-80df-69b69d3f0d50&host=github.com&url=\u002Fvectorize-io\u002Fhindsight\" width=\"1\" height=\"1\" alt=\"\" \u002F>\n","\u003Cdiv align=\"center\">\n\n![Hindsight 横幅](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_466053b381d0.png)\n\n[文档](https:\u002F\u002Fhindsight.vectorize.io) • [论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.12818) • [教程](https:\u002F\u002Fhindsight.vectorize.io\u002Fcookbook) • [Hindsight Cloud](https:\u002F\u002Fui.hindsight.vectorize.io\u002Fsignup)\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Factions\u002Fworkflows\u002Frelease.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Factions\u002Fworkflows\u002Frelease.yml)\n[![Slack 社区](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join%20Community-4A154B?logo=slack)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fhindsight-space\u002Fshared_invite\u002Fzt-3nhbm4w29-LeSJ5Ixi6j8PdiYOCPlOgg)\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![gitcgr](https:\u002F\u002Fgitcgr.com\u002Fbadge\u002Fvectorize-io\u002Fhindsight.svg)](https:\u002F\u002Fgitcgr.com\u002Fvectorize-io\u002Fhindsight)\n![PyPI - 下载量](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fhindsight-api?label=PyPI)\n![NPM 下载量](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002F%40vectorize-io%2Fhindsight-client?logoColor=orange&label=NPM&color=blue&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F%40vectorize-io%2Fhindsight-client)\n\u003Cbr\u002F>\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F15603\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_17f4a7d6fa98.png\" alt=\"vectorize-io%2Fhindsight | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n---\n\n## Hindsight 是什么？\n\nHindsight™ 是一个智能体记忆系统，旨在构建能够随时间不断学习的更智能的智能体。大多数智能体记忆系统专注于回忆对话历史，而 Hindsight 则专注于让智能体不仅记住，还能真正地学习。\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F923b798d-3581-4897-bb62-9cfa5a931682\" controls>\u003C\u002Fvideo>\n\n它克服了 RAG 和知识图谱等替代技术的不足，在长期记忆任务上实现了最先进的性能。\n\n## 记忆性能与准确性\n\n根据基准测试结果，Hindsight 是迄今为止测试过的最准确的智能体记忆系统。它在 LongMemEval 基准测试中取得了最先进的成绩，该基准广泛用于评估各种对话式 AI 场景中的记忆系统性能。截至 2026 年 1 月，Hindsight 及其他智能体记忆解决方案的当前报告性能如下：\n\n![概览](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_0bed0fdbdf5f.jpg)\n\nHindsight 的基准测试数据已由弗吉尼亚理工大学 [桑加尼人工智能与数据分析中心](https:\u002F\u002Fsanghani.cs.vt.edu\u002F) 和《华盛顿邮报》的研究合作者独立复现。其他分数则由软件供应商自行报告。\n\nHindsight 目前已被财富 500 强企业和越来越多的 AI 创业公司投入生产使用。\n\n## 将 Hindsight 添加到您的 AI 智能体中\n\n将 Hindsight 与现有智能体结合使用的最简单方法是使用 LLM 包装器。只需两行代码即可为您的智能体添加记忆功能，这会将您当前的 LLM 客户端替换为 Hindsight 包装器。此后，每当您调用 LLM 时，记忆都会自动存储和检索。\n\n如果您需要更精细地控制智能体存储和检索记忆的方式和时机，还可以通过 SDK 或直接通过 HTTP 集成一个简单的 API。\n\n![Hindsight 横幅](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_85fb3f92b6ae.png)\n\n---\n\n> 🤖 **正在使用编程智能体吗？** 安装 Hindsight 文档技能，即可在编码时即时访问文档：\n> ```bash\n> npx skills add https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight --skill hindsight-docs\n> ```\n> 适用于 Claude Code、Cursor 等 AI 编程助手。\n\n---\n\n\n## 快速入门\n\n### Docker（推荐）\n\n```bash\nexport OPENAI_API_KEY=sk-xxx\n\ndocker run --rm -it --pull always -p 8888:8888 -p 9999:9999 \\\n  -e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY \\\n  -v $HOME\u002F.hindsight-docker:\u002Fhome\u002Fhindsight\u002F.pg0 \\\n  ghcr.io\u002Fvectorize-io\u002Fhindsight:latest\n```\n\n>API：http:\u002F\u002Flocalhost:8888\n>UI：http:\u002F\u002Flocalhost:9999\n\n您可以通过设置 `HINDSIGHT_API_LLM_PROVIDER` 来更改 LLM 提供商。有效选项包括 `openai`、`anthropic`、`gemini`、`groq`、`ollama`、`lmstudio` 和 `minimax`。更多关于支持模型的信息，请参阅文档：[https:\u002F\u002Fhindsight.vectorize.io\u002Fdeveloper\u002Fmodels](https:\u002F\u002Fhindsight.vectorize.io\u002Fdeveloper\u002Fmodels)。\n\n\n\n### Docker（外置 PostgreSQL）\n\n```bash\nexport OPENAI_API_KEY=sk-xxx\nexport HINDSIGHT_DB_PASSWORD=choose-a-password\ncd docker\u002Fdocker-compose\ndocker compose up \n```\n\n\n>API：http:\u002F\u002Flocalhost:8888\n>UI：http:\u002F\u002Flocalhost:9999\n\n### 客户端\n\n```bash\npip install hindsight-client -U\n# 或\nnpm install @vectorize-io\u002Fhindsight-client\n```\n\n#### Python\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# Retain：存储信息\nclient.retain(bank_id=\"my-bank\", content=\"Alice 在 Google 担任软件工程师\")\n\n# Recall：搜索记忆\nclient.recall(bank_id=\"my-bank\", query=\"Alice 是做什么的？\")\n\n# Reflect：生成考虑情境的响应\nclient.reflect(bank_id=\"my-bank\", query=\"给我讲讲 Alice 吧\")\n```\n\n#### Node.js \u002F TypeScript\n\n```bash\nnpm install @vectorize-io\u002Fhindsight-client\n```\n\n```javascript\nconst { HindsightClient } = require('@vectorize-io\u002Fhindsight-client');\n\nconst main = async () => {\n  const client = new HindsightClient({ baseUrl: 'http:\u002F\u002Flocalhost:8888' });\n\n  await client.retain('my-bank', 'Alice 喜欢去优胜美地徒步')；\n\n  const results = await client.recall('my-bank', 'Alice 喜欢什么？');\n  console.log(results);\n}\n\nmain();\n```\n\n\n### Python 内嵌（无需服务器）\n\n```bash\npip install hindsight-all -U\n```\n\n```python\nimport os\nfrom hindsight import HindsightServer, HindsightClient\n\nwith HindsightServer(\n    llm_provider=\"openai\",\n    llm_model=\"gpt-5-mini\", \n    llm_api_key=os.environ[\"OPENAI_API_KEY\"]\n) as server:\n    client = HindsightClient(base_url=server.url)\n    client.retain(bank_id=\"my-bank\", content=\"Alice 在 Google 工作\")\n    results = client.recall(bank_id=\"my-bank\", query=\"Alice 在哪里工作？\")\n```\n\n\n---\n\n## 使用场景\n\n\nHindsight 旨在支持对话式 AI 智能体以及那些计划自主执行任务的智能体。Hindsight 的理想应用场景是那些需要兼具这些功能的智能体，例如能够处理开放式任务、根据用户反馈调整行为，并学习完成复杂任务以实现接近人类水平自动化工作的 AI 员工。Hindsight 可以与 n8n 等类似工具构建的简单 AI 工作流一起使用，但对于此类应用来说可能有些过于强大了。\n\n### 每个用户的记忆与聊天记录\n\n你可以使用 Hindsight 的一个较为简单的用例，就是通过存储和调用与单个用户相关的记忆，来个性化 AI 聊天机器人和其他对话式智能体。\n\n此用例的需求通常如下所示：\n\n![每个用户的记忆](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_fb3a9e01a5d0.png)\n\n\u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4805e8e1-e7d1-47c6-a4f8-2344a5ec8906\" controls>\u003C\u002Fvideo>\n\n在 Hindsight 中满足这些需求非常简单。当新的用户输入和工具调用通过 retain 操作被摄入 Hindsight 时，可以使用自定义元数据来丰富新记忆。元数据提供了一种便捷的方式，用于隔离那些需要限制为特定用户访问的记忆。一旦这些数据被送入 retain 操作，任何生成的原始记忆和心智模型都可以在检索相关记忆时进行过滤。\n\n![每个用户的记忆](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_0ddf1deb8df9.png)\n\n---\n\n## 架构与操作\n\n![概览](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_4c1f32b95c54.webp)\n\n大多数智能体记忆实现依赖于基础向量搜索，有时也会使用知识图谱。而 Hindsight 则采用仿生数据结构来组织智能体记忆，其方式更接近人类记忆的工作机制：\n\n- **世界：** 关于世界的事实（“炉子会变热”）\n- **经历：** 智能体自身的经历（“我摸了炉子一下，真的很疼”）\n- **心智模型：** 通过对原始记忆和经历进行反思而形成的对智能体所处世界的理解。\n\nHindsight 中的记忆被存储在记忆库中。当记忆被添加到 Hindsight 时，它们会被推送到世界事实或经历记忆路径中。随后，这些记忆会被表示为实体、关系和时间序列的组合，并附带稀疏\u002F密集向量表示，以帮助后续的回忆。\n\nHindsight 提供了三种简单的交互方法：\n\n- **保留（Retain）：** 向 Hindsight 提供你希望它记住的信息\n- **回忆（Recall）：** 从 Hindsight 中检索记忆\n- **反思（Reflect）：** 对记忆和经历进行反思，从而从现有记忆中生成新的观察和洞见。\n\n### 保留（Retain）\n\n`retain` 操作用于将新记忆推送到 Hindsight 中。它告诉 Hindsight 要“保留”你作为输入传递的信息。\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# 简单示例\nclient.retain(\n    bank_id=\"my-bank\",\n    content=\"Alice 在 Google 担任软件工程师\"\n)\n\n# 带上下文和时间戳的示例\nclient.retain(\n    bank_id=\"my-bank\",\n    content=\"Alice 被晋升为高级工程师\",\n    context=\"职业更新\",\n    timestamp=\"2025-06-15T10:00:00Z\"\n)\n```\n\n在后台，retain 操作会使用 LLM 来提取关键事实、时间数据、实体和关系。然后，这些信息会经过归一化处理，转化为规范化的实体、时间序列和搜索索引，同时附带元数据。这些表示形式为 recall 和 reflect 操作中的准确记忆检索奠定了基础。\n\n![保留操作](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_953276662650.webp)\n\n### 回忆（Recall）\n\nrecall 操作用于检索记忆。这些记忆可以来自任何类型的记忆（世界、经历等）。\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# 简单示例\nclient.recall(bank_id=\"my-bank\", query=\"Alice 是做什么的？\")\n\n# 时间相关的示例\nclient.recall(bank_id=\"my-bank\", query=\"六月份发生了什么？\")\n```\n\nRecall 会并行执行四种检索策略：\n- 语义：向量相似度\n- 关键词：BM25 精确匹配\n- 图：实体\u002F时间\u002F因果链接\n- 时间：时间范围过滤\n\n![回忆操作](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_00d2f495c032.webp)\n\n各个检索结果会被合并，然后根据相关性使用倒排秩融合和交叉编码器重排序模型进行排序。\n\n最终输出会根据需要进行截断，以符合 token 限制。\n\n### 反思（Reflect）\n\nreflect 操作用于对现有记忆进行更深入的分析。这使得智能体能够在记忆之间建立新的联系，从而更全面地理解其所处的世界。\n\n例如，`reflect` 操作可用于支持以下用例：\n\n- 一位 **AI 项目经理** 反思项目中需要缓解哪些风险。\n- 一位 **销售代理** 反思为什么某些外联消息得到了回复，而其他消息却没有。\n- 一位 **客服代理** 反思客户有哪些问题目前的产品文档尚未解答。\n\n`reflect` 操作也可用于处理需要更深入思考的按需问答或分析任务。\n\n```python\nfrom hindsight_client import Hindsight\n\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\nclient.reflect(bank_id=\"my-bank\", query=\"关于 Alice 我应该知道些什么？\")\n```\n\n![反思操作](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_f41cc65d0275.webp)\n\n---\n\n## 资源\n\n**文档：**\n- [https:\u002F\u002Fhindsight.vectorize.io](https:\u002F\u002Fhindsight.vectorize.io)\n\n**客户端：**\n- [Python](http:\u002F\u002Fhindsight.vectorize.io\u002Fsdks\u002Fpython)\n- [Node.js](http:\u002F\u002Fhindsight.vectorize.io\u002Fsdks\u002Fnodejs)\n- [REST API](https:\u002F\u002Fhindsight.vectorize.io\u002Fapi-reference)\n- [CLI](https:\u002F\u002Fhindsight.vectorize.io\u002Fsdks\u002Fcli)\n\n**社区：**\n- [Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fhindsight-space\u002Fshared_invite\u002Fzt-3nhbm4w29-LeSJ5Ixi6j8PdiYOCPlOgg)\n- [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues)\n\n---\n## 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_readme_f38d326088fe.png)](https:\u002F\u002Fwww.star-history.com\u002F#vectorize-io\u002Fhindsight&type=date&legend=top-left)\n---\n\n## 贡献\n\n请参阅 [CONTRIBUTING.md](.\u002FCONTRIBUTING.md)。\n\n## 许可证\n\nMIT — 请参阅 [LICENSE](.\u002FLICENSE)\n\n---\n\n由 [Vectorize.io](https:\u002F\u002Fvectorize.io) 构建\n\n\u003Cimg src=\"https:\u002F\u002Fumami-pixel.chris-latimer.workers.dev\u002F?id=a8b043e6-6964-454d-80df-69b69d3f0d50&host=github.com&url=\u002Fvectorize-io\u002Fhindsight\" width=\"1\" height=\"1\" alt=\"\" \u002F>","# Hindsight 快速上手指南\n\nHindsight 是一个专为 AI Agent 设计的记忆系统。与传统的仅记录对话历史的方案不同，Hindsight 旨在让 Agent 具备“学习”能力，通过模拟人类记忆机制（世界事实、个人经历、心智模型）来实现长期的知识积累与推理。\n\n## 环境准备\n\n在开始之前，请确保满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows (需安装 Docker Desktop)。\n*   **核心依赖**：\n    *   [Docker](https:\u002F\u002Fwww.docker.com\u002F) (推荐方式) 或 Python 3.9+ \u002F Node.js 18+。\n    *   有效的 LLM API Key (支持 OpenAI, Anthropic, Gemini, Groq, Ollama 等)。\n*   **网络环境**：确保能够访问 `ghcr.io` (GitHub Container Registry) 或配置了相应的国内镜像加速。\n\n## 安装步骤\n\n### 方式一：使用 Docker 部署（推荐）\n\n这是最快捷的启动方式，无需配置本地数据库，数据将持久化存储在本地目录。\n\n1.  设置环境变量（替换为你的 API Key）：\n    ```bash\n    export OPENAI_API_KEY=sk-xxx\n    ```\n    > 注：如需使用其他模型提供商，可额外设置 `export HINDSIGHT_API_LLM_PROVIDER=anthropic` (可选值：openai, anthropic, gemini, groq, ollama, lmstudio, minimax)。\n\n2.  运行 Docker 容器：\n    ```bash\n    docker run --rm -it --pull always -p 8888:8888 -p 9999:9999 \\\n      -e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY \\\n      -v $HOME\u002F.hindsight-docker:\u002Fhome\u002Fhindsight\u002F.pg0 \\\n      ghcr.io\u002Fvectorize-io\u002Fhindsight:latest\n    ```\n\n启动成功后：\n*   **API 地址**: `http:\u002F\u002Flocalhost:8888`\n*   **UI 管理界面**: `http:\u002F\u002Flocalhost:9999`\n\n### 方式二：Python 嵌入式模式（无需服务器）\n\n如果你希望在代码中直接运行轻量级实例，无需单独部署服务器：\n\n1.  安装依赖包：\n    ```bash\n    pip install hindsight-all -U\n    ```\n\n2.  确保已设置 `OPENAI_API_KEY` 环境变量。\n\n## 基本使用\n\nHindsight 提供三个核心操作：**Retain** (存储记忆)、**Recall** (检索记忆)、**Reflect** (反思\u002F生成洞察)。\n\n### 1. Python 客户端使用示例\n\n首先安装官方客户端：\n```bash\npip install hindsight-client -U\n```\n\n**代码示例：**\n\n```python\nfrom hindsight_client import Hindsight\n\n# 初始化客户端，指向本地服务\nclient = Hindsight(base_url=\"http:\u002F\u002Flocalhost:8888\")\n\n# 1. Retain: 存储信息到记忆库 (bank_id 用于隔离不同用户或场景)\nclient.retain(\n    bank_id=\"my-bank\", \n    content=\"Alice works at Google as a software engineer\"\n)\n\n# 2. Recall: 根据查询检索相关记忆\nresults = client.recall(\n    bank_id=\"my-bank\", \n    query=\"What does Alice do?\"\n)\nprint(results)\n\n# 3. Reflect: 基于现有记忆进行深度分析并生成回答\nresponse = client.reflect(\n    bank_id=\"my-bank\", \n    query=\"Tell me about Alice's career path\"\n)\nprint(response)\n```\n\n### 2. Node.js \u002F TypeScript 使用示例\n\n安装客户端：\n```bash\nnpm install @vectorize-io\u002Fhindsight-client\n```\n\n**代码示例：**\n\n```javascript\nconst { HindsightClient } = require('@vectorize-io\u002Fhindsight-client');\n\nconst main = async () => {\n  \u002F\u002F 初始化客户端\n  const client = new HindsightClient({ baseUrl: 'http:\u002F\u002Flocalhost:8888' });\n\n  \u002F\u002F 1. Retain: 存储记忆\n  await client.retain('my-bank', 'Alice loves hiking in Yosemite');\n\n  \u002F\u002F 2. Recall: 检索记忆\n  const results = await client.recall('my-bank', 'What does Alice like?');\n  console.log(results);\n}\n\nmain();\n```\n\n### 3. Python 嵌入式模式示例\n\n如果你选择了“方式二”安装，可以直接在脚本中启动服务：\n\n```python\nimport os\nfrom hindsight import HindsightServer, HindsightClient\n\n# 在上下文管理器中启动临时服务器\nwith HindsightServer(\n    llm_provider=\"openai\",\n    llm_model=\"gpt-4o-mini\", # 请根据实际可用模型调整\n    llm_api_key=os.environ[\"OPENAI_API_KEY\"]\n) as server:\n    # 连接到本地临时服务\n    client = HindsightClient(base_url=server.url)\n    \n    # 正常使用\n    client.retain(bank_id=\"my-bank\", content=\"Alice works at Google\")\n    results = client.recall(bank_id=\"my-bank\", query=\"Where does Alice work?\")\n    print(results)\n```\n\n---\n*更多高级用法（如自定义元数据过滤、时间序列查询）请参考官方文档：https:\u002F\u002Fhindsight.vectorize.io*","某电商企业正在开发一款能够处理复杂售后问题的智能客服 Agent，需要其记住用户跨会话的历史偏好与过往纠纷细节。\n\n### 没有 hindsight 时\n- **记忆碎片化**：Agent 仅能检索当前对话片段，无法关联用户上周提到的“对乳胶过敏”或上个月的“物流延误投诉”，导致每次沟通都像初次接触。\n- **重复询问惹恼用户**：由于缺乏长期记忆，客服机器人反复询问用户已提供过的订单号和个人偏好，严重降低用户体验。\n- **上下文丢失导致误判**：在处理多轮次复杂的退换货流程时，Agent 经常遗忘早期的关键承诺（如“承诺补偿运费”），引发新的客诉。\n- **传统方案效果有限**：尝试引入 RAG（检索增强生成）或知识图谱，但面对长周期、非结构化的对话历史，检索准确率低下且维护成本极高。\n\n### 使用 hindsight 后\n- **真正的持续学习**：hindsight 让 Agent 具备了随时间进化的记忆能力，自动将用户半年前的过敏史与当前的商品推荐关联，实现个性化服务。\n- **零冗余交互**：用户无需重复背景信息，hindsight 精准调用历史记忆，使对话流畅自然，仿佛由一位熟悉老顾客的人工专员接待。\n- **长程逻辑闭环**：即便相隔数周的售后流程，hindsight 也能完整回溯早期的赔偿承诺与处理进度，确保服务一致性，避免纠纷升级。\n- **极简集成高性能**：仅需两行代码替换 LLM 客户端，即可在 LongMemEval 基准测试中达到业界领先的记忆准确度，无需构建复杂的向量数据库架构。\n\nhindsight 的核心价值在于将 AI 代理从“只会短期回忆的聊天机器”升级为“具备长期经验积累的智能助手”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fvectorize-io_hindsight_466053b3.png","vectorize-io","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fvectorize-io_5451c706.jpg","",null,"https:\u002F\u002Fgithub.com\u002Fvectorize-io",[78,82,86,90,94,98,102,106,110,114],{"name":79,"color":80,"percentage":81},"Python","#3572A5",72.9,{"name":83,"color":84,"percentage":85},"TypeScript","#3178c6",15.8,{"name":87,"color":88,"percentage":89},"MDX","#fcb32c",4,{"name":91,"color":92,"percentage":93},"Rust","#dea584",3.1,{"name":95,"color":96,"percentage":97},"Shell","#89e051",1.9,{"name":99,"color":100,"percentage":101},"CSS","#663399",0.9,{"name":103,"color":104,"percentage":105},"Go","#00ADD8",0.6,{"name":107,"color":108,"percentage":109},"JavaScript","#f1e05a",0.5,{"name":111,"color":112,"percentage":113},"Dockerfile","#384d54",0.2,{"name":115,"color":104,"percentage":116},"Go Template",0,7714,474,"2026-04-07T09:40:30","MIT","Linux, macOS, Windows","未说明 (主要依赖外部 LLM 提供商如 OpenAI, Anthropic 等，本地运行 Ollama\u002FLMStudio 时取决于所选模型)","未说明 (Docker 容器运行通常建议至少 4GB-8GB，具体取决于并发量和记忆库大小)",{"notes":125,"python":126,"dependencies":127},"1. 推荐使用 Docker 部署服务端，支持多种 LLM 提供商（OpenAI, Anthropic, Gemini, Groq, Ollama, LMStudio, Minimax）。2. 提供 Python 嵌入式模式（hindsight-all），无需单独启动服务器即可在本地进程运行。3. 核心功能依赖外部大模型 API 密钥（如 OPENAI_API_KEY）。4. 数据存储默认使用内置 PostgreSQL（Docker 卷映射），也支持连接外部 PostgreSQL 实例。5. 客户端支持 Python 和 Node.js\u002FTypeScript。","3.8+ (推断，基于标准 PyPI 包兼容性，文档未明确指定具体版本)",[128,129,130,131,132],"hindsight-client (Python)","@vectorize-io\u002Fhindsight-client (Node.js)","hindsight-all (Python 嵌入式版)","Docker (推荐运行方式)","PostgreSQL (数据存储，Docker Compose 模式下自动包含)",[13,52],[135,136,137,138],"agentic-ai","memory","agents","autogen-extension","2026-03-27T02:49:30.150509","2026-04-07T22:49:55.656624",[142,147,152,157,162,167],{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},23144,"如何替换为不同维度（如从 384 维换到 1024 维）的嵌入模型？","项目已支持配置嵌入维度。但需注意，如果使用 pgvector 的 HNSW 索引，其最大支持维度为 2000。因此，像 text-embedding-3-large (3072 维) 这样的高维模型在尝试重建 HNSW 索引时会失败并报错 \"column cannot have more than 2000 dimensions for hnsw index\"。对于超过 2000 维的模型，可能需要避免使用 HNSW 索引或等待后续更新。该功能已在 0.3.0 版本中修复和完善。","https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues\u002F75",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},23145,"访问 MCP 服务器端点 \u002Fmcp\u002F{bank_id} 时返回 404 Not Found 怎么办？","这是一个已知问题，已在版本 0.2.1 中修复。如果您使用的是旧版本镜像（如 0.1.16），请升级到最新版本 `ghcr.io\u002Fvectorize-io\u002Fhindsight:latest` (确保标签对应 0.2.1 或更高)。升级后，MCP 路由重写问题将得到解决，端点即可正常访问。","https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues\u002F78",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},23146,"是否可以用 Qdrant 完全替代 pgvector 作为向量存储后端？","不可以完全替代。虽然从代码层面实现向量部分的对接并不困难，但 Qdrant 不支持 Hindsight 依赖的许多 PostgreSQL 特有功能。因此，您最终可能仍需同时运行两套系统（Hindsight 配合 Postgres + 您的应用配合 Qdrant）。此外，性能方面未必有显著提升，因为系统的向量查询已与 CTEs（用于 BM25、时间种子等其他检索方法）堆叠优化，在单次 recall() 调用中效率很高。","https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues\u002F183",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},23147,"如何扩展 MCP 服务器以支持更多工具或 API 设置？","可以通过添加环境变量配置来暴露更多 MCP 工具。建议设置环境变量 `HINDSIGHT_API_MCP_TOOLS`，可选值为 `core` 或 `extended`（默认为 `core`）。\n- `core`: 保持当前的核心工具集。\n- `extended`: 暴露几乎所有的 API 端点作为工具。\n例如：`HINDSIGHT_API_MCP_TOOLS=extended`。这将有助于在 n8n 等编排工具中更一致地使用 Hindsight。","https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues\u002F230",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},23148,"如何避免 LLM 代理在“回忆 - 响应 - 保留”循环中产生重复的记忆数据？","建议在保留（retain）阶段进行去重处理。具体策略是：在创建新记忆单元前，检查传入内容与同一银行（bank）中现有记忆的嵌入相似度。如果相似度超过设定阈值（例如余弦相似度 > 0.9），则跳过创建或进行合并，而不是生成新的事实。\n架构上，建议将此去重逻辑限定在“观察（observation）”层，因为这里是高体积、高重叠保留发生的地方；而“事实（facts）”和“文档（documents）”已有 document_id 处理身份语义。可以利用现有的 ANN 基础设施（HNSW 索引 + LATERAL 查询模式）来实现这一相似度检查。","https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fissues\u002F826",{"id":168,"question_zh":169,"answer_zh":170,"source_url":146},23149,"pgvector 的 HNSW 索引对嵌入维度有什么限制？","pgvector 的 HNSW 索引最大支持 2000 个维度。如果您尝试使用维度超过 2000 的模型（例如 OpenAI 的 text-embedding-3-large，其为 3072 维），系统在尝试确保嵌入维度并重建 HNSW 索引时会抛出运行时错误：`sqlalchemy.exc.OperationalError: column cannot have more than 2000 dimensions for hnsw index`。在选择模型时，请务必确认其输出维度不超过此限制，或者在不使用 HNSW 索引的情况下运行。",[172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262,267],{"id":173,"version":174,"summary_zh":175,"released_at":176},136826,"v0.4.22","## 变更内容\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F765 中撰写的 0.4.21 版本发布博客文章和变更日志\n* 博客：Hindsight Cloud 新功能 —— MCP 客户端的原生 OAuth，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F731 中撰写\n* 将 MCP OAuth 博客文章日期更新为 3 月 30 日，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F769 中完成\n* 修复博客首页：Hindsight Cloud 栏目始终显示前 3 篇文章，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F770 中完成\n* 修复 openclaw 插件清单中的尾部逗号，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F774 中完成\n* 修正（文档）：在 BaseMemory 示例中使用 tools=[]，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F772 中完成\n* 功能：为 ZeroEntropy 重排序器添加可配置的基础 URL，由 @iskhakovt 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F766 中实现\n* 功能（codex）：从 rollout 文件中保留结构化工具调用信息，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F778 中完成\n* 文档：将 ZeroEntropy 基础 URL 配置添加到文档中，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F779 中完成\n* 修复（llamaindex）：document_id、memory API 以及 ReAct 跟踪的修复，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F777 中完成\n* SEO：为所有集成页面添加标题和描述，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F787 中完成\n* 修复（codex）：升级时合并新设置，而非跳过，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F780 中完成\n* 修复（engine）：将第一人称智能体体验归类为“experience”事实类型，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F775 中完成\n* 修复（gemini）：在 gemini 3.1 及以上版本的工具调用中，thought_signature 从错误的对象和类型中读取，由 @ParadiseN1 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F785 中完成\n* 修复（openclaw）：将耗时的初始化延迟到 service.start() 执行时，以避免 CLI 运行变慢，由 @kagura-agent 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F764 中完成\n* 修复（openclaw）：针对 CLI 模式下 waitForReady 为空操作的情况，添加警告日志并更新测试，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F799 中完成\n* CI：支持对分支 PR 使用 safe-to-test 标签，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F800 中完成\n* 修复（测试）：为 pg0 使用随机端口以避免端口冲突，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F801 中完成\n* 修复（http）：recall 端点在响应中会丢失元数据，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F803 中完成\n* 添加 \u002Fcode-review 技能，用于自动化代码质量检查，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F805 中完成\n* 功能（API）：通过 X-Ignored-Params 头部对未知请求参数发出警告，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F802 中完成\n* CI：在 PR 上报告 safe-to-test 的 CI 结果，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F807 中完成\n* 功能：添加带有项目标准的 \u002Fcode-review 技能，由 @nicoloboschi 在 https:\u002F\u002Fgithub.c","2026-03-31T16:37:22",{"id":178,"version":179,"summary_zh":180,"released_at":181},136827,"v0.4.21","## 变更内容\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F671 中撰写的 0.4.20 版本发布博客文章及变更日志\n* 功能：移除集成中的硬编码默认模型，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F670 中完成\n* 功能：添加 Strands Agents SDK 与 Hindsight 内存工具的集成，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F659 中完成\n* 博客：为 LangGraph 和 LangChain 代理添加长期记忆，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F637 中发布\n* 安全：排除 litellm 1.82.8（供应链受损），由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F673 中完成\n* 修复：在召回响应中返回元数据，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F680 中完成\n* 修复（hermes）：使用异步客户端方法以防止事件循环死锁，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F681 中完成\n* 功能（mcp）：为 retain 工具添加策略参数，由 @philippop 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F684 中完成\n* 修复：将 MemoryItem 和 MCP 工具中的 JSON 字符串标签强制转换为列表，由 @philippop 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F682 中完成\n* 功能：为 Bedrock 及 100 多家提供商添加 LiteLLM LLM 提供商，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F679 中完成\n* 功能（embed）：添加程序化 UI（控制平面）管理功能，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F683 中完成\n* CI：根据更改的路径跳过不相关作业，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F687 中完成\n* 博客：您的 AWS Strands 代理会在每次运行之间忘记所有内容。以下是解决方案。由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F685 中发布\n* 功能（hermes）：基于文件的配置 + 更新文档，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F686 中完成\n* 修复：添加 setup_hooks.py 和 hindsight:setup 技能以用于钩子注册，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F690 中完成\n* 功能（reflect）：使 search_observations 中的源事实可配置，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F688 中完成\n* 功能：为仅存储分块模式添加 'none' LLM 提供商，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F691 中完成\n* 修复（claude-code）：为 Windows 兼容性将 fcntl 导入改为条件导入，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F694 中完成\n* 修复：针对召回和数据视图的控制平面 UI 修复，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F693 中完成\n* 功能：Windows 原生支持——无需 Docker 即可运行 Hindsight，由 @grimmjoww 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F699 中完成\n* 修复：在 ValidationError 的 OpenAPI 模式中包含 Pydantic v2 字段，由 @mrkhachaturov 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F697 中完成\n* 文档：添加支持的平台及 Windows 安装指南，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F700 中完成\n* 功能（claude-code）：通过文档更新插入实现完整会话保留，并","2026-03-30T13:14:35",{"id":183,"version":184,"summary_zh":185,"released_at":186},136828,"v0.4.20","## 变更内容\n* 功能：将 MiniMax 默认模型从 M2.5 升级到 M2.7，由 @octo-patch 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F606 中完成。\n* 文档：添加 0.4.19 版本发布博客文章、Agno 和 Hermes 集成页面，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F608 中完成。\n* 功能：为集成实现独立版本管理，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F565 中完成。\n* 博客：Hermes Agent 持久化内存，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F599 中完成。\n* 修复：在整个提取管道中将 fact_type “assistant” 重命名为 “experience”，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F609 中完成。\n* 修复：针对非 ASCII 字符的实体名称，移除 entity_id 的空值约束，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F612 中完成。\n* 功能：在所有文档示例中实现四格缩进的一致性，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F613 中完成。\n* 功能：在所有文档页面上添加可滚动的集成横幅，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F616 中完成。\n* 功能（技能）：验证链接、去除图片、包含 openapi.json 和变更日志，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F614 中完成。\n* 修复（安全）：处理所有 Dependabot 漏洞告警，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F617 中完成。\n* 修复：当子任务因未捕获异常失败时，解决 orphaned batch_retain 父节点的问题，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F618 中完成。\n* 修复：解决异步操作创建过程中出现的非原子性问题，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F619 中完成。\n* 功能：为 reflect 添加 fact_types 和心智模型排除过滤器，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F615 中完成。\n* 功能（文档）：集成中心 + 统一页面英雄区，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F620 中完成。\n* 增强 OpenAI 客户端初始化功能，以支持 Azure OpenAI 部署，由 @c15yi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F623 中完成。\n* 修复（hindsight-api）：添加脚本入口点，使 uvx hindsight-api 能够直接运行，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F629 中完成。\n* 功能：添加 LangGraph 集成，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F610 中完成。\n* 功能（nemoclaw）：添加 hindsight-nemoclaw 设置 CLI 包，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F630 中完成。\n* 文档：添加 LangGraph 和 Nemoclaw 相关内容，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F633 中完成。\n* 博客：只需一条命令，即可为 NemoClaw 提供最佳代理内存，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F631 中完成。\n* 修复：为 PyPI 的集成 pyproject.toml 文件添加 readme 字段，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F634 中完成。\n* 修复：当 MCP_AUTH_TOKEN 和 TENANT_API_KEY 不一致时，MCP 工具调用会失败，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F635 中完成。\n* 修复（litellm）：当未提供 hindsight_query 时，回退到上一条用户消息，由 @nicoloboschi 在","2026-03-24T08:39:13",{"id":188,"version":189,"summary_zh":190,"released_at":191},136829,"v0.4.19","## 变更内容\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F567 中添加 0.4.18 版本发布博客文章\n* 修复：支持 gemini-3.1-flash-lite-preview（工具调用中的 thought_signature），由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F568 中实现\n* 文档：改进 client_wrapper 中的类型提示和文档，由 @hiSandog 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F570 中完成\n* 修复：在 MCP 中间件中注入 Accept 头，以防止 406 错误，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F571 中修复\n* 博客：由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F566 中添加关于具备配置能力的智能体的文章\n* 将 GitHub Actions 升级到最新版本，由 @salmanmkc 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F576 中完成\n* 杂项（依赖）：将 actions\u002Fsetup-python 从 5 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F583 中完成\n* 杂项（依赖）：将 actions\u002Fdownload-artifact 从 4 升级到 8，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F582 中完成\n* 杂项（依赖）：将 actions\u002Fcheckout 从 4 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F581 中完成\n* 修复：对 FK 级联进行分块处理，以防止删除文档时留下孤立的内存单元，由 @jnMetaCode 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F580 中修复\n* 修复（迁移）：回溯清理孤立的观测内存单元，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F584 中完成\n* 功能：本地 reranker 支持 FP16、桶式批处理以及与 transformers 5.x 的兼容性，由 @fabioscarsi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F588 中实现\n* 修复（Docker）：尊重 HINDSIGHT_CP_HOSTNAME 环境变量以用于控制平面启动，由 @abix5 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F590 中修复\n* 文档：添加本地 reranker FP16 和桶式批处理的配置变量，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F589 中完成\n* 文档（技能）：鼓励在 retain 操作中使用丰富的上下文信息，而非预先总结的字符串，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F594 中提出\n* 博客：由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F585 中添加关于 n8n 持久化内存工作流的文章\n* 文档：添加“最佳实践”无版本页面，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F598 中完成\n* 功能：为 Hermes Agent 集成 hindsight-hermes，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F600 中实现\n* 功能（retain）：支持原文保留、分块模式以及命名的 retain 策略，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F593 中实现\n* 博客：由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F602 中发布带有持久化内存的 Streamlit 聊天机器人文章\n* 修复：防止在整合 LLM 失败时发生无声的内存丢失，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F601 中修复\n* 博客：由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F604 中修正 Streamlit 文章的别名并添加封面图片\n* 博客：由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F605 中修复 Streamlit 文章中的内部链接\n* 功能：添加 Agno i","2026-03-18T14:00:43",{"id":193,"version":194,"summary_zh":195,"released_at":196},136830,"v0.4.18","## 变更内容\n* 文档：添加由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F538 中撰写的 0.4.17 版本发布博客文章\n* 性能优化：将窗口函数检索替换为 UNION ALL 加上按库划分的 HNSW 索引，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F541 中实现\n* 功能新增：通过环境变量使召回的最大查询标记数可配置，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F544 中实现\n* 功能新增：为 Apple Silicon 添加 jina-mlx 重排序器提供商，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F542 中实现\n* 文档：使用 Ollama 运行 Hindsight：本地 AI 内存，无需 API 密钥，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F536 中完成\n* 文档：Hindsight Cloud 新功能 — 编程式 API 密钥管理，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F543 中完成\n* 修复：当库被删除时取消正在进行的异步操作，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F545 中实现\n* 修复：在守护进程启动时将嵌入式配置文件注册到 CLI 元数据中，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F546 中实现\n* 修复（openclaw）：将召回的记忆排除在可见记录之外，由 @stablegenius49 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F548 中完成\n* 博客：面向记忆图的时间感知扩散激活，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F547 中撰写\n* 功能新增：添加 MiniMax LLM 提供商支持，由 @octo-patch 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F550 中实现\n* 修复：截断超出 LiteLLM 重排序器上下文限制的文档，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F549 中完成\n* 将 GitHub Actions 升级到最新版本，由 @salmanmkc 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F553 中完成\n* 杂项：为 GitHub Actions 更新添加 Dependabot 配置，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F554 中完成\n* 杂项（依赖）：将 actions\u002Fcache 从 4 升级到 5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F559 中完成\n* 杂项（依赖）：将 actions\u002Fsetup-go 从 5 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F558 中完成\n* 杂项（依赖）：将 actions\u002Fupload-artifact 从 4 升级到 7，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F555 中完成\n* 杂项（依赖）：将 actions\u002Fcheckout 从 4 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F556 中完成\n* 功能新增：推出 hindsight-api-slim 和 hindsight-all-slim 软件包，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F560 中实现\n* 修复：移除损坏的 minimax 测试，并增强 slim 烟雾测试，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F564 中完成\n* 杂项（依赖）：将 actions\u002Fsetup-node 从 4 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F557 中完成\n* 文档：使用图标网格和语言支持重新设计侧边栏，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F563 中完成\n* 功能新增：通过 tag_groups 实现复合标签筛选，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F562 中实现\n\n## 新贡献","2026-03-13T14:57:31",{"id":198,"version":199,"summary_zh":200,"released_at":201},136831,"v0.4.17","## 变更内容\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F502 中添加 0.4.16 版本发布博客文章和变更日志。\n* 修复：在选择器下拉菜单中截断过长的银行名称，由 @dcbouius 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F505 中完成。\n* 修复：当下拉菜单打开时刷新银行列表，由 @dcbouius 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F504 中完成。\n* 修复：OpenClaw 测试 + 按语言拆分文档示例 CI，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F503 中完成。\n* 文档：在 memory-banks.mdx 中记录所有缺失的银行配置字段，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F508 中完成。\n* 添加 on_file_convert_complete 扩展钩子，在文件转 Markdown 转换完成后触发，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F507 中完成。\n* 功能：将源事实的令牌限制添加到整合与召回中，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F509 中完成。\n* 重构：移除死代码并澄清观察与心智模型的区别，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F512 中完成。\n* 功能：按请求选择文件解析器，并设置回退链，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F514 中完成。\n* 功能：观察历史跟踪及差异 UI，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F513 中完成。\n* 功能：心智模型历史跟踪及 UI 差异视图，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F516 中完成。\n* 文档：使用 Hindsight 升级 OpenClaw 的内存，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F515 中完成。\n* 修复 Workload Identity Federation 凭证的 GCS 身份验证问题，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F518 中完成。\n* 功能：更改文档标签，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F517 中完成。\n* 修复：在进程内序列化 Alembic 升级，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F521 中完成。\n* 修复 Iris 解析器的 httpx 读取超时问题，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F524 中完成。\n* 修复：在迁移 mental_models.embedding 维度时同步迁移 memory_units，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F526 中完成。\n* 功能：按类型筛选操作，并修复过时的自动刷新闭包（#522），由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F527 中完成。\n* 修复（整合）：尊重银行使命而非短暂状态启发式方法，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F525 中完成。\n* 文档：添加关于对话保留格式的 FAQ 条目，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F529 中完成。\n* 修复：规范化命名的 tool_choice，以避免在 LM Studio \u002F Ollama 上出现 HTTP 400 错误，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F528 中完成。\n* 文档：你的 Pydantic AI 代理每次运行后都会忘记你。只需 5 行代码即可修复。由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F531 中完成。\n* 修复适用于所有租户的数据库升级运行脚本，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fp\u002F中完成。","2026-03-10T16:46:33",{"id":203,"version":204,"summary_zh":205,"released_at":206},136832,"v0.4.16","## 变更内容\n* 文档：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F477 中撰写了 0.4.15 版本的发布博客文章和变更日志。\n* 文档：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F479 中更新了 Cookbook。\n* 博客：@benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F481 中新增了关于 LiteLLM 持久化内存的文章。\n* 文档：@benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F482 中修正了 LiteLLM 博客中的表述——将“OPINION”改为“OBSERVATION”，并更新了标题。\n* CLI：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F484 中将 Linux-arm64 二进制文件添加到发布版本和 CI 流程中。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F486 中解决了所有 Dependabot 安全漏洞。\n* 文档：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F489 中将 ZeroEntropy 重排序器添加到 models.md 文件中。\n* 功能：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F487 中实现了带有 retain.completed 事件、UI 和文档的 Webhook 系统。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F490 中解决了 LLM 在所有重试后返回无效 JSON 时出现的 TypeError 异常。\n* 修复：@cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F491 中为 FastMCP 3.x 修复了银行级别的 MCP 工具筛选功能。\n* 文档：@benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F492 中新增了关于 MCP 的博客文章。\n* 性能优化：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F485 中为 observation 查找在 source_memory_ids 上添加了 GIN 索引。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F494 中将加法组合评分替换为乘法 CE 提升机制。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F495 中将 uvicorn 的优雅关闭时间限制为 5 秒，并在连续两次按下 Ctrl+C 时启用强制终止。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F496 中通过 source_memory_ids 解析 observation 结果的 chunks。\n* 功能（openclaw）：@mysteriousHerb 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F480 中实现了 v2 版本的召回率\u002F留存率控制、可扩展性修复以及 Gemini 的安全设置。\n* 修复：@cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F499 中在 webhook 出站回调中使用了正确的 schema 名称。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F500 中将 schema 迁移放在线程中执行，以防止事件循环死锁。\n* 文档：@benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F498 中撰写了《五分钟让你的 OpenAI 应用拥有记忆》一文。\n* 修复：@nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F501 中保留了无来源日期的 observations 的 None 类型时间字段。\n\n## 新贡献者\n* @mysteriousHerb 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F480 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.15...v0.4.16","2026-03-05T17:48:43",{"id":208,"version":209,"summary_zh":210,"released_at":211},136833,"v0.4.15","## 变更内容\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F445 中撰写的变更日志和博客文章\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F448 中进行的改进\n* 文档：0.4.14 版本，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F449 中发布\n* 功能：新增 observation_scopes 字段，用于控制观测的粒度，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F447 中实现\n* 功能（openclaw）：每 n 轮保留最近的 n+2 轮数据（默认 n=10），由 @fabioscarsi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F452 中实现\n* 为引擎和 HTTP 处理程序添加银行范围的验证功能，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F454 中完成\n* 修复：在 claude_code_llm 中修复 JSON 序列化和日志记录中的异常传播问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F461 中完成\n* 修复：修正 zeroentropy 重排序 URL 缺少 \u002Fv1 前缀的问题，并在 MCP 中保留 async_processing 参数，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F460 中完成\n* 修复（控制平面）：解决观测计数始终显示为 0 的问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F464 中修复\n* 修复：解决因重试时存在僵尸处理任务而导致的整合死锁问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F463 中完成\n* 修复（reflect）：防止在大型内存库中出现 context_length_exceeded 错误，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F462 中实现\n* 功能：支持 timestamp=\"unset\"，以保留无日期的内容，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F465 中实现\n* 功能：实体标签——可选、自由值、多值，以及 UI 美化，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F450 中完成\n* 文档：实体、标签和元数据的区别，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F466 中撰写\n* 功能：为持久化代理内存添加 Pydantic AI 集成，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F441 中实现\n* 功能：将 Pydantic AI 集成添加到 CI、发布流水线和文档中，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fh hindsight\u002Fpull\u002F467 中完成\n* 功能：为列表文档 API 添加标签过滤功能，并修复查询描述问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F468 中实现\n* 博客：添加 CrewAI 持久化内存相关文章，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F471 中完成\n* 功能：为根路由和错误头信息添加扩展钩子，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F470 中实现\n* 重构（openclaw）：将 console.log 替换为 debug() 辅助函数，由 @slayoffer 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F456 中完成\n* 修复（性能）：提升大容量数据库的召回率和保留性能，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F469 中完成\n* 功能：可配置的 Gemini\u002FVertex AI 安全设置，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F473 中实现\n* 性能（召回）：优化单次查询的分块获取，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F475 中完成\n* f","2026-03-03T14:34:09",{"id":213,"version":214,"summary_zh":215,"released_at":216},136834,"v0.4.14","## 变更内容\n* 文档：0.4.13 更改日志，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F411 中提交\n* 修复（杂项）：在发布工作流中包含 hindsight-crewai，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F412 中提交\n* 功能（openclaw）：添加 autoRecall 切换开关及 excludeProviders 模式，由 @slayoffer 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F413 中提交\n* 文档：改进 API 说明，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F415 中提交\n* 杂项：修复 vertex\u002Fgemini 错误，并将其用于 CI 测试，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F414 中提交\n* 修复银行配置 API，以实现多租户模式下的数据隔离，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F417 中提交\n* 功能：新增 ZeroEntropy 重排序器提供商支持，由 @franchb 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F420 中提交\n* 修复：基于 reflect 的人口统计信息，并强制执行完整的分层检索，由 @cdbartholomew 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F421 中提交\n* 修复：优化 recall 的内存占用，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F423 中提交\n* 功能：在事实提取中包含文档元数据，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F424 中提交\n* 功能：增强 reflect、retain 和 consolidation 的自定义功能，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F419 中提交\n* 功能：默认启用银行配置 API，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F426 中提交\n* 功能：为 LoComo 基准测试添加 reflect 模式，并改进 reflect 代理，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F428 中提交\n* 修复（openclaw）：将认证令牌传递至健康检查端点，由 @slayoffer 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F427 中提交\n* 修复：处理记忆被删除时的观测值重新生成问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F429 中提交\n* 功能：批量合并观测值，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F430 中提交\n* 功能：扩大 MCP 工具的使用范围，由 @DK09876 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F435 中提交\n* 功能：通过标签筛选图谱中的记忆，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F431 中提交\n* 修复：在 LiteLLM SDK 的嵌入调用中传递 encoding_format=\"float\" 参数，由 @franchb 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F434 中提交\n* 修复：在日期解析中捕获 ValueError 异常，而非使用裸 except，由 @haosenwang1018 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F438 中提交\n* 功能：按银行配置公开的 MCP 工具，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F439 中提交\n* 修复（存储）：在 PostgreSQLFileStorage 中使用动态 schema_getter 实现多租户支持，由 @Andreymi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F440 中提交\n* 修复：当嵌入维度超过 2000 时，快速失败 HNSW 索引，由 @slayoffer 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F361 中提交\n* 功能：为持久化聊天机器人记忆添加 Chat SDK 集成，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002F 中提交","2026-02-26T19:15:49",{"id":218,"version":219,"summary_zh":220,"released_at":221},136835,"v0.4.13","## 变更内容\n* 文档：由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F397 中编写的 0.4.12 版本变更日志\n* 修复：当提取的事实数量为 0 时，文档不会被跟踪，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F399 中完成\n* 功能：添加 CrewAI 集成，实现持久化的团队记忆功能，由 @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F319 中实现\n* 修复：客户端不遵守超时设置的问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F400 中修复\n* 修复：将时间排序的偏移量从 10 秒降低至 10 毫秒，由 @dcbouius 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F402 中完成\n* 修复：重排序器在提供者出现错误时会崩溃的问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F403 中修复\n* 修复（mcp）：不再支持无状态参数，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F406 中完成\n* 功能：在观察召回中包含源事实，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F404 中实现\n* 修复：使用命名的 Docker 卷时，Docker 启动会失败，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F405 中修复\n* 修复（mcp）：统一 hindsight-mcp-local 和服务器端 mcp，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F407 中完成\n* 修复：npx hindsight-control-plane 命令执行失败的问题，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F408 中修复\n* 功能：将默认模型切换为 gpt-4o-mini，由 @nicoloboschi 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F410 中实现\n\n## 新贡献者\n* @benfrank241 在 https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F319 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.12...v0.4.13","2026-02-19T18:21:19",{"id":223,"version":224,"summary_zh":225,"released_at":226},136836,"v0.4.12","## What's Changed\n* doc: changelog and blog post for 0.4.11 by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F363\n* feat: allow chunks-only in recall (max_tokens=0) by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F364\n* fix(openclaw): remove unused imports, retry health check, suppress unhandled rejection by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F373\n* fix: propagate document_tags in async retain path by @abix5 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F374\n* feat: add Go client SDK with ogen code generation by @franchb in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F375\n* fix: improve async batch retain with large payloads by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F366\n* feat: support Batch API for retain (openai\u002Fgroq) by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F365\n* feat: use official go generator for Go client by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F377\n* feat: support for pgvectorscale (DiskANN) by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F378\n* doc: add go client examples by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F380\n* ci: ensure docs get created with no extracted facts by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F379\n* feat: support azure pg_diskann by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F381\n* doc: add faq page by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F383\n* fix(openclaw): error E2BIG on large content ingested by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F389\n* fix(python-client): async method parity and server keepalive timeout by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F387\n* feat: accept pdf, images and office files by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F390\n* fix: restore entity retrieval in recall by @dcbouius in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F391\n* fix(go-client): use monorepo-compatible module path by @franchb in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F392\n* feat: improve ai sdk tools by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F394\n* fix(go-client): add go build to CI by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F393\n* fix(openclaw): shell safety, HTTP dual-mode, lazy reinit, per-user banks by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F388\n* feat: add iris as file parser by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F395\n* fix: improve openclaw test coverage by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F396\n\n## New Contributors\n* @abix5 made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F374\n* @franchb made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F375\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.11...v0.4.12","2026-02-18T13:44:42",{"id":228,"version":229,"summary_zh":230,"released_at":231},136837,"v0.4.11","## What's Changed\n* fix(helm): gke overriding HINDSIGHT_API_PORT by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F328\n* feat(helm): add PDB and per-component affinity support by @nuclon in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F327\n* feat(openclaw): add excludeProviders config by @GodsBoy in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F332\n* Fix MCP usage metering: propagate tenant_id through context vars by @DK09876 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F334\n* feat: add otel traceability by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F330\n* feat: add docs skill by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F335\n* fix: include tiktoken in slim image by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F336\n* Fix async batch retain incorrectly marked as internal by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F338\n* feat: add mental model CRUD tools to MCP server by @DK09876 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F337\n* feat(helm): add TEI reranker sidecar support by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F333\n* Harden MCP server: fix routing, validation, and usage metering by @DK09876 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F341\n* Add actual LLM token usage fields to RetainResult by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F342\n* fix: improve model configuration for litellm gateway by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F345\n* fix: add trust_code env config by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F347\n* Replace waitlist links with direct signup URL by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F349\n* Fix MCP extra args rejection and bank ID resolution priority by @DK09876 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F351\n* feat: add reverse proxy support by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F346\n* Implement the vchord \u002F pgvector support by @qdrddr in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F350\n* fix: resolve based_on schema\u002Fserialization issues in reflect API  by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F348\n* feat: implement hierarchical configuration (system, tenant, bank) by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F329\n* feat: support for other text and vector search pg extensions by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F355\n* chore: remove dead code by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F356\n* Fix incorrect MCP tool parameters in docs by @DK09876 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F358\n* feat: support timescale pg_textsearch as text search extension by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F359\n* feat: support litellm-sdk as reranker and embeddings by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F357\n* fix(openclaw): avoid memory retain recursion by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F362\n\n## New Contributors\n* @qdrddr made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F350\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.10...v0.4.11","2026-02-13T10:23:21",{"id":233,"version":234,"summary_zh":235,"released_at":236},136838,"v0.4.10","## What's Changed\n* fixed cast error by @haydenrear in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F300\n* fix: tagged directives should be applied to tagged mental models by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F303\n* docs: add AI SDK integration documentation by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F304\n* ci: ensure backwards\u002Fforward compatibility of the API by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F306\n* fix(openclaw): remove format:uri to fix ajv warning by @GodsBoy in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F309\n* feat: support markdown in reflect and mental models by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F307\n* ci: ensure python 3.14 compatibility by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F310\n* fix(ci): resolve flaky test failures in api tests by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F311\n* feat: slim docker distro by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F314\n* doc: update claude-code usage terms by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F315\n* fix: hindsight-embed profiles are not loaded correctly by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F316\n* feat: add TenantExtension auth to MCP endpoint by @DK09876 in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F286\n* doc: improve Node.js client example by @vanvuongngo in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F320\n* feat: improve mcp tools based on endpoint by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F318\n* fix(openclaw): prevent memory wipe on every session by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F323\n* feat: add docker-compose example by @vanvuongngo in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F313\n* fix: do not log db user\u002Fpassword by @vanvuongngo in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F312\n* Add Supabase tenant extension by @jerryhenley in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F267\n* fix(helm): improve appVersion usage by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F326\n* doc: prepare doc for 0.4.10 by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F325\n\n## New Contributors\n* @haydenrear made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F300\n* @vanvuongngo made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F320\n* @jerryhenley made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F267\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.9...v0.4.10","2026-02-09T11:14:25",{"id":238,"version":239,"summary_zh":240,"released_at":241},136839,"v0.4.9","## What's Changed\n* doc: changelog for 0.4.8 by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F283\n* doc: update cookbook by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F284\n* fix(openclaw): improve shell argument escaping by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F288\n* feat(openclaw): add external Hindsight API support by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F289\n* docs: expand external API configuration for OpenClaw by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F294\n* feat(openclaw): add dynamic per-channel memory banks by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F290\n* fix: hide hf logging by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F295\n* fix: improve claude code and codex for \u002Freflect by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F285\n* feat(hindsight-litellm): support streaming on wrappers by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F296\n* feat: HindsightEmbedded python SDK by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F293\n* feat: improve mental models ux on control plane by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F297\n* Fix recall endpoint timeout handling and add query length validation by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F298\n* feat: ai sdk integration by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F299\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.8...v0.4.9","2026-02-04T19:57:00",{"id":243,"version":244,"summary_zh":245,"released_at":246},136840,"v0.4.8","## What's Changed\n* Add pre-operation validation hooks for mental model create\u002Frefresh by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F271\n* Propagate request context through async task payloads by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F273\n* feat(openclaw): add llmProvider\u002FllmModel plugin config options by @GodsBoy in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F274\n* feat: print version during startup by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F275\n* feat: support for codex and claude-code as llm by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F276\n* feat(embed): add hindisght-embed profiles by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F277\n* fix: custom pg schema is not reliable by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F278\n* Fix: load operation validator extension in worker by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F280\n* feat: improve openclaw and hindisght-embed params by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F279\n* fix(sec): upgrade vulnerable deps by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F254\n* fix: improve embed ux with rich logging and profile isolation by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F282\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.7...v0.4.8","2026-02-03T13:19:13",{"id":248,"version":249,"summary_zh":250,"released_at":251},136841,"v0.4.7","## What's Changed\n* fix: worker doesn't pick up correct default schema by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F259\n* fix: sanitize null bytes from text fields before PostgreSQL insertion by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F238\n* feat(docker): preload tiktoken encoding during build by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F249\n* fix(hindsight-embed): respect HINDSIGHT_API_DATABASE_URL if already set by @GodsBoy in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F262\n* Add extension hooks for mental model operations by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F260\n* feat(hindsight-embed): external API support + OpenClaw fixes (#263, #264) by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F265\n\n## New Contributors\n* @GodsBoy made their first contribution in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F262\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.6...v0.4.7","2026-01-31T18:08:02",{"id":253,"version":254,"summary_zh":255,"released_at":256},136842,"v0.4.6","## What's Changed\n* fix: openclaw binds embed versioning by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F256\n* doc: show embed page by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F255\n* fix: openclaw improve config setup by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F258\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.5...v0.4.6","2026-01-30T17:07:36",{"id":258,"version":259,"summary_zh":260,"released_at":261},136843,"v0.4.5","## What's Changed\n* fix: retain async with timestamp might fails by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F253\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.4...v0.4.5","2026-01-30T14:23:37",{"id":263,"version":264,"summary_zh":265,"released_at":266},136844,"v0.4.4","## What's Changed\n* fix: retain async fails if timestamp is set by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F251\n* fix: rename openclawd to openclaw by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F252\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.3...v0.4.4","2026-01-30T12:32:44",{"id":268,"version":269,"summary_zh":270,"released_at":271},136845,"v0.4.3","## What's Changed\n* fix: pass tenant extension to worker MemoryEngine for correct schema context by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F236\n* fix: run migrations on tenant schemas at startup and harden worker poller by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F237\n* feat: support vertex as llm provider by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F233\n* Switch Vertex AI provider to native genai SDK by @cdbartholomew in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F242\n* fix(control-plane): handle undefined response.data in graph route by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F239\n* feat(cli): add --wait flag for consolidate and --date filter for document list by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F244\n* fix(control-plane): pass API key to dataplane for tenant auth by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F243\n* fix(auth): skip tenant auth for all internal background tasks by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F240\n* feat(mcp): add Bearer token authentication and tenant auth propagation by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F241\n* chore: remove dead code by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F245\n* fix: improve doc on vertexai and mcp by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F247\n* fix(docker): add retry logic for ML model downloads by @slayoffer in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F248\n* fix: rename moltbot to openclawd by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F246\n* fix: deadlock in worker polling by @nicoloboschi in https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fpull\u002F250\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fvectorize-io\u002Fhindsight\u002Fcompare\u002Fv0.4.2...v0.4.3","2026-01-30T10:36:53"]