
Memro发布:为Claude Code、Cursor和Codex提供跨会话持久记忆
来源标题:Show HN: Memro – Persistent Memory for Claude Code, Cursor and Codex
Memro是一个基于Go和PostgreSQL的持久记忆系统,通过MCP让AI代理在会话间共享上下文。它提供API、官方SDK(Python、JavaScript/TypeScript、Go)、MCP服务器和CLI。代码托管于github.com/memrohq/memro,采用PolyForm非商业许可证1.0.0。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
为你的 AI agent 提供跨会话的持久记忆:通过 API、SDK 和 MCP 实现 agent 身份、记忆存储与混合检索。 Memro 采用 PolyForm Noncommercial License 1.0.0 授权。 仓库说明:github.com/memrohq/memro 是 Memro 唯一的公开仓库,包含 Go 服务端、官方 SDK(Python、JavaScript/TypeScript、Go)、Model Context Protocol(MCP)服务器以及 CLI。
方案 A:结合 Claude Code、Cursor 或 Codex 使用 Memro Cloud(少于 10 行)
1. 通过设备登录连接已安装的 agent 工具:
npx memro-cli connect
2. 检查连接状态:
npx memro-cli status 在你的助手中说:“记住,我们的主数据库是 PostgreSQL 16,带 pgvector。” 重启会话后提问:“我们使用什么数据库和扩展?”
在你自己的基础设施上运行完整的 Memro API 服务器和带 pgvector 的 PostgreSQL: git clone https://github.com/memrohq/memro && cd memro cp .env.example .env # 为混合搜索添加 OPENAI_API_KEY;设置 METRICS_TOKEN docker compose up -d # API 在 :8081,dashboard 在 :5173,Postgres 在 127.0.0.1:55432 curl http://localhost:8081/health
方案 2:预构建镜像(无需 clone,v0.1.0 发布后可用)
curl -fsSL https://raw.githubusercontent.com/memrohq/memro/v0.1.0/docker-compose.release.yml -o docker-compose.yml && docker compose up -d
curl http://localhost:8081/health
(注意:预构建镜像的一行命令会下载 docker-compose.release.yml,其中固定使用 ghcr.io/memrohq/memro:0.1.0 和 ghcr.io/memrohq/memro-dashboard:0.1.0 镜像,v0.1.0 发布后即可使用。)
cosign verify ghcr.io/memrohq/memro:0.1.0
--certificate-identity-regexp 'https://github.com/memrohq/memro/'
--certificate-oidc-issuer https://token.actions.githubusercontent.com
完整的部署选项、生产拓扑和配置表,请参阅 docs/self-hosting.md。
┌──────────────────────────────────────┐ │ 客户端与 MCP 工具 │ │ Claude Code · Cursor · Codex · SDKs│ └──────────────────┬───────────────────┘ │ HTTP REST / Stdio MCP ┌──────────────────▼───────────────────┐ │ Memro API (Go) │ │ 自主 Ed25519 身份 · RRF │ └──────────────────┬───────────────────┘ │ SQL 与 Embeddings ┌──────────────────▼───────────────────┐ │ PostgreSQL 16 + pgvector │ │ pgvector 稠密搜索 + tsvector 全文检索│ └──────────────────────────────────────┘
Memro 运行一个由 PostgreSQL 和 pgvector 支持的 Go HTTP API。搜索查询通过 Reciprocal Rank Fusion(RRF,$k=60$)结合向量余弦相似度与全文关键词搜索。Agent 使用通过本地 proof-of-work 解出的自主 Ed25519 密钥对(私钥永不离开主机)或标准 Bearer API token 进行认证。
memrohq/memro 将全部组件放在一个 monorepo 中:
Python (sdk/python)
PyPI(发布后)或从源码安装:pip install ./sdk/python
pip install memro from memro import Agent agent = Agent.create() # 本地自主 Ed25519 身份 mem = agent.remember("The billing service was rewritten in Go", type="semantic") results = agent.recall("billing service language") print(results[0].content) 可运行脚本见 examples/python/register_remember_recall.py。
npm(发布后)或从本地构建安装:npm install ./sdk/js
npm install @memro/sdk import { Agent } from '@memro/sdk'; const agent = await Agent.create(); // 本地自主 Ed25519 身份 const mem = await agent.remember('The billing service was rewritten in Go', { type: 'semantic' }); const results = await agent.recall('billing service language'); console.log(results[0].content); 可运行脚本见 examples/typescript/index.js。
go get github.com/memrohq/memro/sdk/go@v0.1.0 package main import ( "context" "fmt" memro "github.com/memrohq/memro/sdk/go" ) func main() { ctx := context.Background() agent, _ := memro.CreateAgent(nil) mem, _ := agent.Remember(ctx, "The billing service was rewritten in Go", nil) results, _ := agent.Recall(ctx, "billing service language", nil) fmt.Println(results[0].Content) } 可运行脚本见 examples/go/main.go。
连接编码工具并完成完整会话重启记忆验证的分步指南:
Memro 包含超越基础向量搜索的结构化原语和认知图谱:
Memro 发布实证评估与方法论:
1. 启动带 pgvector 的 PostgreSQL
docker compose up -d db
2. 运行后端 API 服务器
cd server DATABASE_URL=postgres://memro:memro@localhost:55432/memro go run ./cmd/memro-api
3. 运行测试
MEMRO_TEST_DATABASE_URL=postgres://memro:memro@localhost:55432/memro go test -race ./...
提交 pull request 前请先阅读 CONTRIBUTING.md 和 SECURITY.md。 仓库:github.com/memrohq/memro · 文档:https://memro.co 许可证:源码基于 PolyForm Noncommercial 1.0.0 开放。非商业用途免费;商业用途需要 Memro Cloud 或商业许可证。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。