FishMem

SDK 快速开始

安装通用 TypeScript SDK,保存一条记忆并召回。

安装

npm install @fishmem/sdk
# 或 pnpm add @fishmem/sdk
# 或 bun add @fishmem/sdk

Deno 使用 import { FishMem } from "npm:@fishmem/sdk";

创建客户端

API Key 必须留在服务端;Cloud Key 以 fm_ 开头。

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

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

自托管时再传入 baseUrl: "https://memory.example.com"

保存记忆

每次写入至少需要 user_idagent_idrun_id 之一。可能重试的写入必须使用幂等键。

const added = await fishmem.memories.addAndWait(
  {
    content: "Alex prefers concise answers with runnable examples.",
    user_id: "alex",
    metadata: { source: "onboarding" },
  },
  { idempotencyKey: "alex-answer-style-v1" },
);

默认 infer:true 会排队持久任务、调用一次 LLM,并只保存提炼记录。想立即取得 event_id 时使用 addAsync;内容已整理好或必须按原文保存时用 memories.add({ ..., infer:false }),该路径不调用 LLM。

召回

const { results } = await fishmem.memories.search({
  query: "How should I answer Alex?",
  user_id: "alex",
  top_k: 5,
});

const context = results.map((item) => `- ${item.memory}`).join("\n");
不要把 FishMem API Key 放进浏览器代码、公开环境变量或客户端 bundle。请从服务端、Worker 或 Edge Function 调用。

On this page