用一个明确契约接入持久记忆。

TypeScript、Python 与 HTTP 客户端共享版本化资源、错误、分页、幂等和作用域语义。云端、自托管与桌面只在环境真正不同的地方分开。

  1. 01配置选择云端、自托管 HTTP 或本地桌面传输。
  2. 02调用使用类型化资源、作用域与幂等选项。
  3. 03观察读取事件终态、错误、分页与检索跟踪。
  • 01TypeScript 与 Python
  • 02OpenAPI 3.1
  • 03MCP 工具
  • 04版本化错误

SDK 的工作是让契约更容易使用,而不是隐藏持久状态、异步完成或失败。

快速开始,也不隐藏语义。

示例先展示最小成功请求,再说明同步原文写入和异步推理的差别。响应、错误与事件状态都对应公开契约。

  • 服务器密钥只在受信任环境使用。
  • 作用域字段的所有权由应用明确决定。
  • 重试使用稳定幂等键,而不是猜测前一次是否成功。

在各种部署形态复用应用代码。

云端和自托管 HTTP 使用同一公开资源;Desktop 使用本地 IPC/HTTP 适配器,但保留记忆语义和错误边界。

  • SDK 不会把云端组织能力假装成本地特性。
  • OpenAPI 可用于生成客户端或检查请求结构。
  • MCP 集成为编码工具暴露有限、可理解的动作。

文档必须能够直接执行。

指南包含安装、凭据位置、完整请求、预期响应、错误与下一步,而不是只描述产品概念。

  • 代码片段对齐当前发布包与端点。
  • API 参考覆盖字段、状态码和限制。
  • 发布说明记录契约变化与迁移要求。

从一个具体请求开始。

import { FishMem } from "@fishmem/sdk";

const client = new FishMem({
  apiKey: process.env.FISHMEM_API_KEY!
});

await client.memories.addAndWait({
  content: "Alex 偏好深色模式。",
  user_id: "alex"
});

这个产品范围包含什么

  • TypeScript、Python、HTTP、OpenAPI 与 MCP 接入路径。
  • 完整的记忆、文档、事件与错误参考。
  • 云端、自托管与桌面边界说明。

明确边界

  • 客户端代码不能替代服务端授权与作用域检查。
  • “mem0 熟悉”不等于所有语义完全兼容。
  • 示例版本与实际部署版本必须一起验证。